| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | 
							- module.exports = (api, args, options) => {
 
-   // respect inline entry
 
-   if (args.entry && !options.pages) {
 
-     api.configureWebpack(config => {
 
-       config.entry = { app: api.resolve(args.entry) }
 
-     })
 
-   }
 
-   const config = api.resolveChainableWebpackConfig()
 
-   const targetDir = api.resolve(args.dest || options.outputDir)
 
-   // respect inline build destination in copy plugin
 
-   if (args.dest && config.plugins.has('copy')) {
 
-     config.plugin('copy').tap(pluginArgs => {
 
-       pluginArgs[0][0].to = targetDir
 
-       return pluginArgs
 
-     })
 
-   }
 
-   if (args.modern) {
 
-     const ModernModePlugin = require('../../webpack/ModernModePlugin')
 
-     if (!args.modernBuild) {
 
-       // Inject plugin to extract build stats and write to disk
 
-       config
 
-         .plugin('modern-mode-legacy')
 
-         .use(ModernModePlugin, [{
 
-           targetDir,
 
-           isModernBuild: false,
 
-           unsafeInline: args['unsafe-inline']
 
-         }])
 
-     } else {
 
-       // Inject plugin to read non-modern build stats and inject HTML
 
-       config
 
-         .plugin('modern-mode-modern')
 
-         .use(ModernModePlugin, [{
 
-           targetDir,
 
-           isModernBuild: true,
 
-           unsafeInline: args['unsafe-inline'],
 
-           // as we may generate an addition file asset (if `no-unsafe-inline` specified)
 
-           // we need to provide the correct directory for that file to place in
 
-           jsDirectory: require('../../util/getAssetPath')(options, 'js')
 
-         }])
 
-     }
 
-   }
 
-   return api.resolveWebpackConfig(config)
 
- }
 
 
  |