Age | Commit message (Expand) | Author |
2017-02-21 | 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
| alexlamsl |
2017-02-21 | fix stray else in compress with conditionals=false...closes #1449
| kzc |
2017-02-18 | enable typeof "undefined" for general use...move out of unsafe, guard corner case with screw_id8 instead
closes #1446
| alexlamsl |
2017-02-18 | fix corner case in keep_fnames...happens when inner function:
- just below top level
- not referenced
- `unused` is disabled
closes #1445
| alexlamsl |
2017-02-18 | remove unused AST_Scope.nesting & AST_SymbolRef.frame...they are computed but never used
closes #1444
| alexlamsl |
2017-02-18 | fix crash in unsafe replacement of undefined...remove extraneous call to AST_SymbolRef.reference()
closes #1443
| alexlamsl |
2017-02-18 | Improve optimizing `function() { if(c){return foo} bar();}`...closes #1437
| Anthony Van de Gejuchte |
2017-01-26 | update test (#1441)...improved reduce_vars & binary operands produce more optimal results | Alex Lam S.L |
2017-01-26 | fix mangling collision with keep_fnames (#1431)...* fix mangling collision with keep_fnames
fixes #1423
* pass mangle options to figure_out_scope()
bring command-line in line with minify()
| Alex Lam S.L |
2017-01-26 | optimise binary operands with evaluate() (#1427)...- remove call to evaluate() in is_constant() and let nested optimize() does its job instead
- reject RegExp in is_constant() and remove special case logic under collapse_vars
- operands to conditionals optimisation are now always evaluate()-ed
- throw error in constant_value() instead of returning undefined to catch possible bugs, similar to make_node_from_constant()
- optimise binary boolean operators under `evaluate` instead of `conditionals` | Alex Lam S.L |
2017-01-26 | augment evaluate to extract within objects (#1425)...- gated by `unsafe`
- replaces previous optimisation specific to String.length
- "123"[0] => 1
- [1, 2, 3][0] => 1
- [1, 2, 3].length => 3
- does not apply to objects with overridden prototype functions | Alex Lam S.L |
2017-01-19 | add missing LHS cases which global_defs should avoid | alexlamsl |
2017-01-19 | Have minify() and tests use figure_out_scope() as uglifyjs CLI does...Clarify docs, help and tests for --support-ie8 and screw_ie8=false
| kzc |
2017-01-19 | Add preventive test involving non-ascii function identifiers | Anthony Van de Gejuchte |
2017-01-19 | Add note about name mangling when using --mangle-props=unquoted (#1314) | Wiktor Kwapisiewicz |
2016-11-30 | remove npm-shrinkwrap.json to work around npm@4.0.2 bug (#1384) | kzc |
2016-11-29 | v2.7.5 | Richard van Velzen |
2016-11-29 | Generate source map data from normalized files...If using `inSourceMap` this fix will ensure the copying of `sourcesContent` is based on potentially normalized `sources` values (https://github.com/mozilla/source-map/blob/master/lib/source-map-consumer.js#L304-L309).
For example `normalize` (https://github.com/mozilla/source-map/blob/master/lib/util.js#L80-L123) will rewrite `./dist/mySource.js` to `dist/mySource.js` in the target `_sources` of the `SourceMapConsumer`. As a result `orig_map.sourceContentFor(source, true);` would return `null` since the orginal `source` was no longer available in the consumer. By using the keys generating from the `SourceMapConsumer.constructor` consistency is ensured.
| Martijn Swaagman |
2016-11-29 | docs: add doc for option.outFileName | 1111hui |
2016-11-29 | feat: add option.outFileName for JS API, if absense, sourceMap.file field wil... | 1111hui |
2016-11-29 | 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
| Ashley (Scirra) |
2016-11-29 | Do not overwrite options.comments + cleanup | Anthony Van de Gejuchte |
2016-10-27 | Pass mangle options to figure_out_scope before mangling in tests | Anthony Van de Gejuchte |
2016-10-23 | v2.7.4 | Richard van Velzen |
2016-10-23 | Don't filter shebangs when using the 'some' comment filter...Also clarify documentation a bit more about using regexp as filter
| Anthony Van de Gejuchte |
2016-10-23 | fix uses_arguments handling (broken since 6605d1578351)...Using the symbol declaration tracking of UglifyJS doesn't make sense here
anyway, `arguments` always comes from something in the current scope.
fixes #1299
| Jann Horn |
2016-10-23 | Add an option for writing inline source map | pengzhenqing |
2016-10-06 | Remove console.log and add extra test case | Richard van Velzen |
2016-10-06 | Add an option to wrap IIFEs in parenthesis...For #1307.
| Richard van Velzen |
2016-10-06 | Fix (typeof side_effect()) in boolean context...Fixes #1289 with suggestion by @rvanvelzen
| kzc |
2016-10-01 | Optimize unmodified variables | alexlamsl |
2016-09-06 | Make all comment options in cli available in js api...Also removing more code within "loop" while at it.
| Anthony Van de Gejuchte |
2016-09-01 | Merge pull request #1277 from kzc/fix-string-plus-opt...Account for side effects in `string + expr` optimization | Mihai Bazon |
2016-09-01 | Account for side effects in `string + expr` optimization | kzc |
2016-08-30 | implement optimization: (x = 2 * x) ---> (x *= 2) | kzc |
2016-08-17 | v2.7.3 | Richard van Velzen |
2016-08-17 | Fix negate_iife transform to return a correct tree for nested IIFEs...Fix for #1256, partially reverts d854523783b4
| Richard van Velzen |
2016-08-17 | v2.7.2 | Richard van Velzen |
2016-08-17 | Fix negate_iife regression #1254 | kzc |
2016-08-14 | v2.7.1 | Richard van Velzen |
2016-08-14 | Add missing `{` in README...Also fix a trivial style mistake. | Timothy Gu |
2016-08-14 | Fix --mangle-props and --mangle-props=unquoted...Fixes: #1247
Fix --mangle-props and --name-cache inconsistency.
AST_Dot and AST_Sub properties are now mangled by --mangle-props
without regard to being used in an assignment statement.
Note: if --mangle-props is used then *all* javascript files used must
be uglified with the same mangle options.
Fix the ignore_quoted=true mangle option, also known as
`--mangle-props=unquoted`. If a given property is quoted anywhere
it will not be mangled in any quoted or non-quoted context.
| kzc |
2016-08-14 | Additional object literal property tests | kzc |
2016-08-14 | Add input file glob support to minify() | kzc |
2016-08-14 | Add simple file globbing to bin/uglifyjs for Windows | kzc |
2016-08-14 | Moved test input files to test/input. | Lucas Wiener |
2016-08-14 | Added test for #1236 | Lucas Wiener |
2016-08-14 | Fixed sourceMapIncludeSources and inSourceMap = string combination of the Ugl... | Lucas Wiener |
2016-08-14 | Fix unneeded parens around unary args in new expression. | kzc |
2016-08-14 | Test reparsing test/compress/*.js output | kzc |