diff --git a/api/package.json b/api/package.json index 211041e..96d0d8e 100644 --- a/api/package.json +++ b/api/package.json @@ -21,15 +21,13 @@ "zoo": "^0.1.9" }, "devDependencies": { - "babel-cli": "^6.24.0", "babel-eslint": "^7.2.1", - "chalk": "^1.1.3", - "indent-string": "^3.1.0", - "standard": "^9.0.2" + "standard": "^9.0.2", + "webpack-watch-server": "^1.0.0" }, "scripts": { "lint": "standard", - "dev": "zoo babel-node scripts/dev", + "dev": "zoo webpack-watch-server", "build": "zoo webpack", "start": "zoo node dist" }, diff --git a/api/scripts/dev.js b/api/scripts/dev.js deleted file mode 100644 index 80b2761..0000000 --- a/api/scripts/dev.js +++ /dev/null @@ -1,49 +0,0 @@ -import 'source-map-support/register' -import {spawn} from 'child_process' -import chalk from 'chalk' -import indentString from 'indent-string' -import webpack from 'webpack' -import webpackConfig from '../webpack.config.babel' - -let serverProcess -let wasServerMessage - -function startServer () { - serverProcess = spawn('node', [webpackConfig.output.path]) - serverProcess.stdout.on('data', data => { - console.log((wasServerMessage ? '' : '\n') + indentString(chalk.white(data), 4)) - wasServerMessage = true - }) - serverProcess.stderr.on('data', data => { - console.error((wasServerMessage ? '' : '\n') + indentString(chalk.red(data), 4)) - wasServerMessage = true - }) -} - -function stopServer () { - if (serverProcess) serverProcess.kill() -} - -const compiler = webpack(webpackConfig) -const watcher = compiler.watch({}, (errors, stats) => { - const hasErrors = errors || stats.hasErrors() - console[hasErrors ? 'error' : 'log']((stats.toString('minimal'))) - wasServerMessage = false - - stopServer() - if (!hasErrors) startServer() -}) - -function exit () { - watcher.close() - stopServer() -} - -;[ - 'SIGINT', - 'SIGTERM', - 'SIGHUP', - 'SIGQUIT', - 'exit', - 'uncaughtException' -].forEach(event => process.on(event, exit))