Skip to content

Commit c17c4b0

Browse files
committed
feat: add Terser config
1 parent 0c8a4ec commit c17c4b0

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

src/.terserrc.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
const isDev = process.env.NODE_ENV === "development"
2+
const isTest = process.env.NODE_ENV === "test"
3+
const isReadable = isDev || isTest
4+
5+
const ProductionCompress = {
6+
global_defs: {
7+
// remove dev and test specific code for production
8+
"@atom.inSpecMode": !isTest ? "() => false" : "() => true",
9+
"@atom.inDevMode": !isDev ? "() => false" : "() => true",
10+
},
11+
ecma: "2018",
12+
toplevel: true,
13+
hoist_vars: false,
14+
hoist_funs: true,
15+
pure_getters: true,
16+
unsafe: true,
17+
unsafe_arrows: true,
18+
unsafe_comps: true,
19+
unsafe_Function: true,
20+
unsafe_math: true,
21+
unsafe_symbols: true,
22+
unsafe_methods: true,
23+
unsafe_proto: true,
24+
unsafe_regexp: true,
25+
unsafe_undefined: true,
26+
passes: 3,
27+
}
28+
29+
const TerserOptions = {
30+
// "module": false, // controlled by Parcel
31+
compress: isDev ? false : ProductionCompress,
32+
parse: {
33+
ecma: 2020,
34+
},
35+
mangle: isReadable ? false : true,
36+
format: {
37+
beautify: isReadable,
38+
},
39+
}
40+
module.exports = TerserOptions

0 commit comments

Comments
 (0)