fix(v2): do not force terminate building if client bundle failed in development mode (#2437)

This commit is contained in:
Alexey Pyltsyn 2020-03-22 05:06:10 +03:00 committed by GitHub
parent feaa75c876
commit b3d14816bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -17,6 +17,7 @@ import LogPlugin from './plugins/LogPlugin';
export function createClientConfig(props: Props): Configuration {
const isProd = process.env.NODE_ENV === 'production';
const isBuilding = process.argv[2] === 'build';
const config = createBaseConfig(props, false);
const clientConfig = merge(config, {
@ -32,26 +33,6 @@ export function createClientConfig(props: Props): Configuration {
runtimeChunk: true,
},
plugins: [
// Plugin to force terminate building if errors happened in the client bundle
{
apply: compiler => {
compiler.hooks.done.tap('client:done', stats => {
if (stats.hasErrors()) {
console.log(
chalk.red(
'Client bundle compiled with errors therefore further build is impossible.',
),
);
stats.toJson('errors-only').errors.forEach(e => {
console.error(e);
});
process.exit(1);
}
});
},
},
new ChunkAssetPlugin(),
// Show compilation progress bar and build time.
new LogPlugin({
@ -60,5 +41,28 @@ export function createClientConfig(props: Props): Configuration {
],
});
// When building include the plugin to force terminate building if errors happened in the client bundle.
if (isBuilding) {
clientConfig.plugins!.push({
apply: compiler => {
compiler.hooks.done.tap('client:done', stats => {
if (stats.hasErrors()) {
console.log(
chalk.red(
'Client bundle compiled with errors therefore further build is impossible.',
),
);
stats.toJson('errors-only').errors.forEach(e => {
console.error(e);
});
process.exit(1);
}
});
},
});
}
return clientConfig;
}