Skip to content

unminify: v0.0.2

Choose a tag to compare

@github-actions github-actions released this 19 Nov 06:25

0.0.2 (2023-11-19)

Features

  • un-async-await for restoring __generator helper (eeb18da)
  • un-bracket-notation support float number (5b2f67a)
  • un-es-helper support __esModule` flag from ES3 (e9414d9)
  • un-esm import (ba5985f)
  • add un-block-statement (dd38267)
  • add un-builtin-prototype (3614fe2)
  • add un-enum rules for ts enum (d661d25)
  • add un-iife (fba8056)
  • add un-nullish-coalescing (0a7c5ce)
  • add un-optional-chaining (6f3e387)
  • add un-return (8acbe02)
  • add un-type-constructor (1eb89d7)
  • add un-while (fc95e03)
  • add comments to number literal (b65a4ee)
  • add rule un-bracket-notation (ddd5dd8)
  • add rule un-infinity (c6e68a7)
  • babel runtime scan (a2587de)
  • babel-helpers: add arrayLikeToArray and arrayWithoutHoles (eddd01b)
  • babel-helpers: add objectSpread (6000c0f)
  • babel-helpers: support extends and improve objectDestructuringEmpty (c1957b6)
  • babel-helpers: support slicedToArray (194c808)
  • babel-runtime: support interopRequireDefault (55b64fa)
  • babel-runtime: support interopRequireWildcard (bc0006c)
  • build package (2c281bc)
  • createForOfIteratorHelper: support for more cases (85aff28)
  • drop 5to6-codemod, use un-esm instead (327dc2e)
  • esm: support namespace import and dynamic import (aa26d8e)
  • expand coverage for un-while-loop (66f19d3)
  • extract @unminify/ast-utils (9c5fe11)
  • flip-operator: support void 0, MemberExpression and CallExpression (36d84bf)
  • iife: detect various iife (0356085)
  • implement return switch (13ec5a6)
  • implement template literal upgration (e507180)
  • improve cjs to esm transformation (4a1ec75)
  • improve comment retention (266871a)
  • improve coverage of un-sequence-expression (99c66ed)
  • improve flip operator (330461a)
  • lebab: enable lebab's class rule (e9e160f)
  • merge swtich transformation into un-if-statement` (0e04d01)
  • parameter: support arrow function and class method (b7835e9)
  • parameter: support parameter with logic minifier (7fd3fb5)
  • playground (74075f4)
  • pre scan module meta (70fde64)
  • remove temp varaible (b20b705)
  • separate variable declarators in for statement (d48d382)
  • seq: improve seq expr output for assignment and support arrow function body split (a5ac21e)
  • seq: split assignment inside assignment (3bac009)
  • smart-inline: implement destructuring (42eea37)
  • smart-inline: support inlining temp variable (a5b978d)
  • smart-rename: add rule smart-rename (3c5d8be)
  • smart-rename: support function param descturing (90ff587)
  • smart-rename: support renaming based on react API (f35d07d)
  • support minified enum (f7b882e)
  • support restoring __await to async await (7550cd7)
  • toConsumableArray: add babel toConsumableArray helper (47e6186)
  • transform numeric literal (aff4033)
  • typeof: support typeof x > "u" (8bcbe6a)
  • un-indirect-call: implement indrect call replacement (2594302)
  • un-jsx: support jsx transformation (2e7a0fa)
  • un-jsx: support rename component based on displayName (8bda66e)
  • un-parameter: add support for default and non-default parameter, rest not yet (17ac4d7)
  • un-parameter: correctly check parameter usage (fdaa584)
  • un-variable-merging: split export varaible declaration (e7035eb)
  • unminify: implement cli (16935d5), closes #37

Bug Fixes

  • jsxs should be listed as pragma for react runtime (aa292e9)
  • un-variable-merging filter (22e9c13)
  • un-variable-merging should respect parent scope binding (d3df7b5)
  • add un-sequence-expression after un-conditionals (9921c5c)
  • add createForOfIteratorHelper to the list (25a7d4c)
  • adjust rule order to improve curly braces and seq spliting (48f9312)
  • adot transformToMultiStatementContext for better replacement (40702d5)
  • auto rename component to be captialized (51c3c65)
  • babel-helpers: fix the replacement of array (c540d39)
  • babel-helpers: improve arrayLikeToArray matching (bf9cfc7)
  • babel-helpers: support finding in-file helpers (4cef84a)
  • babel-runtime: slicedToArray no longer require single varaible declarator (a01faab)
  • babel-runtime: support createForOfIteratorHelper (f2c08a3)
  • better coverage for un-if-statement (7cbdacf)
  • better edge case handling for un-if-statement (bd503c3)
  • better edge handling for transformToMultiStatementContext (954bcc6)
  • better es6 class transformation (0908c18)
  • better handling of delete operator (e10212a)
  • better scope handling for un-export-rename (87877e3)
  • children in props should be move out (b0cf169)
  • cli: make all call async and move default output folder to /out (28dd8de)
  • curly-braces: avoid wrapping var declaration with BlockStatement (8d452a6)
  • deps: update babel monorepo (f732bdd)
  • deps: update babel monorepo to ^7.22.11 (90488c2)
  • deps: update babel monorepo to ^7.22.19 (16ca888)
  • deps: update babel monorepo to ^7.22.20 (fc0311e)
  • deps: update babel monorepo to ^7.23.0 (71682e0)
  • deps: update dependency @babel/preset-env to ^7.22.14 (b524a7e)
  • deps: update dependency lebab to ^3.2.2 (26a666f)
  • deps: update dependency lebab to ^3.2.3 (0962ee0)
  • disable commonjs and multi-var from lebab as they are problematic (3a45b4e)
  • fix reference check and identifier renaming (244cb3e)
  • fix type from ast-types (50527d7)
  • furthur improve scope handling and hoist behavior (c321f93)
  • handle empty variable declaration in un-variable-merging (7fb8193)
  • handle label-break-continue (1f015e0)
  • improve coverage of optional chaining (782a3a1)
  • improve edge cases for un-async-await (5568f2c)
  • improve name generation and usage of scope (6cf0140)
  • improve output condition by applying de morgan's law (7b9153c)
  • indirect-call: should not limit require's source to be string (c9f9eed)
  • indirect-call: should reuse existing estructuring and make sure the position is correct (279f843)
  • lebab: do curly braces first to prevent lexical issue (1d84d28)
  • lebab: move lebab's parameter related rules to run after un-parameters (3f375f7)
  • module-mapping: fix the filename mapping (e058418)
  • moduleMapping should have a default value (7da86cf)
  • parameter: should check for "!" operator (713b723)
  • parameter: use proper ast matching instead of regex (7160720)
  • reduce redundent parenthesis (5e790a1)
  • refine the order of unminify rules (128b019)
  • rename un-flip-operator to un-flip-comparisons (ffa2ed6)
  • rename un-if-statement to un-conditionals (31e8174)
  • run un-variable-merging earlier (ad20e05)
  • sequence-expression: better comments retention (c1f9abb)
  • should not convert to if-else in some case (9336280)
  • slicedToArray: remove redundent clean function (f0ea59c)
  • smart-inline: better comments retention (05dc567)
  • smart-inline: fix stale scoping information (ab5d695)
  • smart-inline: respect correct declaration kind (ca7e59c)
  • smart-inline: should run on body with 2 statements (bd4ac04)
  • stay on prettier v2 for sync format (a6b734e)
  • transformation should break on error (9b26f5a)
  • type-construct: should not transform 0 length array (376fd18)
  • un void should cover all literal (13e2cf0)
  • un-esm: should respect naming conflic when re-export identifier (2990823)
  • un-export-rename: should respect naming conflic (819a0df)
  • un-indirect-call: improve import insertion (7342846)
  • un-indirect-call: improve importing and requiring variable (45e8972)
  • un-indirect-call: remove unused imports (fa3c847)
  • un-jsx: fix capitalization detection (13357cc)
  • un-jsx: improve component rename (5b6b094)
  • un-jsx: refactor and improve coverage (00d8d09)
  • un-undefined: should not transform void 0 to undefined when undefined is declared (149dd08)
  • variable-merging: should not limit the type of first declarator (65f7a53)
  • while-loop: better comments retention (10ee0cd)
  • wip decision tree (44929a5)

Performance Improvements