Revert "Update minification and sourcemap settings on CI builds for sentry (#19583)" (#19601)

This reverts commit d9f72ec0b6.
This commit is contained in:
James Salter 2021-11-03 13:09:25 +00:00 committed by GitHub
parent c0a7437c20
commit 516e38c82d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -40,34 +40,31 @@ function getActiveThemes() {
} }
module.exports = (env, argv) => { module.exports = (env, argv) => {
// Establish settings based on the environment and args. let nodeEnv = argv.mode;
// if (process.env.CI_PACKAGE) {
// argv.mode is always set to "production" by yarn build // Don't run minification for CI builds (this is only set for runs on develop)
// (called to build prod, nightly and develop.element.io) // We override this via environment variable to avoid duplicating the scripts
// arg.mode is set to "delopment" by yarn start // in `package.json` just for a different mode.
// (called by developers, runs the continuous reload script) argv.mode = "development";
// process.env.CI_PACKAGE is set when yarn build is called from scripts/ci_package.sh
// (called to build nightly and develop.element.io) // More and more people are using nightly build as their main client
const nodeEnv = argv.mode; // Libraries like React have a development build that is useful
// 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
nodeEnv = "production";
}
const devMode = nodeEnv !== 'production'; const devMode = nodeEnv !== 'production';
const useHMR = process.env.CSS_HOT_RELOAD === '1' && devMode; const useHMR = process.env.CSS_HOT_RELOAD === '1' && devMode;
const fullPageErrors = process.env.FULL_PAGE_ERRORS === '1' && devMode; const fullPageErrors = process.env.FULL_PAGE_ERRORS === '1' && devMode;
const enableMinification = !devMode;
const development = {}; const development = {};
if (devMode) { if (argv.mode === "production") {
// High quality, embedded source maps for dev builds
development['devtool'] = "eval-source-map";
} else {
if (process.env.CI_PACKAGE) {
// High quality source maps in separate .map files which include the source. This doesn't bulk up the .js
// payload file size, which is nice for performance but also necessary to get the bundle to a small enough
// size that sentry will accept the upload.
development['devtool'] = 'source-map';
} else {
// High quality source maps in separate .map files which don't include the source
development['devtool'] = 'nosources-source-map'; development['devtool'] = 'nosources-source-map';
} } else {
// This makes the sourcemaps human readable for developers. We use eval-source-map
// because the plain source-map devtool ruins the alignment.
development['devtool'] = 'eval-source-map';
} }
// Resolve the directories for the react-sdk and js-sdk for later use. We resolve these early so we // Resolve the directories for the react-sdk and js-sdk for later use. We resolve these early so we
@ -129,8 +126,8 @@ module.exports = (env, argv) => {
// Minification is normally enabled by default for webpack in production mode, but // Minification is normally enabled by default for webpack in production mode, but
// we use a CSS optimizer too and need to manage it ourselves. // we use a CSS optimizer too and need to manage it ourselves.
minimize: enableMinification, minimize: argv.mode === 'production',
minimizer: enableMinification ? [new TerserPlugin({}), new OptimizeCSSAssetsPlugin({})] : [], minimizer: argv.mode === 'production' ? [new TerserPlugin({}), new OptimizeCSSAssetsPlugin({})] : [],
// Set the value of `process.env.NODE_ENV` for libraries like React // Set the value of `process.env.NODE_ENV` for libraries like React
// See also https://v4.webpack.js.org/configuration/optimization/#optimizationnodeenv // See also https://v4.webpack.js.org/configuration/optimization/#optimizationnodeenv
@ -543,7 +540,7 @@ module.exports = (env, argv) => {
process.env.SENTRY_DSN && process.env.SENTRY_DSN &&
new SentryCliPlugin({ new SentryCliPlugin({
release: process.env.VERSION, release: process.env.VERSION,
include: "./webapp/bundles", include: "./webapp",
}), }),
new webpack.EnvironmentPlugin(['VERSION']), new webpack.EnvironmentPlugin(['VERSION']),
].filter(Boolean), ].filter(Boolean),