--- /dev/null
+import WebpackDevServer from 'webpack-dev-server';
+import config from './webpack.config.js';
+import gulp from 'gulp';
+import gutil from 'gulp-util';
+import webpack from 'webpack';
+
+gulp.task('default', ['webpack-dev-server']);
+
+gulp.task('build', ['webpack:build']);
+
+gulp.task('webpack:build', callback => {
+ const myConfig = {
+ ...config,
+ plugins: config.plugins.concat(
+ new webpack.DefinePlugin({
+ 'process.env': {
+ NODE_ENV: JSON.stringify('production'),
+ },
+ }),
+ new webpack.optimize.DedupePlugin(),
+ new webpack.optimize.UglifyJsPlugin()
+ ),
+ };
+
+ webpack(myConfig, (err, stats) => {
+ if (err) {
+ throw new gutil.PluginError('webpack:build', err);
+ }
+ gutil.log('[webpack:build]', stats.toString({
+ colors: true
+ }));
+ callback();
+ });
+});
+
+gulp.task('webpack-dev-server', callback => {
+ var myConfig = {
+ ...config,
+ debug: true,
+ };
+
+ new WebpackDevServer(webpack(myConfig), {
+ publicPath: config.output.publicPath,
+ hot: true,
+ historyApiFallback: true,
+ stats: {
+ colors: true,
+ },
+ }).listen(8080, 'localhost', err => {
+ if (err) {
+ throw new gutil.PluginError('webpack-dev-server', err);
+ }
+ gutil.log('[webpack-dev-server]', 'http://localhost:3000');
+ });
+});
"description": "Number base conversion tool",
"scripts": {
"lint": "eslint src",
- "start": "node server.js",
+ "start": "gulp webpack-dev-server",
"test": "mocha --opts mocha/mocha.opts 'src/**/__mocks__/*.js' 'src/**/__tests__/*-test.js'"
},
"repository": {
"babel-loader": "^5.1.2",
"eslint-plugin-react": "^2.3.0",
"expect": "^1.8.0",
+ "gulp": "^3.9.0",
+ "gulp-util": "^3.0.6",
"mocha": "^2.2.5",
"react-hot-loader": "^1.2.7",
"sinon": "^1.15.4",
+++ /dev/null
-var webpack = require('webpack');
-var WebpackDevServer = require('webpack-dev-server');
-var config = require('./webpack.config');
-
-new WebpackDevServer(webpack(config), {
- publicPath: config.output.publicPath,
- hot: true,
- historyApiFallback: true
-}).listen(3000, 'localhost', function (err, result) {
- if (err) {
- console.log(err);
- }
-
- console.log('Listening at localhost:3000');
-});