kzc
179f33f08a
update doc notes for uglify-es ( #2164 )
2017-06-26 11:04:22 +08:00
kzc
d260fe9018
more documentation for the ecma option ( #2162 )
2017-06-26 02:39:14 +08:00
Alex Lam S.L
49f3de8397
toplevel shorthand for ecma ( #2157 )
2017-06-24 19:06:58 +08:00
Alex Lam S.L
d1f085bce7
add new arrows compress option ( #2154 )
...
Convert ES5 style anonymous function expressions
to arrow functions if permissible by language semantics.
Note: `arrows` requires that the `ecma` compress option
is set to `6` or greater.
fixes #2150
2017-06-24 14:45:24 +08:00
alexlamsl
8af362ed57
Merge branch 'master' into harmony-v3.0.16
2017-06-14 17:09:30 +08:00
kzc
da2de350c3
add comment about quote_style and gzip ( #2092 )
2017-06-14 12:23:03 +08:00
Alex Lam S.L
3493a182b2
implement function inlining ( #2053 )
...
- empty body
- single `AST_Return`
- single `AST_SimpleStatement`
- avoid `/*#__PURE__*/`
Miscellaneous
- enhance single-use function substitution
fixes #281
2017-06-06 05:49:53 +08:00
kzc
f330ab743a
better document behavior of unsafe_Func ( #2043 )
2017-06-02 12:07:17 +08:00
alexlamsl
ee5c03f7f1
Merge branch 'master' into harmony-v3.0.15
2017-06-01 18:26:09 +08:00
kzc
0cb75089f0
document safari10 mangle option ( #2035 )
2017-05-31 23:16:20 +08:00
kzc
f71e8fd948
reformat mangle options section of README ( #2036 )
2017-05-31 21:52:43 +08:00
alexlamsl
c814060b4a
Merge branch 'master' into harmony-v3.0.14
2017-05-31 11:42:54 +08:00
Alex Lam S.L
e9645e017f
introduce unsafe_Func ( #2033 )
...
Separate flag for #203 functionality.
2017-05-31 03:38:00 +08:00
alexlamsl
520da57fdc
Merge branch 'master' into harmony-v3.0.13
2017-05-29 10:58:05 +08:00
Alex Lam S.L
e62b879b48
display default values in --help options ( #2018 )
2017-05-28 22:57:20 +08:00
alexlamsl
aa835eb0f6
Merge branch 'master' into harmony-v3.0.12
2017-05-27 18:12:10 +08:00
kzc
1ff8e9dd38
clarify what --mangle-props does ( #2012 )
2017-05-27 13:17:30 +08:00
kzc
78309a293d
better document mangle properties options ( #2009 )
2017-05-27 02:28:43 +08:00
kzc
695e182d59
fix and expand --mangle-props documentation ( #2008 )
...
fixes #2007
2017-05-27 01:25:51 +08:00
Alex Lam S.L
793d61499b
report timing breakdown ( #2000 )
...
fix corner cases with `sourceMap`
fixes #1998
2017-05-25 07:15:55 +08:00
alexlamsl
37e549ff4f
Merge branch 'master' into harmony-v3.0.11
2017-05-23 22:29:04 +08:00
kzc
69ac794bc8
add another minify() options example ( #1988 )
2017-05-22 12:19:07 +08:00
Alex Lam S.L
efdb65913b
improve usability of global_defs in minify() ( #1987 )
...
Use `@key` to `parse()` string value as `AST_Node`.
fixes #1986
2017-05-22 01:38:43 +08:00
kzc
a1dedeb3ce
more refinement of minify() documentation ( #1983 )
2017-05-21 04:55:03 +08:00
alexlamsl
a3053c537a
Merge branch 'master' into harmony-v3.0.10
2017-05-21 01:36:38 +08:00
kzc
22aedef849
document minify() option toplevel ( #1979 )
2017-05-20 22:09:21 +08:00
kzc
5bf8d7e949
document 3.x minify() does not throw errors ( #1975 )
2017-05-20 10:49:35 +08:00
kzc
1df9d06f4a
document minify warnings and add an error example ( #1973 )
2017-05-19 17:20:21 +08:00
alexlamsl
02b14528fa
Merge branch 'master' into harmony-v3.0.9
2017-05-19 09:51:00 +08:00
Alex Lam S.L
eae26756f1
introduce unsafe_regexp ( #1970 )
...
fixes #1964
2017-05-19 09:06:29 +08:00
alexlamsl
5f29fced0a
Merge branch 'master' into harmony-v3.0.8
2017-05-18 14:54:18 +08:00
Kara
6ed90913ca
fix docs for side_effects flag to reflect current behavior ( #1966 )
2017-05-18 10:51:49 +08:00
Rob Garrison
baef8bf050
update output options in readme ( #1958 )
2017-05-17 11:54:46 +08:00
alexlamsl
0813c5316f
remove Travis CI badge
2017-05-17 10:32:59 +08:00
alexlamsl
60c56a24b9
Merge branch 'master' into harmony-v3.0.7
2017-05-16 20:02:30 +08:00
Alex Lam S.L
cb45886512
export TreeTransformer ( #1950 )
...
- link to existing documentation on `TreeWalker` & `TreeTransformer`
- fix Travis build failures
fixes #1949
2017-05-16 19:59:05 +08:00
alexlamsl
99fb3e8f0d
Merge branch 'master' into harmony-v3.0.6
2017-05-16 06:48:23 +08:00
alexlamsl
f18abd1b9c
minor fixes to README.md
2017-05-16 01:33:01 +08:00
kzc
3be06ad085
reorg README for 3.x ( #1942 )
2017-05-16 01:12:00 +08:00
alexlamsl
81243c4e71
Merge branch 'master' into harmony-v3.0.5
2017-05-15 18:58:54 +08:00
kzc
504a436e9d
Tweak README Notes ( #1934 )
2017-05-14 02:12:14 +08:00
olsonpm
fd0951231c
document 3 max passes ( #1928 )
2017-05-13 12:54:32 +08:00
olsonpm
9e29b6dad2
clarify wording ( #1931 )
2017-05-13 12:54:01 +08:00
olsonpm
547f41beba
add documentation for side_effects & [#@]__PURE__ ( #1925 )
2017-05-12 12:29:55 +08:00
alexlamsl
daf44f2b21
Merge branch 'master' into harmony-v3.0.4
2017-05-12 05:13:11 +08:00
kzc
2b44f4ae30
update README ( #1918 )
2017-05-12 03:36:33 +08:00
Alexis Tyler
e51c3541da
fix typo ( #1913 )
2017-05-11 20:24:33 +08:00
Alex Lam S.L
3bf194684b
update documentation ( #1909 )
...
- clarify options on `--source-map`
- fix `minify()` examples
fixes #1905
2017-05-11 17:50:50 +08:00
kzc
04f2344efc
Remove unnecessary git clone instructions in README ( #1897 )
2017-05-10 11:06:50 +08:00
kzc
6ddb5bd94d
Remove incorrect git clone instructions from uglify-es README ( #1896 )
2017-05-10 11:06:22 +08:00
kzc
bad9d5cf88
Change harmony to uglify-es in master README ( #1895 )
2017-05-10 05:07:45 +08:00
kzc
eda49605c5
Have harmony docs use uglify-es package name. ( #1894 )
2017-05-10 04:41:09 +08:00
alexlamsl
222100ea4c
Merge branch 'master' into harmony-v3.0.2
2017-05-10 01:57:32 +08:00
Alex Lam S.L
bc3fa78e8c
mention minify().error
2017-05-09 16:09:48 +08:00
alexlamsl
81f1311b24
Merge branch 'master' into harmony-v3.0.1
2017-05-09 02:10:06 +08:00
kzc
3dd328dce3
[3.x] fix documentation for beautify options ( #1882 )
...
- use underscores rather than dashes.
2017-05-08 23:06:56 +08:00
Alex Lam S.L
da295de82b
support dumping AST ( #1879 )
...
Re-order `AST_Binary` properties to make dump more readable.
closes #769
2017-05-08 06:23:01 +08:00
alexlamsl
b4c18f6b83
Merge branch 'master' into harmony-v3.0.0
2017-05-07 15:34:16 +08:00
Alex Lam S.L
2d99d06601
update documentation
...
Remove deprecated CLI option
2017-05-07 03:02:46 +08:00
kzc
64d74432f6
update README for 3.x ( #1840 )
2017-04-23 04:28:32 +08:00
Roman Dvornov
6f954aa3d0
Fix API reference examples ( #1834 )
2017-04-21 02:23:41 +08:00
Alex Lam S.L
251ff1d1af
update README ( #1813 )
...
- mention major version bump
- remove reference to internal API
2017-04-16 04:04:28 +08:00
Alex Lam S.L
ec443e422c
unify CLI & API under minify() ( #1811 )
...
- rename `screw_ie8` to `ie8`
- rename `mangle.except` to `mangle.reserved`
- rename `mangle.properties.ignore_quoted` to `mangle.properties.keep_quoted`
- compact `sourceMap` options
- more stringent verification on input `options`
- toplevel shorthands
- `ie8`
- `keep_fnames`
- `toplevel`
- `warnings`
- support arrays and unquoted string values on CLI
- drop `fromString` from `minify()`
- `minify()` no longer handles any `fs` operations
- unify order of operations for `mangle_properties()` on CLI & API
- `bin/uglifyjs` used to `mangle_properties()` before even `Compressor`
- `minify()` used to `mangle_properties()` after `Compressor` but before `mangle_names()`
- both will now do `Compressor`, `mangle_names()` then `mangle_properties()`
- `options.parse` / `--parse` for parser options beyond `bare_returns`
- add `mangle.properties.builtins` to disable built-in reserved list
- disable with `--mangle-props builtins` on CLI
- `warnings` now off by default
- add `--warn` and `--verbose` on CLI
- drop `--enclose`
- drop `--export-all`
- drop `--reserved-file`
- use `--mangle reserved` instead
- drop `--reserve-domprops`
- enabled by default, disable with `--mangle-props domprops`
- drop `--prefix`
- use `--source-map base` instead
- drop `--lint`
- remove `bin/extract-props.js`
- limit exposure of internal APIs
- update documentations
closes #96
closes #102
closes #136
closes #166
closes #243
closes #254
closes #261
closes #311
closes #700
closes #748
closes #912
closes #1072
closes #1366
fixes #101
fixes #123
fixes #124
fixes #263
fixes #379
fixes #419
fixes #423
fixes #461
fixes #465
fixes #576
fixes #737
fixes #772
fixes #958
fixes #1036
fixes #1142
fixes #1175
fixes #1220
fixes #1223
fixes #1280
fixes #1359
fixes #1368
2017-04-15 23:50:50 +08:00
alexlamsl
0d8597e904
Merge branch 'master' into harmony-v2.8.22
2017-04-09 15:50:38 +08:00
Alex Lam S.L
0f4cd73dcc
introduce "strict" to pure_getters ( #1795 )
2017-04-07 13:31:58 +08:00
alexlamsl
4614b5b46e
Merge branch 'master' into harmony-v2.8.21
2017-04-02 17:25:20 +08:00
Alex Lam S.L
257ddc3bdb
improve compression of undefined, NaN & Infinitiy ( #1748 )
...
- migrate transformation logic from `OutputStream` to `Compressor`
- always turn `undefined` into `void 0` (unless `unsafe`)
- always keep `NaN` except when avoiding local variable redefinition
- introduce `keep_infinity` to suppress `1/0` transform, except when avoiding local variable redefinition
supersedes #1723
fixes #1730
2017-04-01 03:02:14 +08:00
alexlamsl
97d0fc271d
Merge branch 'master' into harmony-v2.8.15
2017-03-23 15:28:17 +08:00
Alex Lam S.L
ee95c1b38b
metadata cleanup ( #1630 )
...
- mention performance anomaly in Node 7 and drop from CI
- remove unused npm "scripts"
- mark browserify dependency as optional
- stop `test/mozilla-ast.js` from spamming console output in later versions of Node.js
2017-03-23 01:31:46 +08:00
alexlamsl
75c3c8963f
Merge branch 'master' into harmony-v2.8.13
2017-03-18 02:52:45 +08:00
Christian Maughan Tegnér
b7c112eefe
Add --in-source-map inline documentation ( #1611 )
2017-03-17 03:08:38 +08:00
alexlamsl
8f4b45f4f8
Merge branch 'master' into harmony-v2.8.10
2017-03-09 06:02:28 +08:00
Alex Lam S.L
711f88dcb4
scan assignment value in drop_unused() ( #1578 )
...
those were not optimised for `unused` before, which made it necessary for `reduce_vars` to have separate steps for `keep_fnames`
docs update by @kzc
closes #1577
2017-03-08 18:37:32 +08:00
alexlamsl
49d9ac1c43
Merge branch 'master' into harmony-v2.8.6
2017-03-05 16:03:56 +08:00
Alex Lam S.L
1f0333e9f1
stay safe with constants in IE8- ( #1547 )
...
- `undefined` etc. can be redefined at top-level for IE8-, so disable related optimisations
- fixed `--support-ie8` catch mangle bug
2017-03-05 12:51:11 +08:00
Alex Lam S.L
07accd2fbb
process code with implicit return statement ( #1522 )
...
Bookmarklet for instance implicitedly assumes a "completion value" without using `return`.
The `expression` option now supports such use cases.
Optimisations on IIFEs also enhanced.
fixes #354
fixes #543
fixes #625
fixes #628
fixes #640
closes #1293
2017-03-03 18:13:07 +08:00
Alex Lam S.L
18059cc94f
compress numerical expressions ( #1513 )
...
safe operations
- `a === b` => `a == b`
- `a + -b` => `a - b`
- `-a + b` => `b - a`
- `a+ +b` => `+b+a`
associative operations
(bit-wise operations are safe, otherwise `unsafe_math`)
- `a + (b + c)` => `(a + b) + c`
- `(n + 2) + 3` => `5 + n`
- `(2 * n) * 3` => `6 * n`
- `(a | 1) | (2 | d)` => `(3 | a) | b`
fixes #412
2017-03-03 18:04:32 +08:00
alexlamsl
8a7a4749c7
Merge branch 'master' into harmony-v2.8.2
2017-03-01 11:06:33 +08:00
Alex Lam S.L
f5cbe19b75
invert reduce_vars tracking flag ( #1519 )
...
Modules like webpack and grunt-contrib-uglify still uses `ast.transform(compressor)` before `Compressor.compress(ast)` was introduced.
Workaround this compatibility issue by deactivating `reduce_vars` in such case.
Also fix use case with omitted `options` when calling `Compressor()`.
fixes #1516
2017-03-01 04:12:10 +08:00
alexlamsl
88a338f29e
Merge branch 'master' into harmony-2.8.0
2017-02-27 04:37:48 +08:00
kzc
b1c593a041
add harmony branch details in README ( #1507 )
2017-02-27 01:55:24 +08:00
Alex Lam S.L
834f9f3924
update docs for pure_funcs & drop_console ( #1503 )
...
closes #1362
closes #1399
2017-02-25 04:13:10 +08:00
alexlamsl
4e49302916
enable collapse_vars & reduce_vars by default
...
- fix corner cases in `const` optimisation
- deprecate `/*@const*/`
fixes #1497
closes #1498
2017-02-24 01:46:57 +08:00
alexlamsl
ec64acd2c8
introduce unsafe_proto
...
- `Array.prototype.slice` => `[].slice`
closes #1491
2017-02-21 13:29:58 +08:00
alexlamsl
e275148998
enhance global_defs
...
- support arrays, objects & AST_Node
- support `"a.b":1` on both cli & API
- emit warning if variable is modified
- override top-level variables
fixes #1416
closes #1198
closes #1469
2017-02-21 13:29:58 +08:00
alexlamsl
148047fbbf
drop unused: toplevel, assign-only
...
- assign statement does not count towards variable usage by default
- only works with assignments on the same scope level as declaration
- can be disabled with `unused` set to "keep_assign"
- `toplevel` to drop unused top-level variables and/or functions
- `top_retain` to whitelist top-level exceptions
closes #1450
2017-02-21 13:29:57 +08:00
Richard van Velzen
4bd31607f6
Merge branch 'master' into harmony
2017-01-26 13:02:22 +01:00
kzc
ec2e5fa3a2
Have minify() and tests use figure_out_scope() as uglifyjs CLI does
...
Clarify docs, help and tests for --support-ie8 and screw_ie8=false
2017-01-19 17:14:33 +01:00
Wiktor Kwapisiewicz
0913db8c84
Add note about name mangling when using --mangle-props=unquoted ( #1314 )
2017-01-19 16:47:10 +01:00
Richard van Velzen
ee26e7f11b
Merge branch 'master' into harmony
2016-11-29 20:50:27 +01:00
Anthony Van de Gejuchte
937f534392
Fix flag name in readme
2016-11-29 20:44:22 +01:00
1111hui
a7b3b0d3a5
docs: add doc for option.outFileName
2016-11-29 20:29:12 +01:00
Ashley (Scirra)
2a9989dd18
Add --mangle-props-debug and fix --mangle-props=unquoted collision
...
Patch by @AshleyScirra
Based on: PR #1316
Renamed the CLI debug option to --mangle-props-debug
Fixes : #1321 name collision in --mangle-props=unquoted
2016-11-29 20:25:39 +01:00
Richard van Velzen
b7bb706150
Merge branch 'master' into harmony
2016-10-23 22:11:27 +02:00
Anthony Van de Gejuchte
8d74f34373
Don't filter shebangs when using the 'some' comment filter
...
Also clarify documentation a bit more about using regexp as filter
2016-10-23 21:31:03 +02:00
pengzhenqing
e51c6ba380
Add an option for writing inline source map
2016-10-23 21:21:39 +02:00
Anthony Van de Gejuchte
32c2cc33bb
Improve binding patterns for arrow functions
2016-10-23 21:13:12 +02:00
alexlamsl
4761d07e0b
Optimize unmodified variables
2016-10-01 11:36:11 +02:00
Anthony Van de Gejuchte
0111497fc9
Make all comment options in cli available in js api
...
Also removing more code within "loop" while at it.
2016-09-06 17:54:45 +02:00
Timothy Gu
37f4395cc0
Add missing { in README
...
Also fix a trivial style mistake.
2016-08-14 21:52:39 +02:00