diff --git a/scripts/ci_package.sh b/scripts/ci_package.sh index 2b82db737f..41d82016e7 100755 --- a/scripts/ci_package.sh +++ b/scripts/ci_package.sh @@ -14,4 +14,4 @@ JSSDK_SHA=$(cd node_modules/matrix-js-sdk; git rev-parse --short=12 HEAD) VECTOR_SHA=$(git rev-parse --short=12 HEAD) # use the ACTUAL SHA rather than assume develop -CI_PACKAGE=true DIST_VERSION=$VECTOR_SHA-react-$REACT_SHA-js-$JSSDK_SHA scripts/package.sh -d +CI_PACKAGE=true DIST_VERSION=$VECTOR_SHA-react-$REACT_SHA-js-$JSSDK_SHA scripts/package.sh diff --git a/webpack.config.js b/webpack.config.js index 7bb3e696a5..57b1e4d285 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -13,6 +13,7 @@ const additionalPlugins = [ ]; module.exports = (env, argv) => { + let nodeEnv = argv.mode; if (process.env.CI_PACKAGE) { // Don't run minification for CI builds (this is only set for runs on develop) // We override this via environment variable to avoid duplicating the scripts @@ -24,14 +25,7 @@ module.exports = (env, argv) => { // when working on the app but adds significant runtime overhead // We want to use the React production build but not compile the whole // application to productions standards - additionalPlugins.concat([ - new webpack.EnvironmentPlugin({ - "NODE_ENV": "production", - }), - new webpack.DefinePlugin({ - "process.env.NODE_ENV": "production", - }), - ]); + nodeEnv = "production"; } const development = {}; @@ -94,6 +88,10 @@ module.exports = (env, argv) => { // we use a CSS optimizer too and need to manage it ourselves. minimize: argv.mode === 'production', minimizer: argv.mode === 'production' ? [new TerserPlugin({}), new OptimizeCSSAssetsPlugin({})] : [], + + // Set the value of `process.env.NODE_ENV` for libraries like React + // See also https://v4.webpack.js.org/configuration/optimization/#optimizationnodeenv + nodeEnv, }, resolve: {