oxc/crates/oxc_codegen/CHANGELOG.md
oxc-bot be1a6d4c84
Release crates v0.26.0 (#5418)
## [0.26.0] - 2024-09-03

- 1aa49af ast: [**BREAKING**] Remove
`JSXMemberExpressionObject::Identifier` variant (#5358) (Dunqing)

- 01cc2ce semantic: [**BREAKING**] Add `ScopeTree:get_child_ids` API
behind a runtime flag (#5403) (Boshen)

- b1d0075 napi/transform: [**BREAKING**] Align output API `sourceText`
-> `code` with babel (#5398) (Boshen)

- 32f7300 ast: [**BREAKING**] Add `JSXElementName::IdentifierReference`
and `JSXMemberExpressionObject::IdentifierReference` (#5223) (Dunqing)

- 23e8456 traverse: [**BREAKING**] `TraverseCtx::ancestor` with level 0
= equivalent to `parent` (#5294) (overlookmotel)

- 582ce9e traverse: [**BREAKING**] `TraverseCtx::ancestor` return
`Ancestor::None` if out of bounds (#5286) (overlookmotel)

- 234a24c ast: [**BREAKING**] Merge `UsingDeclaration` into
`VariableDeclaration` (#5270) (Kevin Deng 三咲智子)

- c100826 semantic: [**BREAKING**] Always create a scope for `for`
statements (#5110) (overlookmotel)

- d304d6f semantic: [**BREAKING**] Always create a scope for
`CatchClause` (#5109) (overlookmotel)

### Features

- 180b1a1 ast: Add `Function::name()` (#5361) (DonIsaac)
- 5505749 ast: Add `accessibility` field to `AccessorProperty` (#5290)
(Dunqing)
- 49cd5db ast,parser: Add `definite` flag to `AccessorProperty` node
(#5182) (DonIsaac)
- c2fa725 ast,parser: Parse `TSTypeAnnotations` on `AccessorProperty`
(#5179) (DonIsaac)
- 292d162 codegen: Print missing fields for `AccessorProperty` (#5291)
(Dunqing)
- 72740b3 isolated_declaration: Support sourcemap option (#5170)
(dalaoshu)
- f81e8a1 linter: Add `oxc/no-async-endpoint-handlers` (#5364)
(DonIsaac)
- 9c22ce9 linter: Add hyperlinks to diagnostic messages (#5318)
(DonIsaac)
- d22bd20 module_lexer: Distinguish for types-only imports and exports
(#5184) (Kevin Deng 三咲智子)
- 7dfd51a parser: Report class properties that are both definite and
optional (#5181) (DonIsaac)
- a563968 parser: Report errors on optional accessor properties (#5180)
(DonIsaac)
- 46b641b regular_expression: Validate max quantifier value (#5218)
(leaysgur)
- be4642f semantic: Transform checker check child scope IDs (#5410)
(overlookmotel)
- 6e969f9 semantic: Add `ScopeTree::delete_root_unresolved_reference`
(#5305) (overlookmotel)
- 1b20ceb span: Add `CompactStr::to_compact_string` method (#5385)
(Boshen)
- 5a137f0 span/source-type: Add SourceType factory methods (#5242)
(DonIsaac)
- f5e05db span/source-type: Impl `Display` and `Error` for
`UnknownExtension` (#5240) (DonIsaac)
- d04857b transformer: Support `Targets::from_query` method (#5336)
(Dunqing)
- 3d4a64c transformer: Make `Targets` public (#5335) (Dunqing)
- 0eb7602 transformer: Support `TransformOptions::from_preset_env` API
(#5323) (Dunqing)
- 08dc0ad transformer: Add `object-spread` plugin (#3133) (magic-akari)
- 01c0c3e transformer: Add remaining options to transformer options
(#5169) (Boshen)
- 056c667 transformer/arrow-functions: The output that uses `this`
inside blocks doesn't match Babel (#5188) (Dunqing)
- 0abfc50 transformer/typescript: Support `rewrite_import_extensions`
option (#5399) (Dunqing)

### Bug Fixes

- 8ebc23f ast: Serialize `TSParenthesizedType` with camelCase (#5199)
(Kevin Deng 三咲智子)
- 5c4c001 codegen: Print `export @decorator declare abstract class Foo`
correctly (#5303) (Boshen)
- 7b1546b codegen: Do not print comments when `--minify` (Boshen)
- ff7fa98 diagnostics: Improve "file is too long to fit on the screen"
(#5120) (Boshen)
- 8a17807 parser: Treat JSX element tags starting with `_` or `$` as
`IdentifierReference`s (#5343) (overlookmotel)
- d4c06ef parser: Revert "check for `@flow` with recoverable errors as
well" (#5297) (overlookmotel)
- e1d8b92 parser: Check for `@flow` with recoverable errors as well
(Boshen)
- e6fd52e parser: Change unterminated regex error to be non-recoverable
(#5285) (Boshen)
- 1686920 parser: Span for invalid regex flags (#5225) (leaysgur)
- cffce11 regular_expression: Prevent panic on too large number (#5282)
(leaysgur)
- 293413f semantic: Implicit return `UpdateExpression` in
`ArrowFunctionExpression` does not as read reference (#5161) (Dunqing)
- a6bb3b1 span/source-type: Consider `.cjs` and `.cts` files as
`ModuleKind::Script` (#5239) (DonIsaac)
- 35f03db transformer: `ArrowfunctionExpression`'s expression is true
but has more than one body statement (#5366) (Dunqing)
- 8d6b05c transformer: Class property with typescript value should not
be removed (#5298) (Boshen)
- 47e69a8 transformer-optional-catch-binding: The `unused` binding is
not in the correct scope (#5066) (Dunqing)
- 94ff94c transformer/arrow-functions: Reaches `unreachable` when
`<this.foo>` is inside an arrow function (#5356) (Dunqing)
- f8bb022 transformer/arrow-functions: Remove
`SymbolFlags::ArrowFunction` (#5190) (Dunqing)
- d9ba5ad transformer/arrow-functions: Correct scope for `_this` (#5189)
(Dunqing)
- 3acb3f6 transformer/react: Mismatch output caused by incorrect
transformation ordering (#5255) (Dunqing)
- 5754c89 transformer/typescript: Remove accessibility from
`AccessorProperty` (#5292) (Dunqing)
- d594818 traverse: `insert_scope_below` update child scopes records
(#5409) (overlookmotel)
- 25d6e20 traverse: Add missing visitors to `ChildScopeCollector`
(#5118) (overlookmotel)

### Performance

- 292f217 ast: Optimize `JSXIdentifier::is_reference` (#5344)
(overlookmotel)
- 12a7607 codegen: Inline `Codegen::print_list` (#5221) (overlookmotel)
- fb847bd codegen: Slightly faster `print_list` (#5192) (Boshen)
- a1523c6 transformer: Remove an allocation from arrow functions
transform (#5412) (overlookmotel)

### Documentation

- 8334bd4 transformer: Add documentation for `Targets::get_targets`
(#5337) (Dunqing)
- d51a954 transformer: Add documentation for arrow-functions plugin
(#5186) (Dunqing)

### Refactor

- c2d8c9e ast: Reduce allocations in
`AstBuilder::move_assignment_target` (#5367) (overlookmotel)
- 946c867 ast: Box `TSThisParameter` (#5325) (overlookmotel)
- 960e1d5 ast: Rename `IdentifierReference::new_with_reference_id`
(#5157) (overlookmotel)
- f63b568 ast: Remove `#[non_exhaustive]` attr from `AstBuilder` (#5130)
(overlookmotel)
- d4c3778 codegen: Rename vars (#5222) (overlookmotel)
- 543cad6 codegen: Remove some pub APIs (Boshen)
- cd63336 diagnostic: Change how diagnostic codes are rendered (#5317)
(DonIsaac)
- d236554 parser: Move `JSXIdentifier` conversion code into parser
(#5345) (overlookmotel)
- bc59dd2 parser: Improve example for `byte_search!` macro usage (#5234)
(overlookmotel)
- a3ddfdd parser: Improve lexer pointer maths (#5233) (overlookmotel)
- 3ae94b8 semantic: Change `build_module_record` to accept &Path instead
of PathBuf (Boshen)
- 05d25e2 semantic: Combine add scope methods (#5262) (overlookmotel)
- fdedc0f semantic: Transform checker: rename `SemanticData` to
`Scoping` (#5261) (overlookmotel)
- 1086109 semantic: Transform checker do not output spans in errors
(#5260) (overlookmotel)
- af5713e semantic: Transform checker continue checks if missing IDs
(#5259) (overlookmotel)
- 943454f semantic: Update transform checker for no conditional scopes
(#5252) (overlookmotel)
- 892a7fa semantic: Replace `ref` syntax (#5253) (overlookmotel)
- cbb4725 semantic: Add comment to transform checker (#5250)
(overlookmotel)
- a17cf33 semantic: Remove `ScopeTree::child_ids` (#5232) (Boshen)
- d5a4940 semantic: Rewrite handling of label statement errors (#5138)
(Boshen)
- 94f60e7 span/source-type: Make `SourceType` factories `const` (#5241)
(DonIsaac)
- 0de844d transformer: Remove unnecessary code from JSX transform
(#5339) (overlookmotel)
- 5136f01 transformer: Remove unnecessary type annotation (#5131)
(overlookmotel)
- 260c9d2 transformer/es2015: Move all entry points to implementation of
Traverse trait (#5187) (Dunqing)
- 1645115 transformer/object-reset-spread: Make plugin initialization
unconditional (#5319) (Dunqing)
- d2666fe transformer/object-rest-spread: Move plugin-relates files to
`object_rest_spread` mod (#5320) (Dunqing)
- 7e2a7af transformer/react: Remove `CalculateSignatureKey`
implementation from refresh (#5289) (Dunqing)
- b43a394 traverse: Correct code comments (#5293) (overlookmotel)
- d71f0ed traverse: Inline all passthrough methods (#5279)
(overlookmotel)
- 188ce07 traverse: Improve safety via type system (#5277)
(overlookmotel)
- 0f4a8b3 traverse: Add debug asserts for safety invariants (#5272)
(overlookmotel)
- 341e42a traverse: Make `Ancestor` an owned type (#5269)
(overlookmotel)
- eba5033 traverse: Codegen `ChildScopeCollector` (#5119)
(overlookmotel)
- f771d7c traverse: Remove unnecessary imports (#5116) (overlookmotel)
- c6590ae traverse: Move generated files into separate folder (#5115)
(overlookmotel)
- fc2e9ad traverse: Remove support for `#[scope(if(...))]` attr (#5114)
(overlookmotel)
- 1ba11a3 traverse: Refactor `ChildScopeCollector` (#5112)
(overlookmotel)
- 40e2f6e traverse: Remove unnecessary branch in `ChildScopeCollector`
(#5111) (overlookmotel)
- b39c0d6 wasm: Add `source_type` for parser, replace class options with
plain object (#5217) (Kevin Deng 三咲智子)

### Testing

- 7009177 parser: Fix incorrect flow error test (Boshen)
- be7b8c6 semantic: Add `JSXIdentifierReference`-related tests (#5224)
(Dunqing)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
2024-09-03 10:36:02 +08:00

17 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.26.0] - 2024-09-03

  • 1aa49af ast: [BREAKING] Remove JSXMemberExpressionObject::Identifier variant (#5358) (Dunqing)

  • 32f7300 ast: [BREAKING] Add JSXElementName::IdentifierReference and JSXMemberExpressionObject::IdentifierReference (#5223) (Dunqing)

  • 234a24c ast: [BREAKING] Merge UsingDeclaration into VariableDeclaration (#5270) (Kevin Deng 三咲智子)

Features

  • 5505749 ast: Add accessibility field to AccessorProperty (#5290) (Dunqing)
  • 292d162 codegen: Print missing fields for AccessorProperty (#5291) (Dunqing)

Bug Fixes

  • 5c4c001 codegen: Print export @decorator declare abstract class Foo correctly (#5303) (Boshen)
  • 7b1546b codegen: Do not print comments when --minify (Boshen)

Performance

  • 12a7607 codegen: Inline Codegen::print_list (#5221) (overlookmotel)
  • fb847bd codegen: Slightly faster print_list (#5192) (Boshen)

Refactor

  • d4c3778 codegen: Rename vars (#5222) (overlookmotel)
  • 543cad6 codegen: Remove some pub APIs (Boshen)

[0.25.0] - 2024-08-23

  • ce4d469 codegen: [BREAKING] Remove const generic MINIFY (#5001) (Boshen)

Features

Bug Fixes

  • b7db235 Comments gen regression (#5003) (IWANABETHATGUY)

Refactor

  • cd9cf5e oxc: Remove remove_whitespace (Boshen)

[0.24.3] - 2024-08-18

Features

  • d49fb16 oxc_codegen: Support generate range leading comments (#4898) (IWANABETHATGUY)

Bug Fixes

  • bbf9ec0 codegen: Add missing declare to PropertyDefinition (#4937) (Boshen)
  • f210cf7 codegen: Print TSSatisfiesExpression and TSInstantiationExpression (#4936) (Boshen)
  • 21f5762 codegen: Minify large numbers (#4889) (Boshen)
  • e8de4bd codegen: Fix whitespace issue when minifying x in new Error() (#4886) (Boshen)
  • a226962 codegen: Print TSNonNullExpression (#4869) (Boshen)
  • 3da33d3 codegen: Missing parenthesis for PrivateInExpression (#4865) (Boshen)
  • 1808529 codegen: Dedupe pure annotation comments (#4862) (IWANABETHATGUY)
  • 508644a linter/tree-shaking: Correct the calculation of >>, << and >>> (#4932) (mysteryven)

[0.24.0] - 2024-08-08

Bug Fixes

  • 4a56954 codegen: Print raw if value is number is Infinity (#4676) (Boshen)
  • a40a217 parser: Parse assert keyword in TSImportAttributes (#4610) (Boshen)

Performance

  • 8dd76e4 codegen: Reduce size of LineOffsetTable (#4643) (overlookmotel)
  • b8e6753 codegen: u32 indexes in LineOffsetTable for source maps (#4641) (overlookmotel)

Refactor

  • e78cba6 minifier: Ast passes infrastructure (#4625) (Boshen)

[0.23.1] - 2024-08-06

Bug Fixes

  • 4a56954 codegen: Print raw if value is number is Infinity (#4676) (Boshen)
  • a40a217 parser: Parse assert keyword in TSImportAttributes (#4610) (Boshen)

Performance

  • 8dd76e4 codegen: Reduce size of LineOffsetTable (#4643) (overlookmotel)
  • b8e6753 codegen: u32 indexes in LineOffsetTable for source maps (#4641) (overlookmotel)

Refactor

  • e78cba6 minifier: Ast passes infrastructure (#4625) (Boshen)

[0.23.0] - 2024-08-01

  • 27fd062 sourcemap: [BREAKING] Avoid passing Results (#4541) (overlookmotel)

Features

  • a558492 codegen: Implement BinaryExpressionVisitor (#4548) (Boshen)
  • 7446e98 codegen: Align more esbuild implementations (#4510) (Boshen)
  • 35654e6 codegen: Align operator precedence with esbuild (#4509) (Boshen)

Bug Fixes

  • b58ed80 codegen: Enable more test cases (#4585) (Boshen)
  • 6a94e3f codegen: Fixes for esbuild test cases (#4503) (Boshen)
  • d5c4b19 parser: Fix enum member parsing (#4543) (DonIsaac)

Performance

  • 7585e16 linter: Remove allocations for string comparisons (#4570) (DonIsaac)

Refactor

[0.22.0] - 2024-07-23

Bug Fixes

  • 44a10c4 codegen: Object shorthand with parens ({x: (x)}) -> ({ x }) (#4391) (Boshen)
  • 3d88f20 codegen: Print shorthand for all { x } variants (#4374) (Boshen)
  • e624dff codegen,mangler: Do not print shorthand for ObjectProperty (#4350) (Boshen)

[0.21.0] - 2024-07-18

Features

  • 83c2c62 codegen: Add option for choosing quotes; remove slow choose_quot method (#4219) (Boshen)
  • e3e663b mangler: Initialize crate and integrate into minifier (#4197) (Boshen)

Bug Fixes

  • bf3d8d3 codegen: Print annotation comment inside parens for new and call expressions (#4290) (Boshen)
  • 084ab76 codegen: Use ryu-js for f64 to string (Boshen)
  • e167ef7 codegen: Print parenthesis properly (#4245) (Boshen)
  • c65198f codegen: Choose the right quote for jsx attribute string (#4236) (Boshen)
  • be82c28 codegen: Print JSXAttributeValue::StringLiteral directly (#4231) (Boshen)
  • 3df9e69 mangler: No shorthand BindingProperty; handle var hoisting and export variables (#4319) (Boshen)
  • 66b455a oxc_codegen: Avoid print same pure comments multiple time (#4230) (IWANABETHATGUY)- 1c117eb Avoid print extra semicolon after accessor property (#4199) (IWANABETHATGUY)

Refactor

  • d1c4be0 codegen: Clean up annotation_comment (Boshen)
  • 06197b8 codegen: Separate tests (Boshen)
  • aa22073 codegen: Improve print API (#4196) (Boshen)

[0.20.0] - 2024-07-11

  • 5731e39 ast: [BREAKING] Store span details inside comment struct (#4132) (Luca Bruno)

Refactor

[0.18.0] - 2024-07-09

Features

  • 365d9ba oxc_codegen: Generate annotation comments before CallExpression and NewExpression (#4119) (IWANABETHATGUY)

[0.17.2] - 2024-07-08

Bug Fixes

  • 5472b7c codegen: 256 indentations level is not enough for codegen (Boshen)

[0.17.1] - 2024-07-06

Bug Fixes

  • 564a75a codegen: Missing TypeParameters in TSConstructSignature (#4063) (michaelm)

[0.17.0] - 2024-07-05

Features

  • 7768d23 isolated-declarations: Support optional class methods (#4035) (Egor Blinov)

Bug Fixes

  • aaac2d8 codegen: Preserve parentheses from AST instead calculating from operator precedence (#4055) (Boshen)
  • 5e5b1b1 codegen: Correct accessibility emit for class formal-parameters/methods/properties (#4042) (Egor Blinov)
  • 7844734 codegen: Missing const keyword in TSTypeParamter (#4022) (Dunqing)
  • 6254a41 codegen: Missing TypeParamters in TSCallSignature (#4021) (Dunqing)

[0.16.3] - 2024-07-02

Bug Fixes

  • 23038ad codegen: Print TSFunctionType inside TSTypeAssertion (#3999) (Boshen)

[0.16.2] - 2024-06-30

Features

  • dc6d45e ast,codegen: Add TSParenthesizedType and print type parentheses correctly (#3979) (Boshen)

Bug Fixes

  • dac617d codegen: Print some missing typescript attributes (#3980) (Boshen)

[0.16.1] - 2024-06-29

Bug Fixes

  • 51e54f9 codegen: Should print TSModuleDeclarationKind instead of just module (#3957) (Dunqing)

[0.16.0] - 2024-06-26

  • 6796891 ast: [BREAKING] Rename all instances of BigintLiteral to BigIntLiteral. (#3898) (rzvxa)

  • ae09a97 ast: [BREAKING] Remove Modifiers from ts nodes (#3846) (Boshen)

  • 1af5ed3 ast: [BREAKING] Replace Modifiers with declare and const on EnumDeclaration (#3845) (Boshen)

  • 0673677 ast: [BREAKING] Replace Modifiers with declare on Function (#3844) (Boshen)

  • ee6ec4e ast: [BREAKING] Replace Modifiers with declare and abstract on Class (#3841) (Boshen)

  • 9b38119 ast: [BREAKING] Replace Modifiers with declare on VariableDeclaration (#3839) (Boshen)

  • cfcef24 ast: [BREAKING] Add directives field to TSModuleBlock (#3830) (Boshen)

  • 4456034 ast: [BREAKING] Add IdentifierReference to ExportSpecifier (#3820) (Boshen)

Features

  • 5847e16 ast,parser: Add intrinsic keyword (#3767) (Boshen)
  • 01da2f7 codegen: Print TSThisParameter for TSCallSignatureDeclaration and TSMethodSignature (#3792) (Dunqing)
  • 2821e0e codegen: Print readonly keyword for TSIndexSignature (#3791) (Dunqing)
  • 97575d8 codegen: Print TSClassImplements and TSThisParameter (#3786) (Dunqing)

Bug Fixes

  • 2766594 codegen: Print type parameters for MethodDefinition (#3922) (Dunqing)

Performance

  • 4f7ff7e Do not pass &Atom to functions (#3818) (overlookmotel)

Refactor

  • 4cf3c76 parser: Improve parsing of TypeScript types (#3903) (Boshen)

[0.15.0] - 2024-06-18

  • 5c38a0f codegen: [BREAKING] New code gen API (#3740) (Boshen)

  • 534242a codegen: [BREAKING] Remove CodegenOptions::enable_typescript (#3674) (Boshen)

  • 0578ece ast: [BREAKING] Remove ExportDefaultDeclarationKind::TSEnumDeclaration (#3666) (Dunqing)

Features

  • 5a99d30 codegen: Improve codegen formatting (#3735) (Boshen)
  • bf9b38a codegen: Improve codegen formatting (#3731) (Boshen)
  • 4a004e2 codegen: Print TSImport remaining fields (#3695) (Dunqing)
  • a56cb1b codegen: Print accessibility for MethodDefinition (#3690) (Dunqing)
  • 38a75e5 coverage: Improve codegen (#3729) (Boshen)
  • 4f2db46 transformer-dts: --isolatedDeclarations dts transform (#3664) (Dunqing)

Bug Fixes

  • da1e2d0 codegen: Improve typescript codegen (#3708) (Boshen)

Refactor

  • fa7a6ba codegen: Add gen method to ast nodes (#3687) (Boshen)
  • 09b92b6 codegen: Move gen_ts into gen to make searching things easier (#3680) (Boshen)
  • 815260e isolated-declarations: Decouple codegen (#3715) (Boshen)
  • 4f16664 transformer_dts: Create a Program for codegen (#3679) (Boshen)

[0.14.0] - 2024-06-12

Refactor

  • f98f777 linter: Add rule fixer (#3589) (Don Isaac)

[0.13.4] - 2024-06-07

Features

  • 5c8e16c coverage: Second transformer build does not print typescript (#3561) (Dunqing)

Bug Fixes

  • affb2c8 codegen: Print indentation before directive (#3512) (Dunqing)

[0.13.3] - 2024-06-04

Bug Fixes

  • 98c9029 codegen: Should be double quote for jsx attribute value (#3516) (Dunqing)
  • d8063b6 codegen: Wrong escape string (#3514) (Dunqing)

Refactor

  • ddac2a0 codegen: Reduce allocation for print_unquoted_str (#3525) (Dunqing)

[0.13.2] - 2024-06-03

Features

  • 0cdb45a oxc_codegen: Preserve annotate comment (#3465) (IWANABETHATGUY)

[0.13.1] - 2024-05-22

Features

  • e2dd8ac syntax: Export is_reserved_keyword and is_global_object method (#3384) (Boshen)

Bug Fixes

  • a12ed0f codegen: Using declaration in for statement (#3285) (Don Isaac)

Refactor

  • 9ced605 parser: Start porting arrow function parsing from tsc (#3340) (Boshen)
  • e879685 sourcemap: Using binary search to search original position (#3360) (underfin)

[0.13.0] - 2024-05-14

Features

  • eefb66f ast: Add type to AccessorProperty to support TSAbractAccessorProperty (#3256) (Dunqing)

Bug Fixes

  • 0ba7778 parser: Correctly parse cls.fn = x (#3208) (Dunqing)

Refactor

  • 7e1fe36 ast: Squash nested enums (#3115) (overlookmotel)
  • 0185eb2 ast: Remove duplicate TSNamedTupleMember representation (#3101) (overlookmotel)
  • a8af5de syntax: Move number related functions to number module (#3130) (Boshen)

[0.12.5] - 2024-04-22

Features

  • 92d709b ast: Add CatchParameter node (#3049) (Boshen)

[0.12.4] - 2024-04-19

Features

  • fd5002b codegen: Correctly print type-only imports/exports (#2993) (Dunqing)

[0.12.1] - 2024-04-03

Bug Fixes

  • 28fae2e sourcemap: Using serde_json::to_string to quote sourcemap string (#2889) (underfin)

Refactor

  • 114f68e codegen: Make codegen sourcemap builder clearer (#2894) (underfin)

[0.11.0] - 2024-03-30

Features

  • 243131d transformer: Numeric separator plugin. (#2795) (Ali Rezvani)- b199cb8 Add oxc sourcemap crate (#2825) (underfin)- a2cfc86 SourcemapVisualizer (#2773) (underfin)

Bug Fixes

  • 6177c2f codegen: Sourcemap token name should be original name (#2843) (underfin)
  • b76b02d parser: Add support for empty module declaration (#2834) (Ali Rezvani)

Performance

  • 2be5f9d codegen: Avoid unnecessary copy (#2727) (underfin)
  • d7004da sourcemap: Remove unnecessary binary search (#2728) (underfin)

Refactor

  • d9b77d8 sourcemap: Change sourcemap name to take a reference (#2779) (underfin)

[0.10.0] - 2024-03-14

  • c3477de ast: [BREAKING] Rename BigintLiteral to BigIntLiteral (#2659) (Arnaud Barré)

Bug Fixes

  • 9609c34 codegen: CallExpression sourcemap (#2717) (underfin)
  • b453a07 parser: Parse named rest element in type tuple (#2655) (Arnaud Barré)

[0.9.0] - 2024-03-05

  • f66059e ast: [BREAKING] Align TSImportType with ESTree (#2578) (Arnaud Barré)

Features

  • 20c7bf7 ast: Add AssignmentTargetRest (#2601) (Boshen)
  • 3efbbb2 ast: Add "abstract" type to MethodDefinition and PropertyDefinition (#2536) (Boshen)
  • 8bb1084 codegen: Add sourcemap (#2565) (Boshen)

Bug Fixes

  • ea30fd5 codegen: Fix adding mapping to sourcemaps (#2590) (overlookmotel)
  • fe29fa4 codegen: Correct sourcemaps when Windows line breaks + unicode (#2584) (overlookmotel)
  • 517026b codegen: Correct sourcemaps when unicode chars (#2583) (overlookmotel)

Performance

  • b7f5c63 codegen: Speed up generating sourcemap mappings (#2597) (overlookmotel)
  • 42fa8eb codegen: Speed up building sourcemap line tables (#2591) (overlookmotel)

Refactor

  • ef932a3 codegen: Clean up API around building sourcemaps (#2602) (Boshen)

[0.8.0] - 2024-02-26

Features

  • 6b3b260 Codegen: Improve codegen (#2460) (Andrew McClenaghan)
  • e6d536c codegen: Configurable typescript codegen (#2443) (Andrew McClenaghan)

Bug Fixes

  • 4327916 codegen: Remove redundant semicolon in PropertyDefinition (#2511) (Dunqing)
  • b5deb9a codegen: When async is on the left-hand side of a for-of, wrap it in parentheses (#2407) (Dunqing)
  • 384d5ac codegen: Lower the level of precedence in TaggedTemplateExpression (#2391) (Wenzhe Wang)

Refactor

  • 540f917 ast: Remove TSEnumBody (#2509) (Boshen)
  • 9087f71 ast: S/TSThisKeyword/TSThisType to align with estree (Boshen)
  • d08abc6 ast: S/NumberLiteral/NumericLiteral to align with estree (Boshen)
  • e6b391a ast: S/ArrowExpression/ArrowFunctionExpression to align estree (Boshen)- a2c173d Remove panic! from examples (#2454) (Boshen)

[0.7.0] - 2024-02-09

Features

  • 55011e2 codegen: Avoid printing comma in ArrayAssignmentTarget if the elements is empty (#2331) (Dunqing)

Bug Fixes

  • 2eb489e codegen: Format new expession + import expression with the correct parentheses (#2346) (Dunqing)
  • 721f6cb codegen: Format new expression + call expression with the correct parentheses (#2330) (Boshen)

Refactor

  • 1822cfe ast: Fix BigInt memory leak by removing it (#2293) (Boshen)

[0.6.0] - 2024-02-03

Features

  • 8ac0202 codegen: Keep shorthand in ObjectPattern and ObjectProperty (#2265) (Dunqing)
  • fa555ce codegen: Change back to read raw (#2222) (Wenzhe Wang)
  • 9333264 codegen: Print TemplateLiteral with print_str (#2207) (Wenzhe Wang)
  • 1ee6d8c codegen: Move string test to codegen (#2150) (Wenzhe Wang)

Bug Fixes

  • 0c225a4 codegen: Print space before with clause in import (#2278) (Wenzhe Wang)
  • d34650a codegen: Print necessary spaces for ExportAllDeclaration (#2190) (Yunfei He)
  • 989ab88 codegen: Print Directive original string (#2157) (underfin)
  • 29dc5e6 codegen: Add parenthesis in binary expression by precedence (#2067) (Wenzhe Wang)

Refactor

  • 766ca63 ast: Rename RestElement to BindingRestElement (#2116) (Dunqing)

[0.5.0] - 2024-01-12

Refactor

  • a6717db formatter,linter,codegen: Remove oxc_formatter (#1968) (Boshen)

[0.4.0] - 2023-12-08

Features

  • 9ff0ffc ast: Implement new proposal-import-attributes (#1476) (magic-akari)

Refactor

  • 1a576f6 rust: Move to workspace lint table (#1444) (Boshen)

[0.3.0] - 2023-11-06

Features

  • cef78ac codegen: Indent inner class (#1085) (Wenzhe Wang)
  • 854b55a codegen: Json strings proposal (#1039) (Boshen)
  • 6c18b3e codegen: Beauty class print (#995) (Wenzhe Wang)
  • e0ca09b codegen: Implement the basics of non-minifying codegen (#987) (Boshen)
  • 809f050 codegen: Move minifying printer to codegen crate (#985) (Boshen)
  • f28d96c codegen: Initialize the codegen crate and struct (#983) (Boshen)
  • 2e2b758 playground: Add transform and minify (#993) (Boshen)
  • e8a4e81 transformer: Implement some of jsx decode entities (#1086) (Boshen)
  • af1a76b transformer: Implement some of needs_explicit_esm for typescript (#1047) (Boshen)
  • dfee853 transformer: Add utils to make logical_assignment_operators pass (#1017) (Boshen)
  • 678db1d transformer: ES2020 Nullish Coalescing Operator (#1004) (Boshen)- 094dfa5 Support filter exec snap (#1084) (Wenzhe Wang)- 0e91044 Adjust the order of print semicolon (#1003) (Wenzhe Wang)

Bug Fixes

  • 6295f9c ast: Jsx attribute value and text child should be jsx string (#1089) (Boshen)
  • f32bf27 codegen: Fix some typescript codegen problems (#989) (Boshen)
  • a455c81 linter: Revert changes to JSX attribute strings (#1101) (Boshen)

Refactor

  • 801d78a minifier: Make the minifier api only accept an ast (#990) (Boshen)
  • 110059f rust: Change RefCell.clone().into_inner() to RefCell.get() (Boshen)