chore: regenerate changelog

This commit is contained in:
Boshen committed 2024-06-06 01:29:38 +08:00
1 parent 1d3c0d7879
commit 0674604d7a
24 files changed
+2638 -1376

No files matched your search

+13
View File
@@ -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
View File
@@ -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
View File
@@ -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)
+8 -10
View File
@@ -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
View File
@@ -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
+7 -1
View File
@@ -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
View File
@@ -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()`
+26 -29
View File
@@ -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)
+5 -6
View File
@@ -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
+47 -53
View File
@@ -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)
+15 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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)
+16 -18
View File
@@ -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) |
+30 -39
View File
@@ -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) |
+71 -78
View File
@@ -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
View File
@@ -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)
+33 -33
View File
@@ -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)
+69
View File
@@ -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)
+17 -1
View File
@@ -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) |
+61
View File
@@ -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
+6
View File
@@ -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"]
+18 -1
View File
@@ -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) |