https://github.com/mishoo/UglifyJS

sort by:
Revision Author Date Message Commit Date
e27dab7 Merge pull request #1528 from alexlamsl/harmony-v2.8.4 Merging from master for 2.8.4 02 March 2017, 03:22:06 UTC
80f3ad3 Merge branch 'master' into harmony-v2.8.4 02 March 2017, 03:16:55 UTC
40ceddb v2.8.4 01 March 2017, 16:24:49 UTC
7aa6911 fix corner cases in `reduce_vars` (#1524) Avoid variable substitution in the following cases: - use of variable before declaration - declaration within conditional code blocks - declaration within loop body fixes #1518 fixes #1525 01 March 2017, 16:20:53 UTC
bff7ad6 v2.8.3 01 March 2017, 07:28:46 UTC
c2334ba fix crash on missing `props` to `string_template()` (#1523) Patched up `make_node()` without `orig`. There may be other cases where `start` could be missing, so make it print "undefined" instead of crashing. fixes #1518 01 March 2017, 07:25:26 UTC
22f7af2 Merge pull request #1521 from alexlamsl/harmony-v2.8.2 Merging from master for 2.8.2 01 March 2017, 03:13:32 UTC
8a7a474 Merge branch 'master' into harmony-v2.8.2 01 March 2017, 03:06:33 UTC
fb2b6c7 v2.8.2 28 February 2017, 20:46:12 UTC
f5cbe19 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 28 February 2017, 20:12:10 UTC
b34fa11 fix `evaluate` on object getter & setter (#1515) 28 February 2017, 18:03:47 UTC
320984c v2.8.1 28 February 2017, 16:27:08 UTC
4365a51 temporarily disables `reduce_vars` (#1517) ... as we investigate #1516 28 February 2017, 16:25:43 UTC
514fc68 Merge pull request #1509 from alexlamsl/harmony-2.8.0 Merging from master for 2.8.0 28 February 2017, 15:14:25 UTC
478aaab fix parser test not sure if `start.pos` is correct, but oh well 28 February 2017, 06:08:31 UTC
ab21753 restore sourceMappingURL in test 28 February 2017, 05:23:02 UTC
a942dc0 fix parser tests update exception messages 27 February 2017, 19:58:01 UTC
a0eaff7 fix parsing of arrow function with bind fixes #1510 27 February 2017, 18:47:33 UTC
57777b6 Merge branch 'master' into harmony-2.8.0 27 February 2017, 18:28:58 UTC
858e6c7 warn & drop `#__PURE__` iff IIFE is dropped (#1511) - consolidate `side-effects` optimisations - improve string `+` optimisation - enhance literal & `conditionals` optimisations 27 February 2017, 18:25:44 UTC
8d205f7 fix parser handling of comments 27 February 2017, 06:54:47 UTC
bc9bfd1 fix test 27 February 2017, 03:39:48 UTC
9fc1c4b update test top-level block-variables not within blocks are global variables 26 February 2017, 22:23:12 UTC
c59bf5e fix `SymbolDef.global` properly compute for top-level block-variables 26 February 2017, 22:20:08 UTC
d2d3a6e fix double-`descend()` for `AST_Export` in `AST_Toplevel.figure_out_scope()` 26 February 2017, 22:06:09 UTC
7755733 fix "Starting destructuring." commit 32f76f7ff does not take into account `AST_SymbolFunarg` is also `AST_SymbolVar`, so don't need to call `AST_Scope.def_variable()` twice 26 February 2017, 21:30:18 UTC
b3a987b fix up `drop_unused()` 26 February 2017, 21:11:01 UTC
88a338f Merge branch 'master' into harmony-2.8.0 26 February 2017, 20:37:48 UTC
0b0296e v2.8.0 26 February 2017, 19:47:54 UTC
872270b improve error messages (#1506) - better inheritance of `Error` sub-classes - mark parse error against source in CLI closes #235 closes #348 closes #524 closes #1356 closes #1405 26 February 2017, 19:40:54 UTC
b1c593a add harmony branch details in README (#1507) 26 February 2017, 17:55:24 UTC
13be50a faster tree transversal (#1462) - convert `[].forEach()` to for-loops 25 February 2017, 21:58:26 UTC
16cd5d5 consolidate `evaluate` & `reduce_vars` (#1505) - improve marking efficiency - apply smarter `const` replacement to `var` fixes #1501 25 February 2017, 16:40:33 UTC
834f9f3 update docs for `pure_funcs` & `drop_console` (#1503) closes #1362 closes #1399 24 February 2017, 20:13:10 UTC
cf0951f allow --in-source-map inline (#1490) - limited to one input file (or `stdin`) - only works with built-in parser fixes #520 24 February 2017, 20:11:21 UTC
852f784 Avoid using exports when undefined (#1471) Makes direct usage within web browser easier, even if officially unsupported. 24 February 2017, 00:51:24 UTC
07734b0 Destructuring consistency fixes (#1417) - Use AST_Destructuring for lhf assignment patterns - Use AST_DefaultAssign for default assignments - Add more checks for lhs expressions - Add lots of testing - Cleanup ast (e.g. remove default property) - Fix #1402 based on a patch from @kzc - Refine spread allowance in array destructring pattern - Add destructuring AST tree checker 24 February 2017, 00:49:19 UTC
85c1cba Remove duplicated code (#1456) [ES6] Remove duplicated code 24 February 2017, 00:48:13 UTC
229e42c Merge pull request #1485 from alexlamsl/merge-2.8.0 2.8.0 staging 23 February 2017, 23:33:57 UTC
4e49302 enable `collapse_vars` & `reduce_vars` by default - fix corner cases in `const` optimisation - deprecate `/*@const*/` fixes #1497 closes #1498 23 February 2017, 17:46:57 UTC
1e51586 Support marking a call as pure A function call or IIFE with an immediately preceding comment containing `@__PURE__` or `#__PURE__` is deemed to be a side-effect-free pure function call and can potentially be dropped. Depends on `side_effects` option. `[#@]__PURE__` hint will be removed from comment when pure call is dropped. fixes #1261 closes #1448 21 February 2017, 06:24:18 UTC
d48a308 Fix: AST_Accessor missing start / end tokens fixes #1492 closes #1493 21 February 2017, 05:32:16 UTC
26fbeec fix `pure_funcs` & improve `side_effects` - only drops side-effect-free arguments - drop side-effect-free parts with discarded value from `AST_Seq` & `AST_SimpleStatement` closes #1494 21 February 2017, 05:31:59 UTC
8898b8a clean up `max_line_len` - never exceed specified limit - otherwise warning is shown - enabled only for final output closes #1496 21 February 2017, 05:29:58 UTC
ec64acd introduce `unsafe_proto` - `Array.prototype.slice` => `[].slice` closes #1491 21 February 2017, 05:29:58 UTC
ac0b61e remove extraneous spaces between ++/+/--/- fixes #1377 closes #1488 21 February 2017, 05:29:58 UTC
c06a50f Add .gitattributes to checkout lf eol style closes #1487 21 February 2017, 05:29:58 UTC
09f9ae2 improve `--beautify bracketize` reduce whitespaces from if-else statements fixes #1482 closes #1483 21 February 2017, 05:29:58 UTC
7e6331b add benchmark & JetStream tests - `test/benchmark.js` measures performance - `test/jetstream.js` verifies correctness - configurable mangle/compress/output options closes #1479 21 February 2017, 05:29:58 UTC
e275148 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 21 February 2017, 05:29:58 UTC
974247c evaluate AST_SymbolRef as parameter fix invalid boolean conversion now exposed in `make_node_from_constant()` closes #1477 21 February 2017, 05:29:58 UTC
a0f4fd3 improve reduce_vars and fix a bug - update modified flag between compress() passes - support IIFE arguments - fix corner case with multiple definitions closes #1473 21 February 2017, 05:29:58 UTC
b8b133d improve keep_fargs & keep_fnames - utilise in_use_ids instead of unreferenced() - drop_unused now up-to-date for subsequent passes closes #1476 21 February 2017, 05:29:58 UTC
c525a2b fix duplicated test names previously test cases with the same name would be skipped except for the last one `test/run-test.js` will now report duplicated names as errors closes #1461 21 February 2017, 05:29:58 UTC
6ffbecb smarter const replacement taking name length into account closes #1459 21 February 2017, 05:29:58 UTC
f0ff618 clean up `negate_iife` - remove extra tree scanning phase for `negate_iife` - `negate_iife` now only deals with the narrowest form, i.e. IIFE sitting directly under `AST_SimpleStatement` - `booleans`, `conditionals` etc. will now take care the rest via more accurate accounting - `a(); void b();` => `a(); b();` fixes #1288 closes #1451 21 February 2017, 05:29:58 UTC
6b3c49e improve string concatenation shuffle associative operations to minimise parentheses and aid other uglification efforts closes #1454 21 February 2017, 05:29:57 UTC
f584ca8 `-c sequences=N` suboptimal at N expression cutoff N = 2: a; b; c; d; was: a, b; c; d; now: a, b; c, d; fixes #1455 closes #1457 21 February 2017, 05:29:57 UTC
ae4db00 tweak do-while loops - `do{...}while(false)` => `{...}` - clean up `AST_While` logic closes #1452 21 February 2017, 05:29:57 UTC
100307a fixes & improvements to [].join() fixes - [a].join() => "" + a - ["a", , "b"].join() => "a,,b" - ["a", null, "b"].join() => "a,,b" - ["a", undefined, "b"].join() => "a,,b" improvements - ["a", "b"].join(null) => "anullb" - ["a", "b"].join(undefined) => "a,b" - [a + "b", c].join("") => a + "b" + c closes #1453 21 February 2017, 05:29:57 UTC
148047f 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 21 February 2017, 05:29:57 UTC
d11dca3 fix stray else in compress with conditionals=false closes #1449 21 February 2017, 05:29:57 UTC
e5badb9 enable typeof "undefined" for general use move out of unsafe, guard corner case with screw_id8 instead closes #1446 18 February 2017, 11:01:42 UTC
fa668a2 fix corner case in keep_fnames happens when inner function: - just below top level - not referenced - `unused` is disabled closes #1445 18 February 2017, 11:00:54 UTC
686a496 remove unused AST_Scope.nesting & AST_SymbolRef.frame they are computed but never used closes #1444 18 February 2017, 10:59:40 UTC
11676f9 fix crash in unsafe replacement of undefined remove extraneous call to AST_SymbolRef.reference() closes #1443 18 February 2017, 10:58:23 UTC
dd31d12 Improve optimizing `function() { if(c){return foo} bar();}` closes #1437 18 February 2017, 10:56:18 UTC
eb55d8a Merge pull request #1481 from anatdagan/propsmangle_only_identifiers verify that property names after mangle are legal 12 February 2017, 08:59:43 UTC
81f1df1 in mangle_names there is a check that the variable name is legal and that it is not a reserved word. This should apply to propsmangle as well. 10 February 2017, 12:13:47 UTC
4bd3160 Merge branch 'master' into harmony 26 January 2017, 12:02:22 UTC
7f8d72d update test (#1441) improved reduce_vars & binary operands produce more optimal results 26 January 2017, 11:59:32 UTC
1eaa211 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() 26 January 2017, 11:18:28 UTC
0610c02 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` 26 January 2017, 11:16:50 UTC
0d7d491 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 26 January 2017, 11:14:18 UTC
4728bc7 Allow parsing regexp after arrow token (#1439) 26 January 2017, 11:06:46 UTC
4828484 add missing LHS cases which global_defs should avoid 19 January 2017, 20:06:28 UTC
52ce9a3 Fix compression with unused containing destructuring 19 January 2017, 20:04:28 UTC
abbeb26 [ES6] output parens for yield when parented by AST_Dot or AST_Sub (#1419) 19 January 2017, 16:15:59 UTC
ec2e5fa Have minify() and tests use figure_out_scope() as uglifyjs CLI does Clarify docs, help and tests for --support-ie8 and screw_ie8=false 19 January 2017, 16:14:33 UTC
da17766 Add preventive test involving non-ascii function identifiers 19 January 2017, 16:13:33 UTC
b11c515 Fix regression with non-ascii function identifiers Regression since 110a1ac885ba224cbc677e42695e252068edd267 19 January 2017, 15:47:37 UTC
0913db8 Add note about name mangling when using --mangle-props=unquoted (#1314) 19 January 2017, 15:47:10 UTC
962b1f3 Merge branch 'master' into harmony 30 November 2016, 17:59:32 UTC
5c7705f remove npm-shrinkwrap.json to work around npm@4.0.2 bug (#1384) 30 November 2016, 17:09:52 UTC
3ee46e9 Merge branch 'master' into harmony 29 November 2016, 21:32:49 UTC
f637248 v2.7.5 29 November 2016, 21:29:59 UTC
ee26e7f Merge branch 'master' into harmony 29 November 2016, 19:50:27 UTC
937f534 Fix flag name in readme 29 November 2016, 19:44:22 UTC
98f3306 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. 29 November 2016, 19:42:56 UTC
1b2c02c Fix nlb property for template strings tokens starting with nlb Also add .gitattributes to checkout lf eol style 29 November 2016, 19:36:00 UTC
0aa526e Do not allow arrow functions in the middle of an expression 29 November 2016, 19:32:05 UTC
a7b3b0d docs: add doc for option.outFileName 29 November 2016, 19:29:12 UTC
0a35acb feat: add option.outFileName for JS API, if absense, sourceMap.file field will deduced 29 November 2016, 19:29:12 UTC
2a9989d 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 29 November 2016, 19:25:39 UTC
79b98a9 Do not overwrite options.comments + cleanup 29 November 2016, 19:24:08 UTC
c2112d5 Fix case where a lonely var is used as computed property 29 November 2016, 19:19:01 UTC
057de57 Pass mangle options to figure_out_scope before mangling in tests 27 October 2016, 20:55:49 UTC
5f6825f Introduce is_block_scope to AST_Node to determine block scope. Will return false if AST_Node is instance of AST_Scope for now. 24 October 2016, 19:28:32 UTC
7e80a97 Remove AST_ObjectComputedKeyVal 23 October 2016, 20:12:30 UTC
b7bb706 Merge branch 'master' into harmony 23 October 2016, 20:11:27 UTC
back to top