## [0.28.0] - 2024-09-11 -afc4548ast: [**BREAKING**] Educe byte size of `TaggedTemplateExpression::quasi` by `Boxing` it (#5679) (Boshen) -7415e85ast: [**BREAKING**] Reduce byte size of `TSImportType::attributes` by `Box`ing it (#5678) (Boshen) -ee4fb42ast: [**BREAKING**] Reduce size of `WithClause` by `Box`ing it (#5677) (Boshen) -1fa3e56semantic: [**BREAKING**] Rename `SymbolTable::iter` to `symbol_ids` (#5621) (overlookmotel) -96a1552semantic: [**BREAKING**] Remove `SymbolTable::iter_rev` (#5620) (overlookmotel) -4a8aec1span: [**BREAKING**] Change `SourceType::js` to `SourceType::cjs` and `SourceType::mjs` (#5606) (Boshen) -603817boxc: [**BREAKING**] Add `SourceType::Unambiguous`; parse `.js` as unambiguous (#5557) (Boshen) -b060525semantic: [**BREAKING**] Remove `source_type` argument from `SemanticBuilder::new` (#5553) (Boshen) ### Features -2da5ad1ast: Add `JSXElementName::get_identifier` method (#5556) (overlookmotel) -2016baecoverage: Add regular expression idempotency test (#5676) (Boshen) -68c3cf5minifier: Fold `void 1` -> `void 0` (#5670) (Boshen) -c6bbf94minifier: Constant fold unary expression (#5669) (Boshen) -86256eaminifier: Constant fold `typeof` (#5666) (Boshen) -e698418napi/transform: Align output `SourceMap` with Rollup's `ExistingRawSourceMap` (#5657) (Boshen) -aba9194napi/transform: Export react refresh options (#5533) (underfin) -642295csemantic: Add `SymbolTable::delete_resolved_reference` method (#5558) (overlookmotel) -b3cbd56span: `format_compact_str!` macro (#5610) (overlookmotel) -95a6d99transformer: Enable the react refresh plugin in enable_all (#5630) (Dunqing) -7b543dftransformer/react: Handle `refresh_sig` and `refresh_reg` options correctly (#5638) (Dunqing) -17226ddtraverse: Add methods for deleting references (#5559) (overlookmotel) ### Bug Fixes -d62defbcodegen: Do not print trailing commas for `ArrayExpression` (#5551) (Boshen) -1bc08e2coverage: Parse babel unambiguously (#5579) (Boshen) -28b934ccoverage: Apply `always_strict` to test262 and typescript per the specifcation (#5555) (Boshen) -b9bf544isolated-declarations: False positive for setter method in `interface` (#5681) (Dunqing) -6e8409aisolated-declarations: Bindings referenced in `TSModuleDeclaration` are removed incorrectly (#5680) (Dunqing) -b8f8dd6minifier/replace_global_defines: Do not replace shadowed identifiers (#5691) (Boshen) -304ce25regular_expression: Keep LegacyOctalEscape raw digits for `to_string` (#5692) (leaysgur) -0511d55regular_expression: Report more MayContainStrings error in (nested)class (#5661) (leaysgur) -41582earegular_expression: Improve RegExp `to_string()` results (#5635) (leaysgur) -28aad28regular_expression: Handle `-` in `/[\-]/u` as escaped character (#5631) (leaysgur) -f9e3a41semantic: Bind `SymbolId` to function name in `if (foo) function id() {}` (#5673) (Boshen) -f49e6ebspan: Treat `.js` as `module` file (reverts the previous breaking change) (#5612) (Boshen) -919d17ftransform_conformance: Only print semantic mismatch errors when output is correct (#5589) (Boshen) -505d064transformer: JSX transform delete references for `JSXClosingElement`s (#5560) (overlookmotel) -9b7ecc7transformer: RegExp transform only set span on final expression (#5508) (overlookmotel) -d1ece19transformer: RegExp transform handle `Term::Quantifier` (#5501) (overlookmotel) -a1afd48transformer/react: Incorrect scope_id for var hoisted in fast refresh plugin (#5695) (Dunqing) -f2f5e5atransformer/react: Missing scope_id for function in fast refresh plugin (#5693) (Dunqing) -a891c31transformer/react: Refresh plugin has incorrect reference flags (#5656) (Dunqing) -3e8b96ftransformer/react: The refresh plugin cannot handle member expressions with React hooks (#5655) (Dunqing) -0739b5ftransformer/react: Don't transform declaration of function overloads (#5642) (Dunqing) -3bf6aaftransformer/react: Support `emit_full_signatures` option in refresh plugin (#5629) (Dunqing) -36d864atransformer/react: Don't transform if the variable does not have a value reference (#5528) (Dunqing) ### Performance -e8013d2traverse: Faster string operations generating UIDs (#5626) (overlookmotel) -4996874traverse: `generate_uid` cache available binding names (#5611) (overlookmotel) ### Documentation -fefbbc1sourcemap: Add trailing newline to README (#5539) (overlookmotel) -9282647transformer: Comment on RegExp transform for potential improvement (#5514) (overlookmotel) -1c051aetraverse: Correct code comment 2 (#5607) (overlookmotel) -2e24a15traverse: Correct code comment (#5604) (overlookmotel) ### Refactor -14ee086ast: Inline `AstKind::as_*` methods (#5547) (overlookmotel) -2de6ea0index, traverse: Remove unnecessary type annotations (#5650) (overlookmotel) -0ac420dlinter: Use meaningful names for diagnostic parameters (#5564) (Don Isaac) -2da42efregular_expression: Improve AST docs with refactoring may_contain_strings (#5665) (leaysgur) -dec1395regular_expression: Align diagnostics (#5543) (leaysgur) -731ffaasemantic: Compare nodes by pointer equality (#5686) (overlookmotel) -067f9b5semantic: Introduce `IsGlobalReference` trait (#5672) (Boshen) -d22a9b7semantic: `SymbolTable::is_empty` use `is_empty` (#5622) (overlookmotel) -3d190a5span: Move `CompactStr` into separate file (#5609) (overlookmotel) -5532628span: Put types and impl in the same mod file (Boshen) -ce71982transformer: Shorten code in JSX transform (#5554) (overlookmotel) -758a10ctransformer: RegExp transform reuse var (#5527) (overlookmotel) -fad0a05transformer: RegExp transform unbox early (#5504) (overlookmotel) -19cdcc5traverse: Revert changes to `walk.rs` (#5652) (overlookmotel)-26d9235Enable clippy::ref_as_ptr (#5577) (夕舞八弦) ### Styling -e52d006traverse: Fix formatting of traverse codegen (#5651) (overlookmotel) -97e99bdtraverse: Remove excess line break (#5603) (overlookmotel)-694f032Add trailing line breaks to `package.json` files (#5542) (overlookmotel) ### Testing -2e367c9traverse: Enable tests for `oxc_traverse` crate (#5625) (overlookmotel)-dc92489Add trailing line breaks to conformance fixtures (#5541) (overlookmotel) --------- Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
11 KiB
Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog, and this project does not adhere to Semantic Versioning until v1.0.0.
[0.28.0] - 2024-09-11
-
ee4fb42ast: [BREAKING] Reduce size ofWithClausebyBoxing it (#5677) (Boshen) -
4a8aec1span: [BREAKING] ChangeSourceType::jstoSourceType::cjsandSourceType::mjs(#5606) (Boshen) -
b060525semantic: [BREAKING] Removesource_typeargument fromSemanticBuilder::new(#5553) (Boshen)
Features
68c3cf5minifier: Foldvoid 1->void 0(#5670) (Boshen)c6bbf94minifier: Constant fold unary expression (#5669) (Boshen)86256eaminifier: Constant foldtypeof(#5666) (Boshen)
Bug Fixes
b8f8dd6minifier/replace_global_defines: Do not replace shadowed identifiers (#5691) (Boshen)
Performance
Refactor
067f9b5semantic: IntroduceIsGlobalReferencetrait (#5672) (Boshen)
[0.27.0] - 2024-09-06
Features
ba4b68cminifier: Remove parenthesized expression for dce (#5439) (Boshen)
[0.25.0] - 2024-08-23
-
78f135dast: [BREAKING] RemoveReferenceFlagfromIdentifierReference(#5077) (Boshen) -
c4c08a7ast: [BREAKING] RenameIdentifierReference::reference_flagsfield (#5024) (overlookmotel) -
d262a58syntax: [BREAKING] RenameReferenceFlagtoReferenceFlags(#5023) (overlookmotel) -
ce4d469codegen: [BREAKING] Remove const genericMINIFY(#5001) (Boshen)
Features
2b21be3oxc_minifier: Define plugin with postfix wildcard (#4979) (IWANABETHATGUY)
Refactor
0f64d10minifier: Remove duplicated helpermove_out_expression(#5007) (IWANABETHATGUY)b4407c4oxc,mangler:oxccrate add mangler; mangler use options API (Boshen)
[0.24.3] - 2024-08-18
Bug Fixes
46cb1c1minifier: HandleObject.definedPropert(exportsfor @babel/types/lib/index.js (#4933) (Boshen)81fd637minifier: Do not fold0 && (module.exports = {})forcjs-module-lexer(#4878) (Boshen)879a271minifier: Do not joinrequirecalls forcjs-module-lexer(#4875) (Boshen)
[0.24.2] - 2024-08-12
Performance
504ac0bminifier:InjectGlobalVariablesonly add toreplaced_dot_definesonce for each (#4803) (overlookmotel)35f2742minifier: Avoid repeatedAtomcreation inInjectGlobalVariables(#4802) (overlookmotel)
[0.24.1] - 2024-08-10
Features
c519295minifier: AddInjectGlobalVariablesplugin (@rollup/plugin-inject) (#4759) (Boshen)
[0.24.0] - 2024-08-08
Features
229a0e9minifier: Implement dot define for member expressions (#3959) (camc314)
Bug Fixes
94d3c31minifier: Avoid removing function declaration fromKeepVar(#4722) (Boshen)bf43148minifier: Do notremove_syntaxin dead_code_elimination (Boshen)bf48c7fminifier: Fixkeep_varkeeping vars from arrow functions (#4680) (Boshen)9be29afminifier: Temporarily fix shadowedundefinedvariable (#4678) (Boshen)e8b662aminifier: Various fixes to pass minifier conformance (#4667) (Boshen)
Performance
0f5e982minifier: Only visit arrow expression after droppingconsole.log(#4677) (Boshen)
Refactor
fbfd852minifier: AddNodeUtiltrait for accessing symbols on ast nodes (#4734) (Boshen)e0832f8minifier: Useoxc_traversefor AST passes (#4725) (Boshen)17602dbminifier: Move tests and files around (Boshen)3289477minifier: Clean up tests (#4724) (Boshen)e78cba6minifier: Ast passes infrastructure (#4625) (Boshen)
[0.23.1] - 2024-08-06
Features
229a0e9minifier: Implement dot define for member expressions (#3959) (camc314)
Bug Fixes
bf48c7fminifier: Fixkeep_varkeeping vars from arrow functions (#4680) (Boshen)9be29afminifier: Temporarily fix shadowedundefinedvariable (#4678) (Boshen)e8b662aminifier: Various fixes to pass minifier conformance (#4667) (Boshen)
Performance
0f5e982minifier: Only visit arrow expression after droppingconsole.log(#4677) (Boshen)
Refactor
e78cba6minifier: Ast passes infrastructure (#4625) (Boshen)
[0.23.0] - 2024-08-01
Features
a558492codegen: ImplementBinaryExpressionVisitor(#4548) (Boshen)
Bug Fixes
6a94e3fcodegen: Fixes for esbuild test cases (#4503) (Boshen)
[0.22.0] - 2024-07-23
Features
0deb027minfier: Dceif (xxx) else if (false) { REMOVE }(#4407) (Boshen)e33ec18minifier: Compresstypeof foo == "undefined"intotypeof foo > "u"(#4412) (Boshen)
Bug Fixes
267f7c4minifier: SkipObject.defineProperty(exports, ...)forcjs-module-lexer(#4409) (Boshen)
[0.21.0] - 2024-07-18
Features
83c2c62codegen: Add option for choosing quotes; remove slowchoose_quotmethod (#4219) (Boshen)5d17675mangler: Add debug mode (#4314) (Boshen)e3e663bmangler: Initialize crate and integrate into minifier (#4197) (Boshen)c818472minifier: Dce conditional expression&&or||(#4190) (Boshen)
Bug Fixes
e167ef7codegen: Print parenthesis properly (#4245) (Boshen)f144082minifier: RemoveDeadCode should visit nested expression (#4268) (underfin)
Refactor
2c7bb9fast: Pass finalScopeFlagsintovisit_function(#4283) (overlookmotel)
[0.20.0] - 2024-07-11
Features
54cd04aminifier: Implement dce with var hoisting (#4160) (Boshen)44a894aminifier: Implement return statement dce (#4155) (Boshen)
[0.19.0] - 2024-07-09
b936162ast/ast_builder: [BREAKING] Shorter allocator utility method names. (#4122) (rzvxa)
Refactor
[0.18.0] - 2024-07-09
d347aedast: [BREAKING] Generateast_builder.rs. (#3890) (rzvxa)
Features
c6c16a5minifier: Dce all conditional expressions (#4135) (Boshen)
[0.17.1] - 2024-07-06
Bug Fixes
719fb96minifier: Omit dceundefinedwhich can be a shadowed variable (#4073) (Boshen)
[0.17.0] - 2024-07-05
Features
0da9dfbminifier: Add constant folding to remove dead code (#4058) (Boshen)
Bug Fixes
aaac2d8codegen: Preserve parentheses from AST instead calculating from operator precedence (#4055) (Boshen)
Refactor
edb557cminifier: Add a folder struct for constant folding (#4057) (Boshen)
[0.16.2] - 2024-06-30
Performance
1eac3d2semantic: UseAtom<'a>forReferences (#3972) (Don Isaac)
[0.16.0] - 2024-06-26
6796891ast: [BREAKING] Rename all instances ofBigintLiteraltoBigIntLiteral. (#3898) (rzvxa)
Features
dd540c8minifier: Add skeleton for ReplaceGlobalDefines ast pass (#3803) (Boshen)f3c3970minifier: Add skeleton for RemoveDeadCode ast pass (#3802) (Boshen)
Bug Fixes
Refactor
8027b1eminifier: Change prepass to ast_passes::remove_parens (#3801) (Boshen)
[0.15.0] - 2024-06-18
-
5c38a0fcodegen: [BREAKING] New code gen API (#3740) (Boshen) -
534242acodegen: [BREAKING] RemoveCodegenOptions::enable_typescript(#3674) (Boshen)
Features
38a75e5coverage: Improve codegen (#3729) (Boshen)
Bug Fixes
8f64d99minifier: Respectjoin_vars: falseoption (#3724) (mysteryven)
[0.14.0] - 2024-06-12
Refactor
e90e6a2minifier: MakePrepassCopy(#3603) (overlookmotel)
[0.13.4] - 2024-06-07
Bug Fixes
affb2c8codegen: Print indentation before directive (#3512) (Dunqing)
[0.13.2] - 2024-06-03
Features
0cdb45aoxc_codegen: Preserve annotate comment (#3465) (IWANABETHATGUY)
[0.13.1] - 2024-05-22
Features
e2dd8acsyntax: Exportis_reserved_keywordandis_global_objectmethod (#3384) (Boshen)
[0.13.0] - 2024-05-14
Refactor
7e1fe36ast: Squash nested enums (#3115) (overlookmotel)a8af5desyntax: Move number related functions to number module (#3130) (Boshen)
[0.11.0] - 2024-03-30
Refactor
fc38783ast: Add walk_mut functions (#2776) (Ali Rezvani)d9b77d8sourcemap: Change sourcemap name to take a reference (#2779) (underfin)
[0.10.0] - 2024-03-14
Features
4f9dd98span: RemoveFrom<String>andFrom<Cow>API because they create memory leak (#2628) (Boshen)
Refactor
cbc2f5fRemove unused dependencies (#2718) (Boshen)-8001b2fMakeCompactStrimmutable (#2620) (overlookmotel)-0646bf3RenameCompactStringtoCompactStr(#2619) (overlookmotel)
[0.9.0] - 2024-03-05
Refactor
ef932a3codegen: Clean up API around building sourcemaps (#2602) (Boshen)903f17cspan: Move base54 method to mangler (#2523) (Boshen)
[0.8.0] - 2024-02-26
Features
6b3b260Codegen: Improve codegen (#2460) (Andrew McClenaghan)e6d536ccodegen: Configurable typescript codegen (#2443) (Andrew McClenaghan)
Refactor
d08abc6ast: S/NumberLiteral/NumericLiteral to align with estree (Boshen)e6b391aast: S/ArrowExpression/ArrowFunctionExpression to align estree (Boshen)-a2c173dRemovepanic!from examples (#2454) (Boshen)-70a0076Remove global allocator from non-user facing apps (#2401) (Boshen)
[0.7.0] - 2024-02-09
Refactor
1822cfeast: Fix BigInt memory leak by removing it (#2293) (Boshen)
[0.6.0] - 2024-02-03
Features
1ee6d8ccodegen: Move string test to codegen (#2150) (Wenzhe Wang)18a58d4minifier: Handle more expressions for side effects (#2062) (Bradley Farias)
Bug Fixes
29dc5e6codegen: Add parenthesis in binary expression by precedence (#2067) (Wenzhe Wang)
[0.4.0] - 2023-12-08
Features
c6ad660semantic: Support scope descendents starting from a certain scope. (#1629) (Miles Johnson)
Refactor
1a576f6rust: Move to workspace lint table (#1444) (Boshen)
[0.3.0] - 2023-11-06
Features
e0ca09bcodegen: Implement the basics of non-minifying codegen (#987) (Boshen)809f050codegen: Move minifying printer to codegen crate (#985) (Boshen)ef8aaa7minifier: Re-enable mangler (#972) (Boshen)14e1dacminifier: Reenable minifier tests (#969) (Boshen)f0029d5minifier: Reenable mangler (Boshen)55b2f03minifier: Partially re-enable minifier (#963) (Boshen)5b1e1e5parser: TypeScript 5.2 (#811) (Cameron)2e2b758playground: Add transform and minify (#993) (Boshen)ce79bc1transform_conformance: Move Formatter to codegen (#986) (Boshen)678db1dtransformer: ES2020 Nullish Coalescing Operator (#1004) (Boshen)0f72066transformer: Finish 2016 exponentiation operator (#996) (Boshen)-0e91044Adjust the order of print semicolon (#1003) (Wenzhe Wang)
Refactor
4787220ast: Clean up some methods (Boshen)903854dast: Fix the lifetime annotations around Vist and VisitMut (#973) (Boshen)db5417fclippy: Allow clippy::too_many_lines (Boshen)eaeb630clippy: Allow struct_excessive_bools (Boshen)801d78aminifier: Make the minifier api only accept an ast (#990) (Boshen)110059frust: ChangeRefCell.clone().into_inner()toRefCell.get()(Boshen)
[0.2.0] - 2023-09-14
Features
027a67dminifier: Constant addition expression folding (#882) (Don Isaac)e090b56minifier: Initialize conditions folding (#658) (阿良仔)c5ff534semantic: Addnode_idtoReference(#689) (Makoto Tateno)
Refactor
3516759ast: UseatomforDirectiveandHashbang(#701) (Yunfei He)