unminify: v0.0.2
0.0.2 (2023-11-19)
Features
un-async-awaitfor restoring __generator helper (eeb18da)un-bracket-notationsupport float number (5b2f67a)un-es-helpersupport __esModule` flag from ES3 (e9414d9)un-esmimport (ba5985f)- add
un-block-statement(dd38267) - add
un-builtin-prototype(3614fe2) - add
un-enumrules 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
arrayLikeToArrayandarrayWithoutHoles(eddd01b) - babel-helpers: add
objectSpread(6000c0f) - babel-helpers: support
extendsand improveobjectDestructuringEmpty(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, useun-esminstead (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
__awaitto async await (7550cd7) - toConsumableArray: add babel
toConsumableArrayhelper (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
jsxsshould be listed as pragma for react runtime (aa292e9)un-variable-mergingfilter (22e9c13)un-variable-mergingshould respect parent scope binding (d3df7b5)- add
un-sequence-expressionafterun-conditionals(9921c5c) - add createForOfIteratorHelper to the list (25a7d4c)
- adjust rule order to improve curly braces and seq spliting (48f9312)
- adot
transformToMultiStatementContextfor better replacement (40702d5) - auto rename component to be captialized (51c3c65)
- babel-helpers: fix the replacement of array (c540d39)
- babel-helpers: improve
arrayLikeToArraymatching (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
deleteoperator (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
commonjsandmulti-varfromlebabas 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-operatortoun-flip-comparisons(ffa2ed6) - rename
un-if-statementtoun-conditionals(31e8174) - run
un-variable-mergingearlier (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)