ducky/web
ducky/web/bin/dev-server
Enable catch-all in our ValidationError component. We're doing this an ugly, hacky way. But it works, and right now, that's what counts. To match our params/fields/headers properties on the ValidationError component, we're going to add the notParams/notFields/notHeaders properties--they match any error _not_ targeting those params/fields/headers. Basically, "any error that wouldn't be caught by these filters". Which is an ugly, but workable, solution for a catch-all ValidationError--just tell it to catch anything but the params/fields/headers that are being handled by the other ValidationErrors. Our implementation of this in the RegisterPage component validates (ha!) that it's at least workable model, if not overly pretty. Also, I anticipate some human error bugs in the future, where one of the field-specific ValidationErrors gets updated and the catch-all ValidationError does not. But whatever. For now, this is Good Enoughâ„¢.
| paddy@0 | 1 #!/usr/bin/env node |
| paddy@0 | 2 |
| paddy@0 | 3 var fs = require('fs') |
| paddy@0 | 4 var path = require('path') |
| paddy@0 | 5 var webpack = require('webpack') |
| paddy@0 | 6 var WebpackDevServer = require('webpack-dev-server') |
| paddy@0 | 7 var argv = require('minimist')(process.argv.slice(2)) |
| paddy@0 | 8 var findRoot = require('find-root') |
| paddy@0 | 9 var rootFolder = findRoot(process.env.PWD) |
| paddy@0 | 10 |
| paddy@0 | 11 var configfile = ''; |
| paddy@0 | 12 |
| paddy@0 | 13 // get config |
| paddy@0 | 14 if (argv.config) { |
| paddy@0 | 15 configfile = path.resolve(argv.config) |
| paddy@0 | 16 } else { |
| paddy@0 | 17 configfile = path.resolve(path.join(rootFolder, 'webpack.config.js')) |
| paddy@0 | 18 } |
| paddy@0 | 19 argv.config = require(configfile); |
| paddy@0 | 20 |
| paddy@0 | 21 // run it |
| paddy@0 | 22 new WebpackDevServer(webpack(argv.config), { |
| paddy@0 | 23 historyApiFallback: true, |
| paddy@0 | 24 hot: true, |
| paddy@0 | 25 publicPath: argv.config.output.publicPath, |
| paddy@0 | 26 }).listen(argv.config.port, argv.config.host, function (err, result) { |
| paddy@0 | 27 if (err) { |
| paddy@0 | 28 console.log(err) |
| paddy@0 | 29 } |
| paddy@0 | 30 console.log('development server running at: http://' + argv.config.host + ':' + argv.config.port) |
| paddy@0 | 31 }) |