code: async function watch() {
    let webpackConfig = config
  
    if (get(manifest, 'skypager.webpack.build')) {
      let configToMerge = require(path.resolve(
        path.dirname(paths.appPackageJson),
        get(manifest, 'skypager.webpack.build')
      ))
  
      if (typeof configToMerge === 'function') {
        configToMerge = await Promise.resolve(configToMerge(argv.env || 'production', argv, config))
      }
  
      if (!isArray(configToMerge)) {
        // we won't try and merge webpack config if it is an array
        webpackConfig = configMerge(webpackConfig, configToMerge)
      }
    }
  
    const compiler = webpack(webpackConfig)
  
    compiler.watch({ aggregateTimeout: 1000 }, (err, stats) => {
      if (err) {
        console.error(err)
        return
      }
      const messages = formatWebpackMessages(stats.toJson({}, true))
  
      if (messages.errors.length) {
        // Only keep the first error. Others are often indicative
        // of the same problem, but confuse the reader with noise.
        if (messages.errors.length > 1) {
          messages.errors.length = 1
        }
  
        throw new Error(messages.errors.join('\n\n'))
      }
    })
  }
docs: Create the production build and print the deployment instructions.