UNPKG

gfs-react-redux-twoway-binding

Version:
77 lines (64 loc) 2.06 kB
var gulp = require('gulp'); var gutil = require('gulp-util'); var webpack = require('webpack'); var Server = require('karma').Server; var webpackServer = require('./webpack/webpack-dev.config'); var webpackConfig = require('./webpack/webpack.config'); var open = require('gulp-open'); var del = require('del'); var internalIP = require('internal-ip'); var babel = require('gulp-babel'); var config = require('./package.json'); var error = function(e){ console.error(e); if(e.stack){ console.error(e.stack); } process.exit(1); }; gulp.task('karma', function (done) { new Server({ configFile: __dirname + '/karma.conf.js', singleRun: true }, done).start(); }); gulp.task('open', function () { gulp.src(__filename) .pipe(open({uri: "http://"+(internalIP.v4() || '127.0.0.1')+":8081/index.html"})); }); gulp.task('hot', function (callback) { webpackServer(); }); gulp.task('require-webpack', function(done) { webpack(webpackConfig).run(function(err, stats) { if(err) throw new gutil.PluginError("require-webpack", err); gutil.log("[webpack]", stats.toString({ // output options })); done(); }); }); gulp.task('min-webpack', function(done) { var wbpk = Object.create(webpackConfig); wbpk.output.filename = config.name+'.min.js'; wbpk.plugins.push(new webpack.optimize.UglifyJsPlugin()); webpack(wbpk).run(function(err, stats) { if(err) throw new gutil.PluginError("min-webpack", err); gutil.log("[webpack]", stats.toString({ // output options })); done(); }); }); gulp.task('watch', function () { gulp.watch(['./lib/**/*.*'], ['demo']); }); gulp.task('copy', function(done) { gulp.src(__dirname+'/dist/example.js') .pipe(gulp.dest(__dirname+'/example/dist/')); del([__dirname+'/dist/example.js'],done); }); gulp.task('default', ['require-webpack']); gulp.task('test',['karma']); gulp.task('demo', ['hot','open']); gulp.task('min',['min-webpack','copy']);