Merge branch '5.3'
[GitHub/WoltLab/WCF.git] / extra / compiler.js
1 const terser = require("terser");
2 const merge = require('deepmerge')
3
4 const terserConfig = {
5 compress: {
6 sequences: true,
7 properties: true,
8 dead_code: true,
9 conditionals: true,
10 comparisons: true,
11 booleans: true,
12 loops: true,
13 hoist_funs: true,
14 hoist_vars: true,
15 if_return: true,
16 join_vars: true,
17 /* this is basically the `--define` argument */
18 global_defs: {
19 COMPILER_TARGET_DEFAULT: false
20 }
21 },
22 format: {
23 comments: false,
24 }
25 };
26
27 module.exports = {
28 compile: (filename, overrides) => {
29 if (overrides === undefined) overrides = {};
30 const config = merge(terserConfig, overrides);
31
32 return terser.minify(
33 filename,
34 config
35 );
36 }
37 }