text: const {series, crossEnv, concurrent, rimraf} = require('nps-utils')
  
  module.exports = {
    scripts: {
      default: 'nps webpack',
      test: {
        default: 'nps test.jest',
        jest: {
          default: series(
            rimraf('test/coverage-jest'),
            crossEnv('BABEL_TARGET=node jest')
          ),
          accept: crossEnv('BABEL_TARGET=node jest -u'),
          watch: crossEnv('BABEL_TARGET=node jest --watch'),
        },
  
        karma: {
          default: series(
            rimraf('test/coverage-karma'),
            'karma start test/karma.conf.js'
          ),
          watch: 'karma start test/karma.conf.js --auto-watch --no-single-run',
          debug: 'karma start test/karma.conf.js --auto-watch --no-single-run --debug'
        },
  
        lint: {
          default: 'eslint src',
          fix: 'eslint src --fix'
        },
        all: concurrent({
          browser: series.nps('test.karma'),
          jest: 'nps test.jest',
          lint: 'nps test.lint'
        })
      },
      build: 'nps webpack.build',
      webpack: {
        default: 'nps webpack.server',
        build: {
          before: rimraf('dist'),
          default: 'nps webpack.build.production',
          development: {
            default: series(
              'nps webpack.build.before',
              'webpack --progress -d'
            ),
            extractCss: series(
              'nps webpack.build.before',
              'webpack --progress -d --env.extractCss'
            ),
            serve: series.nps(
              'webpack.build.development',
              'serve'
            ),
          },
          production: {
            inlineCss: series(
              'nps webpack.build.before',
              crossEnv('NODE_ENV=production webpack --progress -p --env.production')
            ),
            default: series(
              'nps webpack.build.before',
              crossEnv('NODE_ENV=production webpack --progress -p --env.production --env.extractCss')
            ),
            serve: series.nps(
              'webpack.build.production',
              'serve'
            ),
          }
        },
        server: {
          default: `webpack-dev-server -d --devtool '#source-map' --inline --env.server`,
          extractCss: `webpack-dev-server -d --devtool '#source-map' --inline --env.server --env.extractCss`,
          hmr: `webpack-dev-server -d --devtool '#source-map' --inline --hot --env.server`
        },
      },
      serve: 'http-server dist --cors',
    },
  }