File tree 4 files changed +2614
-1
lines changed
4 files changed +2614
-1
lines changed Original file line number Diff line number Diff line change @@ -187,6 +187,10 @@ Supported options:
187
187
- =-q= or =--quote-keys= --- quote keys in literal objects (by default,
188
188
only keys that cannot be identifier names will be quotes).
189
189
190
+ - =-c= or =----consolidate-primitive-values= --- consolidates null, Boolean,
191
+ and String values. Known as aliasing in the Closure Compiler. Worsens the
192
+ data compression ratio of gzip.
193
+
190
194
- =--ascii= --- pass this argument to encode non-ASCII characters as
191
195
=\uXXXX= sequences. By default UglifyJS won't bother to do it and will
192
196
output Unicode characters instead. (the output is always encoded in UTF8,
Original file line number Diff line number Diff line change 4
4
global . sys = require ( / ^ v 0 \. [ 0 1 2 ] / . test ( process . version ) ? "sys" : "util" ) ;
5
5
var fs = require ( "fs" ) ;
6
6
var uglify = require ( "uglify-js" ) , // symlink ~/.node_libraries/uglify-js.js to ../uglify-js.js
7
+ consolidator = uglify . consolidator ,
7
8
jsp = uglify . parser ,
8
9
pro = uglify . uglify ;
9
10
10
11
var options = {
11
12
ast : false ,
13
+ consolidate : false ,
12
14
mangle : true ,
13
15
mangle_toplevel : false ,
14
16
no_mangle_functions : false ,
@@ -46,6 +48,10 @@ out: while (args.length > 0) {
46
48
case "--beautify" :
47
49
options . codegen_options . beautify = true ;
48
50
break ;
51
+ case "-c" :
52
+ case "--consolidate-primitive-values" :
53
+ options . consolidate = true ;
54
+ break ;
49
55
case "-i" :
50
56
case "--indent" :
51
57
options . codegen_options . indent_level = args . shift ( ) ;
@@ -278,6 +284,9 @@ function squeeze_it(code) {
278
284
}
279
285
try {
280
286
var ast = time_it ( "parse" , function ( ) { return jsp . parse ( code ) ; } ) ;
287
+ if ( options . consolidate ) ast = time_it ( "consolidate" , function ( ) {
288
+ return consolidator . ast_consolidate ( ast ) ;
289
+ } ) ;
281
290
if ( options . lift_vars ) {
282
291
ast = time_it ( "lift" , function ( ) { return pro . ast_lift_variables ( ast ) ; } ) ;
283
292
}
You can’t perform that action at this time.
0 commit comments