v1.2.0
Wakaru v1.2.0
This release focuses on better recovery for modern JavaScript patterns, more reliable bundle output, and stronger correctness checks around semantic edge cases.
Highlights
- Added recovery for tagged template literals, modern enum IIFEs, destructured parameter aliases, switch statements from ternary chains, and more
for...ofloop shapes. - Improved optional chaining and nullish coalescing restoration, including loose Babel-style patterns and mixed member chains.
- Expanded Babel/TypeScript/SWC helper recovery for object rest/spread, array spread/rest, async/regenerator output, and imported Babel helpers.
- Improved webpack output cleanup, including namespace getters,
require.ninterop, AMD/module decorators, global runtime access, and webpack5 export getter semantics. - Added a WASM-powered web playground and project website.
- Added debug/profiling spans for per-rule and webpack5 detection performance analysis.
- Added Test262 round-trip correctness tooling and baseline summaries to track semantic preservation over time.
Correctness and Safety
This release tightens several semantic edge cases:
- Preserves top-level vars referenced through indirect
eval. - Avoids unsafe TDZ rewrites in parameters, constructors,
for...of, class handling, and var modernization. - Preserves strict directives and class semantics in
minimalmode. - Improves binding-context checks so rule matchers do not accidentally rewrite shadowed identifiers.
No Breaking Changes
No user-facing breaking changes are expected. Existing CLI usage should continue to work.