| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | // 1. start the dev server using production configprocess.env.NODE_ENV = 'testing'const webpack = require('webpack')const DevServer = require('webpack-dev-server')const webpackConfig = require('../../build/webpack.prod.conf')const devConfigPromise = require('../../build/webpack.dev.conf')let serverdevConfigPromise.then(devConfig => {  const devServerOptions = devConfig.devServer  const compiler = webpack(webpackConfig)  server = new DevServer(compiler, devServerOptions)  const port = devServerOptions.port  const host = devServerOptions.host  return server.listen(port, host)}).then(() => {  // 2. run the nightwatch test suite against it  // to run in additional browsers:  //    1. add an entry in test/e2e/nightwatch.conf.js under "test_settings"  //    2. add it to the --env flag below  // or override the environment flag, for example: `npm run e2e -- --env chrome,firefox`  // For more information on Nightwatch's config file, see  // http://nightwatchjs.org/guide#settings-file  let opts = process.argv.slice(2)  if (opts.indexOf('--config') === -1) {    opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js'])  }  if (opts.indexOf('--env') === -1) {    opts = opts.concat(['--env', 'chrome'])  }  const spawn = require('cross-spawn')  const runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' })  runner.on('exit', function (code) {    server.close()    process.exit(code)  })  runner.on('error', function (err) {    server.close()    throw err  })})
 |