unify CLI & API under `minify()` (#1811)
authorAlex Lam S.L <alexlamsl@gmail.com>
Sat, 15 Apr 2017 15:50:50 +0000 (23:50 +0800)
committerGitHub <noreply@github.com>
Sat, 15 Apr 2017 15:50:50 +0000 (23:50 +0800)
commitec443e422c220619fe671166e467d3d8838b0cab
tree8272f7692a5f02208e6efe5ee8a33e657ff776f6
parent32deb365d500f22f3215fe0edb094b38dba5b61a
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
43 files changed:
README.md
bin/extract-props.js [deleted file]
bin/uglifyjs
lib/ast.js
lib/compress.js
lib/minify.js [new file with mode: 0644]
lib/output.js
lib/parse.js
lib/propmangle.js
lib/scope.js
package.json
test/benchmark.js
test/compress/ascii.js
test/compress/issue-1321.js
test/compress/issue-1446.js
test/compress/issue-1588.js
test/compress/issue-1704.js
test/compress/issue-1733.js
test/compress/loops.js
test/compress/properties.js
test/compress/screw-ie8.js
test/jetstream.js
test/mocha/cli.js
test/mocha/comment-filter.js
test/mocha/comment.js
test/mocha/comment_before_constant.js
test/mocha/directives.js
test/mocha/glob.js
test/mocha/huge-number-of-comments.js
test/mocha/input-sourcemaps.js
test/mocha/let.js
test/mocha/line-endings.js
test/mocha/minify-file-map.js
test/mocha/minify.js
test/mocha/new.js
test/mocha/release.js
test/mocha/screw-ie8.js
test/mocha/spidermonkey.js
test/ufuzz.js
test/ufuzz.json
tools/domprops.json
tools/exports.js
tools/node.js