Skip to content

Commit

Permalink
Add compressor options
Browse files Browse the repository at this point in the history
This allows specifying Terser options in mangle.json or package.json's "mangle" field.
  • Loading branch information
developit committed Mar 4, 2019
1 parent f293bf8 commit 9f9672a
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/index.js
Expand Up @@ -400,6 +400,9 @@ function createConfig(options, entry, format, writeMeta) {
nameCache = JSON.parse(
fs.readFileSync(resolve(options.cwd, 'mangle.json'), 'utf8'),
);
if (nameCache.config) {
mangleOptions = Object.assign({}, mangleOptions || {}, nameCache.config);
}
} catch (e) {}
}
loadNameCache();
Expand Down Expand Up @@ -539,16 +542,16 @@ function createConfig(options, entry, format, writeMeta) {
terser({
sourcemap: true,
output: { comments: false },
compress: {
compress: Object.assign({
keep_infinity: true,
pure_getters: true,
global_defs: defines,
passes: 10,
},
}, mangleOptions.compress || {}),
warnings: true,
ecma: 5,
toplevel: format === 'cjs' || format === 'es',
mangle: {
mangle: Object.assign({
properties: mangleOptions
? {
regex: mangleOptions.regex
Expand All @@ -557,7 +560,7 @@ function createConfig(options, entry, format, writeMeta) {
reserved: mangleOptions.reserved || [],
}
: false,
},
}, mangleOptions.mangle || {}),
nameCache,
}),
mangleOptions && {
Expand Down

0 comments on commit 9f9672a

Please sign in to comment.