ci: skip minimize flag (#1023)

* Better css chunk filenames depending on context

* skip minimize flag to speed up builds that are timing out (short-term fix)

* make sure our custom TerserJS config is actually applied

* Use SKIP_MINIMIZE flag for netlify and demo builds
This commit is contained in:
Danny Brown 2019-10-09 22:18:06 -04:00 committed by GitHub
parent e7de8be2d8
commit db5b760432
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 8 deletions

View File

@ -25,11 +25,13 @@ const PUBLIC_URL = process.env.PUBLIC_URL || '/';
const APP_CONFIG = process.env.APP_CONFIG || 'config/default.js'; const APP_CONFIG = process.env.APP_CONFIG || 'config/default.js';
const PROXY_TARGET = process.env.PROXY_TARGET; const PROXY_TARGET = process.env.PROXY_TARGET;
const PROXY_DOMAIN = process.env.PROXY_DOMAIN; const PROXY_DOMAIN = process.env.PROXY_DOMAIN;
const SKIP_MINIMIZE = process.env.SKIP_MINIMIZE;
module.exports = (env, argv) => { module.exports = (env, argv) => {
const baseConfig = webpackBase(env, argv, { SRC_DIR, DIST_DIR }); const baseConfig = webpackBase(env, argv, { SRC_DIR, DIST_DIR });
const isProdBuild = process.env.NODE_ENV === 'production'; const isProdBuild = process.env.NODE_ENV === 'production';
const hasProxy = PROXY_TARGET && PROXY_DOMAIN; const hasProxy = PROXY_TARGET && PROXY_DOMAIN;
const skipMinimize = SKIP_MINIMIZE === 'true';
const mergedConfig = merge(baseConfig, { const mergedConfig = merge(baseConfig, {
devtool: isProdBuild ? 'source-map' : 'cheap-module-eval-source-map', devtool: isProdBuild ? 'source-map' : 'cheap-module-eval-source-map',
@ -50,7 +52,7 @@ module.exports = (env, argv) => {
warnings: true, warnings: true,
}, },
optimization: { optimization: {
minimize: isProdBuild, minimize: isProdBuild && !skipMinimize,
sideEffects: true, sideEffects: true,
}, },
module: { module: {
@ -85,8 +87,8 @@ module.exports = (env, argv) => {
]), ]),
// https://github.com/faceyspacey/extract-css-chunks-webpack-plugin#webpack-4-standalone-installation // https://github.com/faceyspacey/extract-css-chunks-webpack-plugin#webpack-4-standalone-installation
new ExtractCssChunksPlugin({ new ExtractCssChunksPlugin({
filename: '[name].css', filename: isProdBuild ? '[name].[hash].css' : '[name].css',
chunkFilename: '[id].css', chunkFilename: isProdBuild ? '[id].[hash].css' : '[id].css',
ignoreOrder: false, // Enable to remove warnings about conflicting order ignoreOrder: false, // Enable to remove warnings about conflicting order
}), }),
// Generate "index.html" w/ correct includes/imports // Generate "index.html" w/ correct includes/imports
@ -129,14 +131,14 @@ module.exports = (env, argv) => {
if (!isProdBuild) { if (!isProdBuild) {
mergedConfig.plugins.push(new webpack.HotModuleReplacementPlugin()); mergedConfig.plugins.push(new webpack.HotModuleReplacementPlugin());
} else {
//
mergedConfig.optimization.minimizer = [ mergedConfig.optimization.minimizer = [
new TerserJSPlugin({ new TerserJSPlugin({
sourceMap: true, sourceMap: true,
parallel: true, parallel: true,
}), }),
new OptimizeCSSAssetsPlugin({}), // No bueno
// new OptimizeCSSAssetsPlugin({}),
]; ];
} }

View File

@ -20,8 +20,8 @@
"build:package": "cross-env NODE_ENV=production node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --config .webpack/webpack.commonjs.js", "build:package": "cross-env NODE_ENV=production node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --config .webpack/webpack.commonjs.js",
"build:viewer": "cross-env NODE_ENV=production node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --config .webpack/webpack.pwa.js --progress", "build:viewer": "cross-env NODE_ENV=production node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --config .webpack/webpack.pwa.js --progress",
"build:viewer:e2e": "cross-env NODE_ENV=development node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --config .webpack/webpack.pwa.js --progress", "build:viewer:e2e": "cross-env NODE_ENV=development node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --config .webpack/webpack.pwa.js --progress",
"build:viewer:ci": "cross-env NODE_ENV=production PUBLIC_URL=/pwa/ APP_CONFIG=config/netlify.js node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --config .webpack/webpack.pwa.js", "build:viewer:ci": "cross-env NODE_ENV=production PUBLIC_URL=/pwa/ APP_CONFIG=config/netlify.js SKIP_MINIMIZE=true node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --config .webpack/webpack.pwa.js",
"build:viewer:demo": "cross-env NODE_ENV=production APP_CONFIG=config/demo.js HTML_TEMPLATE=rollbar.html node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --progress --config .webpack/webpack.pwa.js", "build:viewer:demo": "cross-env NODE_ENV=production APP_CONFIG=config/demo.js HTML_TEMPLATE=rollbar.html SKIP_MINIMIZE=true node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --progress --config .webpack/webpack.pwa.js",
"build:viewer:package": "yarn run build:package", "build:viewer:package": "yarn run build:package",
"dev": "cross-env NODE_ENV=development webpack-dev-server --config .webpack/webpack.pwa.js --watch", "dev": "cross-env NODE_ENV=development webpack-dev-server --config .webpack/webpack.pwa.js --watch",
"dev:orthanc": "cross-env NODE_ENV=development PROXY_TARGET=/dicom-web PROXY_DOMAIN=http://localhost:8042 APP_CONFIG=config/docker_nginx-orthanc.js webpack-dev-server --config .webpack/webpack.pwa.js --watch", "dev:orthanc": "cross-env NODE_ENV=development PROXY_TARGET=/dicom-web PROXY_DOMAIN=http://localhost:8042 APP_CONFIG=config/docker_nginx-orthanc.js webpack-dev-server --config .webpack/webpack.pwa.js --watch",