mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-01 15:37:32 +08:00
Backport of webpack improvements. Build highest quality sourcemaps when
requested, but drop minimzation completely for dev. Drop console statements in production build.
This commit is contained in:
@@ -7,6 +7,7 @@ const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
|
||||
const DuplicatePackageCheckerPlugin = require("@cerner/duplicate-package-checker-webpack-plugin");
|
||||
const { DumpMetaPlugin } = require("dumpmeta-webpack-plugin");
|
||||
const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin");
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
|
||||
const scriptsBase = path.join(__dirname, "src");
|
||||
const testsBase = path.join(__dirname, "tests");
|
||||
@@ -32,6 +33,27 @@ module.exports = (env = {}, argv = {}) => {
|
||||
// environment name based on -d, -p, webpack flag
|
||||
const targetEnv = process.env.NODE_ENV == "production" || argv.mode == "production" ? "production" : "development";
|
||||
|
||||
let minimizations = {};
|
||||
if (targetEnv == "production") {
|
||||
minimizations = {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
terserOptions: {
|
||||
compress: {
|
||||
drop_console: true,
|
||||
},
|
||||
},
|
||||
}),
|
||||
new CssMinimizerPlugin(),
|
||||
],
|
||||
};
|
||||
} else {
|
||||
minimizations = {
|
||||
minimize: false,
|
||||
};
|
||||
}
|
||||
|
||||
const buildconfig = {
|
||||
mode: targetEnv,
|
||||
entry: {
|
||||
@@ -84,8 +106,7 @@ module.exports = (env = {}, argv = {}) => {
|
||||
},
|
||||
},
|
||||
},
|
||||
minimize: true,
|
||||
minimizer: [`...`, new CssMinimizerPlugin()],
|
||||
...minimizations,
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
@@ -272,8 +293,8 @@ module.exports = (env = {}, argv = {}) => {
|
||||
},
|
||||
};
|
||||
|
||||
if (process.env.GXY_BUILD_SOURCEMAPS || buildconfig.mode == "development") {
|
||||
buildconfig.devtool = "eval-cheap-source-map";
|
||||
if (process.env.GXY_BUILD_SOURCEMAPS) {
|
||||
buildconfig.devtool = "source-map";
|
||||
}
|
||||
|
||||
return buildconfig;
|
||||
|
||||
Reference in New Issue
Block a user