forked from ipcjs/bilibili-helper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path!compress.js
55 lines (53 loc) · 1.46 KB
/
!compress.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
const fs = require('fs')
const minjs = require('uglify-es')
const uglifyOption = {
'mangle': true,
'compress': {
'sequences': true,
'properties': true,
'dead_code': true,
'drop_debugger': true,
'unsafe': false,
'unsafe_comps': false,
'conditionals': true,
'comparisons': true,
'evaluate': true,
'booleans': true,
'loops': true,
'unused': true,
'hoist_funs': true,
'keep_fargs': true,
'keep_fnames': false,
'hoist_vars': false,
'if_return': true,
'join_vars': true,
'collapse_vars': false,
'reduce_vars': false,
// 'cascade': true,
'side_effects': true,
'pure_getters': false,
'pure_funcs': null,
'negate_iife': false,
'drop_console': false,
'passes': 1,
'global_defs': {}
},
'output': {
'ascii_only': false,
'inline_script': false,
'max_line_len': 32000,
'bracketize': false,
'semicolons': true,
'comments': /@.*|==\/?UserScript==/,
'shebang': true,
'preamble': null,
'quote_style': 0
}
}
global.process.argv.slice(2).forEach((name) => {
console.log(`process: ${name} ...`)
if (fs.existsSync(name + '.js')) {
const m = minjs.minify(fs.readFileSync(name + '.js', 'utf8'), uglifyOption)
fs.writeFileSync(`build/${name}.min.js`, m.code, 'utf8')
}
})