Commit Graph

  • 78d1bb92d4 fix a corner case in #1530 (#1552) Alex Lam S.L 2017-03-05 12:12:59 +08:00
  • ea9ab9fb0e resolve issue with outdated version of async (#1549) Alex Lam S.L 2017-03-05 01:54:20 +08:00
  • ce54c9ccee disallow collapse_vars constant replacement in for-in statements (#1543) kzc 2017-03-03 13:39:54 -05:00
  • 07accd2fbb process code with implicit return statement (#1522) Alex Lam S.L 2017-03-03 18:13:07 +08:00
  • 18059cc94f compress numerical expressions (#1513) Alex Lam S.L 2017-03-03 18:04:32 +08:00
  • c8e61448cb Merge pull request #1541 from alexlamsl/harmony-v2.8.5 harmony-v2.8.5 Alex Lam S.L 2017-03-03 07:30:28 +08:00
  • f704e9b65c fix destructing crash in reduce_vars alexlamsl 2017-03-03 07:23:46 +08:00
  • 0b77d861a8 Merge branch 'master' into harmony-v2.8.5 alexlamsl 2017-03-03 07:17:52 +08:00
  • b5e0e8c203 facilitate fix for #1531 (#1542) Alex Lam S.L 2017-03-03 07:12:24 +08:00
  • e5cb9275df v2.8.5 v2.8.5 Alex Lam S.L 2017-03-03 05:14:21 +08:00
  • 17b81350d4 fix chained assignment with unused (#1540) Alex Lam S.L 2017-03-03 04:45:20 +08:00
  • 4d63d4f5b3 collapse_vars should not replace constant in for-in init section (#1538) kzc 2017-03-02 14:51:15 -05:00
  • 70d72ad806 properly cover all cases of for-in loop variables (#1536) Alex Lam S.L 2017-03-03 02:39:57 +08:00
  • fe9227a41b fix reference marking in for-in loops (#1535) Alex Lam S.L 2017-03-03 00:56:06 +08:00
  • b49e142a26 disable do{...}while(false) optimisation (#1534) Alex Lam S.L 2017-03-03 00:54:41 +08:00
  • ee3b39b909 optimize trivial IIFEs returning constants (#1530) kzc 2017-03-02 02:11:40 -05:00
  • 9699ffb1af trim unused invocation parameters (#1526) Alex Lam S.L 2017-03-02 11:33:59 +08:00
  • fdc9b9413b minor improvement to string optimisation (#1514) Alex Lam S.L 2017-03-02 11:31:39 +08:00
  • e27dab7e7c Merge pull request #1528 from alexlamsl/harmony-v2.8.4 harmony-v2.8.4 Alex Lam S.L 2017-03-02 11:22:06 +08:00
  • 80f3ad3ce0 Merge branch 'master' into harmony-v2.8.4 alexlamsl 2017-03-02 11:16:55 +08:00
  • 40ceddb48a v2.8.4 v2.8.4 Alex Lam S.L 2017-03-02 00:24:49 +08:00
  • 7aa69117e1 fix corner cases in reduce_vars (#1524) Alex Lam S.L 2017-03-02 00:20:53 +08:00
  • bff7ad67bb v2.8.3 v2.8.3 Alex Lam S.L 2017-03-01 15:28:46 +08:00
  • c2334baa48 fix crash on missing props to string_template() (#1523) Alex Lam S.L 2017-03-01 15:25:26 +08:00
  • 22f7af205d Merge pull request #1521 from alexlamsl/harmony-v2.8.2 harmony-v2.8.2 Alex Lam S.L 2017-03-01 11:13:32 +08:00
  • 8a7a4749c7 Merge branch 'master' into harmony-v2.8.2 alexlamsl 2017-03-01 11:06:33 +08:00
  • fb2b6c7c6f v2.8.2 v2.8.2 Alex Lam S.L 2017-03-01 04:46:12 +08:00
  • f5cbe19b75 invert reduce_vars tracking flag (#1519) Alex Lam S.L 2017-03-01 04:12:10 +08:00
  • b34fa11a13 fix evaluate on object getter & setter (#1515) Alex Lam S.L 2017-03-01 02:03:47 +08:00
  • 320984c5f5 v2.8.1 v2.8.1 Alex Lam S.L 2017-03-01 00:27:08 +08:00
  • 4365a51237 temporarily disables reduce_vars (#1517) Alex Lam S.L 2017-03-01 00:25:43 +08:00
  • 514fc68f4f Merge pull request #1509 from alexlamsl/harmony-2.8.0 harmony-v2.8.0 Alex Lam S.L 2017-02-28 23:14:25 +08:00
  • 478aaab469 fix parser test not sure if start.pos is correct, but oh well alexlamsl 2017-02-28 14:08:31 +08:00
  • ab217539e9 restore sourceMappingURL in test alexlamsl 2017-02-28 13:23:02 +08:00
  • a942dc07c4 fix parser tests update exception messages alexlamsl 2017-02-28 03:58:01 +08:00
  • a0eaff750d fix parsing of arrow function with bind kzc 2017-02-28 02:47:33 +08:00
  • 57777b6cfa Merge branch 'master' into harmony-2.8.0 alexlamsl 2017-02-28 02:28:58 +08:00
  • 858e6c78a4 warn & drop #__PURE__ iff IIFE is dropped (#1511) Alex Lam S.L 2017-02-28 02:25:44 +08:00
  • 8d205f7f39 fix parser handling of comments kzc 2017-02-27 14:54:47 +08:00
  • bc9bfd15a2 fix test alexlamsl 2017-02-27 11:39:48 +08:00
  • 9fc1c4b3b5 update test top-level block-variables not within blocks are global variables alexlamsl 2017-02-27 06:23:12 +08:00
  • c59bf5e8d8 fix SymbolDef.global properly compute for top-level block-variables alexlamsl 2017-02-27 06:20:08 +08:00
  • d2d3a6e065 fix double-descend() for AST_Export in AST_Toplevel.figure_out_scope() alexlamsl 2017-02-27 06:06:09 +08:00
  • 7755733716 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 alexlamsl 2017-02-27 05:30:18 +08:00
  • b3a987b0df fix up drop_unused() alexlamsl 2017-02-27 05:11:01 +08:00
  • 88a338f29e Merge branch 'master' into harmony-2.8.0 alexlamsl 2017-02-27 04:37:48 +08:00
  • 0b0296eb2a v2.8.0 v2.8.0 Alex Lam S.L 2017-02-27 03:47:54 +08:00
  • 872270b149 improve error messages (#1506) Alex Lam S.L 2017-02-27 03:40:54 +08:00
  • b1c593a041 add harmony branch details in README (#1507) kzc 2017-02-26 12:55:24 -05:00
  • 13be50a4a9 faster tree transversal (#1462) Alex Lam S.L 2017-02-26 05:58:26 +08:00
  • 16cd5d57a5 consolidate evaluate & reduce_vars (#1505) Alex Lam S.L 2017-02-26 00:40:33 +08:00
  • 834f9f3924 update docs for pure_funcs & drop_console (#1503) Alex Lam S.L 2017-02-25 04:13:10 +08:00
  • cf0951f726 allow --in-source-map inline (#1490) Alex Lam S.L 2017-02-25 04:11:21 +08:00
  • 852f78491a Avoid using exports when undefined (#1471) Ondřej Španěl 2017-02-24 01:51:24 +01:00
  • 07734b000a Destructuring consistency fixes (#1417) Anthony Van de Gejuchte 2017-02-24 01:49:19 +01:00
  • 85c1cba760 Remove duplicated code (#1456) Anthony Van de Gejuchte 2017-02-24 01:48:13 +01:00
  • 229e42cdee Merge pull request #1485 from alexlamsl/merge-2.8.0 Alex Lam S.L 2017-02-24 07:33:57 +08:00
  • 4e49302916 enable collapse_vars & reduce_vars by default - fix corner cases in const optimisation - deprecate /*@const*/ alexlamsl 2017-02-24 01:46:57 +08:00
  • 1e51586996 Support marking a call as pure kzc 2017-02-21 14:24:18 +08:00
  • d48a3080ac Fix: AST_Accessor missing start / end tokens Ondřej Španěl 2017-02-20 17:14:53 +08:00
  • 26fbeece1c 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 alexlamsl 2017-02-20 01:46:59 +08:00
  • 8898b8a0fe clean up max_line_len - never exceed specified limit - otherwise warning is shown - enabled only for final output alexlamsl 2017-02-18 22:44:53 +08:00
  • ec64acd2c8 introduce unsafe_proto - Array.prototype.slice => [].slice alexlamsl 2017-02-18 19:34:54 +08:00
  • ac0b61ed6e remove extraneous spaces between ++/+/--/- alexlamsl 2017-02-18 19:33:53 +08:00
  • c06a50f338 Add .gitattributes to checkout lf eol style Anthony Van de Gejuchte 2017-02-18 19:33:05 +08:00
  • 09f9ae2de9 improve --beautify bracketize reduce whitespaces from if-else statements alexlamsl 2017-02-18 19:30:33 +08:00
  • 7e6331bb39 add benchmark & JetStream tests - test/benchmark.js measures performance - test/jetstream.js verifies correctness - configurable mangle/compress/output options alexlamsl 2017-02-18 19:28:25 +08:00
  • 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 alexlamsl 2017-02-18 19:27:31 +08:00
  • 974247c8c0 evaluate AST_SymbolRef as parameter fix invalid boolean conversion now exposed in make_node_from_constant() alexlamsl 2017-02-18 19:22:24 +08:00
  • a0f4fd390a improve reduce_vars and fix a bug - update modified flag between compress() passes - support IIFE arguments - fix corner case with multiple definitions alexlamsl 2017-02-18 19:19:55 +08:00
  • b8b133d91a improve keep_fargs & keep_fnames - utilise in_use_ids instead of unreferenced() - drop_unused now up-to-date for subsequent passes alexlamsl 2017-02-18 19:19:12 +08:00
  • c525a2b190 fix duplicated test names alexlamsl 2017-02-18 19:15:09 +08:00
  • 6ffbecb72b smarter const replacement taking name length into account kzc 2017-02-18 19:12:57 +08:00
  • f0ff6189be 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(); alexlamsl 2017-02-18 19:11:57 +08:00
  • 6b3c49e458 improve string concatenation shuffle associative operations to minimise parentheses and aid other uglification efforts alexlamsl 2017-02-18 19:07:52 +08:00
  • f584ca8d07 -c sequences=N suboptimal at N expression cutoff alexlamsl 2017-02-18 19:07:03 +08:00
  • ae4db00991 tweak do-while loops - do{...}while(false) => {...} - clean up AST_While logic alexlamsl 2017-02-18 19:05:54 +08:00
  • 100307ab31 fixes & improvements to [].join() alexlamsl 2017-02-18 19:05:11 +08:00
  • 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 alexlamsl 2017-02-18 19:03:53 +08:00
  • d11dca3cf9 fix stray else in compress with conditionals=false kzc 2017-02-18 19:02:59 +08:00
  • e5badb9541 enable typeof "undefined" for general use move out of unsafe, guard corner case with screw_id8 instead alexlamsl 2017-02-18 19:01:42 +08:00
  • fa668a28b4 fix corner case in keep_fnames happens when inner function: - just below top level - not referenced - unused is disabled alexlamsl 2017-02-18 19:00:54 +08:00
  • 686a496b1c remove unused AST_Scope.nesting & AST_SymbolRef.frame they are computed but never used alexlamsl 2017-02-18 18:59:40 +08:00
  • 11676f9d72 fix crash in unsafe replacement of undefined remove extraneous call to AST_SymbolRef.reference() alexlamsl 2017-02-18 18:58:23 +08:00
  • dd31d12a91 Improve optimizing function() { if(c){return foo} bar();} Anthony Van de Gejuchte 2017-02-18 18:56:18 +08:00
  • eb55d8a9bb Merge pull request #1481 from anatdagan/propsmangle_only_identifiers Mihai Bazon 2017-02-12 10:59:43 +02:00
  • 81f1df14d7 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. Anat Dagan 2017-02-10 14:13:47 +02:00
  • 4bd31607f6 Merge branch 'master' into harmony Richard van Velzen 2017-01-26 13:02:22 +01:00
  • 7f8d72d9d3 update test (#1441) Alex Lam S.L 2017-01-26 19:59:32 +08:00
  • 1eaa211e09 fix mangling collision with keep_fnames (#1431) Alex Lam S.L 2017-01-26 19:18:28 +08:00
  • 0610c020b1 optimise binary operands with evaluate() (#1427) Alex Lam S.L 2017-01-26 19:16:50 +08:00
  • 0d7d4918eb augment evaluate to extract within objects (#1425) Alex Lam S.L 2017-01-26 19:14:18 +08:00
  • 4728bc73ad Allow parsing regexp after arrow token (#1439) Anthony Van de Gejuchte 2017-01-26 12:06:46 +01:00
  • 48284844a4 add missing LHS cases which global_defs should avoid alexlamsl 2017-01-17 17:33:40 +08:00
  • 52ce9a333c Fix compression with unused containing destructuring Anthony Van de Gejuchte 2016-10-31 00:10:52 +01:00
  • abbeb266b5 [ES6] output parens for yield when parented by AST_Dot or AST_Sub (#1419) kzc 2017-01-10 14:19:32 -05:00
  • ec2e5fa3a2 Have minify() and tests use figure_out_scope() as uglifyjs CLI does kzc 2016-12-21 10:52:30 -05:00
  • da17766ddd Add preventive test involving non-ascii function identifiers Anthony Van de Gejuchte 2016-11-30 21:54:23 +01:00
  • b11c5151bc Fix regression with non-ascii function identifiers Anthony Van de Gejuchte 2016-11-30 21:50:31 +01:00
  • 0913db8c84 Add note about name mangling when using --mangle-props=unquoted (#1314) Wiktor Kwapisiewicz 2016-11-30 14:54:15 +01:00