Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bin/uglifyjs should be implemented solely with the minify() API #1280

Closed
kzc opened this issue Sep 2, 2016 · 3 comments · Fixed by #1811
Closed

bin/uglifyjs should be implemented solely with the minify() API #1280

kzc opened this issue Sep 2, 2016 · 3 comments · Fixed by #1811

Comments

@kzc
Copy link
Contributor

kzc commented Sep 2, 2016

There are too many implementation inconsistencies between the CLI and minify(). Uglify should eat its own dog food. This will decrease the maintenance burden long term and lead to a better minify() API.

See: #1274 (comment)

@rvanvelzen
Copy link
Collaborator

Agreed.

@kzc
Copy link
Contributor Author

kzc commented Oct 5, 2016

At the same time the CLI is rewritten we may want to replace the CLI argument parser due to its size and performance issues in latest version:

Details in: #1302 (comment)

@kzc
Copy link
Contributor Author

kzc commented Oct 8, 2016

Consider splitting uglify CLI and API into separate npm modules:

#1302 (comment)

Would be useful to JS bundlers like webpack only wishing to use the API and not include large dependencies like yargs.

alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Apr 13, 2017
- refactor `screw_ie8` to `ie8`
- compact `sourceMap` options
- more stringent verification on input `options`
- toplevel shorthands
  - `ie8`
  - `keep_fnames`
  - `toplevel`

closes mishoo#96
closes mishoo#1366
fixes mishoo#124
fixes mishoo#263
fixes mishoo#379
fixes mishoo#423
fixes mishoo#576
fixes mishoo#737
fixes mishoo#958
fixes mishoo#1036
fixes mishoo#1175
fixes mishoo#1220
fixes mishoo#1223
fixes mishoo#1280
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Apr 13, 2017
- refactor `screw_ie8` to `ie8`
- compact `sourceMap` options
- more stringent verification on input `options`
- toplevel shorthands
  - `ie8`
  - `keep_fnames`
  - `toplevel`
- deprecated `fromString` in `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()`

closes mishoo#96
closes mishoo#1366
fixes mishoo#124
fixes mishoo#263
fixes mishoo#379
fixes mishoo#423
fixes mishoo#576
fixes mishoo#737
fixes mishoo#958
fixes mishoo#1036
fixes mishoo#1175
fixes mishoo#1220
fixes mishoo#1223
fixes mishoo#1280
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Apr 13, 2017
- refactor `screw_ie8` to `ie8`
- compact `sourceMap` options
- more stringent verification on input `options`
- toplevel shorthands
  - `ie8`
  - `keep_fnames`
  - `toplevel`
- deprecated `fromString` in `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()`

closes mishoo#96
closes mishoo#1366
fixes mishoo#124
fixes mishoo#263
fixes mishoo#379
fixes mishoo#423
fixes mishoo#576
fixes mishoo#737
fixes mishoo#958
fixes mishoo#1036
fixes mishoo#1175
fixes mishoo#1220
fixes mishoo#1223
fixes mishoo#1280
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Apr 14, 2017
- refactor `screw_ie8` to `ie8`
- compact `sourceMap` options
- more stringent verification on input `options`
- toplevel shorthands
  - `ie8`
  - `keep_fnames`
  - `toplevel`
- deprecated `fromString` in `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`

closes mishoo#96
closes mishoo#1366
fixes mishoo#124
fixes mishoo#263
fixes mishoo#379
fixes mishoo#423
fixes mishoo#576
fixes mishoo#737
fixes mishoo#958
fixes mishoo#1036
fixes mishoo#1175
fixes mishoo#1220
fixes mishoo#1223
fixes mishoo#1280
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Apr 14, 2017
- refactor `screw_ie8` to `ie8`
- compact `sourceMap` options
- more stringent verification on input `options`
- toplevel shorthands
  - `ie8`
  - `keep_fnames`
  - `toplevel`
- deprecated `fromString` in `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`

closes mishoo#96
closes mishoo#1366
fixes mishoo#124
fixes mishoo#263
fixes mishoo#379
fixes mishoo#423
fixes mishoo#576
fixes mishoo#737
fixes mishoo#958
fixes mishoo#1036
fixes mishoo#1175
fixes mishoo#1220
fixes mishoo#1223
fixes mishoo#1280
alexlamsl added a commit that referenced this issue Apr 15, 2017
- 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants