Spaces:
Sleeping
Sleeping
module.exports = function validateWebpackConfig ( | |
webpackConfig, | |
api, | |
options, | |
target = 'app' | |
) { | |
const singleConfig = Array.isArray(webpackConfig) | |
? webpackConfig[0] | |
: webpackConfig | |
const actualTargetDir = singleConfig.output.path | |
if (actualTargetDir !== api.resolve(options.outputDir)) { | |
// user directly modifies output.path in configureWebpack or chainWebpack. | |
// this is not supported because there's no way for us to give copy | |
// plugin the correct value this way. | |
throw new Error( | |
`\n\nConfiguration Error: ` + | |
`Avoid modifying webpack output.path directly. ` + | |
`Use the "outputDir" option instead.\n` | |
) | |
} | |
if (actualTargetDir === api.service.context) { | |
throw new Error( | |
`\n\nConfiguration Error: ` + | |
`Do not set output directory to project root.\n` | |
) | |
} | |
if (target === 'app' && singleConfig.output.publicPath !== options.publicPath) { | |
throw new Error( | |
`\n\nConfiguration Error: ` + | |
`Avoid modifying webpack output.publicPath directly. ` + | |
`Use the "publicPath" option instead.\n` | |
) | |
} | |
} | |