Skip to content

Commit 4adccdc

Browse files
Merge pull request #209 from emulsify-ds/fix-EMULSIF-57-preserve-minimized
FIX(EMULSIF-57): Preserve variables in JS minification
2 parents cd8a1fa + 44a311a commit 4adccdc

4 files changed

Lines changed: 26 additions & 2 deletions

File tree

config/babel.config.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
export default (api) => {
22
api.cache(true);
33

4-
const presets = [['minify', { builtIns: false }]];
4+
const presets = [
5+
[
6+
'minify',
7+
{
8+
builtIns: false,
9+
mangle: {
10+
reserved: ['Drupal', 'drupalSettings', 'once'],
11+
},
12+
},
13+
],
14+
];
515
const comments = false;
616

717
return { presets, comments };

config/webpack/optimizers.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import ImageMinimizerPlugin from 'image-minimizer-webpack-plugin';
2+
import TerserPlugin from 'terser-webpack-plugin';
23

34
const ImageMinimizer = new ImageMinimizerPlugin({
45
minimizer: {
@@ -12,6 +13,14 @@ const ImageMinimizer = new ImageMinimizerPlugin({
1213
},
1314
});
1415

16+
const TerserMinimizer = new TerserPlugin({
17+
terserOptions: {
18+
mangle: {
19+
reserved: ['Drupal', 'drupalSettings', 'once'],
20+
},
21+
},
22+
});
23+
1524
export default {
16-
minimizer: [ImageMinimizer],
25+
minimizer: [ImageMinimizer, TerserMinimizer],
1726
};

config/webpack/webpack.common.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,10 @@ const buildEntries = () => {
232232
export default {
233233
target: 'web',
234234
stats: { errorDetails: true },
235+
externals: {
236+
drupal: 'Drupal',
237+
drupalSettings: 'drupalSettings',
238+
},
235239
entry: buildEntries(),
236240
module: {
237241
rules: [

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@
107107
"stylelint-prettier": "^5.0.3",
108108
"stylelint-webpack-plugin": "^5.0.1",
109109
"svg-spritemap-webpack-plugin": "^5.0.3",
110+
"terser-webpack-plugin": "^5.3.9",
110111
"token-transformer": "^0.0.33",
111112
"twig-drupal-filters": "^3.2.0",
112113
"twig-testing-library": "^1.2.0",

0 commit comments

Comments
 (0)