mirror of
https://github.com/oxc-project/oxc.git
synced 2026-11-04 10:29:58 +00:00
chore: regenerate changelog
This commit is contained in:
24 files changed
+2638
-1376
No files matched your search
@@ -0,0 +1,13 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
|
||||
## [0.4.2] - 2024-05-28
|
||||
|
||||
### Refactor
|
||||
|
||||
* cli: move crates/oxc_cli to apps/oxlint (#3413)
|
||||
|
||||
+13
-6
@@ -5,7 +5,7 @@
|
||||
# changelog header
|
||||
header = """
|
||||
# Changelog\n
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.\n
|
||||
@@ -18,11 +18,20 @@ body = """
|
||||
{% else -%}
|
||||
## [Unreleased]
|
||||
{% endif -%}
|
||||
{% for commit in commits | filter(attribute="breaking", value=true) %}
|
||||
- **BREAKING** {{ commit.scope }}: {{ commit.message | trim }}
|
||||
{% endfor -%}
|
||||
{% for group, commits in commits | group_by(attribute="group") %}
|
||||
### {{ group | striptags | trim | upper_first }}
|
||||
{% for commit in commits %}
|
||||
- {{ commit.message | upper_first }}\
|
||||
{% endfor %}
|
||||
{% for commit in commits | filter(attribute="breaking", value=false) | filter(attribute="scope") | sort(attribute="scope") %}
|
||||
* {{commit.scope}}: {{ commit.message | trim }}
|
||||
{%- endfor -%}
|
||||
{%- for commit in commits | filter(attribute="breaking", value=false) %}
|
||||
{%- if commit.scope -%}
|
||||
{% else -%}
|
||||
- {{ commit.message | trim }} |
|
||||
{%- endif -%}
|
||||
{%- endfor %}
|
||||
{% endfor %}\n
|
||||
"""
|
||||
# remove the leading and trailing whitespace from the templates
|
||||
@@ -49,8 +58,6 @@ commit_parsers = [
|
||||
protect_breaking_commits = false
|
||||
# filter out the commits that are not matched by commit parsers
|
||||
filter_commits = true
|
||||
# regex for matching git tags
|
||||
tag_pattern = "crates_v[0-9].*"
|
||||
# sort the tags topologically
|
||||
topo_order = false
|
||||
# sort the commits inside sections by oldest/newest order
|
||||
|
||||
+12
-14
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,45 +9,43 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Features
|
||||
|
||||
- Add feature "sourcemap_concurrent"
|
||||
* sourcemap: add feature "sourcemap_concurrent"
|
||||
|
||||
## [0.11.0] - 2024-03-30
|
||||
|
||||
### Features
|
||||
|
||||
- Add oxc sourcemap crate (#2825)
|
||||
- add oxc sourcemap crate (#2825) |
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
### Features
|
||||
|
||||
- Merge features `serde` and `wasm` to `serialize` (#2716)
|
||||
- merge features `serde` and `wasm` to `serialize` (#2716) |
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Features
|
||||
|
||||
- TypeScript definition for wasm target (#2158)
|
||||
* ast: TypeScript definition for wasm target (#2158)
|
||||
|
||||
## [0.5.0] - 2024-01-12
|
||||
|
||||
### Features
|
||||
|
||||
- Visualize symbol (#1886)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove oxc_formatter (#1968)
|
||||
* formatter,linter,codegen: remove oxc_formatter (#1968)
|
||||
|
||||
### Features
|
||||
|
||||
* playground: visualize symbol (#1886)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move to workspace lint table (#1444)
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
## [0.3.0] - 2023-11-06
|
||||
|
||||
### Features
|
||||
|
||||
- Add transform and minify (#993)
|
||||
* playground: add transform and minify (#993)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,42 +9,40 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Refactor
|
||||
|
||||
- Squash nested enums (#3115)
|
||||
* ast: squash nested enums (#3115)
|
||||
|
||||
## [0.12.5] - 2024-04-22
|
||||
|
||||
### Refactor
|
||||
|
||||
- Reuse allocator in parser + lexer benchmarks (#3053)
|
||||
* bench: reuse allocator in parser + lexer benchmarks (#3053)
|
||||
|
||||
## [0.12.4] - 2024-04-19
|
||||
|
||||
### Features
|
||||
|
||||
- Make `Box`'s PhantomData own the passed in `T` (#2952)
|
||||
* allocator: make `Box`'s PhantomData own the passed in `T` (#2952)
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Documentation
|
||||
|
||||
- Document behaviour of `Box`
|
||||
* allocator: document behaviour of `Box`
|
||||
|
||||
## [0.5.0] - 2024-01-12
|
||||
|
||||
### Features
|
||||
|
||||
- Add `From` API (#1908)
|
||||
* allocator: add `From` API (#1908)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move to workspace lint table (#1444)
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
## [0.2.0] - 2023-09-14
|
||||
|
||||
### Refactor
|
||||
|
||||
- Improve code coverage a little bit
|
||||
- Improve code coverage in various places (#721)
|
||||
- improve code coverage a little bit |- improve code coverage in various places (#721) |
|
||||
|
||||
+246
-252
@@ -1,391 +1,385 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
|
||||
## [0.13.2] - 2024-06-03
|
||||
|
||||
### Features
|
||||
### Refactor
|
||||
|
||||
- Add `oxc/no-const-enum` rule (#3435)
|
||||
* ast: update scope attrs (#3494)
|
||||
* ast: move scope from `TSModuleBlock` to `TSModuleDeclaration` (#3488)
|
||||
* ast: rename function params (#3487)
|
||||
* ast: remove defunct hashing of `Span` (#3486)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- UsingDeclaration is not a typescript syntax (#3482)
|
||||
* ast: UsingDeclaration is not a typescript syntax (#3482)
|
||||
|
||||
### Refactor
|
||||
### Features
|
||||
|
||||
- Update scope attrs (#3494)
|
||||
- Move scope from `TSModuleBlock` to `TSModuleDeclaration` (#3488)
|
||||
- Rename function params (#3487)
|
||||
- Remove defunct hashing of `Span` (#3486)
|
||||
* linter: add `oxc/no-const-enum` rule (#3435)
|
||||
|
||||
## [0.13.1] - 2024-05-22
|
||||
|
||||
### Refactor
|
||||
|
||||
* ast: fix clippy lint on nightly (#3346)
|
||||
* ast: store `ScopeId` in AST nodes (#3302)
|
||||
* parser: improve expression parsing (#3352)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix some nightly warnings
|
||||
- `rules_of_hooks` add support for property hooks/components. (#3300)
|
||||
* linter/react: `rules_of_hooks` add support for property hooks/components. (#3300)- fix some nightly warnings |
|
||||
|
||||
### Performance
|
||||
|
||||
- Inline all `ASTBuilder` methods (#3295)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Improve expression parsing (#3352)
|
||||
- Fix clippy lint on nightly (#3346)
|
||||
- Store `ScopeId` in AST nodes (#3302)
|
||||
* ast: inline all `ASTBuilder` methods (#3295)
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Features
|
||||
|
||||
- Add type to AccessorProperty to support TSAbractAccessorProperty (#3256)
|
||||
- Report ambient module cannot be nested error (#3253)
|
||||
- Add scope flags to `TraverseCtx` (#3229)
|
||||
- `oxc_traverse` crate (#3169)
|
||||
- Enable jsx plugin when development is true (#3141)
|
||||
- Add `ToJsString` trait for f64 (#3131)
|
||||
- Implement typescript namespace (#3025)
|
||||
- Add `callee_name` method to the `CallExpression`. (#3076)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Set `ScopeFlags::Function` bit for class methods (#3277)
|
||||
- Create scopes for functions (#3273)
|
||||
- Create scope for function nested in class method (#3234)
|
||||
- Correctly parse cls.fn<C> = x (#3208)
|
||||
- Do not include `trailing_comma` in JSON AST (#3073)
|
||||
* ast: do not include `trailing_comma` in JSON AST (#3073)
|
||||
* parser: correctly parse cls.fn<C> = x (#3208)
|
||||
* traverse: set `ScopeFlags::Function` bit for class methods (#3277)
|
||||
* traverse: create scopes for functions (#3273)
|
||||
* traverse: create scope for function nested in class method (#3234)
|
||||
|
||||
### Features
|
||||
|
||||
* ast: add type to AccessorProperty to support TSAbractAccessorProperty (#3256)
|
||||
* ast: add `callee_name` method to the `CallExpression`. (#3076)
|
||||
* syntax: add `ToJsString` trait for f64 (#3131)
|
||||
* transform: `oxc_traverse` crate (#3169)
|
||||
* transformer: report ambient module cannot be nested error (#3253)
|
||||
* transformer: implement typescript namespace (#3025)
|
||||
* transformer/react: enable jsx plugin when development is true (#3141)
|
||||
* traverse: add scope flags to `TraverseCtx` (#3229)
|
||||
|
||||
### Refactor
|
||||
|
||||
* ast: order AST type fields in visitation order (#3228)
|
||||
* ast: add `is_strict` methods (#3227)
|
||||
* ast: squash nested enums (#3115)
|
||||
* ast: remove duplicate `TSNamedTupleMember` representation (#3101)
|
||||
* ast: add array element `Elision` type (#3074)
|
||||
* coverage: avoid an `String::from_utf8` over head during serialization (#3145)
|
||||
* syntax: move number related functions to number module (#3130)
|
||||
* transform: fix doc comments for methods generated by `inherit_variants!` macro (#3195)
|
||||
|
||||
### Documentation
|
||||
|
||||
- Document enum inheritance (#3192)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Order AST type fields in visitation order (#3228)
|
||||
- Add `is_strict` methods (#3227)
|
||||
- Fix doc comments for methods generated by `inherit_variants!` macro (#3195)
|
||||
- Avoid an `String::from_utf8` over head during serialization (#3145)
|
||||
- Move number related functions to number module (#3130)
|
||||
- Squash nested enums (#3115)
|
||||
- Remove duplicate `TSNamedTupleMember` representation (#3101)
|
||||
- Add array element `Elision` type (#3074)
|
||||
* ast: document enum inheritance (#3192)
|
||||
|
||||
## [0.12.5] - 2024-04-22
|
||||
|
||||
### Features
|
||||
|
||||
- Add `CatchParameter` node (#3049)
|
||||
|
||||
### Performance
|
||||
|
||||
- Box typescript enum variants. (#3065)
|
||||
- Box enum variants (#3058)
|
||||
- Box `ImportDeclarationSpecifier` enum variants (#3061)
|
||||
- Reduce indirection in AST types (#3051)
|
||||
* ast: box typescript enum variants. (#3065)
|
||||
* ast: box enum variants (#3058)
|
||||
* ast: box `ImportDeclarationSpecifier` enum variants (#3061)
|
||||
* ast: reduce indirection in AST types (#3051)
|
||||
|
||||
### Features
|
||||
|
||||
* ast: add `CatchParameter` node (#3049)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Implement same traits on all fieldless enums (#3031)
|
||||
- Shorten code (#3027)
|
||||
* ast: implement same traits on all fieldless enums (#3031)
|
||||
* ast: shorten code (#3027)
|
||||
|
||||
## [0.12.4] - 2024-04-19
|
||||
|
||||
### Features
|
||||
|
||||
- Insert this assignment after the super call (#3018)
|
||||
- React jsx transform (#2961)
|
||||
- Start on TypeScript annotation removal (#2951)
|
||||
- Implement react-jsx-self (#2946)
|
||||
- Transform TypeScript namespace (#2942)
|
||||
* transformer: react jsx transform (#2961)
|
||||
* transformer: start on TypeScript annotation removal (#2951)
|
||||
* transformer: implement react-jsx-self (#2946)
|
||||
* transformer: transform TypeScript namespace (#2942)
|
||||
* transformer/typescript: insert this assignment after the super call (#3018)
|
||||
|
||||
## [0.12.3] - 2024-04-11
|
||||
|
||||
### Features
|
||||
|
||||
- Add missing ast visits for types (#2938)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Clean up the ts type visit methods
|
||||
* ast: clean up the ts type visit methods
|
||||
|
||||
## [0.11.1] - 2024-04-03
|
||||
### Features
|
||||
|
||||
* oxc_ast: add missing ast visits for types (#2938)
|
||||
|
||||
## [0.12.1] - 2024-04-03
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- `FinallyClause` won't get visited as `BlockStatement` anymore. (#2881)
|
||||
* ast: `FinallyClause` won't get visited as `BlockStatement` anymore. (#2881)
|
||||
|
||||
## [0.11.0] - 2024-03-30
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Add support for empty module declaration (#2834)
|
||||
* parser: add support for empty module declaration (#2834)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Add walk_mut functions (#2776)
|
||||
- Add walk functions to Visit trait. (#2791)
|
||||
- Get rid of unsafe transmutation in VisitMut trait. (#2764)
|
||||
* ast: add walk_mut functions (#2776)
|
||||
* ast: add walk functions to Visit trait. (#2791)
|
||||
* ast: get rid of unsafe transmutation in VisitMut trait. (#2764)
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
- **BREAKING** ast: rename BigintLiteral to BigIntLiteral (#2659)
|
||||
|
||||
- **BREAKING** parser: drop TSImportEqualsDeclaration.is_export (#2654)
|
||||
|
||||
### Features
|
||||
|
||||
- Merge features `serde` and `wasm` to `serialize` (#2716)
|
||||
- Fill in missing ast visits (#2705)
|
||||
- Handling the coexistence of class decorators and member decorators (#2636)
|
||||
- Print `with_clause` in reexport declaration (#2635)
|
||||
- Remove `From<String>` and `From<Cow>` API because they create memory leak (#2628)
|
||||
* ast: fill in missing ast visits (#2705)
|
||||
* prettier: print `with_clause` in reexport declaration (#2635)
|
||||
* span: remove `From<String>` and `From<Cow>` API because they create memory leak (#2628)
|
||||
* transformer/decorators: handling the coexistence of class decorators and member decorators (#2636)- merge features `serde` and `wasm` to `serialize` (#2716) |
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Serialize empty array elements as null (#2707)
|
||||
- Correct TS type for `ArrayAssignmentTarget` (#2699)
|
||||
- Add `type` field to TS types for `ObjectPattern` etc (#2670)
|
||||
- Fix TS type for `AssignmentTargetRest` (#2668)
|
||||
- Rename `TSIndexSignatureName` in JSON AST (#2664)
|
||||
- Rename BigintLiteral to BigIntLiteral (#2659)
|
||||
- Parse named rest element in type tuple (#2655)
|
||||
- Drop TSImportEqualsDeclaration.is_export (#2654)
|
||||
- Fix serializing rest elements (#2652)
|
||||
- Add `RestElement`s in serialized AST to elements array (#2567)
|
||||
- Parse `with_clause` in re-export declaration (#2634)
|
||||
* ast: serialize empty array elements as null (#2707)
|
||||
* ast: correct TS type for `ArrayAssignmentTarget` (#2699)
|
||||
* ast: add `type` field to TS types for `ObjectPattern` etc (#2670)
|
||||
* ast: fix TS type for `AssignmentTargetRest` (#2668)
|
||||
* ast: rename `TSIndexSignatureName` in JSON AST (#2664)
|
||||
* ast: fix serializing rest elements (#2652)
|
||||
* ast: add `RestElement`s in serialized AST to elements array (#2567)
|
||||
* ast: parse `with_clause` in re-export declaration (#2634)
|
||||
* parser: parse named rest element in type tuple (#2655)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Derive `SerAttrs` on all AST types (#2698)
|
||||
- Refactor `Trivias` API - have less noise around it (#2692)
|
||||
- Reduce `cfg_attr` boilerplate with `SerAttrs` derive (#2669)
|
||||
- Import `Tsify` to shorten code (#2665)
|
||||
- Remove `Serialize` impls for Identifier types (#2651)
|
||||
- "wasm" feature enable "serde" feature (#2639)
|
||||
- Shorten manual TS defs (#2638)
|
||||
* ast: refactor `Trivias` API - have less noise around it (#2692)
|
||||
* ast: import `Tsify` to shorten code (#2665)
|
||||
* ast: remove `Serialize` impls for Identifier types (#2651)
|
||||
* ast: shorten manual TS defs (#2638)- derive `SerAttrs` on all AST types (#2698) |- reduce `cfg_attr` boilerplate with `SerAttrs` derive (#2669) |- "wasm" feature enable "serde" feature (#2639) |
|
||||
|
||||
## [0.9.0] - 2024-03-05
|
||||
|
||||
### Features
|
||||
|
||||
- Serialize `BindingPattern` to estree (#2610)
|
||||
- Serialize identifiers to ESTree (#2521)
|
||||
- Add `AssignmentTargetRest` (#2601)
|
||||
- Add "abstract" type to `MethodDefinition` and `PropertyDefinition` (#2536)
|
||||
- **BREAKING** ast: align TSImportType with ESTree (#2578)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Temporary fix tsify not generating some typings (#2611)
|
||||
- Align TSImportType with ESTree (#2578)
|
||||
- Expose NumericLiteral.raw (#2588)
|
||||
- Parse empty method declaration as TSEmptyBodyFunctionExpression (#2574)
|
||||
- Support TSIndexSignature.readonly (#2579)
|
||||
- Support FormalParameter.override (#2577)
|
||||
- Change TSMappedType.type_annotation from TSTypeAnnotation to TSType (#2571)
|
||||
- Rename serialized fields to camel case (#2566)
|
||||
- Fix getter return rule false positives in TypeScript (#2543)
|
||||
- Missing visit JSXElementName enum (#2547)
|
||||
- Add Function to generated TS types and fix ModifierKind serialization (#2534)
|
||||
- Few serialization issues (#2522)
|
||||
- Incorrect scope for switch statement (#2513)
|
||||
* ast: temporary fix tsify not generating some typings (#2611)
|
||||
* ast: expose NumericLiteral.raw (#2588)
|
||||
* ast: support TSIndexSignature.readonly (#2579)
|
||||
* ast: support FormalParameter.override (#2577)
|
||||
* ast: change TSMappedType.type_annotation from TSTypeAnnotation to TSType (#2571)
|
||||
* ast: rename serialized fields to camel case (#2566)
|
||||
* ast: missing visit JSXElementName enum (#2547)
|
||||
* ast: add Function to generated TS types and fix ModifierKind serialization (#2534)
|
||||
* ast: few serialization issues (#2522)
|
||||
* linter: fix getter return rule false positives in TypeScript (#2543)
|
||||
* parser: parse empty method declaration as TSEmptyBodyFunctionExpression (#2574)
|
||||
* semantic: incorrect scope for switch statement (#2513)
|
||||
|
||||
### Features
|
||||
|
||||
* ast: serialize `BindingPattern` to estree (#2610)
|
||||
* ast: serialize identifiers to ESTree (#2521)
|
||||
* ast: add `AssignmentTargetRest` (#2601)
|
||||
* ast: add "abstract" type to `MethodDefinition` and `PropertyDefinition` (#2536)
|
||||
|
||||
## [0.8.0] - 2024-02-26
|
||||
|
||||
### Refactor
|
||||
|
||||
* ast: remove `TSEnumBody` (#2509)
|
||||
* ast: s/TSThisKeyword/TSThisType to align with estree
|
||||
* ast: s/NumberLiteral/NumericLiteral to align with estree
|
||||
* ast: s/ArrowExpression/ArrowFunctionExpression to align estree
|
||||
* ast: update TSImportType parameter to argument (#2429)
|
||||
|
||||
### Features
|
||||
|
||||
- Update arrow_expression to arrow_function_expression (#2496)
|
||||
- Handle cjs `module.exports = {} as default export (#2493)
|
||||
- Handle cjs `module.exports.foo = bar` and `exports.foo = bar` (#2492)
|
||||
- Add `TSModuleDeclaration.kind` (#2487)
|
||||
- Insert instanceBrand function (#2480)
|
||||
- Parse import attributes in TSImportType (#2436)
|
||||
- Print newlines between array expression elements (#2379)
|
||||
* ast: update arrow_expression to arrow_function_expression (#2496)
|
||||
* ast: add `TSModuleDeclaration.kind` (#2487)
|
||||
* linter: handle cjs `module.exports = {} as default export (#2493)
|
||||
* linter: handle cjs `module.exports.foo = bar` and `exports.foo = bar` (#2492)
|
||||
* parser: parse import attributes in TSImportType (#2436)
|
||||
* prettier: print newlines between array expression elements (#2379)
|
||||
* transformer/decorators: insert instanceBrand function (#2480)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Semi colon after class property (#2387)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove `TSEnumBody` (#2509)
|
||||
- S/TSThisKeyword/TSThisType to align with estree
|
||||
- S/NumberLiteral/NumericLiteral to align with estree
|
||||
- S/ArrowExpression/ArrowFunctionExpression to align estree
|
||||
- Update TSImportType parameter to argument (#2429)
|
||||
* prettier: semi colon after class property (#2387)
|
||||
|
||||
## [0.7.0] - 2024-02-09
|
||||
|
||||
### Features
|
||||
|
||||
- Enter AstKind::ExportDefaultDeclaration, AstKind::ExportNamedDeclaration and AstKind::ExportAllDeclaration (#2317)
|
||||
- Report parameter related errors for setter/getter (#2316)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Format new expession + import expression with the correct parentheses (#2346)
|
||||
- Fix no_dupe_keys false postive on similar key names (#2291)
|
||||
* codegen: format new expession + import expression with the correct parentheses (#2346)
|
||||
* linter: fix no_dupe_keys false postive on similar key names (#2291)
|
||||
|
||||
### Features
|
||||
|
||||
* ast: enter AstKind::ExportDefaultDeclaration, AstKind::ExportNamedDeclaration and AstKind::ExportAllDeclaration (#2317)
|
||||
* semantic: report parameter related errors for setter/getter (#2316)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Fix BigInt memory leak by removing it (#2293)
|
||||
* ast: fix BigInt memory leak by removing it (#2293)
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Features
|
||||
|
||||
- Check optional parameters (#2263)
|
||||
- Remove generator property from ArrowFunction (#2260)
|
||||
- Remove expression property from Function (#2247)
|
||||
- Support for static and private member decorators (#2246)
|
||||
- Support method decorator and is not static (#2238)
|
||||
- Remove serde skip for symbol_id and reference_id (#2220)
|
||||
- TypeScript definition for wasm target (#2158)
|
||||
- Complete AccessorProperty todo in has_decorator (#2178)
|
||||
- Support transform member decorators (#2171)
|
||||
- Cfg prototype (#2019)
|
||||
- Support version 2023-05 (#2152)
|
||||
- Support transform the class decorators in export declaration (#2145)
|
||||
- Add decorators plugin (#2139)
|
||||
- Support transform namespace (#2075)
|
||||
- Remove type-related exports (#2056)
|
||||
- Visit TSTypeQuery (#2021)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- AcessorProperty is missing decorators (#2176)
|
||||
- Fix crash on TSTemplateLiteralType in function return position (#2089)
|
||||
* ast: remove generator property from ArrowFunction (#2260)
|
||||
* ast: remove expression property from Function (#2247)
|
||||
* ast: remove serde skip for symbol_id and reference_id (#2220)
|
||||
* ast: TypeScript definition for wasm target (#2158)
|
||||
* ast: complete AccessorProperty todo in has_decorator (#2178)
|
||||
* ast: visit TSTypeQuery (#2021)
|
||||
* semantic: check optional parameters (#2263)
|
||||
* semantic: cfg prototype (#2019)
|
||||
* transformer: add decorators plugin (#2139)
|
||||
* transformer/decorators: support for static and private member decorators (#2246)
|
||||
* transformer/decorators: support method decorator and is not static (#2238)
|
||||
* transformer/decorators: support transform member decorators (#2171)
|
||||
* transformer/decorators: support version 2023-05 (#2152)
|
||||
* transformer/decorators: support transform the class decorators in export declaration (#2145)
|
||||
* transformer/typescript: support transform namespace (#2075)
|
||||
* transformer/typescript: remove type-related exports (#2056)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Optimizing code with ast.private_field (#2249)
|
||||
- Adding binder for ImportSpecifier replaces the ModuleDeclaration's binder (#2230)
|
||||
- Checking label in ContinueStatement based on LabelBuilder (#2202)
|
||||
- Remove Regex and change error position (#2188)
|
||||
- Improve simple_assignment_target_identifier and simple_assignment_target_member_expression method (#2153)
|
||||
- Rename RestElement to BindingRestElement (#2116)
|
||||
- Add binder for FormalParameters and RestElement, replacing the binder for FormalParameters (#2114)
|
||||
* ast: improve simple_assignment_target_identifier and simple_assignment_target_member_expression method (#2153)
|
||||
* ast: rename RestElement to BindingRestElement (#2116)
|
||||
* linter: remove Regex and change error position (#2188)
|
||||
* semantic: adding binder for ImportSpecifier replaces the ModuleDeclaration's binder (#2230)
|
||||
* semantic: checking label in ContinueStatement based on LabelBuilder (#2202)
|
||||
* semantic: add binder for FormalParameters and RestElement, replacing the binder for FormalParameters (#2114)
|
||||
* transformer/decorators: optimizing code with ast.private_field (#2249)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ast: AcessorProperty is missing decorators (#2176)
|
||||
* parser: fix crash on TSTemplateLiteralType in function return position (#2089)
|
||||
|
||||
## [0.5.0] - 2024-01-12
|
||||
|
||||
### Features
|
||||
|
||||
- Visit TSModuleReference (#1998)
|
||||
- No-irregular-whitespace rule (#1835)
|
||||
- Support eslint/no-unused-private-class-members rule (#1820)
|
||||
- Add ClassTable (#1793)
|
||||
- Enter/leave ClassBody and PrivateInExpression (#1792)
|
||||
- Support visit more jsx ast in visit (#1662)
|
||||
- Print CallExpression arguments correctly (#1631)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Default visitor should visit prop init at `visit_object_property` (#2000)
|
||||
- Implement `GetSpan` for `JSXElement` (#1861)
|
||||
* ast: implement `GetSpan` for `JSXElement` (#1861)- default visitor should visit prop init at `visit_object_property` (#2000) |
|
||||
|
||||
### Features
|
||||
|
||||
* ast: visit TSModuleReference (#1998)
|
||||
* ast: enter/leave ClassBody and PrivateInExpression (#1792)
|
||||
* ast: support visit more jsx ast in visit (#1662)
|
||||
* linter: no-irregular-whitespace rule (#1835)
|
||||
* linter: support eslint/no-unused-private-class-members rule (#1820)
|
||||
* prettier: print CallExpression arguments correctly (#1631)
|
||||
* semantic: add ClassTable (#1793)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove TokenValue::RegExp from `Token` (#1926)
|
||||
- Introduce `ThisParameter` (#1728)
|
||||
* ast: introduce `ThisParameter` (#1728)
|
||||
* parser: remove TokenValue::RegExp from `Token` (#1926)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Features
|
||||
|
||||
- Start on `function_name` transform. (#1510)
|
||||
- Eslint-plugin-unicorn (recommended) prefer-node-protocol (#1618)
|
||||
- Binaryish expressions with parens (#1597)
|
||||
- Check parens for `(let)[a] = 1` (#1585)
|
||||
- Wrap return statements with parentheses (#1583)
|
||||
- Add enter node and scope for `VisitMut` trait (#1570)
|
||||
- TypeScript Enum (#1173)
|
||||
- Eslint-lugin-unicorn no_useless_length_check (#1541)
|
||||
- Implement new proposal-import-attributes (#1476)
|
||||
- Add parens to conditional and arrow expr (#1530)
|
||||
- Improve format of ExportDefaultDeclaration (#1520)
|
||||
- Parse jsdoc on `PropertyDefinition` (#1517)
|
||||
- Turn off preserve_parens and start working on need-parens (#1487)
|
||||
- Add infra for need_parens (#1450)
|
||||
- Print `ExportAllDeclaration` (#1381)
|
||||
- Sort regex flags (#1372)
|
||||
- Print statements with newlines (#1367)
|
||||
- Start formatting `ModuleDeclaration` and `ArrowExpression` (#1354)
|
||||
- Add the basics of comment printing (#1313)
|
||||
- Add to_string function to VariableDelcartionKind (#1303)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Remove debug_assertions from `debug_name`
|
||||
- Disallow ReservedWord in NamedExports (#1230)
|
||||
* ast: add enter node and scope for `VisitMut` trait (#1570)
|
||||
* ast: implement new proposal-import-attributes (#1476)
|
||||
* ast: add to_string function to VariableDelcartionKind (#1303)
|
||||
* ast/semantic: parse jsdoc on `PropertyDefinition` (#1517)
|
||||
* linter: eslint-lugin-unicorn no_useless_length_check (#1541)
|
||||
* pretter: start formatting `ModuleDeclaration` and `ArrowExpression` (#1354)
|
||||
* prettier: binaryish expressions with parens (#1597)
|
||||
* prettier: check parens for `(let)[a] = 1` (#1585)
|
||||
* prettier: wrap return statements with parentheses (#1583)
|
||||
* prettier: add parens to conditional and arrow expr (#1530)
|
||||
* prettier: improve format of ExportDefaultDeclaration (#1520)
|
||||
* prettier: turn off preserve_parens and start working on need-parens (#1487)
|
||||
* prettier: add infra for need_parens (#1450)
|
||||
* prettier: print `ExportAllDeclaration` (#1381)
|
||||
* prettier: sort regex flags (#1372)
|
||||
* prettier: print statements with newlines (#1367)
|
||||
* prettier: add the basics of comment printing (#1313)
|
||||
* transform: TypeScript Enum (#1173)
|
||||
* transformer: Start on `function_name` transform. (#1510)- eslint-plugin-unicorn (recommended) prefer-node-protocol (#1618) |
|
||||
|
||||
### Refactor
|
||||
|
||||
- Clean up object::print_object_properties (#1573)
|
||||
- Move to workspace lint table (#1444)
|
||||
- VariableDeclarationKind::to_string -> as_str (#1321)
|
||||
* ast: VariableDeclarationKind::to_string -> as_str (#1321)
|
||||
* prettier: clean up object::print_object_properties (#1573)
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ast: remove debug_assertions from `debug_name`
|
||||
* parser: Disallow ReservedWord in NamedExports (#1230)
|
||||
|
||||
## [0.3.0] - 2023-11-06
|
||||
|
||||
### Features
|
||||
|
||||
- Read comment pragma @jsxRuntime classic / automatic (#1133)
|
||||
- Implement more of react transform attributes (#1081)
|
||||
- Implement key extraction for react automatic (#1077)
|
||||
- Implement react get_attribute_name (#1076)
|
||||
- Start implementing react jsx transform (#1057)
|
||||
- Implement some of needs_explicit_esm for typescript (#1047)
|
||||
- Eslint/no-fallthrough (nursery)
|
||||
- Add utils to make logical_assignment_operators pass (#1017)
|
||||
- ES2020 Nullish Coalescing Operator (#1004)
|
||||
- Finish 2016 exponentiation operator (#996)
|
||||
- Beauty class print (#995)
|
||||
- Check non-simple lhs expression of assignment expression (#994)
|
||||
- Implement the basics of non-minifying codegen (#987)
|
||||
- Re-enable mangler (#972)
|
||||
- Enter/leave scopes in Visit
|
||||
- Partially re-enable minifier (#963)
|
||||
- Class Static Block (#962)
|
||||
- Shorthand Properties (#960)
|
||||
- TypeScript 5.2 (#811)
|
||||
- Logical assignment operators (#923)
|
||||
- Transformer prototype (#918)
|
||||
* ast: enter/leave scopes in Visit
|
||||
* codegen: beauty class print (#995)
|
||||
* codegen: implement the basics of non-minifying codegen (#987)
|
||||
* linter: eslint/no-fallthrough (nursery)
|
||||
* minifier: re-enable mangler (#972)
|
||||
* minifier: partially re-enable minifier (#963)
|
||||
* parser: TypeScript 5.2 (#811)
|
||||
* semantic: check non-simple lhs expression of assignment expression (#994)
|
||||
* transformer: implement more of react transform attributes (#1081)
|
||||
* transformer: implement key extraction for react automatic (#1077)
|
||||
* transformer: implement react get_attribute_name (#1076)
|
||||
* transformer: start implementing react jsx transform (#1057)
|
||||
* transformer: implement some of needs_explicit_esm for typescript (#1047)
|
||||
* transformer: add utils to make logical_assignment_operators pass (#1017)
|
||||
* transformer: ES2020 Nullish Coalescing Operator (#1004)
|
||||
* transformer: finish 2016 exponentiation operator (#996)
|
||||
* transformer: Class Static Block (#962)
|
||||
* transformer: Shorthand Properties (#960)
|
||||
* transformer: logical assignment operators (#923)
|
||||
* transformer: transformer prototype (#918)
|
||||
* transformer/react: read comment pragma @jsxRuntime classic / automatic (#1133)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Revert changes to JSX attribute strings (#1101)
|
||||
- Jsx attribute value and text child should be jsx string (#1089)
|
||||
- Fix some typescript codegen problems (#989)
|
||||
- Ts parsing error (#940)
|
||||
* ast: jsx attribute value and text child should be jsx string (#1089)
|
||||
* codegen: fix some typescript codegen problems (#989)
|
||||
* linter: revert changes to JSX attribute strings (#1101)- ts parsing error (#940) |
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove returning None from transform functions (#1079)
|
||||
- Split syntax_directed_operations into separate files
|
||||
- Allow clippy::too_many_lines
|
||||
- Allow struct_excessive_bools
|
||||
- Clean up some methods
|
||||
- Fix the lifetime annotations around Vist and VisitMut (#973)
|
||||
- Change the arguments order for some `new` functions
|
||||
* ast: split syntax_directed_operations into separate files
|
||||
* ast: clean up some methods
|
||||
* ast: fix the lifetime annotations around Vist and VisitMut (#973)
|
||||
* ast: change the arguments order for some `new` functions
|
||||
* clippy: allow clippy::too_many_lines
|
||||
* clippy: allow struct_excessive_bools
|
||||
* transformer: remove returning None from transform functions (#1079)
|
||||
|
||||
## [0.2.0] - 2023-09-14
|
||||
|
||||
### Features
|
||||
|
||||
- Add to ChainExpression and ExpressionArrayElement to ASTKind (#785)
|
||||
- Add `SymbolId` and `ReferenceId` (#755)
|
||||
- AstKind::debug_name() (#665)
|
||||
|
||||
### Performance
|
||||
|
||||
- Lazily build trivia map instead of build in-place (#903)
|
||||
- Reduce mallocs (#654)
|
||||
* linter: reduce mallocs (#654)
|
||||
* parser: lazily build trivia map instead of build in-place (#903)
|
||||
|
||||
### Documentation
|
||||
### Features
|
||||
|
||||
- Document why Directive.directive is a raw string
|
||||
* ast: Add to ChainExpression and ExpressionArrayElement to ASTKind (#785)
|
||||
* ast: add `SymbolId` and `ReferenceId` (#755)
|
||||
* ast: AstKind::debug_name() (#665)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Improve code coverage in various places (#721)
|
||||
- Use `atom` for `Directive` and `Hashbang` (#701)
|
||||
* ast: use `atom` for `Directive` and `Hashbang` (#701)- improve code coverage in various places (#721) |
|
||||
|
||||
### Documentation
|
||||
|
||||
* ast: document why Directive.directive is a raw string
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Features
|
||||
|
||||
* transform: `oxc_traverse` crate (#3169)
|
||||
|
||||
+107
-116
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,230 +9,221 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Refactor
|
||||
|
||||
- Reduce allocation for print_unquoted_str (#3525)
|
||||
* codegen: reduce allocation for print_unquoted_str (#3525)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Should be double quote for jsx attribute value (#3516)
|
||||
- Wrong escape string (#3514)
|
||||
* codegen: should be double quote for jsx attribute value (#3516)
|
||||
* codegen: wrong escape string (#3514)
|
||||
|
||||
## [0.13.2] - 2024-06-03
|
||||
|
||||
### Features
|
||||
|
||||
- Preserve annotate comment (#3465)
|
||||
* oxc_codegen: preserve annotate comment (#3465)
|
||||
|
||||
## [0.13.1] - 2024-05-22
|
||||
|
||||
### Features
|
||||
|
||||
- Export `is_reserved_keyword` and `is_global_object` method (#3384)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Using declaration in for statement (#3285)
|
||||
* syntax: export `is_reserved_keyword` and `is_global_object` method (#3384)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Using binary search to search original position (#3360)
|
||||
- Start porting arrow function parsing from tsc (#3340)
|
||||
* parser: start porting arrow function parsing from tsc (#3340)
|
||||
* sourcemap: using binary search to search original position (#3360)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* codegen: using declaration in for statement (#3285)
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Features
|
||||
|
||||
- Add type to AccessorProperty to support TSAbractAccessorProperty (#3256)
|
||||
* ast: add type to AccessorProperty to support TSAbractAccessorProperty (#3256)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Correctly parse cls.fn<C> = x (#3208)
|
||||
* parser: correctly parse cls.fn<C> = x (#3208)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move number related functions to number module (#3130)
|
||||
- Squash nested enums (#3115)
|
||||
- Remove duplicate `TSNamedTupleMember` representation (#3101)
|
||||
* ast: squash nested enums (#3115)
|
||||
* ast: remove duplicate `TSNamedTupleMember` representation (#3101)
|
||||
* syntax: move number related functions to number module (#3130)
|
||||
|
||||
## [0.12.5] - 2024-04-22
|
||||
|
||||
### Features
|
||||
|
||||
- Add `CatchParameter` node (#3049)
|
||||
* ast: add `CatchParameter` node (#3049)
|
||||
|
||||
## [0.12.4] - 2024-04-19
|
||||
|
||||
### Features
|
||||
|
||||
- Correctly print type-only imports/exports (#2993)
|
||||
* codegen: correctly print type-only imports/exports (#2993)
|
||||
|
||||
## [0.11.2] - 2024-04-03
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- avoid unsafe code search original name (#2895)
|
||||
|
||||
## [0.11.1] - 2024-04-03
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Using serde_json::to_string to quote sourcemap string (#2889)
|
||||
## [0.12.1] - 2024-04-03
|
||||
|
||||
### Refactor
|
||||
|
||||
- Make codegen sourcemap builder clearer (#2894)
|
||||
* codegen: make codegen sourcemap builder clearer (#2894)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* sourcemap: using serde_json::to_string to quote sourcemap string (#2889)
|
||||
|
||||
## [0.11.0] - 2024-03-30
|
||||
|
||||
### Features
|
||||
|
||||
- Add oxc sourcemap crate (#2825)
|
||||
- Numeric separator plugin. (#2795)
|
||||
- SourcemapVisualizer (#2773)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Sourcemap token name should be original name (#2843)
|
||||
- Add support for empty module declaration (#2834)
|
||||
* codegen: sourcemap token name should be original name (#2843)
|
||||
* parser: add support for empty module declaration (#2834)
|
||||
|
||||
### Performance
|
||||
### Features
|
||||
|
||||
- Remove unnecessary binary search (#2728)
|
||||
- Avoid unnecessary copy (#2727)
|
||||
* transformer: numeric separator plugin. (#2795)- add oxc sourcemap crate (#2825) |- SourcemapVisualizer (#2773) |
|
||||
|
||||
### Refactor
|
||||
|
||||
- Change sourcemap name to take a reference (#2779)
|
||||
* sourcemap: change sourcemap name to take a reference (#2779)
|
||||
|
||||
### Performance
|
||||
|
||||
* codegen: avoid unnecessary copy (#2727)
|
||||
* sourcemap: remove unnecessary binary search (#2728)
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
- **BREAKING** ast: rename BigintLiteral to BigIntLiteral (#2659)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- `CallExpression` sourcemap (#2717)
|
||||
- Rename BigintLiteral to BigIntLiteral (#2659)
|
||||
- Parse named rest element in type tuple (#2655)
|
||||
* codegen: `CallExpression` sourcemap (#2717)
|
||||
* parser: parse named rest element in type tuple (#2655)
|
||||
|
||||
## [0.9.0] - 2024-03-05
|
||||
|
||||
- **BREAKING** ast: align TSImportType with ESTree (#2578)
|
||||
|
||||
### Refactor
|
||||
|
||||
* codegen: clean up API around building sourcemaps (#2602)
|
||||
|
||||
### Features
|
||||
|
||||
- Add `AssignmentTargetRest` (#2601)
|
||||
- Add sourcemap (#2565)
|
||||
- Add "abstract" type to `MethodDefinition` and `PropertyDefinition` (#2536)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix adding mapping to sourcemaps (#2590)
|
||||
- Align TSImportType with ESTree (#2578)
|
||||
- Correct sourcemaps when Windows line breaks + unicode (#2584)
|
||||
- Correct sourcemaps when unicode chars (#2583)
|
||||
* ast: add `AssignmentTargetRest` (#2601)
|
||||
* ast: add "abstract" type to `MethodDefinition` and `PropertyDefinition` (#2536)
|
||||
* codegen: add sourcemap (#2565)
|
||||
|
||||
### Performance
|
||||
|
||||
- Speed up generating sourcemap mappings (#2597)
|
||||
- Speed up building sourcemap line tables (#2591)
|
||||
* codegen: speed up generating sourcemap mappings (#2597)
|
||||
* codegen: speed up building sourcemap line tables (#2591)
|
||||
|
||||
### Refactor
|
||||
### Bug Fixes
|
||||
|
||||
- Clean up API around building sourcemaps (#2602)
|
||||
* codegen: fix adding mapping to sourcemaps (#2590)
|
||||
* codegen: correct sourcemaps when Windows line breaks + unicode (#2584)
|
||||
* codegen: correct sourcemaps when unicode chars (#2583)
|
||||
|
||||
## [0.8.0] - 2024-02-26
|
||||
|
||||
### Features
|
||||
|
||||
- Improve codegen (#2460)
|
||||
- Configurable typescript codegen (#2443)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Remove redundant semicolon in PropertyDefinition (#2511)
|
||||
- When `async` is on the left-hand side of a for-of, wrap it in parentheses (#2407)
|
||||
- Lower the level of precedence in TaggedTemplateExpression (#2391)
|
||||
* codegen: remove redundant semicolon in PropertyDefinition (#2511)
|
||||
* codegen: when `async` is on the left-hand side of a for-of, wrap it in parentheses (#2407)
|
||||
* codegen: lower the level of precedence in TaggedTemplateExpression (#2391)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove `TSEnumBody` (#2509)
|
||||
- S/TSThisKeyword/TSThisType to align with estree
|
||||
- S/NumberLiteral/NumericLiteral to align with estree
|
||||
- S/ArrowExpression/ArrowFunctionExpression to align estree
|
||||
- Remove `panic!` from examples (#2454)
|
||||
* ast: remove `TSEnumBody` (#2509)
|
||||
* ast: s/TSThisKeyword/TSThisType to align with estree
|
||||
* ast: s/NumberLiteral/NumericLiteral to align with estree
|
||||
* ast: s/ArrowExpression/ArrowFunctionExpression to align estree- remove `panic!` from examples (#2454) |
|
||||
|
||||
### Features
|
||||
|
||||
* Codegen: Improve codegen (#2460)
|
||||
* codegen: configurable typescript codegen (#2443)
|
||||
|
||||
## [0.7.0] - 2024-02-09
|
||||
|
||||
### Features
|
||||
|
||||
- Avoid printing comma in ArrayAssignmentTarget if the elements is empty (#2331)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Format new expession + import expression with the correct parentheses (#2346)
|
||||
- Format new expression + call expression with the correct parentheses (#2330)
|
||||
* codegen: format new expession + import expression with the correct parentheses (#2346)
|
||||
* codegen: format new expression + call expression with the correct parentheses (#2330)
|
||||
|
||||
### Features
|
||||
|
||||
* codegen: avoid printing comma in ArrayAssignmentTarget if the elements is empty (#2331)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Fix BigInt memory leak by removing it (#2293)
|
||||
* ast: fix BigInt memory leak by removing it (#2293)
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Features
|
||||
|
||||
- Keep shorthand in ObjectPattern and ObjectProperty (#2265)
|
||||
- Change back to read raw (#2222)
|
||||
- Print TemplateLiteral with `print_str` (#2207)
|
||||
- Move string test to codegen (#2150)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Print space before with clause in import (#2278)
|
||||
- Print necessary spaces for `ExportAllDeclaration` (#2190)
|
||||
- Print `Directive` original string (#2157)
|
||||
- Add parenthesis in binary expression by precedence (#2067)
|
||||
* codegen: print space before with clause in import (#2278)
|
||||
* codegen: print necessary spaces for `ExportAllDeclaration` (#2190)
|
||||
* codegen: print `Directive` original string (#2157)
|
||||
* codegen: add parenthesis in binary expression by precedence (#2067)
|
||||
|
||||
### Features
|
||||
|
||||
* codegen: keep shorthand in ObjectPattern and ObjectProperty (#2265)
|
||||
* codegen: change back to read raw (#2222)
|
||||
* codegen: print TemplateLiteral with `print_str` (#2207)
|
||||
* codegen: move string test to codegen (#2150)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Rename RestElement to BindingRestElement (#2116)
|
||||
* ast: rename RestElement to BindingRestElement (#2116)
|
||||
|
||||
## [0.5.0] - 2024-01-12
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove oxc_formatter (#1968)
|
||||
* formatter,linter,codegen: remove oxc_formatter (#1968)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Features
|
||||
|
||||
- Implement new proposal-import-attributes (#1476)
|
||||
* ast: implement new proposal-import-attributes (#1476)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move to workspace lint table (#1444)
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
## [0.3.0] - 2023-11-06
|
||||
|
||||
### Features
|
||||
|
||||
- Indent inner class (#1085)
|
||||
- Implement some of jsx decode entities (#1086)
|
||||
- Support filter exec snap (#1084)
|
||||
- Implement some of needs_explicit_esm for typescript (#1047)
|
||||
- Json strings proposal (#1039)
|
||||
- Add utils to make logical_assignment_operators pass (#1017)
|
||||
- ES2020 Nullish Coalescing Operator (#1004)
|
||||
- Adjust the order of print semicolon (#1003)
|
||||
- Beauty class print (#995)
|
||||
- Add transform and minify (#993)
|
||||
- Implement the basics of non-minifying codegen (#987)
|
||||
- Move minifying printer to codegen crate (#985)
|
||||
- Initialize the codegen crate and struct (#983)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Revert changes to JSX attribute strings (#1101)
|
||||
- Jsx attribute value and text child should be jsx string (#1089)
|
||||
- Fix some typescript codegen problems (#989)
|
||||
* ast: jsx attribute value and text child should be jsx string (#1089)
|
||||
* codegen: fix some typescript codegen problems (#989)
|
||||
* linter: revert changes to JSX attribute strings (#1101)
|
||||
|
||||
### Features
|
||||
|
||||
* codegen: indent inner class (#1085)
|
||||
* codegen: json strings proposal (#1039)
|
||||
* codegen: beauty class print (#995)
|
||||
* codegen: implement the basics of non-minifying codegen (#987)
|
||||
* codegen: move minifying printer to codegen crate (#985)
|
||||
* codegen: initialize the codegen crate and struct (#983)
|
||||
* playground: add transform and minify (#993)
|
||||
* transformer: implement some of jsx decode entities (#1086)
|
||||
* transformer: implement some of needs_explicit_esm for typescript (#1047)
|
||||
* transformer: add utils to make logical_assignment_operators pass (#1017)
|
||||
* transformer: ES2020 Nullish Coalescing Operator (#1004)- support filter exec snap (#1084) |- adjust the order of print semicolon (#1003) |
|
||||
|
||||
### Refactor
|
||||
|
||||
- Change `RefCell.clone().into_inner()` to `RefCell.get()`
|
||||
- Make the minifier api only accept an ast (#990)
|
||||
* minifier: make the minifier api only accept an ast (#990)
|
||||
* rust: change `RefCell.clone().into_inner()` to `RefCell.get()`
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,85 +9,82 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Features
|
||||
|
||||
- Add `--silent` to disable all diagnostics printing (#3338)
|
||||
* cli: add `--silent` to disable all diagnostics printing (#3338)
|
||||
|
||||
### Refactor
|
||||
|
||||
- S/warning/warn
|
||||
* diagnostics: s/warning/warn
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Features
|
||||
### Refactor
|
||||
|
||||
- Add `--format github` for github check annotation (#3191)
|
||||
* diagnostics: remove export of `miette`
|
||||
* diagnostics: remove thiserror
|
||||
* diagnostics: s/OxcDiagnostic::new/OxcDiagnostic::error
|
||||
* diagnostics: use a trait to implement the reporters (#3190)
|
||||
* linter,diagnostic: one diagnostic struct to eliminate monomorphization of generic types (#3235)
|
||||
* parser,diagnostic: one diagnostic struct to eliminate monomorphization of generic types (#3214)- clean up more diagnostics usages |
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Need to escape strings for --format github
|
||||
* diagnostics: need to escape strings for --format github
|
||||
|
||||
### Refactor
|
||||
### Features
|
||||
|
||||
- Clean up more diagnostics usages
|
||||
- Remove export of `miette`
|
||||
- Remove thiserror
|
||||
- S/OxcDiagnostic::new/OxcDiagnostic::error
|
||||
- One diagnostic struct to eliminate monomorphization of generic types (#3235)
|
||||
- One diagnostic struct to eliminate monomorphization of generic types (#3214)
|
||||
- Use a trait to implement the reporters (#3190)
|
||||
* linter: add `--format github` for github check annotation (#3191)
|
||||
|
||||
## [0.12.5] - 2024-04-22
|
||||
|
||||
### Features
|
||||
|
||||
- Implement `--format checkstyle` (#3044)
|
||||
- Implement `--format unix` (#3039)
|
||||
* cli: implement `--format checkstyle` (#3044)
|
||||
* cli: implement `--format unix` (#3039)
|
||||
|
||||
## [0.12.3] - 2024-04-11
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- If format is json do not print summary information (#2899) (#2925)
|
||||
* cli: if format is json do not print summary information (#2899) (#2925)
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
### Features
|
||||
|
||||
- Miette v7 (#2465)
|
||||
- miette v7 (#2465) |
|
||||
|
||||
## [0.8.0] - 2024-02-26
|
||||
|
||||
### Features
|
||||
|
||||
- Implement json reporter (#2452)
|
||||
- Add json reporter (#2451)
|
||||
* cli,diagnostics: add json reporter (#2451)
|
||||
* diagnostics: implement json reporter (#2452)
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move all miette usages to `oxc_diagnostics`
|
||||
- move all miette usages to `oxc_diagnostics` |
|
||||
|
||||
## [0.5.0] - 2024-01-12
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Always print without considering the `--max-warnings` option (#1996)
|
||||
* diagnostics: always print without considering the `--max-warnings` option (#1996)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move to workspace lint table (#1444)
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
## [0.2.0] - 2023-09-14
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Use one version of `textwrap`
|
||||
- Fix race condition when resolving paths
|
||||
* cli: fix race condition when resolving paths
|
||||
* deps: use one version of `textwrap`
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move path processing logic from cli to linter (#766)
|
||||
- Implement DiagnosticService (#762)
|
||||
* cli,diagnostics: implement DiagnosticService (#762)
|
||||
* cli,linter: move path processing logic from cli to linter (#766)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,23 +9,22 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Add `example_generated` to create the docs. (#3106)
|
||||
* index: add `example_generated` to create the docs. (#3106)
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
### Features
|
||||
|
||||
- Merge features `serde` and `wasm` to `serialize` (#2716)
|
||||
- merge features `serde` and `wasm` to `serialize` (#2716) |
|
||||
|
||||
## [0.5.0] - 2024-01-12
|
||||
|
||||
### Features
|
||||
|
||||
- Visualize symbol (#1886)
|
||||
* playground: visualize symbol (#1886)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move to workspace lint table (#1444)
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,123 +9,117 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Features
|
||||
|
||||
- Preserve annotate comment (#3465)
|
||||
* oxc_codegen: preserve annotate comment (#3465)
|
||||
|
||||
## [0.13.1] - 2024-05-22
|
||||
|
||||
### Features
|
||||
|
||||
- Export `is_reserved_keyword` and `is_global_object` method (#3384)
|
||||
* syntax: export `is_reserved_keyword` and `is_global_object` method (#3384)
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move number related functions to number module (#3130)
|
||||
- Squash nested enums (#3115)
|
||||
* ast: squash nested enums (#3115)
|
||||
* syntax: move number related functions to number module (#3130)
|
||||
|
||||
## [0.11.0] - 2024-03-30
|
||||
|
||||
### Refactor
|
||||
|
||||
- Add walk_mut functions (#2776)
|
||||
- Change sourcemap name to take a reference (#2779)
|
||||
* ast: add walk_mut functions (#2776)
|
||||
* sourcemap: change sourcemap name to take a reference (#2779)
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
### Refactor
|
||||
- remove unused dependencies (#2718) |- make `CompactStr` immutable (#2620) |- rename `CompactString` to `CompactStr` (#2619) |
|
||||
|
||||
### Features
|
||||
|
||||
- Remove `From<String>` and `From<Cow>` API because they create memory leak (#2628)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove unused dependencies (#2718)
|
||||
- Make `CompactStr` immutable (#2620)
|
||||
- Rename `CompactString` to `CompactStr` (#2619)
|
||||
* span: remove `From<String>` and `From<Cow>` API because they create memory leak (#2628)
|
||||
|
||||
## [0.9.0] - 2024-03-05
|
||||
|
||||
### Refactor
|
||||
|
||||
- Clean up API around building sourcemaps (#2602)
|
||||
- Move base54 method to mangler (#2523)
|
||||
* codegen: clean up API around building sourcemaps (#2602)
|
||||
* span: move base54 method to mangler (#2523)
|
||||
|
||||
## [0.8.0] - 2024-02-26
|
||||
|
||||
### Features
|
||||
|
||||
- Improve codegen (#2460)
|
||||
- Configurable typescript codegen (#2443)
|
||||
|
||||
### Refactor
|
||||
|
||||
- S/NumberLiteral/NumericLiteral to align with estree
|
||||
- S/ArrowExpression/ArrowFunctionExpression to align estree
|
||||
- Remove `panic!` from examples (#2454)
|
||||
- Remove global allocator from non-user facing apps (#2401)
|
||||
* ast: s/NumberLiteral/NumericLiteral to align with estree
|
||||
* ast: s/ArrowExpression/ArrowFunctionExpression to align estree- remove `panic!` from examples (#2454) |- remove global allocator from non-user facing apps (#2401) |
|
||||
|
||||
### Features
|
||||
|
||||
* Codegen: Improve codegen (#2460)
|
||||
* codegen: configurable typescript codegen (#2443)
|
||||
|
||||
## [0.7.0] - 2024-02-09
|
||||
|
||||
### Refactor
|
||||
|
||||
- Fix BigInt memory leak by removing it (#2293)
|
||||
* ast: fix BigInt memory leak by removing it (#2293)
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Features
|
||||
|
||||
- Move string test to codegen (#2150)
|
||||
- Handle more expressions for side effects (#2062)
|
||||
* codegen: move string test to codegen (#2150)
|
||||
* minifier: handle more expressions for side effects (#2062)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Add parenthesis in binary expression by precedence (#2067)
|
||||
* codegen: add parenthesis in binary expression by precedence (#2067)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Features
|
||||
|
||||
- Support scope descendents starting from a certain scope. (#1629)
|
||||
* semantic: support scope descendents starting from a certain scope. (#1629)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move to workspace lint table (#1444)
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
## [0.3.0] - 2023-11-06
|
||||
|
||||
### Features
|
||||
|
||||
- ES2020 Nullish Coalescing Operator (#1004)
|
||||
- Adjust the order of print semicolon (#1003)
|
||||
- Finish 2016 exponentiation operator (#996)
|
||||
- Add transform and minify (#993)
|
||||
- Implement the basics of non-minifying codegen (#987)
|
||||
- Move Formatter to codegen (#986)
|
||||
- Move minifying printer to codegen crate (#985)
|
||||
- Re-enable mangler (#972)
|
||||
- Reenable minifier tests (#969)
|
||||
- Reenable mangler
|
||||
- Partially re-enable minifier (#963)
|
||||
- TypeScript 5.2 (#811)
|
||||
* codegen: implement the basics of non-minifying codegen (#987)
|
||||
* codegen: move minifying printer to codegen crate (#985)
|
||||
* minifier: re-enable mangler (#972)
|
||||
* minifier: reenable minifier tests (#969)
|
||||
* minifier: reenable mangler
|
||||
* minifier: partially re-enable minifier (#963)
|
||||
* parser: TypeScript 5.2 (#811)
|
||||
* playground: add transform and minify (#993)
|
||||
* transform_conformance: move Formatter to codegen (#986)
|
||||
* transformer: ES2020 Nullish Coalescing Operator (#1004)
|
||||
* transformer: finish 2016 exponentiation operator (#996)- adjust the order of print semicolon (#1003) |
|
||||
|
||||
### Refactor
|
||||
|
||||
- Allow clippy::too_many_lines
|
||||
- Allow struct_excessive_bools
|
||||
- Change `RefCell.clone().into_inner()` to `RefCell.get()`
|
||||
- Clean up some methods
|
||||
- Make the minifier api only accept an ast (#990)
|
||||
- Fix the lifetime annotations around Vist and VisitMut (#973)
|
||||
* ast: clean up some methods
|
||||
* ast: fix the lifetime annotations around Vist and VisitMut (#973)
|
||||
* clippy: allow clippy::too_many_lines
|
||||
* clippy: allow struct_excessive_bools
|
||||
* minifier: make the minifier api only accept an ast (#990)
|
||||
* rust: change `RefCell.clone().into_inner()` to `RefCell.get()`
|
||||
|
||||
## [0.2.0] - 2023-09-14
|
||||
|
||||
### Features
|
||||
|
||||
- Constant addition expression folding (#882)
|
||||
- Add `node_id` to `Reference` (#689)
|
||||
- Initialize conditions folding (#658)
|
||||
* minifier: constant addition expression folding (#882)
|
||||
* minifier: initialize conditions folding (#658)
|
||||
* semantic: add `node_id` to `Reference` (#689)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Use `atom` for `Directive` and `Hashbang` (#701)
|
||||
* ast: use `atom` for `Directive` and `Hashbang` (#701)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,5 +9,18 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Should parser error when function declaration has no name (#3461)
|
||||
* parser: should parser error when function declaration has no name (#3461)
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Refactor
|
||||
|
||||
* ast: squash nested enums (#3115)
|
||||
|
||||
## [0.11.0] - 2024-03-30
|
||||
|
||||
### Refactor
|
||||
|
||||
* ast: add walk_mut functions (#2776)
|
||||
* ast: add walk functions to Visit trait. (#2791)
|
||||
|
||||
+228
-233
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,358 +9,353 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Should parser error when function declaration has no name (#3461)
|
||||
- Parse const extends in arrow functions correctly (#3450)
|
||||
- Fix lexer error while parsing parenthesized arrow expressions (#3400)
|
||||
* parser: should parser error when function declaration has no name (#3461)
|
||||
* parser: parse const extends in arrow functions correctly (#3450)
|
||||
* parser: fix lexer error while parsing parenthesized arrow expressions (#3400)
|
||||
|
||||
## [0.13.1] - 2024-05-22
|
||||
|
||||
### Performance
|
||||
|
||||
- More efficient number parsing (#3342)
|
||||
- Use `FxHashSet` for `not_parenthesized_arrow` (#3344)
|
||||
- Use bitshifting when parsing known integers (#3296)
|
||||
- Dedupe numeric separator check (#3283)
|
||||
* lexer: use bitshifting when parsing known integers (#3296)
|
||||
* lexer: dedupe numeric separator check (#3283)
|
||||
* parser: more efficient number parsing (#3342)
|
||||
* parser: use `FxHashSet` for `not_parenthesized_arrow` (#3344)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Improve expression parsing (#3352)
|
||||
- Improve `parse_simple_arrow_function_expression` (#3349)
|
||||
- Clean up `ParserState` (#3345)
|
||||
- Improve is_parenthesized_arrow_function_expression (#3343)
|
||||
- Move some structs to js module (#3341)
|
||||
- Start porting arrow function parsing from tsc (#3340)
|
||||
* paresr: move some structs to js module (#3341)
|
||||
* parser: improve expression parsing (#3352)
|
||||
* parser: improve `parse_simple_arrow_function_expression` (#3349)
|
||||
* parser: clean up `ParserState` (#3345)
|
||||
* parser: improve is_parenthesized_arrow_function_expression (#3343)
|
||||
* parser: start porting arrow function parsing from tsc (#3340)
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Features
|
||||
### Refactor
|
||||
|
||||
- Add type to AccessorProperty to support TSAbractAccessorProperty (#3256)
|
||||
* ast: squash nested enums (#3115)
|
||||
* ast: remove duplicate `TSNamedTupleMember` representation (#3101)
|
||||
* ast: add array element `Elision` type (#3074)
|
||||
* diagnostics: s/OxcDiagnostic::new/OxcDiagnostic::error
|
||||
* parser: simplify `Context` passing (#3266)
|
||||
* parser,diagnostic: one diagnostic struct to eliminate monomorphization of generic types (#3214)
|
||||
* syntax: move number related functions to number module (#3130)- run fmt |
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Parse `DecoratorCallExpression` when `Arguments` contains `MemberExpression` (#3265)
|
||||
- Correctly parse cls.fn<C> = x (#3208)
|
||||
* parser: parse `DecoratorCallExpression` when `Arguments` contains `MemberExpression` (#3265)
|
||||
* parser: correctly parse cls.fn<C> = x (#3208)
|
||||
|
||||
### Features
|
||||
|
||||
* ast: add type to AccessorProperty to support TSAbractAccessorProperty (#3256)
|
||||
|
||||
### Performance
|
||||
|
||||
- Improve comment building performance by using a vec instead of btreemap (#3186)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Simplify `Context` passing (#3266)
|
||||
- Run fmt
|
||||
- S/OxcDiagnostic::new/OxcDiagnostic::error
|
||||
- One diagnostic struct to eliminate monomorphization of generic types (#3214)
|
||||
- Move number related functions to number module (#3130)
|
||||
- Squash nested enums (#3115)
|
||||
- Remove duplicate `TSNamedTupleMember` representation (#3101)
|
||||
- Add array element `Elision` type (#3074)
|
||||
* lexer: improve comment building performance by using a vec instead of btreemap (#3186)
|
||||
|
||||
## [0.12.5] - 2024-04-22
|
||||
|
||||
### Performance
|
||||
|
||||
* ast: box typescript enum variants. (#3065)
|
||||
* ast: box enum variants (#3058)
|
||||
* ast: box `ImportDeclarationSpecifier` enum variants (#3061)
|
||||
* ast: reduce indirection in AST types (#3051)
|
||||
|
||||
### Features
|
||||
|
||||
- Add `CatchParameter` node (#3049)
|
||||
* ast: add `CatchParameter` node (#3049)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix comment typos (#3036)
|
||||
|
||||
### Performance
|
||||
|
||||
- Box typescript enum variants. (#3065)
|
||||
- Box enum variants (#3058)
|
||||
- Box `ImportDeclarationSpecifier` enum variants (#3061)
|
||||
- Reduce indirection in AST types (#3051)
|
||||
* parser: fix comment typos (#3036)
|
||||
|
||||
## [0.12.3] - 2024-04-11
|
||||
|
||||
### Refactor
|
||||
|
||||
- Clean up the ts type visit methods
|
||||
* ast: clean up the ts type visit methods
|
||||
|
||||
## [0.11.0] - 2024-03-30
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Add support for empty module declaration (#2834)
|
||||
- Fix failed to parse `JSXChild` after `JSXEmptyExpression` (#2726)
|
||||
|
||||
### Performance
|
||||
|
||||
- Faster lexing JSX identifiers (#2557)
|
||||
* parser: add support for empty module declaration (#2834)
|
||||
* parser: fix failed to parse `JSXChild` after `JSXEmptyExpression` (#2726)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Add walk_mut functions (#2776)
|
||||
- Add walk functions to Visit trait. (#2791)
|
||||
* ast: add walk_mut functions (#2776)
|
||||
* ast: add walk functions to Visit trait. (#2791)
|
||||
|
||||
### Performance
|
||||
|
||||
* parser: faster lexing JSX identifiers (#2557)
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
- **BREAKING** ast: rename BigintLiteral to BigIntLiteral (#2659)
|
||||
|
||||
- **BREAKING** parser: drop TSImportEqualsDeclaration.is_export (#2654)
|
||||
|
||||
### Features
|
||||
|
||||
- Merge features `serde` and `wasm` to `serialize` (#2716)
|
||||
- Miette v7 (#2465)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Remove all duplicated comments in trivia builder (#2689)
|
||||
- Improve lexing of jsx identifier to fix duplicated comments after jsx name (#2687)
|
||||
- Parse rest parameter with the correct optional and type annotation syntax (#2686)
|
||||
- Fix span for JSXEmptyExpression with comment (#2673)
|
||||
- Fix span start for return type in function type (#2660)
|
||||
- Rename BigintLiteral to BigIntLiteral (#2659)
|
||||
- Parse named rest element in type tuple (#2655)
|
||||
- Drop TSImportEqualsDeclaration.is_export (#2654)
|
||||
- Parse `with_clause` in re-export declaration (#2634)
|
||||
- merge features `serde` and `wasm` to `serialize` (#2716) |- miette v7 (#2465) |
|
||||
|
||||
### Refactor
|
||||
|
||||
- Refactor `Trivias` API - have less noise around it (#2692)
|
||||
- Improve parsing of `BindingPattern` in TypeScript (#2624)
|
||||
- Rename `CompactString` to `CompactStr` (#2619)
|
||||
* ast: refactor `Trivias` API - have less noise around it (#2692)
|
||||
* parser: improve parsing of `BindingPattern` in TypeScript (#2624)- rename `CompactString` to `CompactStr` (#2619) |
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ast: parse rest parameter with the correct optional and type annotation syntax (#2686)
|
||||
* ast: parse `with_clause` in re-export declaration (#2634)
|
||||
* parser: remove all duplicated comments in trivia builder (#2689)
|
||||
* parser: improve lexing of jsx identifier to fix duplicated comments after jsx name (#2687)
|
||||
* parser: fix span for JSXEmptyExpression with comment (#2673)
|
||||
* parser: fix span start for return type in function type (#2660)
|
||||
* parser: parse named rest element in type tuple (#2655)
|
||||
|
||||
## [0.9.0] - 2024-03-05
|
||||
|
||||
### Features
|
||||
|
||||
- Parse decorators properly (#2603)
|
||||
- Add `AssignmentTargetRest` (#2601)
|
||||
- Expose `preserveParans` option (#2582)
|
||||
- Add "abstract" type to `MethodDefinition` and `PropertyDefinition` (#2536)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix span end for TSEmptyBodyFunctionExpression (#2606)
|
||||
- Fix duplicated comments during parser rewind (#2600)
|
||||
- Fix span start for TSModuleDeclaration (#2593)
|
||||
- Align TSImportType with ESTree (#2578)
|
||||
- Fix span start for TSExportAssignment (#2594)
|
||||
- Parse empty method declaration as TSEmptyBodyFunctionExpression (#2574)
|
||||
- Support TSIndexSignature.readonly (#2579)
|
||||
- Support FormalParameter.override (#2577)
|
||||
- Change TSMappedType.type_annotation from TSTypeAnnotation to TSType (#2571)
|
||||
- TSConditionalType span start (#2570)
|
||||
- Set span end for TSEnumDeclaration (#2573)
|
||||
- Don't parse null as a literal type (#2572)
|
||||
- **BREAKING** ast: align TSImportType with ESTree (#2578)
|
||||
|
||||
### Performance
|
||||
|
||||
- Inline `end_span` and `parse_identifier_kind` which are on the hot path (#2612)
|
||||
- Lex JSXText with memchr (#2558)
|
||||
- Faster lexing template strings (#2541)
|
||||
- Lex JSX strings with `memchr` (#2528)
|
||||
* parser: inline `end_span` and `parse_identifier_kind` which are on the hot path (#2612)
|
||||
* parser: lex JSXText with memchr (#2558)
|
||||
* parser: faster lexing template strings (#2541)
|
||||
* parser: lex JSX strings with `memchr` (#2528)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ast: support TSIndexSignature.readonly (#2579)
|
||||
* ast: support FormalParameter.override (#2577)
|
||||
* ast: change TSMappedType.type_annotation from TSTypeAnnotation to TSType (#2571)
|
||||
* parser: fix span end for TSEmptyBodyFunctionExpression (#2606)
|
||||
* parser: fix duplicated comments during parser rewind (#2600)
|
||||
* parser: fix span start for TSModuleDeclaration (#2593)
|
||||
* parser: fix span start for TSExportAssignment (#2594)
|
||||
* parser: parse empty method declaration as TSEmptyBodyFunctionExpression (#2574)
|
||||
* parser: TSConditionalType span start (#2570)
|
||||
* parser: set span end for TSEnumDeclaration (#2573)
|
||||
* parser: don't parse null as a literal type (#2572)
|
||||
|
||||
### Features
|
||||
|
||||
* ast: add `AssignmentTargetRest` (#2601)
|
||||
* ast: add "abstract" type to `MethodDefinition` and `PropertyDefinition` (#2536)
|
||||
* napi/parser: expose `preserveParans` option (#2582)
|
||||
* parser: parse decorators properly (#2603)
|
||||
|
||||
### Refactor
|
||||
|
||||
- `byte_search` macro evaluate to matched byte (#2555)
|
||||
- Small efficiencies in `byte_search` macro usage (#2554)
|
||||
- Remove start params for `byte_search` macro arms (#2553)
|
||||
- Simplify `byte_search` macro (#2552)
|
||||
- Remove unsafe code in lexer (#2549)
|
||||
- Single function for all string slicing (#2540)
|
||||
- Remove unsafe code (#2527)
|
||||
* parser: `byte_search` macro evaluate to matched byte (#2555)
|
||||
* parser: small efficiencies in `byte_search` macro usage (#2554)
|
||||
* parser: remove start params for `byte_search` macro arms (#2553)
|
||||
* parser: simplify `byte_search` macro (#2552)
|
||||
* parser: remove unsafe code in lexer (#2549)
|
||||
* parser: single function for all string slicing (#2540)
|
||||
* parser: remove unsafe code (#2527)
|
||||
|
||||
## [0.8.0] - 2024-02-26
|
||||
|
||||
### Features
|
||||
|
||||
- Update arrow_expression to arrow_function_expression (#2496)
|
||||
- Add `TSModuleDeclaration.kind` (#2487)
|
||||
- Improve codegen (#2460)
|
||||
- Add check for duplicate class elements in checker (#2455)
|
||||
- Parse import attributes in TSImportType (#2436)
|
||||
- Recover from `async x [newline] => x` (#2375)
|
||||
* Codegen: Improve codegen (#2460)
|
||||
* ast: update arrow_expression to arrow_function_expression (#2496)
|
||||
* ast: add `TSModuleDeclaration.kind` (#2487)
|
||||
* parser: parse import attributes in TSImportType (#2436)
|
||||
* parser: recover from `async x [newline] => x` (#2375)
|
||||
* semantic: add check for duplicate class elements in checker (#2455)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix missing end span from `TSTypeAliasDeclaration` (#2485)
|
||||
- Incorrect parsing of class accessor property name (#2386)
|
||||
|
||||
### Performance
|
||||
|
||||
- `byte_search` macro always unroll main loop (#2439)
|
||||
- Consume multi-line comments faster (#2377)
|
||||
- Consume single-line comments faster (#2374)
|
||||
- Optimize lexing strings (#2366)
|
||||
* parser: fix missing end span from `TSTypeAliasDeclaration` (#2485)
|
||||
* parser: incorrect parsing of class accessor property name (#2386)
|
||||
|
||||
### Refactor
|
||||
|
||||
- S/TSThisKeyword/TSThisType to align with estree
|
||||
- S/NumberLiteral/NumericLiteral to align with estree
|
||||
- Remove `panic!` from examples (#2454)
|
||||
- `continue_if` in `byte_search` macro not unsafe (#2440)
|
||||
- Correct comment (#2441)
|
||||
- Update TSImportType parameter to argument (#2429)
|
||||
- Catch all illegal UTF-8 bytes (#2415)
|
||||
- Add methods to `Source` + `SourcePosition` (#2373)
|
||||
- Extend `byte_search` macro (#2372)
|
||||
* ast: s/TSThisKeyword/TSThisType to align with estree
|
||||
* ast: s/NumberLiteral/NumericLiteral to align with estree
|
||||
* ast: update TSImportType parameter to argument (#2429)
|
||||
* parser: `continue_if` in `byte_search` macro not unsafe (#2440)
|
||||
* parser: correct comment (#2441)
|
||||
* parser: catch all illegal UTF-8 bytes (#2415)
|
||||
* parser: add methods to `Source` + `SourcePosition` (#2373)
|
||||
* parser: extend `byte_search` macro (#2372)- remove `panic!` from examples (#2454) |
|
||||
|
||||
### Performance
|
||||
|
||||
* parser: `byte_search` macro always unroll main loop (#2439)
|
||||
* parser: consume multi-line comments faster (#2377)
|
||||
* parser: consume single-line comments faster (#2374)
|
||||
* parser: optimize lexing strings (#2366)
|
||||
|
||||
## [0.7.0] - 2024-02-09
|
||||
|
||||
### Features
|
||||
### Performance
|
||||
|
||||
- Report parameter related errors for setter/getter (#2316)
|
||||
* parser: lex strings as bytes (#2357)
|
||||
* parser: eat whitespace after line break (#2353)
|
||||
* parser: lex identifiers as bytes not chars (#2352)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Remove erroneous debug assertion (#2356)
|
||||
|
||||
### Performance
|
||||
|
||||
- Lex strings as bytes (#2357)
|
||||
- Eat whitespace after line break (#2353)
|
||||
- Lex identifiers as bytes not chars (#2352)
|
||||
* parser: remove erroneous debug assertion (#2356)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Macro for ASCII identifier byte handlers (#2351)
|
||||
- All pointer manipulation through `SourcePosition` (#2350)
|
||||
- Fix outdated comment (#2344)
|
||||
- Make `Source::set_position` safe (#2341)
|
||||
- Wrapper type for parser (#2339)
|
||||
- Lexer replace `Chars` with `Source` (#2288)
|
||||
- Name byte handler functions (#2301)
|
||||
- Fix BigInt memory leak by removing it (#2293)
|
||||
* ast: fix BigInt memory leak by removing it (#2293)
|
||||
* parser: macro for ASCII identifier byte handlers (#2351)
|
||||
* parser: all pointer manipulation through `SourcePosition` (#2350)
|
||||
* parser: fix outdated comment (#2344)
|
||||
* parser: make `Source::set_position` safe (#2341)
|
||||
* parser: wrapper type for parser (#2339)
|
||||
* parser: lexer replace `Chars` with `Source` (#2288)
|
||||
* parser: name byte handler functions (#2301)
|
||||
|
||||
### Features
|
||||
|
||||
* semantic: report parameter related errors for setter/getter (#2316)
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Features
|
||||
|
||||
- Remove generator property from ArrowFunction (#2260)
|
||||
- Remove expression property from Function (#2247)
|
||||
- Benchmarks for lexer (#2101)
|
||||
* ast: remove generator property from ArrowFunction (#2260)
|
||||
* ast: remove expression property from Function (#2247)
|
||||
* tasks: benchmarks for lexer (#2101)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Correct the span for irregular whitespaces (#2245)
|
||||
- Correct MAX_LEN for 32-bit systems (#2204)
|
||||
- AcessorProperty is missing decorators (#2176)
|
||||
- Fix crash on TSTemplateLiteralType in function return position (#2089)
|
||||
- Restore regex flag parsing (#2007)
|
||||
* ast: AcessorProperty is missing decorators (#2176)
|
||||
* lexer: correct the span for irregular whitespaces (#2245)
|
||||
* parser: correct MAX_LEN for 32-bit systems (#2204)
|
||||
* parser: fix crash on TSTemplateLiteralType in function return position (#2089)
|
||||
* parser: restore regex flag parsing (#2007)
|
||||
|
||||
### Refactor
|
||||
|
||||
* ast: rename RestElement to BindingRestElement (#2116)
|
||||
* lexer: don't use `lexer.current.chars` directly (#2237)
|
||||
* parser: consume chars when parsing surrogate pair escape (#2243)
|
||||
* parser: byte handler for illegal bytes (#2229)
|
||||
* parser: split lexer into multiple files (#2228)
|
||||
* parser: mark `ByteHandler`s unsafe (#2212)
|
||||
* parser: re-order match branches (#2209)
|
||||
* parser: move source length check into lexer (#2206)
|
||||
* parser: make `is_identifier` methods consistent
|
||||
* parser: remove useless string builder from jsx text lexer (#2096)
|
||||
* parser: combine token kinds for skipped tokens (#2072)
|
||||
* parser: macro for ASCII byte handlers (#2066)
|
||||
* parser: lexer handle unicode without branch (#2039)
|
||||
* parser: remove noop code (#2028)
|
||||
* parser: remove extraneous code from regex parsing (#2008)
|
||||
|
||||
### Performance
|
||||
|
||||
- Faster offset calculation (#2215)
|
||||
- Pad `Token` to 16 bytes (#2211)
|
||||
- Lexer byte handlers consume ASCII chars faster (#2046)
|
||||
- Lexer match byte not char (#2025)
|
||||
- Reduce `Token` size from 16 to 12 bytes (#2010)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Consume chars when parsing surrogate pair escape (#2243)
|
||||
- Don't use `lexer.current.chars` directly (#2237)
|
||||
- Byte handler for illegal bytes (#2229)
|
||||
- Split lexer into multiple files (#2228)
|
||||
- Mark `ByteHandler`s unsafe (#2212)
|
||||
- Re-order match branches (#2209)
|
||||
- Move source length check into lexer (#2206)
|
||||
- Make `is_identifier` methods consistent
|
||||
- Rename RestElement to BindingRestElement (#2116)
|
||||
- Remove useless string builder from jsx text lexer (#2096)
|
||||
- Combine token kinds for skipped tokens (#2072)
|
||||
- Macro for ASCII byte handlers (#2066)
|
||||
- Lexer handle unicode without branch (#2039)
|
||||
- Remove noop code (#2028)
|
||||
- Remove extraneous code from regex parsing (#2008)
|
||||
* parser: faster offset calculation (#2215)
|
||||
* parser: pad `Token` to 16 bytes (#2211)
|
||||
* parser: lexer byte handlers consume ASCII chars faster (#2046)
|
||||
* parser: lexer match byte not char (#2025)
|
||||
* parser: reduce `Token` size from 16 to 12 bytes (#2010)
|
||||
|
||||
## [0.5.0] - 2024-01-12
|
||||
|
||||
### Features
|
||||
### Refactor
|
||||
|
||||
- No-irregular-whitespace rule (#1835)
|
||||
* ast: introduce `ThisParameter` (#1728)
|
||||
* parser: only allocate for escaped template strings (#2005)
|
||||
* parser: remove string builder from number parsing (#2002)
|
||||
* parser: reduce work parsing regexps (#1999)
|
||||
* parser: reduce `Token` size from 32 to 16 bytes (#1962)
|
||||
* parser: remove TokenValue::Number from Token (#1945)
|
||||
* parser: remove TokenValue::RegExp from `Token` (#1926)
|
||||
* parser: parse BigInt lazily (#1924)
|
||||
* parser: report `this` parameter error (#1788)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Unexpected ts type annotation in get/set (#1942)
|
||||
- Fix incorrectly identified directives (#1885)
|
||||
- Terminate parsing if an EmptyParenthesizedExpression error occurs (#1874)
|
||||
- Error on source larger than 4 GiB (#1860)
|
||||
- Await in jsx expression
|
||||
- False postive for "Missing initializer in const declaration" in declare + namespace (#1724)
|
||||
* parser: unexpected ts type annotation in get/set (#1942)
|
||||
* parser: fix incorrectly identified directives (#1885)
|
||||
* parser: terminate parsing if an EmptyParenthesizedExpression error occurs (#1874)
|
||||
* parser: error on source larger than 4 GiB (#1860)
|
||||
* parser: await in jsx expression
|
||||
* parser: false postive for "Missing initializer in const declaration" in declare + namespace (#1724)
|
||||
|
||||
### Refactor
|
||||
### Features
|
||||
|
||||
- Only allocate for escaped template strings (#2005)
|
||||
- Remove string builder from number parsing (#2002)
|
||||
- Reduce work parsing regexps (#1999)
|
||||
- Reduce `Token` size from 32 to 16 bytes (#1962)
|
||||
- Remove TokenValue::Number from Token (#1945)
|
||||
- Remove TokenValue::RegExp from `Token` (#1926)
|
||||
- Parse BigInt lazily (#1924)
|
||||
- Report `this` parameter error (#1788)
|
||||
- Introduce `ThisParameter` (#1728)
|
||||
* linter: no-irregular-whitespace rule (#1835)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Features
|
||||
|
||||
- Parse `let.a = 1` with error recovery (#1587)
|
||||
- Implement new proposal-import-attributes (#1476)
|
||||
- Print directives (#1497)
|
||||
- Add `preserve_parens` option (default: true) (#1474)
|
||||
- Print leading comments with newlines (#1434)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Correct `import_kind` of `TSImportEqualsDeclaration` (#1449)
|
||||
- Fix type import (#1291)
|
||||
- Disallow ReservedWord in NamedExports (#1230)
|
||||
- ASI of async class member (#1214)
|
||||
* ast: implement new proposal-import-attributes (#1476)
|
||||
* parser: add `preserve_parens` option (default: true) (#1474)
|
||||
* parsr: parse `let.a = 1` with error recovery (#1587)
|
||||
* prettier: print directives (#1497)
|
||||
* prettier: print leading comments with newlines (#1434)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove duplicated code
|
||||
- Move to workspace lint table (#1444)
|
||||
* parser: remove duplicated code
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* parser: correct `import_kind` of `TSImportEqualsDeclaration` (#1449)
|
||||
* parser: Fix type import (#1291)
|
||||
* parser: Disallow ReservedWord in NamedExports (#1230)
|
||||
* parser: ASI of async class member (#1214)
|
||||
|
||||
## [0.3.0] - 2023-11-06
|
||||
|
||||
### Features
|
||||
|
||||
- Implement some of needs_explicit_esm for typescript (#1047)
|
||||
- Json strings proposal (#1039)
|
||||
- Partially re-enable minifier (#963)
|
||||
- TypeScript 5.2 (#811)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Revert changes to JSX attribute strings (#1101)
|
||||
- Jsx attribute value and text child should be jsx string (#1089)
|
||||
- Ts parsing error (#940)
|
||||
* ast: jsx attribute value and text child should be jsx string (#1089)
|
||||
* linter: revert changes to JSX attribute strings (#1101)- ts parsing error (#940) |
|
||||
|
||||
### Features
|
||||
|
||||
* codegen: json strings proposal (#1039)
|
||||
* minifier: partially re-enable minifier (#963)
|
||||
* parser: TypeScript 5.2 (#811)
|
||||
* transformer: implement some of needs_explicit_esm for typescript (#1047)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Allow clippy::too_many_lines
|
||||
- Clean up some methods
|
||||
- Change the arguments order for some `new` functions
|
||||
* ast: clean up some methods
|
||||
* ast: change the arguments order for some `new` functions
|
||||
* clippy: allow clippy::too_many_lines
|
||||
|
||||
## [0.2.0] - 2023-09-14
|
||||
|
||||
### Features
|
||||
### Performance
|
||||
|
||||
- Add `SymbolId` and `ReferenceId` (#755)
|
||||
* lexer: only check the first lower case for `match_keyword` (#913)
|
||||
* lexer: remove an extra branch from `identifier_name_handler` (#912)
|
||||
* lexer: reduce an extra branch from peek (#841)
|
||||
* lexer: reduce checks on ident -> keyword (#783)
|
||||
* lexer: jump table (#779)
|
||||
* parser: lazily build trivia map instead of build in-place (#903)
|
||||
* parser: remove an extra branch from `parse_member_expression_rhs` hot path (#896)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Parse [+In] in object binding initializer (#874)
|
||||
- Make semantic own `Trivias` (#711)
|
||||
|
||||
### Performance
|
||||
|
||||
- Only check the first lower case for `match_keyword` (#913)
|
||||
- Remove an extra branch from `identifier_name_handler` (#912)
|
||||
- Lazily build trivia map instead of build in-place (#903)
|
||||
- Remove an extra branch from `parse_member_expression_rhs` hot path (#896)
|
||||
- Reduce an extra branch from peek (#841)
|
||||
- Reduce checks on ident -> keyword (#783)
|
||||
- Jump table (#779)
|
||||
* parser: parse [+In] in object binding initializer (#874)
|
||||
* parser,semantic: make semantic own `Trivias` (#711)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Clean up fuzzer, move it to repo root (#872)
|
||||
- Use codspeed for all benchmarks (#839)
|
||||
- Improve code coverage a little bit
|
||||
- Use `atom` for `Directive` and `Hashbang` (#701)
|
||||
* ast: use `atom` for `Directive` and `Hashbang` (#701)
|
||||
* benchmark: use codspeed for all benchmarks (#839)- clean up fuzzer, move it to repo root (#872) |- improve code coverage a little bit |
|
||||
|
||||
### Features
|
||||
|
||||
* ast: add `SymbolId` and `ReferenceId` (#755)
|
||||
|
||||
+200
-212
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,348 +9,336 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Refactor
|
||||
|
||||
- `generate_uid` return `SymbolId` (#3520)
|
||||
* traverse: `generate_uid` return `SymbolId` (#3520)
|
||||
|
||||
## [0.13.2] - 2024-06-03
|
||||
|
||||
### Features
|
||||
|
||||
- Add `TraverseCtx::generate_uid` (#3394)
|
||||
- Implement require-returns rule (#3218)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Set program scope_id for TS definition files (#3496)
|
||||
- Use UIDs in TS namespace transforms (#3395)
|
||||
- Memorize visited block id in `neighbors_filtered_by_edge_weight` (#3407)
|
||||
* linter: memorize visited block id in `neighbors_filtered_by_edge_weight` (#3407)
|
||||
* semantic: set program scope_id for TS definition files (#3496)
|
||||
* transformer: use UIDs in TS namespace transforms (#3395)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move scope from `TSModuleBlock` to `TSModuleDeclaration` (#3488)
|
||||
- Use a simpler way to resolve reference for ReferenceFlag::Type (#3430)
|
||||
- Compile less test binaries to speed up CI (#3414)
|
||||
* ast: move scope from `TSModuleBlock` to `TSModuleDeclaration` (#3488)
|
||||
* semantic: use a simpler way to resolve reference for ReferenceFlag::Type (#3430)- compile less test binaries to speed up CI (#3414) |
|
||||
|
||||
### Features
|
||||
|
||||
* linter/jsdoc: Implement require-returns rule (#3218)
|
||||
* transformer: add `TraverseCtx::generate_uid` (#3394)
|
||||
|
||||
## [0.13.1] - 2024-05-22
|
||||
|
||||
### Refactor
|
||||
|
||||
- Alias petgraph's `NodeIndex` as `BasicBlockId`. (#3380)
|
||||
- Semantic populate `scope_id` fields in AST (#3303)
|
||||
* semantic: semantic populate `scope_id` fields in AST (#3303)
|
||||
* semantic/cfg: alias petgraph's `NodeIndex` as `BasicBlockId`. (#3380)
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Features
|
||||
|
||||
- Implement max-classes-per-file (#3241)
|
||||
- Add the `rules_of_hooks` rule. (#3071)
|
||||
- Report that enum member must have initializer (#3113)
|
||||
- Implement no-defaults rule (#3098)
|
||||
- Report namespace related errors (#3093)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Add `cfg` nodes for `ConditionalExpression`s. (#3127)
|
||||
- Connect `test` expression of `for` statements to the cfg. (#3122)
|
||||
- Revert test code pushed to the main by accident. (#3085)
|
||||
- Allow `root_node` to be empty for empty trees. (#3084)
|
||||
* linter/eslint: Implement max-classes-per-file (#3241)
|
||||
* linter/jsdoc: Implement no-defaults rule (#3098)
|
||||
* linter/react: add the `rules_of_hooks` rule. (#3071)
|
||||
* semantic: report that enum member must have initializer (#3113)
|
||||
* semantic: report namespace related errors (#3093)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Clean up more diagnostics usages
|
||||
- Remove all usages of `Into<Error>`
|
||||
- Remove export of `miette`
|
||||
- Clean up redeclaration diagnostic
|
||||
- S/OxcDiagnostic::new/OxcDiagnostic::error
|
||||
- Unify diagnostic in checker
|
||||
- Move number related functions to number module (#3130)
|
||||
- Squash nested enums (#3115)
|
||||
* ast: squash nested enums (#3115)
|
||||
* diagnostics: remove export of `miette`
|
||||
* diagnostics: s/OxcDiagnostic::new/OxcDiagnostic::error
|
||||
* semantic: clean up redeclaration diagnostic
|
||||
* semantic: unify diagnostic in checker
|
||||
* syntax: move number related functions to number module (#3130)- clean up more diagnostics usages |- remove all usages of `Into<Error>` |
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* semantic: add `cfg` nodes for `ConditionalExpression`s. (#3127)
|
||||
* semantic: connect `test` expression of `for` statements to the cfg. (#3122)
|
||||
* semantic: revert test code pushed to the main by accident. (#3085)
|
||||
* semantic: allow `root_node` to be empty for empty trees. (#3084)
|
||||
|
||||
## [0.12.5] - 2024-04-22
|
||||
|
||||
### Features
|
||||
|
||||
- Add `CatchParameter` node (#3049)
|
||||
- Add root node to the `AstNodes` structure. (#3032)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Correctly resolve identifiers inside catch parameter initializers (#3050)
|
||||
- Correctly resolve identifiers inside parameter initializers (#3046)
|
||||
* semantic: correctly resolve identifiers inside catch parameter initializers (#3050)
|
||||
* semantic: correctly resolve identifiers inside parameter initializers (#3046)
|
||||
|
||||
### Features
|
||||
|
||||
* ast: add `CatchParameter` node (#3049)
|
||||
* semantic: add root node to the `AstNodes` structure. (#3032)
|
||||
|
||||
## [0.12.4] - 2024-04-19
|
||||
|
||||
### Features
|
||||
|
||||
- Handle optional type syntax for type name part (#2960)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Skip parsing `@` inside of backticks (#3017)
|
||||
* semantic/jsdoc: Skip parsing `@` inside of backticks (#3017)
|
||||
|
||||
### Features
|
||||
|
||||
* semantic/jsdoc: Handle optional type syntax for type name part (#2960)
|
||||
|
||||
## [0.12.3] - 2024-04-11
|
||||
|
||||
### Refactor
|
||||
|
||||
- Rework JSDoc struct for better Span handling (#2917)
|
||||
* semantic/jsdoc: Rework JSDoc struct for better Span handling (#2917)
|
||||
|
||||
## [0.12.2] - 2024-04-08
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* semantic: symbols inside functions and classes incorrectly flagged as exported (#2896)
|
||||
|
||||
### Features
|
||||
|
||||
- Implement jsdoc/check-access (#2642)
|
||||
* linter: Implement jsdoc/check-access (#2642)
|
||||
|
||||
## [0.12.1] - 2024-04-03
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Symbols inside functions and classes incorrectly flagged as exported (#2896)
|
||||
|
||||
## [0.11.1] - 2024-04-03
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Flag function expressions with `SymbolFlags::Function` (#2891)
|
||||
* semantic: flag function expressions with `SymbolFlags::Function` (#2891)
|
||||
|
||||
## [0.11.0] - 2024-03-30
|
||||
|
||||
### Features
|
||||
|
||||
- Add `Span` for JSDoc, JSDocTag (#2815)
|
||||
- Distinguish type imports in ModuleRecord (#2785)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Ignore export declaration in no-duplicates (#2863)
|
||||
- Missing SymbolFlags::Export when identifier used in ExportDefaultDeclaration (#2837)
|
||||
- Incorrect ExportEntry span for ExportAllDeclaration in ModuleRecord (#2793)
|
||||
- ModuleRecord's indirect_export_entires missing reexported imports (#2792)
|
||||
* linter/import: ignore export declaration in no-duplicates (#2863)
|
||||
* semantic: missing SymbolFlags::Export when identifier used in ExportDefaultDeclaration (#2837)
|
||||
* semantic: incorrect ExportEntry span for ExportAllDeclaration in ModuleRecord (#2793)
|
||||
* semantic: ModuleRecord's indirect_export_entires missing reexported imports (#2792)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Distinguish whether requested_modules is type imports/exports (#2848)
|
||||
- JSDocTag parser rework (#2765)
|
||||
* semantic: distinguish whether requested_modules is type imports/exports (#2848)
|
||||
* semantic/jsdoc: JSDocTag parser rework (#2765)
|
||||
|
||||
### Features
|
||||
|
||||
* semantic: distinguish type imports in ModuleRecord (#2785)
|
||||
* semantic/jsdoc: Add `Span` for JSDoc, JSDocTag (#2815)
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
### Refactor
|
||||
|
||||
* ast: refactor `Trivias` API - have less noise around it (#2692)
|
||||
* ast: import `Tsify` to shorten code (#2665)
|
||||
* ast: shorten manual TS defs (#2638)- remove unused dependencies (#2718) |- reduce `cfg_attr` boilerplate with `SerAttrs` derive (#2669) |- "wasm" feature enable "serde" feature (#2639) |- make `CompactStr` immutable (#2620) |- rename `CompactString` to `CompactStr` (#2619) |
|
||||
|
||||
### Features
|
||||
|
||||
- Merge features `serde` and `wasm` to `serialize` (#2716)
|
||||
- Remove `From<String>` and `From<Cow>` API because they create memory leak (#2628)
|
||||
- Move redeclare varaibles to symbol table (#2614)
|
||||
* semantic: move redeclare varaibles to symbol table (#2614)
|
||||
* span: remove `From<String>` and `From<Cow>` API because they create memory leak (#2628)- merge features `serde` and `wasm` to `serialize` (#2716) |
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Support multibyte chars (#2694)
|
||||
- Fix up builder (#2623)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove unused dependencies (#2718)
|
||||
- Refactor `Trivias` API - have less noise around it (#2692)
|
||||
- Reduce `cfg_attr` boilerplate with `SerAttrs` derive (#2669)
|
||||
- Import `Tsify` to shorten code (#2665)
|
||||
- "wasm" feature enable "serde" feature (#2639)
|
||||
- Shorten manual TS defs (#2638)
|
||||
- Make `CompactStr` immutable (#2620)
|
||||
- Rename `CompactString` to `CompactStr` (#2619)
|
||||
* semantic/jsdoc: Support multibyte chars (#2694)
|
||||
* semantic/jsdoc: Fix up builder (#2623)
|
||||
|
||||
## [0.9.0] - 2024-03-05
|
||||
|
||||
### Features
|
||||
|
||||
- Remove all commonjs logic for import plugin (#2537)
|
||||
- Call build module record (#2529)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Jsx reference with an incorrect node id (#2546)
|
||||
- Incorrect scope for switch statement (#2513)
|
||||
* semantic: jsx reference with an incorrect node id (#2546)
|
||||
* semantic: incorrect scope for switch statement (#2513)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Misc fixes for JSDoc related things (#2531)
|
||||
- Replace InlinableString with CompactString for `Atom` (#2517)
|
||||
* semantic/jsdoc: Misc fixes for JSDoc related things (#2531)- replace InlinableString with CompactString for `Atom` (#2517) |
|
||||
|
||||
### Features
|
||||
|
||||
* linter: remove all commonjs logic for import plugin (#2537)
|
||||
* transformer: call build module record (#2529)
|
||||
|
||||
## [0.8.0] - 2024-02-26
|
||||
|
||||
### Features
|
||||
|
||||
- Handle cjs `module.exports = {} as default export (#2493)
|
||||
- Handle cjs `module.exports.foo = bar` and `exports.foo = bar` (#2492)
|
||||
- Handle top-level `require` for import plugin (#2491)
|
||||
- Add check for duplicate class elements in checker (#2455)
|
||||
- Add static property, ElementKind::Getter, ElementKind::Setter in ClassTable (#2445)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Add export symbol flag to identifiers in export declarations (#2508)
|
||||
- Improve import/no-named-as-default (#2494)
|
||||
- Should return nearest JSDoc (#2490)
|
||||
- Refactor jsdoc finding (#2437)
|
||||
- Incorrect reference flag for MemberExpression assign (#2433)
|
||||
* linter: improve import/no-named-as-default (#2494)
|
||||
* semantic: add export symbol flag to identifiers in export declarations (#2508)
|
||||
* semantic: Should return nearest JSDoc (#2490)
|
||||
* semantic: Refactor jsdoc finding (#2437)
|
||||
* semantic: incorrect reference flag for MemberExpression assign (#2433)
|
||||
|
||||
### Performance
|
||||
### Features
|
||||
|
||||
- Reduce visit parent nodes in resolve_reference_usages (#2419)
|
||||
* linter: handle cjs `module.exports = {} as default export (#2493)
|
||||
* linter: handle cjs `module.exports.foo = bar` and `exports.foo = bar` (#2492)
|
||||
* linter: handle top-level `require` for import plugin (#2491)
|
||||
* semantic: add check for duplicate class elements in checker (#2455)
|
||||
* semantic: add static property, ElementKind::Getter, ElementKind::Setter in ClassTable (#2445)
|
||||
|
||||
### Refactor
|
||||
|
||||
- S/NumberLiteral/NumericLiteral to align with estree
|
||||
- S/ArrowExpression/ArrowFunctionExpression to align estree
|
||||
- Remove `panic!` from examples (#2454)
|
||||
- Delete the redundant code in binder (#2423)
|
||||
- Reduce allocation in resolve_references_for_current_scope (#2414)
|
||||
- Check directive by current_scope_id (#2411)
|
||||
* ast: s/NumberLiteral/NumericLiteral to align with estree
|
||||
* ast: s/ArrowExpression/ArrowFunctionExpression to align estree
|
||||
* semantic: delete the redundant code in binder (#2423)
|
||||
* semantic: reduce allocation in resolve_references_for_current_scope (#2414)
|
||||
* semantic: check directive by current_scope_id (#2411)- remove `panic!` from examples (#2454) |
|
||||
|
||||
### Performance
|
||||
|
||||
* semantic: reduce visit parent nodes in resolve_reference_usages (#2419)
|
||||
|
||||
## [0.7.0] - 2024-02-09
|
||||
|
||||
### Features
|
||||
|
||||
- Add export binding for ExportDefaultDeclarations in module record (#2329)
|
||||
- Enter AstKind::ExportDefaultDeclaration, AstKind::ExportNamedDeclaration and AstKind::ExportAllDeclaration (#2317)
|
||||
- Report parameter related errors for setter/getter (#2316)
|
||||
- Report type parameter list cannot be empty (#2315)
|
||||
- Report unexpected type annotation in ArrayPattern (#2309)
|
||||
- Apply ImportSpecifier's binder and remove ModuleDeclaration's binder (#2307)
|
||||
- Fix memory leak by implementing inlineable string for oxc_allocator (#2294)
|
||||
* ast: enter AstKind::ExportDefaultDeclaration, AstKind::ExportNamedDeclaration and AstKind::ExportAllDeclaration (#2317)
|
||||
* semantic: add export binding for ExportDefaultDeclarations in module record (#2329)
|
||||
* semantic: report parameter related errors for setter/getter (#2316)
|
||||
* semantic: report type parameter list cannot be empty (#2315)
|
||||
* semantic: report unexpected type annotation in ArrayPattern (#2309)
|
||||
* semantic: apply ImportSpecifier's binder and remove ModuleDeclaration's binder (#2307)
|
||||
* span: fix memory leak by implementing inlineable string for oxc_allocator (#2294)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Remove unnecessary SymbolFlags::Import (#2311)
|
||||
- Remove ignore cases (#2300)
|
||||
* semantic: remove unnecessary SymbolFlags::Import (#2311)
|
||||
* semantic: remove ignore cases (#2300)
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Features
|
||||
|
||||
- Report no class name error (#2273)
|
||||
- Check parameters property (#2264)
|
||||
- Check optional parameters (#2263)
|
||||
- Report error on optional variable declaration in TypeScript (#2261)
|
||||
- Improve sample visualization (#2251)
|
||||
- Track cfg index per ast node (#2210)
|
||||
- Remove serde skip for symbol_id and reference_id (#2220)
|
||||
- TypeScript definition for wasm target (#2158)
|
||||
- Cfg prototype (#2019)
|
||||
- Improve no_redeclare rule implementation (#2084)
|
||||
- Remove import if only have type reference (#2001)
|
||||
* ast: remove serde skip for symbol_id and reference_id (#2220)
|
||||
* ast: TypeScript definition for wasm target (#2158)
|
||||
* linter: improve no_redeclare rule implementation (#2084)
|
||||
* oxc_semantic: Improve sample visualization (#2251)
|
||||
* semantic: report no class name error (#2273)
|
||||
* semantic: check parameters property (#2264)
|
||||
* semantic: check optional parameters (#2263)
|
||||
* semantic: report error on optional variable declaration in TypeScript (#2261)
|
||||
* semantic: track cfg index per ast node (#2210)
|
||||
* semantic: cfg prototype (#2019)
|
||||
* transformer/typescript: remove import if only have type reference (#2001)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Handle short-circuiting operators in CFG (#2252)
|
||||
- Proper traversal of try statements (#2250)
|
||||
- Fix incorrect semantic example (#2198)
|
||||
- Replace ClassStatickBlockAwait with ClassStaticBlockAwait (#2179)
|
||||
- Print `Directive` original string (#2157)
|
||||
- Incorrect reference flag (#2057)
|
||||
* codegen: print `Directive` original string (#2157)
|
||||
* oxc_semantic: Handle short-circuiting operators in CFG (#2252)
|
||||
* oxc_semantic: proper traversal of try statements (#2250)
|
||||
* semantic: fix incorrect semantic example (#2198)
|
||||
* semantic: replace ClassStatickBlockAwait with ClassStaticBlockAwait (#2179)
|
||||
* semantic: incorrect reference flag (#2057)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Adding binder for ImportSpecifier replaces the ModuleDeclaration's binder (#2230)
|
||||
- Get function by scope_id in set_function_node_flag (#2208)
|
||||
- Checking label in ContinueStatement based on LabelBuilder (#2202)
|
||||
- Use LabelBuilder instead of UnusedLabeled (#2184)
|
||||
- Move all miette usages to `oxc_diagnostics`
|
||||
- Remove all #[dead_code[ from tester
|
||||
- Rename RestElement to BindingRestElement (#2116)
|
||||
- Add binder for FormalParameters and RestElement, replacing the binder for FormalParameters (#2114)
|
||||
- Improve declare symbol logic in FormalParameters (#2088)
|
||||
* ast: rename RestElement to BindingRestElement (#2116)
|
||||
* semantic: adding binder for ImportSpecifier replaces the ModuleDeclaration's binder (#2230)
|
||||
* semantic: get function by scope_id in set_function_node_flag (#2208)
|
||||
* semantic: checking label in ContinueStatement based on LabelBuilder (#2202)
|
||||
* semantic: use LabelBuilder instead of UnusedLabeled (#2184)
|
||||
* semantic: remove all #[dead_code[ from tester
|
||||
* semantic: add binder for FormalParameters and RestElement, replacing the binder for FormalParameters (#2114)
|
||||
* semantic: improve declare symbol logic in FormalParameters (#2088)- move all miette usages to `oxc_diagnostics` |
|
||||
|
||||
## [0.5.0] - 2024-01-12
|
||||
|
||||
### Features
|
||||
|
||||
- Support es2015 new target (#1967)
|
||||
- Allow reserved keyword defined in ts module block (#1907)
|
||||
- Add current_scope_flags function in SemanticBuilder (#1906)
|
||||
- Visualize symbol (#1886)
|
||||
- Visualize scope (#1882)
|
||||
- Improve check super implementation, reduce access nodes (#1827)
|
||||
- Support get node id by scope id (#1826)
|
||||
- Support eslint/no-unused-private-class-members rule (#1820)
|
||||
- Add ClassTable (#1793)
|
||||
- Add SymbolFlags::Function for FunctionDeclaration (#1713)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Remove duplicate errors in ModuleDeclaration::ImportDeclaration (#1846)
|
||||
|
||||
### Performance
|
||||
|
||||
- Check duplicate parameters in Binder of FormalParameters (#1840)
|
||||
- Just need to find the AstKind::FormalParameter in is_in_formal_parameters (#1852)
|
||||
- Reduce calls to span() (#1851)
|
||||
- Find class node by symbols in get_parent_es6_component (#1657)
|
||||
* linter: support eslint/no-unused-private-class-members rule (#1820)
|
||||
* playground: visualize symbol (#1886)
|
||||
* playground: visualize scope (#1882)
|
||||
* semantic: allow reserved keyword defined in ts module block (#1907)
|
||||
* semantic: add current_scope_flags function in SemanticBuilder (#1906)
|
||||
* semantic: improve check super implementation, reduce access nodes (#1827)
|
||||
* semantic: support get node id by scope id (#1826)
|
||||
* semantic: add ClassTable (#1793)
|
||||
* semantic: add SymbolFlags::Function for FunctionDeclaration (#1713)
|
||||
* transform: support es2015 new target (#1967)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Improve ClassTable implmention and merge properties and methods to elements (#1902)
|
||||
- Improve check function declaration implementation (#1854)
|
||||
- Rename `add_node_id` to `add_current_node_id_to_current_scope` (#1847)
|
||||
- Improve check private identifier implementation (#1794)
|
||||
- Remove unused methods from `AstNode`
|
||||
* semantic: improve ClassTable implmention and merge properties and methods to elements (#1902)
|
||||
* semantic: improve check function declaration implementation (#1854)
|
||||
* semantic: rename `add_node_id` to `add_current_node_id_to_current_scope` (#1847)
|
||||
* semantic: improve check private identifier implementation (#1794)
|
||||
* semantic: remove unused methods from `AstNode`
|
||||
|
||||
### Performance
|
||||
|
||||
* linter/react: find class node by symbols in get_parent_es6_component (#1657)
|
||||
* semantic: check duplicate parameters in Binder of FormalParameters (#1840)
|
||||
* semantic: just need to find the AstKind::FormalParameter in is_in_formal_parameters (#1852)
|
||||
* semantic: reduce calls to span() (#1851)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* semantic: remove duplicate errors in ModuleDeclaration::ImportDeclaration (#1846)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Features
|
||||
|
||||
- Support scope descendents starting from a certain scope. (#1629)
|
||||
- Parse jsdoc on `PropertyDefinition` (#1517)
|
||||
- Add the basics of comment printing (#1313)
|
||||
- Add to_string function to VariableDelcartionKind (#1303)
|
||||
* ast: add to_string function to VariableDelcartionKind (#1303)
|
||||
* ast/semantic: parse jsdoc on `PropertyDefinition` (#1517)
|
||||
* prettier: add the basics of comment printing (#1313)
|
||||
* semantic: support scope descendents starting from a certain scope. (#1629)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move to workspace lint table (#1444)
|
||||
- VariableDeclarationKind::to_string -> as_str (#1321)
|
||||
* ast: VariableDeclarationKind::to_string -> as_str (#1321)
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
## [0.3.0] - 2023-11-06
|
||||
|
||||
### Features
|
||||
|
||||
- Read comment pragma @jsxRuntime classic / automatic (#1133)
|
||||
- Implement some of needs_explicit_esm for typescript (#1047)
|
||||
- Bind function expression name (#1049)
|
||||
- Add utils to make logical_assignment_operators pass (#1017)
|
||||
- ES2020 Nullish Coalescing Operator (#1004)
|
||||
- Finish 2016 exponentiation operator (#996)
|
||||
- Check non-simple lhs expression of assignment expression (#994)
|
||||
- Re-enable mangler (#972)
|
||||
- Partially re-enable minifier (#963)
|
||||
- Add no-redeclare rule. (#683)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Make ExportDeclaration span accurate (#928)
|
||||
* linter: add no-redeclare rule. (#683)
|
||||
* minifier: re-enable mangler (#972)
|
||||
* minifier: partially re-enable minifier (#963)
|
||||
* semantic: bind function expression name (#1049)
|
||||
* semantic: check non-simple lhs expression of assignment expression (#994)
|
||||
* transformer: implement some of needs_explicit_esm for typescript (#1047)
|
||||
* transformer: add utils to make logical_assignment_operators pass (#1017)
|
||||
* transformer: ES2020 Nullish Coalescing Operator (#1004)
|
||||
* transformer: finish 2016 exponentiation operator (#996)
|
||||
* transformer/react: read comment pragma @jsxRuntime classic / automatic (#1133)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move Semantic into Transformer (#1130)
|
||||
- Fix the lifetime annotations around Vist and VisitMut (#973)
|
||||
* ast: fix the lifetime annotations around Vist and VisitMut (#973)
|
||||
* transformer: move Semantic into Transformer (#1130)
|
||||
|
||||
### Testing
|
||||
|
||||
- Add scoping test cases (#954)
|
||||
|
||||
## [0.2.0] - 2023-09-14
|
||||
|
||||
### Features
|
||||
|
||||
- Implement re-exports (#877)
|
||||
- Add loaded_modules to ModuleRecord
|
||||
- Add runner for import-plugin (#858)
|
||||
- Add `SymbolId` and `ReferenceId` (#755)
|
||||
- Add `node_id` to `Reference` (#689)
|
||||
* semantic: add scoping test cases (#954)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Symbol of identifier of top level function declaration should be in the root scope (#843)
|
||||
- Make semantic own `Trivias` (#711)
|
||||
- Nested references (#661)
|
||||
* semantic: make ExportDeclaration span accurate (#928)
|
||||
|
||||
## [0.2.0] - 2023-09-14
|
||||
|
||||
### Performance
|
||||
|
||||
- Lazily build trivia map instead of build in-place (#903)
|
||||
* parser: lazily build trivia map instead of build in-place (#903)
|
||||
|
||||
### Features
|
||||
|
||||
* ast: add `SymbolId` and `ReferenceId` (#755)
|
||||
* linter: implement re-exports (#877)
|
||||
* linter: add runner for import-plugin (#858)
|
||||
* semantic: add `node_id` to `Reference` (#689)
|
||||
* syntax: add loaded_modules to ModuleRecord
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* parser,semantic: make semantic own `Trivias` (#711)
|
||||
* semantic: symbol of identifier of top level function declaration should be in the root scope (#843)
|
||||
* semantic: nested references (#661)
|
||||
|
||||
### Testing
|
||||
|
||||
- Test harness (#679)
|
||||
* semantic: test harness (#679)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,47 +9,45 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Features
|
||||
|
||||
- Add Sourcemap#from_json method (#3361)
|
||||
* sourcemap: add Sourcemap#from_json method (#3361)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix some nightly warnings
|
||||
- fix some nightly warnings |
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Features
|
||||
|
||||
- Add feature "sourcemap_concurrent"
|
||||
- Add "rayon" feature (#3198)
|
||||
* sourcemap: add feature "sourcemap_concurrent"
|
||||
* sourcemap: add "rayon" feature (#3198)
|
||||
|
||||
## [0.12.3] - 2024-04-11
|
||||
|
||||
### Features
|
||||
|
||||
- Add x_google_ignoreList (#2928)
|
||||
- Add sourceRoot (#2926)
|
||||
* sourcemap: add x_google_ignoreList (#2928)
|
||||
* sourcemap: add sourceRoot (#2926)
|
||||
|
||||
## [0.12.2] - 2024-04-08
|
||||
|
||||
### Features
|
||||
|
||||
- Optional JSONSourceMap fileds (#2910)
|
||||
- Add methods to mutate SourceMap (#2909)
|
||||
- Add SourceMapBuilder file (#2908)
|
||||
* sourcemap: optional JSONSourceMap fileds (#2910)
|
||||
* sourcemap: add methods to mutate SourceMap (#2909)
|
||||
* sourcemap: add SourceMapBuilder file (#2908)
|
||||
|
||||
## [0.11.1] - 2024-04-03
|
||||
## [0.12.1] - 2024-04-03
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Using serde_json::to_string to quote sourcemap string (#2889)
|
||||
* sourcemap: using serde_json::to_string to quote sourcemap string (#2889)
|
||||
|
||||
## [0.11.0] - 2024-03-30
|
||||
|
||||
### Features
|
||||
|
||||
- Add oxc sourcemap crate (#2825)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Sourcemap token name should be original name (#2843)
|
||||
* codegen: sourcemap token name should be original name (#2843)
|
||||
|
||||
### Features
|
||||
- add oxc sourcemap crate (#2825) |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,95 +9,86 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Features
|
||||
|
||||
- Get &str from Atom<'a> with lifetime of 'a (#3420)
|
||||
* atom: get &str from Atom<'a> with lifetime of 'a (#3420)
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Features
|
||||
|
||||
- Get the correct lineNumber and columnNumber from the span. (#3142)
|
||||
|
||||
### Refactor
|
||||
|
||||
- One diagnostic struct to eliminate monomorphization of generic types (#3214)
|
||||
- Add `is_strict` methods (#3227)
|
||||
* ast: add `is_strict` methods (#3227)
|
||||
* parser,diagnostic: one diagnostic struct to eliminate monomorphization of generic types (#3214)
|
||||
|
||||
### Features
|
||||
|
||||
* transformer/jsx-source: get the correct lineNumber and columnNumber from the span. (#3142)
|
||||
|
||||
## [0.12.5] - 2024-04-22
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove unnecessary custom `Serialize` impl for `Atom` (#3041)
|
||||
* napi: remove unnecessary custom `Serialize` impl for `Atom` (#3041)
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
### Features
|
||||
|
||||
- Merge features `serde` and `wasm` to `serialize` (#2716)
|
||||
- `impl<'a> PartialEq<str> for Atom<'a>` (#2649)
|
||||
- Miette v7 (#2465)
|
||||
- Remove `From<String>` and `From<Cow>` API because they create memory leak (#2628)
|
||||
* span: `impl<'a> PartialEq<str> for Atom<'a>` (#2649)
|
||||
* span: remove `From<String>` and `From<Cow>` API because they create memory leak (#2628)- merge features `serde` and `wasm` to `serialize` (#2716) |- miette v7 (#2465) |
|
||||
|
||||
### Refactor
|
||||
|
||||
- Derive `SerAttrs` on all AST types (#2698)
|
||||
- Change shape of `Language` (#2680)
|
||||
- Reduce `cfg_attr` boilerplate with `SerAttrs` derive (#2669)
|
||||
- Import `Tsify` to shorten code (#2665)
|
||||
- "wasm" feature enable "serde" feature (#2639)
|
||||
- Shorten manual TS defs (#2638)
|
||||
- Simplify `Atom` (#2630)
|
||||
- Remove `Atom::Compact` variant (#2629)
|
||||
- Disallow struct expression constructor for `Span` (#2625)
|
||||
- Make `CompactStr` immutable (#2620)
|
||||
- Rename `CompactString` to `CompactStr` (#2619)
|
||||
* ast: import `Tsify` to shorten code (#2665)
|
||||
* ast: shorten manual TS defs (#2638)
|
||||
* span: change shape of `Language` (#2680)
|
||||
* span: simplify `Atom` (#2630)
|
||||
* span: remove `Atom::Compact` variant (#2629)
|
||||
* span: disallow struct expression constructor for `Span` (#2625)- derive `SerAttrs` on all AST types (#2698) |- reduce `cfg_attr` boilerplate with `SerAttrs` derive (#2669) |- "wasm" feature enable "serde" feature (#2639) |- make `CompactStr` immutable (#2620) |- rename `CompactString` to `CompactStr` (#2619) |
|
||||
|
||||
## [0.9.0] - 2024-03-05
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove `AtomImpl` (#2525)
|
||||
- Move base54 method to mangler (#2523)
|
||||
- Replace InlinableString with CompactString for `Atom` (#2517)
|
||||
* span: remove `AtomImpl` (#2525)
|
||||
* span: move base54 method to mangler (#2523)- replace InlinableString with CompactString for `Atom` (#2517) |
|
||||
|
||||
## [0.7.0] - 2024-02-09
|
||||
|
||||
### Features
|
||||
|
||||
- Fix memory leak by implementing inlineable string for oxc_allocator (#2294)
|
||||
* span: fix memory leak by implementing inlineable string for oxc_allocator (#2294)
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Features
|
||||
|
||||
- TypeScript definition for wasm target (#2158)
|
||||
* ast: TypeScript definition for wasm target (#2158)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move to workspace lint table (#1444)
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
## [0.3.0] - 2023-11-06
|
||||
|
||||
### Features
|
||||
|
||||
- Support react/no-render-return-value (#1042)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Add an empty SPAN utility for creating AST nodes (#1067)
|
||||
* transformer: add an empty SPAN utility for creating AST nodes (#1067)
|
||||
|
||||
### Features
|
||||
|
||||
* linter: support react/no-render-return-value (#1042)
|
||||
|
||||
### Testing
|
||||
|
||||
- Add scoping test cases (#954)
|
||||
* semantic: add scoping test cases (#954)
|
||||
|
||||
## [0.2.0] - 2023-09-14
|
||||
|
||||
### Features
|
||||
|
||||
- Constant addition expression folding (#882)
|
||||
* minifier: constant addition expression folding (#882)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Improve code coverage in various places (#721)
|
||||
- improve code coverage in various places (#721) |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,183 +9,176 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Features
|
||||
|
||||
- Export `is_reserved_keyword` and `is_global_object` method (#3384)
|
||||
* syntax: export `is_reserved_keyword` and `is_global_object` method (#3384)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Do no add __self when the jsx is inside constructor (#3258)
|
||||
* transformer: do no add __self when the jsx is inside constructor (#3258)
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Features
|
||||
|
||||
- Add scope flags to `TraverseCtx` (#3229)
|
||||
- Add `ToJsInt32` trait for f64 (#3132)
|
||||
- Add `ToJsString` trait for f64 (#3131)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Create scope for function nested in class method (#3234)
|
||||
* traverse: create scope for function nested in class method (#3234)
|
||||
|
||||
### Features
|
||||
|
||||
* syntax: add `ToJsInt32` trait for f64 (#3132)
|
||||
* syntax: add `ToJsString` trait for f64 (#3131)
|
||||
* traverse: add scope flags to `TraverseCtx` (#3229)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move number related functions to number module (#3130)
|
||||
- Use `FxHashMap` for `ModuleRecord::request_modules` (#3124)
|
||||
* syntax: move number related functions to number module (#3130)
|
||||
* syntax: use `FxHashMap` for `ModuleRecord::request_modules` (#3124)
|
||||
|
||||
## [0.12.5] - 2024-04-22
|
||||
|
||||
### Features
|
||||
|
||||
- Module graph visitor. (#3062)
|
||||
* syntax: module graph visitor. (#3062)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Correctly resolve identifiers inside parameter initializers (#3046)
|
||||
* semantic: correctly resolve identifiers inside parameter initializers (#3046)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Implement same traits on all fieldless enums (#3031)
|
||||
* ast: implement same traits on all fieldless enums (#3031)
|
||||
|
||||
## [0.12.2] - 2024-04-08
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Symbols inside functions and classes incorrectly flagged as exported (#2896)
|
||||
* semantic: symbols inside functions and classes incorrectly flagged as exported (#2896)
|
||||
|
||||
## [0.11.1] - 2024-04-03
|
||||
## [0.12.1] - 2024-04-03
|
||||
|
||||
### Features
|
||||
|
||||
- Add compiler assumptions (#2872)
|
||||
* transformer: add compiler assumptions (#2872)
|
||||
|
||||
## [0.11.0] - 2024-03-30
|
||||
|
||||
### Features
|
||||
|
||||
- Distinguish type imports in ModuleRecord (#2785)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Ignore export declaration in no-duplicates (#2863)
|
||||
* linter/import: ignore export declaration in no-duplicates (#2863)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Distinguish whether requested_modules is type imports/exports (#2848)
|
||||
* semantic: distinguish whether requested_modules is type imports/exports (#2848)
|
||||
|
||||
### Features
|
||||
|
||||
* semantic: distinguish type imports in ModuleRecord (#2785)
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
### Features
|
||||
|
||||
- Merge features `serde` and `wasm` to `serialize` (#2716)
|
||||
- Resolve ESM star exports (#2682)
|
||||
* linter: resolve ESM star exports (#2682)- merge features `serde` and `wasm` to `serialize` (#2716) |
|
||||
|
||||
### Refactor
|
||||
|
||||
- Derive `SerAttrs` on all AST types (#2698)
|
||||
- Reduce `cfg_attr` boilerplate with `SerAttrs` derive (#2669)
|
||||
- Import `Tsify` to shorten code (#2665)
|
||||
- "wasm" feature enable "serde" feature (#2639)
|
||||
- Shorten manual TS defs (#2638)
|
||||
- Rename `CompactString` to `CompactStr` (#2619)
|
||||
* ast: import `Tsify` to shorten code (#2665)
|
||||
* ast: shorten manual TS defs (#2638)- derive `SerAttrs` on all AST types (#2698) |- reduce `cfg_attr` boilerplate with `SerAttrs` derive (#2669) |- "wasm" feature enable "serde" feature (#2639) |- rename `CompactString` to `CompactStr` (#2619) |
|
||||
|
||||
## [0.9.0] - 2024-03-05
|
||||
|
||||
### Features
|
||||
|
||||
- Remove all commonjs logic for import plugin (#2537)
|
||||
* linter: remove all commonjs logic for import plugin (#2537)
|
||||
|
||||
## [0.8.0] - 2024-02-26
|
||||
|
||||
### Features
|
||||
|
||||
- Handle cjs `module.exports.foo = bar` and `exports.foo = bar` (#2492)
|
||||
- Implement `Debug` for `ModuleRecord` (#2488)
|
||||
- Improve codegen (#2460)
|
||||
- Add static property, ElementKind::Getter, ElementKind::Setter in ClassTable (#2445)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Improve import/no-named-as-default (#2494)
|
||||
* linter: improve import/no-named-as-default (#2494)
|
||||
|
||||
### Features
|
||||
|
||||
* Codegen: Improve codegen (#2460)
|
||||
* linter: handle cjs `module.exports.foo = bar` and `exports.foo = bar` (#2492)
|
||||
* semantic: add static property, ElementKind::Getter, ElementKind::Setter in ClassTable (#2445)
|
||||
* syntax: implement `Debug` for `ModuleRecord` (#2488)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Get arrow expression by scope_id in no_render_return_value (#2424)
|
||||
* linter: get arrow expression by scope_id in no_render_return_value (#2424)
|
||||
|
||||
## [0.7.0] - 2024-02-09
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Remove unnecessary SymbolFlags::Import (#2311)
|
||||
* semantic: remove unnecessary SymbolFlags::Import (#2311)
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Features
|
||||
|
||||
- Remove serde skip for symbol_id and reference_id (#2220)
|
||||
- TypeScript definition for wasm target (#2158)
|
||||
- Remove import if only have type reference (#2001)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Add parenthesis in binary expression by precedence (#2067)
|
||||
* ast: remove serde skip for symbol_id and reference_id (#2220)
|
||||
* ast: TypeScript definition for wasm target (#2158)
|
||||
* transformer/typescript: remove import if only have type reference (#2001)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Don't re-export `unicode_id_start`
|
||||
- Make `is_identifier` methods consistent
|
||||
- ASCII tables static not const (#2128)
|
||||
- Reformat identifier byte tables (#2111)
|
||||
* parser: make `is_identifier` methods consistent
|
||||
* syntax: don't re-export `unicode_id_start`
|
||||
* syntax: ASCII tables static not const (#2128)
|
||||
* syntax: reformat identifier byte tables (#2111)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* codegen: add parenthesis in binary expression by precedence (#2067)
|
||||
|
||||
## [0.5.0] - 2024-01-12
|
||||
|
||||
### Features
|
||||
|
||||
- Allow reserved keyword defined in ts module block (#1907)
|
||||
- Visualize symbol (#1886)
|
||||
- Improve check super implementation, reduce access nodes (#1827)
|
||||
- Add ClassTable (#1793)
|
||||
- Add eslint-plugin-import(export) rule (#1654)
|
||||
* linter: add eslint-plugin-import(export) rule (#1654)
|
||||
* playground: visualize symbol (#1886)
|
||||
* semantic: allow reserved keyword defined in ts module block (#1907)
|
||||
* semantic: improve check super implementation, reduce access nodes (#1827)
|
||||
* semantic: add ClassTable (#1793)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Improve ClassTable implmention and merge properties and methods to elements (#1902)
|
||||
* semantic: improve ClassTable implmention and merge properties and methods to elements (#1902)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Features
|
||||
|
||||
- Binaryish expressions with parens (#1597)
|
||||
- Check parens for `(let)[a] = 1` (#1585)
|
||||
- Support quoteProps option in PropertyKey (#1578)
|
||||
* prettier: binaryish expressions with parens (#1597)
|
||||
* prettier: check parens for `(let)[a] = 1` (#1585)
|
||||
* prettier: support quoteProps option in PropertyKey (#1578)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move to workspace lint table (#1444)
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
## [0.3.0] - 2023-11-06
|
||||
|
||||
### Features
|
||||
|
||||
- Escape xhtml in jsx attributes (#1088)
|
||||
- Read plugins options from babel `options.json` (#1006)
|
||||
- Check non-simple lhs expression of assignment expression (#994)
|
||||
- Partially re-enable minifier (#963)
|
||||
- Logical assignment operators (#923)
|
||||
* minifier: partially re-enable minifier (#963)
|
||||
* semantic: check non-simple lhs expression of assignment expression (#994)
|
||||
* transformer: logical assignment operators (#923)
|
||||
* transformer/jsx: escape xhtml in jsx attributes (#1088)
|
||||
* transformer_conformance: read plugins options from babel `options.json` (#1006)
|
||||
|
||||
## [0.2.0] - 2023-09-14
|
||||
|
||||
### Features
|
||||
|
||||
- Add loaded_modules to ModuleRecord
|
||||
- Add `SymbolId` and `ReferenceId` (#755)
|
||||
- Initialize conditions folding (#658)
|
||||
* ast: add `SymbolId` and `ReferenceId` (#755)
|
||||
* minifier: initialize conditions folding (#658)
|
||||
* syntax: add loaded_modules to ModuleRecord
|
||||
|
||||
### Refactor
|
||||
- improve code coverage a little bit |- improve code coverage in various places (#721) |
|
||||
|
||||
### Performance
|
||||
|
||||
- Reduce mallocs (#654)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Improve code coverage a little bit
|
||||
- Improve code coverage in various places (#721)
|
||||
* linter: reduce mallocs (#654)
|
||||
|
||||
+270
-272
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,394 +9,392 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- JSX set `symbol_id` on imports (#3523)
|
||||
- TS namespace transform do not track var decl names (#3501)
|
||||
- Use correct scope for TS namespaces (#3489)
|
||||
- Output empty file for TS definition files (#3500)
|
||||
* transformer: JSX set `symbol_id` on imports (#3523)
|
||||
* transformer: TS namespace transform do not track var decl names (#3501)
|
||||
* transformer: use correct scope for TS namespaces (#3489)
|
||||
* transformer: output empty file for TS definition files (#3500)
|
||||
|
||||
### Performance
|
||||
|
||||
- React JSX reduce allocations (#3522)
|
||||
- React JSX reuse same `Atom`s (#3521)
|
||||
* transformer: React JSX reduce allocations (#3522)
|
||||
* transformer: React JSX reuse same `Atom`s (#3521)
|
||||
|
||||
### Refactor
|
||||
|
||||
- `generate_uid` return `SymbolId` (#3520)
|
||||
* traverse: `generate_uid` return `SymbolId` (#3520)
|
||||
|
||||
## [0.13.2] - 2024-06-03
|
||||
|
||||
### Refactor
|
||||
|
||||
* ast: move scope from `TSModuleBlock` to `TSModuleDeclaration` (#3488)
|
||||
* transformer: explicit skip TS statements in TS namespace transform (#3479)
|
||||
* transformer: shorter code in TS namespace transform (#3478)
|
||||
* transformer: panic on illegal cases in TS namespace transform (#3477)
|
||||
* transformer: rename var (#3476)
|
||||
* transformer: shorten code in TS namespace transform (#3468)
|
||||
* transformer: remove unreachable code from TS namespace transform (#3475)
|
||||
* transformer/typescript: use a memory-safe implementation instead (#3481)
|
||||
* typescript/namespace: reuse TSModuleBlock's scope id (#3459)
|
||||
|
||||
### Features
|
||||
|
||||
- Turn on idempotency testing for transformer (#3470)
|
||||
- Preserve annotate comment (#3465)
|
||||
- Report error that do not allow namespaces (#3448)
|
||||
- Report error for namespace exporting non-const (#3447)
|
||||
- If within a block scope, use let to declare enum name (#3446)
|
||||
- If binding exists, variable declarations are not created for namespace name (#3445)
|
||||
- Support `targets` option of preset-env (#3371)
|
||||
- If the binding exists, the identifier reference is not renamed (#3387)
|
||||
* oxc_codegen: preserve annotate comment (#3465)
|
||||
* tasks/coverage: turn on idempotency testing for transformer (#3470)
|
||||
* transformer: support `targets` option of preset-env (#3371)
|
||||
* transformer/typescript: report error that do not allow namespaces (#3448)
|
||||
* transformer/typescript: report error for namespace exporting non-const (#3447)
|
||||
* transformer/typescript: if within a block scope, use let to declare enum name (#3446)
|
||||
* transformer/typescript: if binding exists, variable declarations are not created for namespace name (#3445)
|
||||
* transformer/typescript: if the binding exists, the identifier reference is not renamed (#3387)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Add filename statement only after inserting the source object (#3469)
|
||||
- Variable declarations are not created when a function has a binding with the same name (#3460)
|
||||
- Use UIDs for React imports (#3431)
|
||||
- Use UIDs in TS namespace transforms (#3395)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move scope from `TSModuleBlock` to `TSModuleDeclaration` (#3488)
|
||||
- Use a memory-safe implementation instead (#3481)
|
||||
- Explicit skip TS statements in TS namespace transform (#3479)
|
||||
- Shorter code in TS namespace transform (#3478)
|
||||
- Panic on illegal cases in TS namespace transform (#3477)
|
||||
- Rename var (#3476)
|
||||
- Shorten code in TS namespace transform (#3468)
|
||||
- Remove unreachable code from TS namespace transform (#3475)
|
||||
- Reuse TSModuleBlock's scope id (#3459)
|
||||
* transformer: use UIDs for React imports (#3431)
|
||||
* transformer: use UIDs in TS namespace transforms (#3395)
|
||||
* transformer/jsx-source: add filename statement only after inserting the source object (#3469)
|
||||
* transformer/typescript: variable declarations are not created when a function has a binding with the same name (#3460)
|
||||
|
||||
## [0.13.1] - 2024-05-22
|
||||
|
||||
### Refactor
|
||||
|
||||
* diagnostics: s/warning/warn
|
||||
* transformer: correct spelling of var name (#3369)
|
||||
* transformer: improve indentation (#3282)
|
||||
* traverse: `Traverse` produce scopes tree using `Semantic` (#3304)
|
||||
|
||||
### Features
|
||||
|
||||
- Report errors when options have unknown fields (#3322)
|
||||
- Pass `&mut TraverseCtx` to visitors (#3312)
|
||||
- Support `from_babel_options` in TransformOptions (#3301)
|
||||
- Do not add self attribute in react/jsx plugin (#3287)
|
||||
* transformer: report errors when options have unknown fields (#3322)
|
||||
* transformer: support `from_babel_options` in TransformOptions (#3301)
|
||||
* transformer: do not add self attribute in react/jsx plugin (#3287)
|
||||
* traverse: pass `&mut TraverseCtx` to visitors (#3312)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Do no add __self when the jsx is inside constructor (#3258)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Correct spelling of var name (#3369)
|
||||
- S/warning/warn
|
||||
- `Traverse` produce scopes tree using `Semantic` (#3304)
|
||||
- Improve indentation (#3282)
|
||||
* transformer: do no add __self when the jsx is inside constructor (#3258)
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Features
|
||||
|
||||
- Report ambient module cannot be nested error (#3253)
|
||||
- Do not elide jsx imports if a jsx element appears somewhere (#3237)
|
||||
- Support development mode (#3143)
|
||||
- Get the correct lineNumber and columnNumber from the span. (#3142)
|
||||
- Enable jsx plugin when development is true (#3141)
|
||||
- Add `ToJsInt32` trait for f64 (#3132)
|
||||
- Add `ToJsString` trait for f64 (#3131)
|
||||
- Add arrow-functions plugin (#3083)
|
||||
- Implement typescript namespace (#3025)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Correctly jsx-self inside arrow-function (#3224)
|
||||
- Implement `transform-react-display-name` with bottom-up lookup (#3183)
|
||||
- Should not transform `this` in class (#3129)
|
||||
* syntax: add `ToJsInt32` trait for f64 (#3132)
|
||||
* syntax: add `ToJsString` trait for f64 (#3131)
|
||||
* transformer: report ambient module cannot be nested error (#3253)
|
||||
* transformer: do not elide jsx imports if a jsx element appears somewhere (#3237)
|
||||
* transformer: add arrow-functions plugin (#3083)
|
||||
* transformer: implement typescript namespace (#3025)
|
||||
* transformer/jsx-source: get the correct lineNumber and columnNumber from the span. (#3142)
|
||||
* transformer/react: support development mode (#3143)
|
||||
* transformer/react: enable jsx plugin when development is true (#3141)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove all usages of `Into<Error>`
|
||||
- Clean up more diagnostics
|
||||
- Unify diagnostics
|
||||
- Remove no-op scopes code (#3210)
|
||||
- Transformer use `Traverse` (#3182)
|
||||
- Remove the requirement of `Semantic` (#3140)
|
||||
- Move number related functions to number module (#3130)
|
||||
- Reimplementation of Enum conversion based on Babel (#3102)
|
||||
- Squash nested enums (#3115)
|
||||
* ast: squash nested enums (#3115)
|
||||
* syntax: move number related functions to number module (#3130)
|
||||
* transform: transformer use `Traverse` (#3182)
|
||||
* transformer: clean up more diagnostics
|
||||
* transformer: unify diagnostics
|
||||
* transformer: remove no-op scopes code (#3210)
|
||||
* transformer: remove the requirement of `Semantic` (#3140)
|
||||
* transformer/typescript: reimplementation of Enum conversion based on Babel (#3102)- remove all usages of `Into<Error>` |
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* transform: implement `transform-react-display-name` with bottom-up lookup (#3183)
|
||||
* transformer: correctly jsx-self inside arrow-function (#3224)
|
||||
* transformer/arrow-functions: should not transform `this` in class (#3129)
|
||||
|
||||
## [0.12.5] - 2024-04-22
|
||||
|
||||
### Performance
|
||||
|
||||
- Box typescript enum variants. (#3065)
|
||||
- Box enum variants (#3058)
|
||||
- Box `ImportDeclarationSpecifier` enum variants (#3061)
|
||||
* ast: box typescript enum variants. (#3065)
|
||||
* ast: box enum variants (#3058)
|
||||
* ast: box `ImportDeclarationSpecifier` enum variants (#3061)
|
||||
|
||||
## [0.12.4] - 2024-04-19
|
||||
|
||||
### Features
|
||||
|
||||
- Report error for export = <value> (#3021)
|
||||
- Reports error for import lib = require(...); (#3020)
|
||||
- Insert this assignment after the super call (#3018)
|
||||
- Reports duplicate __self/__source prop error (#3009)
|
||||
- Add "_jsxFileName" variable in jsx source plugin (#3000)
|
||||
- Support for transform TSImportEqualsDeclaration (#2998)
|
||||
- Support for transform enum (#2997)
|
||||
- Add import helpers to manage module imports (#2996)
|
||||
- Correct elide imports/exports statements (#2995)
|
||||
- Skip tests with plugin.js (#2978)
|
||||
- Add diagnostics to react transform (#2974)
|
||||
- Skip plugins we don't support yet (#2967)
|
||||
- Apply jsx self and source plugin inside jsx transform (#2966)
|
||||
- React jsx transform (#2961)
|
||||
- Start on TypeScript annotation removal (#2951)
|
||||
- Add the most basic plugin toggles (#2950)
|
||||
- Implement react-jsx-source (#2948)
|
||||
- Implement react-jsx-self (#2946)
|
||||
- Transform TypeScript namespace (#2942)
|
||||
- Add filename (#2941)
|
||||
* transform_conformance: skip tests with plugin.js (#2978)
|
||||
* transform_conformance: skip plugins we don't support yet (#2967)
|
||||
* transformer: add "_jsxFileName" variable in jsx source plugin (#3000)
|
||||
* transformer: add import helpers to manage module imports (#2996)
|
||||
* transformer: add diagnostics to react transform (#2974)
|
||||
* transformer: apply jsx self and source plugin inside jsx transform (#2966)
|
||||
* transformer: react jsx transform (#2961)
|
||||
* transformer: start on TypeScript annotation removal (#2951)
|
||||
* transformer: add the most basic plugin toggles (#2950)
|
||||
* transformer: implement react-jsx-source (#2948)
|
||||
* transformer: implement react-jsx-self (#2946)
|
||||
* transformer: transform TypeScript namespace (#2942)
|
||||
* transformer: add filename (#2941)
|
||||
* transformer/react: reports duplicate __self/__source prop error (#3009)
|
||||
* transformer/typescript: report error for export = <value> (#3021)
|
||||
* transformer/typescript: reports error for import lib = require(...); (#3020)
|
||||
* transformer/typescript: insert this assignment after the super call (#3018)
|
||||
* transformer/typescript: support for transform TSImportEqualsDeclaration (#2998)
|
||||
* transformer/typescript: support for transform enum (#2997)
|
||||
* transformer/typescript: correct elide imports/exports statements (#2995)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- `TypeScriptOptions` deserialize should fallback to default (#3012)
|
||||
- Modifiers should not be removed (#3005)
|
||||
- React `development` default value should be false (#3002)
|
||||
- Deserialize ReactJsxRuntime with camelCase (#2972)
|
||||
- Turn on react preset by default (#2968)
|
||||
- Fix incorrect jsx whitespace text handling (#2969)
|
||||
* transformer: `TypeScriptOptions` deserialize should fallback to default (#3012)
|
||||
* transformer: react `development` default value should be false (#3002)
|
||||
* transformer: deserialize ReactJsxRuntime with camelCase (#2972)
|
||||
* transformer: turn on react preset by default (#2968)
|
||||
* transformer: fix incorrect jsx whitespace text handling (#2969)
|
||||
* transformer/typescript: modifiers should not be removed (#3005)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove boilerplate code around decorators to reduce noise (#2991)
|
||||
- Clean up some code (#2949)
|
||||
* transformer: remove boilerplate code around decorators to reduce noise (#2991)
|
||||
* transformer: clean up some code (#2949)
|
||||
|
||||
## [0.12.3] - 2024-04-11
|
||||
|
||||
### Features
|
||||
|
||||
- Implement plugin-transform-react-display-name top-down (#2937)
|
||||
- Add transform context to all plugins (#2931)
|
||||
- Add transform callback methods (#2929)
|
||||
- Add react preset (#2921)
|
||||
* transformer: implement plugin-transform-react-display-name top-down (#2937)
|
||||
* transformer: add transform context to all plugins (#2931)
|
||||
* transformer: add transform callback methods (#2929)
|
||||
* transformer: add react preset (#2921)
|
||||
|
||||
## [0.11.1] - 2024-04-03
|
||||
|
||||
### Features
|
||||
|
||||
- Add compiler assumptions (#2872)
|
||||
- Add proposal-decorators (#2868)
|
||||
- Add react plugins (#2867)
|
||||
- Add `transform-typescript` boilerplate (#2866)
|
||||
## [0.12.1] - 2024-04-03
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Add serde "derive" feature to fix compile error
|
||||
* transformer: add serde "derive" feature to fix compile error
|
||||
|
||||
### Features
|
||||
|
||||
* transformer: add compiler assumptions (#2872)
|
||||
* transformer: add proposal-decorators (#2868)
|
||||
* transformer: add react plugins (#2867)
|
||||
* transformer: add `transform-typescript` boilerplate (#2866)
|
||||
|
||||
## [0.11.0] - 2024-03-30
|
||||
|
||||
### Features
|
||||
|
||||
- Numeric separator plugin. (#2795)
|
||||
- Add transform literal for numeric literals. (#2797)
|
||||
- Remove `verbatim_module_syntax` option (#2796)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Optional-catch-binding unused variable side effect (#2822)
|
||||
- Add support for empty module declaration (#2834)
|
||||
* parser: add support for empty module declaration (#2834)
|
||||
* transformer: optional-catch-binding unused variable side effect (#2822)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Pass options via context. (#2794)
|
||||
- Add walk_mut functions (#2776)
|
||||
- Get rid of unsafe transmutation in VisitMut trait. (#2764)
|
||||
- Change sourcemap name to take a reference (#2779)
|
||||
* ast: add walk_mut functions (#2776)
|
||||
* ast: get rid of unsafe transmutation in VisitMut trait. (#2764)
|
||||
* sourcemap: change sourcemap name to take a reference (#2779)
|
||||
* transformer: pass options via context. (#2794)
|
||||
|
||||
### Features
|
||||
|
||||
* transformer: numeric separator plugin. (#2795)
|
||||
* transformer: add transform literal for numeric literals. (#2797)
|
||||
* transformer/typescript: remove `verbatim_module_syntax` option (#2796)
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
### Refactor
|
||||
|
||||
* ast: refactor `Trivias` API - have less noise around it (#2692)- rename `CompactString` to `CompactStr` (#2619) |
|
||||
|
||||
### Features
|
||||
|
||||
- Handling the coexistence of class decorators and member decorators (#2636)
|
||||
- Remove `From<String>` and `From<Cow>` API because they create memory leak (#2628)
|
||||
* span: remove `From<String>` and `From<Cow>` API because they create memory leak (#2628)
|
||||
* transformer/decorators: handling the coexistence of class decorators and member decorators (#2636)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Parse `with_clause` in re-export declaration (#2634)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Refactor `Trivias` API - have less noise around it (#2692)
|
||||
- Rename `CompactString` to `CompactStr` (#2619)
|
||||
* ast: parse `with_clause` in re-export declaration (#2634)
|
||||
|
||||
## [0.9.0] - 2024-03-05
|
||||
|
||||
### Features
|
||||
|
||||
- Support transform constructor method (#2551)
|
||||
- Add "abstract" type to `MethodDefinition` and `PropertyDefinition` (#2536)
|
||||
- Call build module record (#2529)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Missing check private function (#2607)
|
||||
- Support FormalParameter.override (#2577)
|
||||
* ast: support FormalParameter.override (#2577)
|
||||
* transformer/decorators: missing check private function (#2607)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Clean up API around building sourcemaps (#2602)
|
||||
- Improve implementation of remove import/export (#2530)
|
||||
* codegen: clean up API around building sourcemaps (#2602)
|
||||
* transformer/typescript: improve implementation of remove import/export (#2530)
|
||||
|
||||
### Features
|
||||
|
||||
* ast: add "abstract" type to `MethodDefinition` and `PropertyDefinition` (#2536)
|
||||
* transformer: call build module record (#2529)
|
||||
* transformer/typescript: support transform constructor method (#2551)
|
||||
|
||||
## [0.8.0] - 2024-02-26
|
||||
|
||||
### Features
|
||||
|
||||
- Insert only one private in expression (#2486)
|
||||
- Update arrow_expression to arrow_function_expression (#2496)
|
||||
- Insert instanceBrand function (#2480)
|
||||
- Transform getter function (#2473)
|
||||
- Configurable typescript codegen (#2443)
|
||||
* ast: update arrow_expression to arrow_function_expression (#2496)
|
||||
* codegen: configurable typescript codegen (#2443)
|
||||
* transformer/decorators: insert only one private in expression (#2486)
|
||||
* transformer/decorators: insert instanceBrand function (#2480)
|
||||
* transformer/decorators: transform getter function (#2473)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Remove `TSEnumBody` (#2509)
|
||||
- S/NumberLiteral/NumericLiteral to align with estree
|
||||
- S/ArrowExpression/ArrowFunctionExpression to align estree
|
||||
- If it is a private method definition, transform it (#2427)
|
||||
- Move get_decorator_info inside the decorators (#2426)
|
||||
* ast: remove `TSEnumBody` (#2509)
|
||||
* ast: s/NumberLiteral/NumericLiteral to align with estree
|
||||
* ast: s/ArrowExpression/ArrowFunctionExpression to align estree
|
||||
* transformer/decorators: if it is a private method definition, transform it (#2427)
|
||||
* transformer/decorators: move get_decorator_info inside the decorators (#2426)
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Features
|
||||
|
||||
- Remove generator property from ArrowFunction (#2260)
|
||||
- Remove expression property from Function (#2247)
|
||||
- Support for static and private member decorators (#2246)
|
||||
- Support method decorator and is not static (#2238)
|
||||
- Support static member (#2235)
|
||||
- Ensure property key consistency (#2233)
|
||||
- Support transform member decorators (#2171)
|
||||
- Transform-json-strings (#2168)
|
||||
- Support version 2023-05 (#2152)
|
||||
- Support transform the class decorators in export declaration (#2145)
|
||||
- Add decorators plugin (#2139)
|
||||
- Improve function parameters name (#2079)
|
||||
- Support only_remove_type_imports option (#2077)
|
||||
- Support transform exported TSModuleBlock (#2076)
|
||||
- Support transform namespace (#2075)
|
||||
- Keep imports if import specifiers is empty (#2058)
|
||||
- Remove type-related exports (#2056)
|
||||
- Remove type only imports/exports correctly (#2055)
|
||||
- Remove export specifier that import_kind is type (#2015)
|
||||
- Remove import if only have type reference (#2001)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Always create valid identifiers (#2131)
|
||||
* ast: remove generator property from ArrowFunction (#2260)
|
||||
* ast: remove expression property from Function (#2247)
|
||||
* transformer: add decorators plugin (#2139)
|
||||
* transformer/decorators: support for static and private member decorators (#2246)
|
||||
* transformer/decorators: support method decorator and is not static (#2238)
|
||||
* transformer/decorators: support static member (#2235)
|
||||
* transformer/decorators: ensure property key consistency (#2233)
|
||||
* transformer/decorators: support transform member decorators (#2171)
|
||||
* transformer/decorators: support version 2023-05 (#2152)
|
||||
* transformer/decorators: support transform the class decorators in export declaration (#2145)
|
||||
* transformer/typescript: improve function parameters name (#2079)
|
||||
* transformer/typescript: support only_remove_type_imports option (#2077)
|
||||
* transformer/typescript: support transform exported TSModuleBlock (#2076)
|
||||
* transformer/typescript: support transform namespace (#2075)
|
||||
* transformer/typescript: keep imports if import specifiers is empty (#2058)
|
||||
* transformer/typescript: remove type-related exports (#2056)
|
||||
* transformer/typescript: remove type only imports/exports correctly (#2055)
|
||||
* transformer/typescript: remove export specifier that import_kind is type (#2015)
|
||||
* transformer/typescript: remove import if only have type reference (#2001)
|
||||
* transfrom: transform-json-strings (#2168)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Optimizing code with ast.private_field (#2249)
|
||||
- Align the implementation of all versions (#2159)
|
||||
- Improve simple_assignment_target_identifier and simple_assignment_target_member_expression method (#2153)
|
||||
- Use `is_identifier_part`
|
||||
- Use `is_identifier_name` from `oxc_syntax`
|
||||
- Move the ExportNamedDeclaration logic to its function (#2074)
|
||||
* ast: improve simple_assignment_target_identifier and simple_assignment_target_member_expression method (#2153)
|
||||
* transformer: use `is_identifier_part`
|
||||
* transformer: use `is_identifier_name` from `oxc_syntax`
|
||||
* transformer/decorators: optimizing code with ast.private_field (#2249)
|
||||
* transformer/decorators: align the implementation of all versions (#2159)
|
||||
* transformer/typescript: move the ExportNamedDeclaration logic to its function (#2074)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* transformer: always create valid identifiers (#2131)
|
||||
|
||||
## [0.5.0] - 2024-01-12
|
||||
|
||||
### Features
|
||||
|
||||
- Call enter_node/leave_node in visit_xxx (#1990)
|
||||
- Support for transform TSImportEqualsDeclaration (#1994)
|
||||
- Support es2015 new target (#1967)
|
||||
- Add partial support for babel-plugin-transform-instanceof (#1802)
|
||||
- Add arrow_functions plugin (#1663)
|
||||
- Returns ThisExpression when identifier is this (#1661)
|
||||
- Duplicate keys (#1649)
|
||||
* transform: support es2015 new target (#1967)
|
||||
* transformer: call enter_node/leave_node in visit_xxx (#1990)
|
||||
* transformer: support for transform TSImportEqualsDeclaration (#1994)
|
||||
* transformer: add partial support for babel-plugin-transform-instanceof (#1802)
|
||||
* transformer: add arrow_functions plugin (#1663)
|
||||
* transformer: duplicate keys (#1649)
|
||||
* transformer/react-jsx: returns ThisExpression when identifier is this (#1661)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Introduce `ThisParameter` (#1728)
|
||||
* ast: introduce `ThisParameter` (#1728)
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Features
|
||||
|
||||
- Support scope descendents starting from a certain scope. (#1629)
|
||||
- Start on `function_name` transform. (#1510)
|
||||
- Handle invalid react jsx runtime (#1502)
|
||||
- TypeScript Enum (#1173)
|
||||
- Handle babel 8 breaking removed-options (#1489)
|
||||
- Add transform property-literal plugin (#1458)
|
||||
- Set `automatic` to the default value for `runtime` (#1270)
|
||||
- Support for throwing SpreadChildrenAreNotSupported error (#1234)
|
||||
- Support for throwing ImportSourceCannotBeSet error (#1224)
|
||||
- Support throw valueless-key error (#1221)
|
||||
- Implement `throwIfNamespace` option (#1220)
|
||||
- When the source type is a script, use require to import the react (#1207)
|
||||
- Throw the `pragma and pragmaFrag cannot be set when runtime is automatic` error (#1196)
|
||||
- Support the `sourceType` is a `script` (#1192)
|
||||
- Support `@jsxFrag` annotation (#1189)
|
||||
- Support `@jsx` annotation (#1182)
|
||||
- Support `pragmaFrag` option (#1181)
|
||||
- Support `pragma` option (#1180)
|
||||
- Support `@jsxImportSource` annotation (#1179)
|
||||
- Support importSource option in react_jsx (#1115)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Missing import jsxs in nested fragment (#1218)
|
||||
- Missing default options when plugin without config (#1219)
|
||||
- Undetectable comments in multiline comments (#1211)
|
||||
- No need to wrap the Array when there is only one correct child element (#1205)
|
||||
* semantic: support scope descendents starting from a certain scope. (#1629)
|
||||
* transform: TypeScript Enum (#1173)
|
||||
* transformer: Start on `function_name` transform. (#1510)
|
||||
* transformer: handle invalid react jsx runtime (#1502)
|
||||
* transformer: add transform property-literal plugin (#1458)
|
||||
* transformer: support importSource option in react_jsx (#1115)
|
||||
* transformer/react: handle babel 8 breaking removed-options (#1489)
|
||||
* transformer/react-jsx: set `automatic` to the default value for `runtime` (#1270)
|
||||
* transformer/react-jsx: support for throwing SpreadChildrenAreNotSupported error (#1234)
|
||||
* transformer/react-jsx: support for throwing ImportSourceCannotBeSet error (#1224)
|
||||
* transformer/react-jsx: support throw valueless-key error (#1221)
|
||||
* transformer/react-jsx: implement `throwIfNamespace` option (#1220)
|
||||
* transformer/react-jsx: when the source type is a script, use require to import the react (#1207)
|
||||
* transformer/react-jsx: throw the `pragma and pragmaFrag cannot be set when runtime is automatic` error (#1196)
|
||||
* transformer/react-jsx: support the `sourceType` is a `script` (#1192)
|
||||
* transformer/react-jsx: support `@jsxFrag` annotation (#1189)
|
||||
* transformer/react-jsx: support `@jsx` annotation (#1182)
|
||||
* transformer/react-jsx: support `pragmaFrag` option (#1181)
|
||||
* transformer/react-jsx: support `pragma` option (#1180)
|
||||
* transformer/react-jsx: support `@jsxImportSource` annotation (#1179)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move to workspace lint table (#1444)
|
||||
- Use extend instead of for-in with push (#1236)
|
||||
- Improve SpreadChildrenAreNotSupported error implementation (#1235)
|
||||
* rust: move to workspace lint table (#1444)
|
||||
* transformer/react-jsx: use extend instead of for-in with push (#1236)
|
||||
* transformer/react-jsx: improve SpreadChildrenAreNotSupported error implementation (#1235)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* transformer/react-jsx: missing import jsxs in nested fragment (#1218)
|
||||
* transformer/react-jsx: missing default options when plugin without config (#1219)
|
||||
* transformer/react-jsx: undetectable comments in multiline comments (#1211)
|
||||
* transformer/react-jsx: no need to wrap the Array when there is only one correct child element (#1205)
|
||||
|
||||
## [0.3.0] - 2023-11-06
|
||||
|
||||
### Features
|
||||
|
||||
- Support TemplateLiteral of babel/plugin-transform-template-literals (#1132)
|
||||
- Read comment pragma @jsxRuntime classic / automatic (#1133)
|
||||
- Implement fixup_whitespace_and_decode_entities (#1091)
|
||||
- Escape xhtml in jsx attributes (#1088)
|
||||
- Implement some of jsx decode entities (#1086)
|
||||
- Implement more of react transform attributes (#1081)
|
||||
- Import jsxs when children is static (#1080)
|
||||
- Finish transform jsx attribute value (#1078)
|
||||
- Implement key extraction for react automatic (#1077)
|
||||
- Implement react get_attribute_name (#1076)
|
||||
- Implement react has_key_after_props_spread (#1075)
|
||||
- Add props `null` to React.createElement (#1074)
|
||||
- Implement react transform attributes (#1071)
|
||||
- Transform jsx element name (#1070)
|
||||
- Start implementing react jsx transform (#1057)
|
||||
- Strip implicit type import for typescript (#1058)
|
||||
- Implement some of needs_explicit_esm for typescript (#1047)
|
||||
- Drop `this` parameter from typescript functions (#1019)
|
||||
- Add utils to make logical_assignment_operators pass (#1017)
|
||||
- Read plugins options from babel `options.json` (#1006)
|
||||
- ES2020 Nullish Coalescing Operator (#1004)
|
||||
- Add unit tests and test coverage (#1001)
|
||||
- Finish 2016 exponentiation operator (#996)
|
||||
- Add transform and minify (#993)
|
||||
- Implement the basics of non-minifying codegen (#987)
|
||||
- Move Formatter to codegen (#986)
|
||||
- RegexpFlags (#977)
|
||||
- Sticky-regex (#968)
|
||||
- Class Static Block (#962)
|
||||
- Shorthand Properties (#960)
|
||||
- Setup typescript and react transformers (#930)
|
||||
- Add jsx and ts tests
|
||||
- Logical assignment operators (#923)
|
||||
- Add babel conformance test suite (#920)
|
||||
- Transformer prototype (#918)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Revert changes to JSX attribute strings (#1101)
|
||||
- Jsx attribute value and text child should be jsx string (#1089)
|
||||
- Add imports to the top body (#1087)
|
||||
- Fix position of inserted react import statement (#1082)
|
||||
* codegen: implement the basics of non-minifying codegen (#987)
|
||||
* playground: add transform and minify (#993)
|
||||
* transfomer: implement react has_key_after_props_spread (#1075)
|
||||
* transform: support TemplateLiteral of babel/plugin-transform-template-literals (#1132)
|
||||
* transform: transform jsx element name (#1070)
|
||||
* transform: sticky-regex (#968)
|
||||
* transform_conformance: move Formatter to codegen (#986)
|
||||
* transform_conformance: add jsx and ts tests
|
||||
* transformer: implement some of jsx decode entities (#1086)
|
||||
* transformer: implement more of react transform attributes (#1081)
|
||||
* transformer: import jsxs when children is static (#1080)
|
||||
* transformer: finish transform jsx attribute value (#1078)
|
||||
* transformer: implement key extraction for react automatic (#1077)
|
||||
* transformer: implement react get_attribute_name (#1076)
|
||||
* transformer: add props `null` to React.createElement (#1074)
|
||||
* transformer: implement react transform attributes (#1071)
|
||||
* transformer: start implementing react jsx transform (#1057)
|
||||
* transformer: strip implicit type import for typescript (#1058)
|
||||
* transformer: implement some of needs_explicit_esm for typescript (#1047)
|
||||
* transformer: drop `this` parameter from typescript functions (#1019)
|
||||
* transformer: add utils to make logical_assignment_operators pass (#1017)
|
||||
* transformer: ES2020 Nullish Coalescing Operator (#1004)
|
||||
* transformer: add unit tests and test coverage (#1001)
|
||||
* transformer: finish 2016 exponentiation operator (#996)
|
||||
* transformer: RegexpFlags (#977)
|
||||
* transformer: Class Static Block (#962)
|
||||
* transformer: Shorthand Properties (#960)
|
||||
* transformer: setup typescript and react transformers (#930)
|
||||
* transformer: logical assignment operators (#923)
|
||||
* transformer: add babel conformance test suite (#920)
|
||||
* transformer: transformer prototype (#918)
|
||||
* transformer/jsx: escape xhtml in jsx attributes (#1088)
|
||||
* transformer/react: read comment pragma @jsxRuntime classic / automatic (#1133)
|
||||
* transformer/react: implement fixup_whitespace_and_decode_entities (#1091)
|
||||
* transformer_conformance: read plugins options from babel `options.json` (#1006)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move Semantic into Transformer (#1130)
|
||||
- Remove returning None from transform functions (#1079)
|
||||
- Add an empty SPAN utility for creating AST nodes (#1067)
|
||||
- Add TransformerCtx struct for easier access to symbols and scopes
|
||||
- Improve report format
|
||||
- Clean up the transformer constructor code
|
||||
- Clean up some methods
|
||||
- Make the minifier api only accept an ast (#990)
|
||||
- Fix the lifetime annotations around Vist and VisitMut (#973)
|
||||
- Change the arguments order for some `new` functions
|
||||
* ast: clean up some methods
|
||||
* ast: fix the lifetime annotations around Vist and VisitMut (#973)
|
||||
* ast: change the arguments order for some `new` functions
|
||||
* minifier: make the minifier api only accept an ast (#990)
|
||||
* transform_conformance: improve report format
|
||||
* transformer: move Semantic into Transformer (#1130)
|
||||
* transformer: remove returning None from transform functions (#1079)
|
||||
* transformer: add an empty SPAN utility for creating AST nodes (#1067)
|
||||
* transformer: add TransformerCtx struct for easier access to symbols and scopes
|
||||
* transformer: clean up the transformer constructor code
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* ast: jsx attribute value and text child should be jsx string (#1089)
|
||||
* linter: revert changes to JSX attribute strings (#1101)
|
||||
* transformer: fix position of inserted react import statement (#1082)
|
||||
* transformer/react_jsx: add imports to the top body (#1087)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
@@ -9,59 +9,59 @@ and this project does not adhere to [Semantic Versioning](https://semver.org/spe
|
||||
|
||||
### Refactor
|
||||
|
||||
- `generate_uid` return `SymbolId` (#3520)
|
||||
* traverse: `generate_uid` return `SymbolId` (#3520)
|
||||
|
||||
## [0.13.2] - 2024-06-03
|
||||
|
||||
### Features
|
||||
|
||||
- Add `TraverseCtx::generate_uid` (#3394)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Exit scope early if enter it late (#3493)
|
||||
* traverse: exit scope early if enter it late (#3493)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Move scope from `TSModuleBlock` to `TSModuleDeclaration` (#3488)
|
||||
* ast: move scope from `TSModuleBlock` to `TSModuleDeclaration` (#3488)
|
||||
|
||||
### Features
|
||||
|
||||
* transformer: add `TraverseCtx::generate_uid` (#3394)
|
||||
|
||||
## [0.13.1] - 2024-05-22
|
||||
|
||||
### Features
|
||||
|
||||
- Mutable access to scopes tree + symbol table (#3314)
|
||||
- Pass `&mut TraverseCtx` to visitors (#3312)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Split context code into multiple files (#3367)
|
||||
- Move `parent` method etc into `TraverseAncestry` (#3308)
|
||||
- `Traverse` produce scopes tree using `Semantic` (#3304)
|
||||
- Store `ScopeId` in AST nodes (#3302)
|
||||
* ast: store `ScopeId` in AST nodes (#3302)
|
||||
* traverse: split context code into multiple files (#3367)
|
||||
* traverse: move `parent` method etc into `TraverseAncestry` (#3308)
|
||||
* traverse: `Traverse` produce scopes tree using `Semantic` (#3304)
|
||||
|
||||
### Features
|
||||
|
||||
* traverse: mutable access to scopes tree + symbol table (#3314)
|
||||
* traverse: pass `&mut TraverseCtx` to visitors (#3312)
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Features
|
||||
|
||||
- Add type to AccessorProperty to support TSAbractAccessorProperty (#3256)
|
||||
- Add scope flags to `TraverseCtx` (#3229)
|
||||
- `oxc_traverse` crate (#3169)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Create scopes for functions (#3273)
|
||||
- Allow `TraverseCtx::find_ancestor` closure to return AST node (#3236)
|
||||
- Create scope for function nested in class method (#3234)
|
||||
- Correctly parse cls.fn<C> = x (#3208)
|
||||
* parser: correctly parse cls.fn<C> = x (#3208)
|
||||
* traverse: create scopes for functions (#3273)
|
||||
* traverse: allow `TraverseCtx::find_ancestor` closure to return AST node (#3236)
|
||||
* traverse: create scope for function nested in class method (#3234)
|
||||
|
||||
### Documentation
|
||||
### Features
|
||||
|
||||
- Improve docs for `TraverseCtx::ancestors_depth` (#3194)
|
||||
* ast: add type to AccessorProperty to support TSAbractAccessorProperty (#3256)
|
||||
* transform: `oxc_traverse` crate (#3169)
|
||||
* traverse: add scope flags to `TraverseCtx` (#3229)
|
||||
|
||||
### Refactor
|
||||
|
||||
- Simplify build script (#3231)
|
||||
- Order AST type fields in visitation order (#3228)
|
||||
- Do not expose `TraverseCtx::new` (#3226)
|
||||
- `retag_stack` use `AncestorType` (#3173)
|
||||
* ast: order AST type fields in visitation order (#3228)
|
||||
* transform: `retag_stack` use `AncestorType` (#3173)
|
||||
* traverse: simplify build script (#3231)
|
||||
* traverse: do not expose `TraverseCtx::new` (#3226)
|
||||
|
||||
### Documentation
|
||||
|
||||
* transform: improve docs for `TraverseCtx::ancestors_depth` (#3194)
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
|
||||
## [0.2.6] - 2024-01-26
|
||||
|
||||
### Features
|
||||
|
||||
* vscode: allow config path configuration (#2172)
|
||||
|
||||
## [0.2.0] - 2024-01-12
|
||||
|
||||
### Features
|
||||
|
||||
* lsp: support vue, astro and svelte (#1923)
|
||||
|
||||
## [0.1.1] - 2024-01-06
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* lsp: make the server available in nvim-lspconfig (#1823)
|
||||
* vscode: change all names to oxc_language_server
|
||||
|
||||
### Features
|
||||
|
||||
* vscode: support lint vue file (#1842)
|
||||
|
||||
## [0.0.22] - 2023-12-25
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* vscode: don't lint files in .gitignore and .eslintignore (#1765)
|
||||
|
||||
## [0.0.21] - 2023-12-18
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* vscode: report problem more accurately (#1681)
|
||||
|
||||
### Features
|
||||
|
||||
* linter: add jsx-a11y settings (#1668)
|
||||
* vscode: use icon to represent enabled status (#1675)- add option to control enable/disable oxc linter (#1665) |
|
||||
|
||||
## [0.0.20] - 2023-12-13
|
||||
|
||||
### Features
|
||||
|
||||
* vscode: add a option to control oxc lint timing (#1659)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* vscode: fix the broken package path
|
||||
|
||||
## [0.0.19] - 2023-12-08
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* oxc_vscode: vscode extension - check on file change (not on file save) (#1525)
|
||||
|
||||
## [0.0.18] - 2023-11-22
|
||||
|
||||
### Refactor
|
||||
|
||||
* rust: move to workspace lint table (#1444)
|
||||
|
||||
@@ -1,7 +1,23 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
|
||||
## [0.7.0] - 2024-02-09
|
||||
|
||||
### Features
|
||||
|
||||
* napi/parser: add more linux-musl targets
|
||||
|
||||
## [0.5.0] - 2024-01-12
|
||||
|
||||
### Documentation
|
||||
- fix oxc-parser README demo error (#1993) |
|
||||
|
||||
## [0.4.0] - 2023-12-08
|
||||
|
||||
### Refactor
|
||||
- change @oxidation-compiler/napi to oxc-parser (#1209) |
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
|
||||
## [0.4.2] - 2024-05-28
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* website: hack `schemars` to render code snippet in markdown (#3417)
|
||||
|
||||
## [0.3.2] - 2024-05-04
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* cli: update `--format` documentation (#3118)
|
||||
|
||||
## [0.3.0] - 2024-04-22
|
||||
|
||||
### Refactor
|
||||
|
||||
* cli: improve `--help` documentation
|
||||
|
||||
## [0.2.8] - 2024-02-06
|
||||
|
||||
### Features
|
||||
|
||||
* napi/parser: add more linux-musl targets
|
||||
|
||||
## [0.2.7] - 2024-02-03
|
||||
|
||||
### Features
|
||||
|
||||
* npm/oxlint: display target triple when error is thrown (#2259)
|
||||
|
||||
## [0.2.4] - 2024-01-23
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* npm: fix bin script for musl / gnu
|
||||
|
||||
## [0.2.3] - 2024-01-23
|
||||
|
||||
### Features
|
||||
- introduce --react-perf-plugin CLI flag, update rules to correctness (#2119) |
|
||||
|
||||
## [0.0.17] - 2023-11-09
|
||||
|
||||
### Features
|
||||
|
||||
* cli: run oxlint with no file arguments (#1201)
|
||||
|
||||
## [0.0.9] - 2023-08-21
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* npm: add package.repository and other fields according to provernance
|
||||
* npm: fix github link according to provernance
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
# Configuration file for [cargo release oxc](https://github.com/oxc-project/cargo-release-oxc)
|
||||
|
||||
# Release `--name crates`
|
||||
[[releases]]
|
||||
name = "crates"
|
||||
versioned_files = ["Cargo.toml", "npm/oxc-parser/package.json", "wasm/parser/package.json"]
|
||||
|
||||
[[releases]]
|
||||
name = "oxlint"
|
||||
versioned_files = ["apps/oxlint/Cargo.toml", "crates/oxc_linter/Cargo.toml", "npm/oxlint/package.json", "editors/vscode/package.json"]
|
||||
@@ -1,7 +1,24 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate will be documented in this file.
|
||||
All notable changes to this package will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0.
|
||||
|
||||
## [0.13.0] - 2024-05-14
|
||||
|
||||
### Refactor
|
||||
|
||||
* parser,diagnostic: one diagnostic struct to eliminate monomorphization of generic types (#3214)
|
||||
|
||||
## [0.10.0] - 2024-03-14
|
||||
|
||||
### Features
|
||||
- merge features `serde` and `wasm` to `serialize` (#2716) |
|
||||
|
||||
## [0.6.0] - 2024-02-03
|
||||
|
||||
### Features
|
||||
|
||||
* wasm/parser: improve FFI (#2232)- setup wasm parser for npm (#2221) |
|
||||
|
||||
Reference in new issue
Block a user