From 0abcf499b7e2c7373ac0388953603ff1cdc719c4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 13:56:35 +0800 Subject: [PATCH] Release crates v0.21.0 (#4338) ## [0.21.0] - 2024-07-18 - d7ab0b8 semantic: [**BREAKING**] Simplify node creation (#4226) (lucab) ### Features - af4dc01 ast: Align ts ast scope with typescript (#4253) (Dunqing) - 83c2c62 codegen: Add option for choosing quotes; remove slow `choose_quot` method (#4219) (Boshen) - 5d17675 mangler: Add debug mode (#4314) (Boshen) - e3e663b mangler: Initialize crate and integrate into minifier (#4197) (Boshen) - c818472 minifier: Dce conditional expression `&&` or `||` (#4190) (Boshen) - 8a190eb oxc: Export `oxc_mangler` (Boshen) - 20cdb1f semantic: Align class scope with typescript (#4195) (Dunqing) - 92ee774 semantic: Add `ScopeFlags::CatchClause` for use in CatchClause (#4205) (Dunqing) - 205c259 sourcemap: Support SourceMapBuilder#token_chunks (#4220) (underfin) - 7eb960d transformer: Decode xml character entity `&#xhhhh` and `&#nnnn;` (#4235) (Boshen) ### Bug Fixes - bf3d8d3 codegen: Print annotation comment inside parens for new and call expressions (#4290) (Boshen) - 084ab76 codegen: Use `ryu-js` for f64 to string (Boshen) - e167ef7 codegen: Print parenthesis properly (#4245) (Boshen) - c65198f codegen: Choose the right quote for jsx attribute string (#4236) (Boshen) - be82c28 codegen: Print `JSXAttributeValue::StringLiteral` directly (#4231) (Boshen) - 3df9e69 mangler: No shorthand `BindingProperty`; handle var hoisting and export variables (#4319) (Boshen) - f144082 minifier: RemoveDeadCode should visit nested expression (#4268) (underfin) - 66b455a oxc_codegen: Avoid print same pure comments multiple time (#4230) (IWANABETHATGUY) - 9a87e41 parser: Avoid crashing on invalid const modifier (#4267) (lucab) - 641a78b parser: Fix tests for number parsing (#4254) (overlookmotel) - 9badac0 semantic: Avoid var hosting insert the var variable to the `CatchClause` scope (#4337) (Dunqing) - 95e15b6 semantic: Incorrect resolve references for `ExportSpecifier` (#4320) (Dunqing) - c362bf7 semantic: Incorrect resolve references for `TSInterfaceHeritage` (#4311) (Dunqing) - 351ecf2 semantic: Incorrect resolve references for `TSTypeQuery` (#4310) (Dunqing) - 1108f2a semantic: Resolve references to the incorrect symbol (#4280) (Dunqing) - 22d56bd semantic: Do not resolve references after `FormalParameters` in TS type (#4241) (overlookmotel)- 1c117eb Avoid print extra semicolon after accessor property (#4199) (IWANABETHATGUY) ### Performance - a8dc4f3 parser: Speed up parsing numbers with `_` separators (#4259) (overlookmotel) - b94540d parser: Speed up parsing octal literals (#4258) (overlookmotel) - a7b328c parser: Faster parsing decimal numbers (#4257) (overlookmotel) - f9d3f2e semantic: Inline ast record functions (#4272) (overlookmotel) - 8fad7db semantic: Reduce `AstNodeId` to `u32` (#4264) (overlookmotel) - 23743db semantic: Do not record ast nodes for cfg if cfg disabled (#4263) (overlookmotel) - da69076 semantic: Reduce overhead of cfg recording ast nodes (#4262) (overlookmotel) - cb15303 semantic: Reduce memory copies (#4216) (overlookmotel) - ef4c1f4 semantic: Reduce lookups (#4214) (overlookmotel) - f23e54f semantic: Recycle unresolved references hash maps (#4213) (overlookmotel) - 2602ce2 semantic: Reuse existing map of unresolved refs (#4206) (lucab) ### Refactor - 2c7bb9f ast: Pass final `ScopeFlags` into `visit_function` (#4283) (overlookmotel) - 3e099fe ast: Move `enter_scope` after `visit_binding_identifier` (#4246) (Dunqing) - aab7aaa ast/visit: Fire node events as the outermost one. (#4203) (rzvxa) - d1c4be0 codegen: Clean up annotation_comment (Boshen) - 06197b8 codegen: Separate tests (Boshen) - aa22073 codegen: Improve print API (#4196) (Boshen) - c5731a5 semantic: Remove defunct code setting ScopeFlags twice (#4286) (overlookmotel) - 16698bc semantic: Move function/class-specific code into specific visitors (#4278) (overlookmotel) - ee16668 semantic: Rename function param (#4277) (overlookmotel) - 25f0771 semantic: Alter syntax of `control_flow!` macro (#4275) (overlookmotel) - 639fd48 semantic: Comment why extra CFG enabled check (#4274) (overlookmotel) - c418bf5 semantic: Directly record `current_node_id` when adding a scope (#4265) (Dunqing) - ace4f1f semantic: Update the order of `visit_function` and `Visit` fields in the builder to be consistent (#4248) (Dunqing) - 8bfeabf semantic: Simplify adding `SymbolFlags::Export` (#4249) (Dunqing) - dc2b3c4 semantic: Add strict mode in scope flags for class definitions (#4156) (Dunqing) - 81ed588 semantic: Convert scope fields to IndexVecs (#4208) (lucab) - bbe5ded semantic: Set `current_scope_id` to `scope_id` in `enter_scope` (#4193) (Dunqing) - 7f1addd semantic: Correct scope in CatchClause (#4192) (Dunqing) - fc0b17d syntax: Turn the `AstNodeId::dummy` into a constant field. (#4308) (rzvxa) - a197e01 transformer/typescript: Remove unnecessary code (#4321) (Dunqing) - 1458d81 visit: Add `#[inline]` to empty functions (#4330) (overlookmotel) Co-authored-by: Boshen --- Cargo.lock | 40 ++++++++-------- Cargo.toml | 40 ++++++++-------- crates/oxc/CHANGELOG.md | 6 +++ crates/oxc/Cargo.toml | 2 +- crates/oxc_allocator/Cargo.toml | 2 +- crates/oxc_ast/CHANGELOG.md | 22 +++++++++ crates/oxc_ast/Cargo.toml | 2 +- crates/oxc_ast_macros/Cargo.toml | 2 +- crates/oxc_cfg/CHANGELOG.md | 6 +++ crates/oxc_cfg/Cargo.toml | 2 +- crates/oxc_codegen/CHANGELOG.md | 23 +++++++++ crates/oxc_codegen/Cargo.toml | 2 +- crates/oxc_diagnostics/Cargo.toml | 2 +- crates/oxc_index/Cargo.toml | 2 +- crates/oxc_isolated_declarations/CHANGELOG.md | 16 +++++++ crates/oxc_isolated_declarations/Cargo.toml | 2 +- crates/oxc_mangler/CHANGELOG.md | 17 +++++++ crates/oxc_mangler/Cargo.toml | 2 +- crates/oxc_minifier/CHANGELOG.md | 18 +++++++ crates/oxc_minifier/Cargo.toml | 2 +- crates/oxc_module_lexer/Cargo.toml | 2 +- crates/oxc_parser/CHANGELOG.md | 22 +++++++++ crates/oxc_parser/Cargo.toml | 2 +- crates/oxc_semantic/CHANGELOG.md | 48 +++++++++++++++++++ crates/oxc_semantic/Cargo.toml | 2 +- crates/oxc_sourcemap/CHANGELOG.md | 6 +++ crates/oxc_sourcemap/Cargo.toml | 2 +- crates/oxc_span/Cargo.toml | 2 +- crates/oxc_syntax/CHANGELOG.md | 19 ++++++++ crates/oxc_syntax/Cargo.toml | 2 +- crates/oxc_transformer/CHANGELOG.md | 10 ++++ crates/oxc_transformer/Cargo.toml | 2 +- crates/oxc_traverse/CHANGELOG.md | 19 ++++++++ crates/oxc_traverse/Cargo.toml | 2 +- napi/transform/Cargo.toml | 2 +- npm/oxc-parser/package.json | 2 +- npm/oxc-transform/package.json | 2 +- wasm/parser/package.json | 2 +- 38 files changed, 295 insertions(+), 63 deletions(-) create mode 100644 crates/oxc_mangler/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index d75c1ab115032..43170c3aeed30 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1273,7 +1273,7 @@ checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f" [[package]] name = "oxc" -version = "0.20.0" +version = "0.21.0" dependencies = [ "oxc_allocator", "oxc_ast", @@ -1310,7 +1310,7 @@ dependencies = [ [[package]] name = "oxc_allocator" -version = "0.20.0" +version = "0.21.0" dependencies = [ "allocator-api2", "bumpalo", @@ -1320,7 +1320,7 @@ dependencies = [ [[package]] name = "oxc_ast" -version = "0.20.0" +version = "0.21.0" dependencies = [ "bitflags 2.6.0", "num-bigint", @@ -1354,7 +1354,7 @@ dependencies = [ [[package]] name = "oxc_ast_macros" -version = "0.20.0" +version = "0.21.0" [[package]] name = "oxc_benchmark" @@ -1379,7 +1379,7 @@ dependencies = [ [[package]] name = "oxc_cfg" -version = "0.20.0" +version = "0.21.0" dependencies = [ "bitflags 2.6.0", "itertools 0.13.0", @@ -1390,7 +1390,7 @@ dependencies = [ [[package]] name = "oxc_codegen" -version = "0.20.0" +version = "0.21.0" dependencies = [ "base64", "bitflags 2.6.0", @@ -1445,7 +1445,7 @@ dependencies = [ [[package]] name = "oxc_diagnostics" -version = "0.20.0" +version = "0.21.0" dependencies = [ "miette", "owo-colors", @@ -1455,14 +1455,14 @@ dependencies = [ [[package]] name = "oxc_index" -version = "0.20.0" +version = "0.21.0" dependencies = [ "serde", ] [[package]] name = "oxc_isolated_declarations" -version = "0.20.0" +version = "0.21.0" dependencies = [ "insta", "oxc_allocator", @@ -1558,7 +1558,7 @@ dependencies = [ [[package]] name = "oxc_mangler" -version = "0.20.0" +version = "0.21.0" dependencies = [ "itertools 0.13.0", "oxc_allocator", @@ -1573,7 +1573,7 @@ dependencies = [ [[package]] name = "oxc_minifier" -version = "0.20.0" +version = "0.21.0" dependencies = [ "insta", "num-bigint", @@ -1607,7 +1607,7 @@ dependencies = [ [[package]] name = "oxc_module_lexer" -version = "0.20.0" +version = "0.21.0" dependencies = [ "oxc_allocator", "oxc_ast", @@ -1617,7 +1617,7 @@ dependencies = [ [[package]] name = "oxc_parser" -version = "0.20.0" +version = "0.21.0" dependencies = [ "assert-unchecked", "bitflags 2.6.0", @@ -1710,7 +1710,7 @@ dependencies = [ [[package]] name = "oxc_semantic" -version = "0.20.0" +version = "0.21.0" dependencies = [ "indexmap", "insta", @@ -1733,7 +1733,7 @@ dependencies = [ [[package]] name = "oxc_sourcemap" -version = "0.20.0" +version = "0.21.0" dependencies = [ "base64-simd", "cfg-if", @@ -1745,7 +1745,7 @@ dependencies = [ [[package]] name = "oxc_span" -version = "0.20.0" +version = "0.21.0" dependencies = [ "compact_str", "miette", @@ -1757,7 +1757,7 @@ dependencies = [ [[package]] name = "oxc_syntax" -version = "0.20.0" +version = "0.21.0" dependencies = [ "bitflags 2.6.0", "dashmap 6.0.1", @@ -1801,7 +1801,7 @@ dependencies = [ [[package]] name = "oxc_transform_napi" -version = "0.20.0" +version = "0.21.0" dependencies = [ "napi", "napi-build", @@ -1817,7 +1817,7 @@ dependencies = [ [[package]] name = "oxc_transformer" -version = "0.20.0" +version = "0.21.0" dependencies = [ "dashmap 6.0.1", "indexmap", @@ -1839,7 +1839,7 @@ dependencies = [ [[package]] name = "oxc_traverse" -version = "0.20.0" +version = "0.21.0" dependencies = [ "compact_str", "memoffset", diff --git a/Cargo.toml b/Cargo.toml index 08bd15f4716ed..cea00233227ed 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,26 +73,26 @@ cargo_common_metadata = "allow" # TODO: fix this [workspace.dependencies] # publish = true -oxc = { version = "0.20.0", path = "crates/oxc" } -oxc_allocator = { version = "0.20.0", path = "crates/oxc_allocator" } -oxc_ast = { version = "0.20.0", path = "crates/oxc_ast" } -oxc_codegen = { version = "0.20.0", path = "crates/oxc_codegen" } -oxc_diagnostics = { version = "0.20.0", path = "crates/oxc_diagnostics" } -oxc_index = { version = "0.20.0", path = "crates/oxc_index" } -oxc_minifier = { version = "0.20.0", path = "crates/oxc_minifier" } -oxc_mangler = { version = "0.20.0", path = "crates/oxc_mangler" } -oxc_parser = { version = "0.20.0", path = "crates/oxc_parser" } -oxc_semantic = { version = "0.20.0", path = "crates/oxc_semantic" } -oxc_span = { version = "0.20.0", path = "crates/oxc_span" } -oxc_syntax = { version = "0.20.0", path = "crates/oxc_syntax" } -oxc_transformer = { version = "0.20.0", path = "crates/oxc_transformer" } -oxc_sourcemap = { version = "0.20.0", path = "crates/oxc_sourcemap" } -oxc_ast_macros = { version = "0.20.0", path = "crates/oxc_ast_macros" } -oxc_traverse = { version = "0.20.0", path = "crates/oxc_traverse" } -oxc_module_lexer = { version = "0.20.0", path = "crates/oxc_module_lexer" } -oxc_cfg = { version = "0.20.0", path = "crates/oxc_cfg" } -oxc_isolated_declarations = { version = "0.20.0", path = "crates/oxc_isolated_declarations" } -oxc_transform_napi = { version = "0.20.0", path = "napi/transform" } +oxc = { version = "0.21.0", path = "crates/oxc" } +oxc_allocator = { version = "0.21.0", path = "crates/oxc_allocator" } +oxc_ast = { version = "0.21.0", path = "crates/oxc_ast" } +oxc_codegen = { version = "0.21.0", path = "crates/oxc_codegen" } +oxc_diagnostics = { version = "0.21.0", path = "crates/oxc_diagnostics" } +oxc_index = { version = "0.21.0", path = "crates/oxc_index" } +oxc_minifier = { version = "0.21.0", path = "crates/oxc_minifier" } +oxc_mangler = { version = "0.21.0", path = "crates/oxc_mangler" } +oxc_parser = { version = "0.21.0", path = "crates/oxc_parser" } +oxc_semantic = { version = "0.21.0", path = "crates/oxc_semantic" } +oxc_span = { version = "0.21.0", path = "crates/oxc_span" } +oxc_syntax = { version = "0.21.0", path = "crates/oxc_syntax" } +oxc_transformer = { version = "0.21.0", path = "crates/oxc_transformer" } +oxc_sourcemap = { version = "0.21.0", path = "crates/oxc_sourcemap" } +oxc_ast_macros = { version = "0.21.0", path = "crates/oxc_ast_macros" } +oxc_traverse = { version = "0.21.0", path = "crates/oxc_traverse" } +oxc_module_lexer = { version = "0.21.0", path = "crates/oxc_module_lexer" } +oxc_cfg = { version = "0.21.0", path = "crates/oxc_cfg" } +oxc_isolated_declarations = { version = "0.21.0", path = "crates/oxc_isolated_declarations" } +oxc_transform_napi = { version = "0.21.0", path = "napi/transform" } # publish = false oxc_macros = { path = "crates/oxc_macros" } diff --git a/crates/oxc/CHANGELOG.md b/crates/oxc/CHANGELOG.md index b1fd519004b23..1314fd964d201 100644 --- a/crates/oxc/CHANGELOG.md +++ b/crates/oxc/CHANGELOG.md @@ -4,6 +4,12 @@ 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.21.0] - 2024-07-18 + +### Features + +- 8a190eb oxc: Export `oxc_mangler` (Boshen) + ## [0.16.0] - 2024-06-26 ### Features diff --git a/crates/oxc/Cargo.toml b/crates/oxc/Cargo.toml index 48f1c4a1213e0..141fe72585905 100644 --- a/crates/oxc/Cargo.toml +++ b/crates/oxc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_allocator/Cargo.toml b/crates/oxc_allocator/Cargo.toml index e69bb3e26659b..e4684adc2fabc 100644 --- a/crates/oxc_allocator/Cargo.toml +++ b/crates/oxc_allocator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_allocator" -version = "0.20.0" +version = "0.21.0" authors.workspace = true description.workspace = true edition.workspace = true diff --git a/crates/oxc_ast/CHANGELOG.md b/crates/oxc_ast/CHANGELOG.md index 5cacfdaeb76ff..aecdf7b0c349d 100644 --- a/crates/oxc_ast/CHANGELOG.md +++ b/crates/oxc_ast/CHANGELOG.md @@ -4,6 +4,28 @@ 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.21.0] - 2024-07-18 + +### Features + +- af4dc01 ast: Align ts ast scope with typescript (#4253) (Dunqing) +- 20cdb1f semantic: Align class scope with typescript (#4195) (Dunqing) +- 92ee774 semantic: Add `ScopeFlags::CatchClause` for use in CatchClause (#4205) (Dunqing) + +### Bug Fixes + +- e167ef7 codegen: Print parenthesis properly (#4245) (Boshen) +- 1108f2a semantic: Resolve references to the incorrect symbol (#4280) (Dunqing) + +### Refactor + +- 2c7bb9f ast: Pass final `ScopeFlags` into `visit_function` (#4283) (overlookmotel) +- 3e099fe ast: Move `enter_scope` after `visit_binding_identifier` (#4246) (Dunqing) +- aab7aaa ast/visit: Fire node events as the outermost one. (#4203) (rzvxa) +- ace4f1f semantic: Update the order of `visit_function` and `Visit` fields in the builder to be consistent (#4248) (Dunqing) +- 7f1addd semantic: Correct scope in CatchClause (#4192) (Dunqing) +- 1458d81 visit: Add `#[inline]` to empty functions (#4330) (overlookmotel) + ## [0.20.0] - 2024-07-11 - 5731e39 ast: [**BREAKING**] Store span details inside comment struct (#4132) (Luca Bruno) diff --git a/crates/oxc_ast/Cargo.toml b/crates/oxc_ast/Cargo.toml index 89dff40906ab0..cf342c036b877 100644 --- a/crates/oxc_ast/Cargo.toml +++ b/crates/oxc_ast/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_ast" -version = "0.20.0" +version = "0.21.0" authors.workspace = true description.workspace = true edition.workspace = true diff --git a/crates/oxc_ast_macros/Cargo.toml b/crates/oxc_ast_macros/Cargo.toml index 9ec38009bbc6e..e90b8753db725 100644 --- a/crates/oxc_ast_macros/Cargo.toml +++ b/crates/oxc_ast_macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_ast_macros" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_cfg/CHANGELOG.md b/crates/oxc_cfg/CHANGELOG.md index c9fc87853a67a..3a370bb0aacc6 100644 --- a/crates/oxc_cfg/CHANGELOG.md +++ b/crates/oxc_cfg/CHANGELOG.md @@ -4,6 +4,12 @@ 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.21.0] - 2024-07-18 + +### Refactor + +- fc0b17d syntax: Turn the `AstNodeId::dummy` into a constant field. (#4308) (rzvxa) + ## [0.20.0] - 2024-07-11 ### Bug Fixes diff --git a/crates/oxc_cfg/Cargo.toml b/crates/oxc_cfg/Cargo.toml index 9fb624d39797f..c2d9ad04aecb7 100644 --- a/crates/oxc_cfg/Cargo.toml +++ b/crates/oxc_cfg/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_cfg" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_codegen/CHANGELOG.md b/crates/oxc_codegen/CHANGELOG.md index 7c3b5786b4e38..a566bbf7c4def 100644 --- a/crates/oxc_codegen/CHANGELOG.md +++ b/crates/oxc_codegen/CHANGELOG.md @@ -4,6 +4,29 @@ 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.21.0] - 2024-07-18 + +### Features + +- 83c2c62 codegen: Add option for choosing quotes; remove slow `choose_quot` method (#4219) (Boshen) +- e3e663b mangler: Initialize crate and integrate into minifier (#4197) (Boshen) + +### Bug Fixes + +- bf3d8d3 codegen: Print annotation comment inside parens for new and call expressions (#4290) (Boshen) +- 084ab76 codegen: Use `ryu-js` for f64 to string (Boshen) +- e167ef7 codegen: Print parenthesis properly (#4245) (Boshen) +- c65198f codegen: Choose the right quote for jsx attribute string (#4236) (Boshen) +- be82c28 codegen: Print `JSXAttributeValue::StringLiteral` directly (#4231) (Boshen) +- 3df9e69 mangler: No shorthand `BindingProperty`; handle var hoisting and export variables (#4319) (Boshen) +- 66b455a oxc_codegen: Avoid print same pure comments multiple time (#4230) (IWANABETHATGUY)- 1c117eb Avoid print extra semicolon after accessor property (#4199) (IWANABETHATGUY) + +### Refactor + +- d1c4be0 codegen: Clean up annotation_comment (Boshen) +- 06197b8 codegen: Separate tests (Boshen) +- aa22073 codegen: Improve print API (#4196) (Boshen) + ## [0.20.0] - 2024-07-11 - 5731e39 ast: [**BREAKING**] Store span details inside comment struct (#4132) (Luca Bruno) diff --git a/crates/oxc_codegen/Cargo.toml b/crates/oxc_codegen/Cargo.toml index b841d52e60bfa..42e478207228f 100644 --- a/crates/oxc_codegen/Cargo.toml +++ b/crates/oxc_codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_codegen" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_diagnostics/Cargo.toml b/crates/oxc_diagnostics/Cargo.toml index c0eeb116e47fa..06d0eb7de8d15 100644 --- a/crates/oxc_diagnostics/Cargo.toml +++ b/crates/oxc_diagnostics/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_diagnostics" -version = "0.20.0" +version = "0.21.0" authors.workspace = true description.workspace = true edition.workspace = true diff --git a/crates/oxc_index/Cargo.toml b/crates/oxc_index/Cargo.toml index 5f810b8ea223f..07922699c92c1 100644 --- a/crates/oxc_index/Cargo.toml +++ b/crates/oxc_index/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_index" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_isolated_declarations/CHANGELOG.md b/crates/oxc_isolated_declarations/CHANGELOG.md index 305eb80924938..8773b5fb11249 100644 --- a/crates/oxc_isolated_declarations/CHANGELOG.md +++ b/crates/oxc_isolated_declarations/CHANGELOG.md @@ -4,6 +4,22 @@ 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.21.0] - 2024-07-18 + +### Features + +- 83c2c62 codegen: Add option for choosing quotes; remove slow `choose_quot` method (#4219) (Boshen) +- 20cdb1f semantic: Align class scope with typescript (#4195) (Dunqing) + +### Bug Fixes + +- 3df9e69 mangler: No shorthand `BindingProperty`; handle var hoisting and export variables (#4319) (Boshen) + +### Refactor + +- 2c7bb9f ast: Pass final `ScopeFlags` into `visit_function` (#4283) (overlookmotel) +- ace4f1f semantic: Update the order of `visit_function` and `Visit` fields in the builder to be consistent (#4248) (Dunqing) + ## [0.20.0] - 2024-07-11 ### Features diff --git a/crates/oxc_isolated_declarations/Cargo.toml b/crates/oxc_isolated_declarations/Cargo.toml index abd8f5520d555..0cf6716d4babf 100644 --- a/crates/oxc_isolated_declarations/Cargo.toml +++ b/crates/oxc_isolated_declarations/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_isolated_declarations" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_mangler/CHANGELOG.md b/crates/oxc_mangler/CHANGELOG.md new file mode 100644 index 0000000000000..499c3ec5cba3b --- /dev/null +++ b/crates/oxc_mangler/CHANGELOG.md @@ -0,0 +1,17 @@ +# 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.21.0] - 2024-07-18 + +### Features + +- 5d17675 mangler: Add debug mode (#4314) (Boshen) +- e3e663b mangler: Initialize crate and integrate into minifier (#4197) (Boshen) + +### Bug Fixes + +- 3df9e69 mangler: No shorthand `BindingProperty`; handle var hoisting and export variables (#4319) (Boshen) + diff --git a/crates/oxc_mangler/Cargo.toml b/crates/oxc_mangler/Cargo.toml index 307d7abb0b7d6..a583c9d007713 100644 --- a/crates/oxc_mangler/Cargo.toml +++ b/crates/oxc_mangler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_mangler" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_minifier/CHANGELOG.md b/crates/oxc_minifier/CHANGELOG.md index 7fbc466427040..17774eadab79a 100644 --- a/crates/oxc_minifier/CHANGELOG.md +++ b/crates/oxc_minifier/CHANGELOG.md @@ -4,6 +4,24 @@ 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.21.0] - 2024-07-18 + +### Features + +- 83c2c62 codegen: Add option for choosing quotes; remove slow `choose_quot` method (#4219) (Boshen) +- 5d17675 mangler: Add debug mode (#4314) (Boshen) +- e3e663b mangler: Initialize crate and integrate into minifier (#4197) (Boshen) +- c818472 minifier: Dce conditional expression `&&` or `||` (#4190) (Boshen) + +### Bug Fixes + +- e167ef7 codegen: Print parenthesis properly (#4245) (Boshen) +- f144082 minifier: RemoveDeadCode should visit nested expression (#4268) (underfin) + +### Refactor + +- 2c7bb9f ast: Pass final `ScopeFlags` into `visit_function` (#4283) (overlookmotel) + ## [0.20.0] - 2024-07-11 ### Features diff --git a/crates/oxc_minifier/Cargo.toml b/crates/oxc_minifier/Cargo.toml index 447c68765c0fb..ccbcf2fd08893 100644 --- a/crates/oxc_minifier/Cargo.toml +++ b/crates/oxc_minifier/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_minifier" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_module_lexer/Cargo.toml b/crates/oxc_module_lexer/Cargo.toml index f4f7d3ebe2d87..6a0f63bfc0543 100644 --- a/crates/oxc_module_lexer/Cargo.toml +++ b/crates/oxc_module_lexer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_module_lexer" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_parser/CHANGELOG.md b/crates/oxc_parser/CHANGELOG.md index f851e3945d9b2..2a1b48e106a79 100644 --- a/crates/oxc_parser/CHANGELOG.md +++ b/crates/oxc_parser/CHANGELOG.md @@ -4,6 +4,28 @@ 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.21.0] - 2024-07-18 + +### Features + +- 20cdb1f semantic: Align class scope with typescript (#4195) (Dunqing) + +### Bug Fixes + +- 9a87e41 parser: Avoid crashing on invalid const modifier (#4267) (lucab) +- 641a78b parser: Fix tests for number parsing (#4254) (overlookmotel) + +### Performance + +- a8dc4f3 parser: Speed up parsing numbers with `_` separators (#4259) (overlookmotel) +- b94540d parser: Speed up parsing octal literals (#4258) (overlookmotel) +- a7b328c parser: Faster parsing decimal numbers (#4257) (overlookmotel) + +### Refactor + +- 2c7bb9f ast: Pass final `ScopeFlags` into `visit_function` (#4283) (overlookmotel) +- ace4f1f semantic: Update the order of `visit_function` and `Visit` fields in the builder to be consistent (#4248) (Dunqing) + ## [0.20.0] - 2024-07-11 - 5731e39 ast: [**BREAKING**] Store span details inside comment struct (#4132) (Luca Bruno) diff --git a/crates/oxc_parser/Cargo.toml b/crates/oxc_parser/Cargo.toml index c4628d4273fd4..6f0da1efdcb3f 100644 --- a/crates/oxc_parser/Cargo.toml +++ b/crates/oxc_parser/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_parser" -version = "0.20.0" +version = "0.21.0" authors.workspace = true description.workspace = true edition.workspace = true diff --git a/crates/oxc_semantic/CHANGELOG.md b/crates/oxc_semantic/CHANGELOG.md index 28e3910712b53..031edefad4100 100644 --- a/crates/oxc_semantic/CHANGELOG.md +++ b/crates/oxc_semantic/CHANGELOG.md @@ -4,6 +4,54 @@ 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.21.0] - 2024-07-18 + +- d7ab0b8 semantic: [**BREAKING**] Simplify node creation (#4226) (lucab) + +### Features + +- af4dc01 ast: Align ts ast scope with typescript (#4253) (Dunqing) +- 20cdb1f semantic: Align class scope with typescript (#4195) (Dunqing) +- 92ee774 semantic: Add `ScopeFlags::CatchClause` for use in CatchClause (#4205) (Dunqing) + +### Bug Fixes + +- 9badac0 semantic: Avoid var hosting insert the var variable to the `CatchClause` scope (#4337) (Dunqing) +- 95e15b6 semantic: Incorrect resolve references for `ExportSpecifier` (#4320) (Dunqing) +- c362bf7 semantic: Incorrect resolve references for `TSInterfaceHeritage` (#4311) (Dunqing) +- 351ecf2 semantic: Incorrect resolve references for `TSTypeQuery` (#4310) (Dunqing) +- 1108f2a semantic: Resolve references to the incorrect symbol (#4280) (Dunqing) +- 22d56bd semantic: Do not resolve references after `FormalParameters` in TS type (#4241) (overlookmotel) + +### Performance + +- f9d3f2e semantic: Inline ast record functions (#4272) (overlookmotel) +- 23743db semantic: Do not record ast nodes for cfg if cfg disabled (#4263) (overlookmotel) +- da69076 semantic: Reduce overhead of cfg recording ast nodes (#4262) (overlookmotel) +- cb15303 semantic: Reduce memory copies (#4216) (overlookmotel) +- ef4c1f4 semantic: Reduce lookups (#4214) (overlookmotel) +- f23e54f semantic: Recycle unresolved references hash maps (#4213) (overlookmotel) +- 2602ce2 semantic: Reuse existing map of unresolved refs (#4206) (lucab) + +### Refactor + +- 2c7bb9f ast: Pass final `ScopeFlags` into `visit_function` (#4283) (overlookmotel) +- 3e099fe ast: Move `enter_scope` after `visit_binding_identifier` (#4246) (Dunqing) +- aab7aaa ast/visit: Fire node events as the outermost one. (#4203) (rzvxa) +- c5731a5 semantic: Remove defunct code setting ScopeFlags twice (#4286) (overlookmotel) +- 16698bc semantic: Move function/class-specific code into specific visitors (#4278) (overlookmotel) +- ee16668 semantic: Rename function param (#4277) (overlookmotel) +- 25f0771 semantic: Alter syntax of `control_flow!` macro (#4275) (overlookmotel) +- 639fd48 semantic: Comment why extra CFG enabled check (#4274) (overlookmotel) +- c418bf5 semantic: Directly record `current_node_id` when adding a scope (#4265) (Dunqing) +- ace4f1f semantic: Update the order of `visit_function` and `Visit` fields in the builder to be consistent (#4248) (Dunqing) +- 8bfeabf semantic: Simplify adding `SymbolFlags::Export` (#4249) (Dunqing) +- dc2b3c4 semantic: Add strict mode in scope flags for class definitions (#4156) (Dunqing) +- 81ed588 semantic: Convert scope fields to IndexVecs (#4208) (lucab) +- bbe5ded semantic: Set `current_scope_id` to `scope_id` in `enter_scope` (#4193) (Dunqing) +- 7f1addd semantic: Correct scope in CatchClause (#4192) (Dunqing) +- fc0b17d syntax: Turn the `AstNodeId::dummy` into a constant field. (#4308) (rzvxa) + ## [0.20.0] - 2024-07-11 - 5731e39 ast: [**BREAKING**] Store span details inside comment struct (#4132) (Luca Bruno) diff --git a/crates/oxc_semantic/Cargo.toml b/crates/oxc_semantic/Cargo.toml index f847b83a36811..e2494271aa437 100644 --- a/crates/oxc_semantic/Cargo.toml +++ b/crates/oxc_semantic/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_semantic" -version = "0.20.0" +version = "0.21.0" authors.workspace = true description.workspace = true edition.workspace = true diff --git a/crates/oxc_sourcemap/CHANGELOG.md b/crates/oxc_sourcemap/CHANGELOG.md index 9dd1448724f75..1380191430386 100644 --- a/crates/oxc_sourcemap/CHANGELOG.md +++ b/crates/oxc_sourcemap/CHANGELOG.md @@ -4,6 +4,12 @@ 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.21.0] - 2024-07-18 + +### Features + +- 205c259 sourcemap: Support SourceMapBuilder#token_chunks (#4220) (underfin) + ## [0.16.0] - 2024-06-26 ### Features diff --git a/crates/oxc_sourcemap/Cargo.toml b/crates/oxc_sourcemap/Cargo.toml index 0ae636b123f82..8f01017cc8cc6 100644 --- a/crates/oxc_sourcemap/Cargo.toml +++ b/crates/oxc_sourcemap/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_sourcemap" -version = "0.20.0" +version = "0.21.0" authors.workspace = true description.workspace = true edition.workspace = true diff --git a/crates/oxc_span/Cargo.toml b/crates/oxc_span/Cargo.toml index 8d4dfdd47bd88..83fbcdb4ee2dc 100644 --- a/crates/oxc_span/Cargo.toml +++ b/crates/oxc_span/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_span" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_syntax/CHANGELOG.md b/crates/oxc_syntax/CHANGELOG.md index 03dfaa0acdb78..30f812575fbe6 100644 --- a/crates/oxc_syntax/CHANGELOG.md +++ b/crates/oxc_syntax/CHANGELOG.md @@ -4,6 +4,25 @@ 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.21.0] - 2024-07-18 + +### Features + +- 92ee774 semantic: Add `ScopeFlags::CatchClause` for use in CatchClause (#4205) (Dunqing) + +### Bug Fixes + +- 95e15b6 semantic: Incorrect resolve references for `ExportSpecifier` (#4320) (Dunqing) +- 1108f2a semantic: Resolve references to the incorrect symbol (#4280) (Dunqing) + +### Performance + +- 8fad7db semantic: Reduce `AstNodeId` to `u32` (#4264) (overlookmotel) + +### Refactor + +- fc0b17d syntax: Turn the `AstNodeId::dummy` into a constant field. (#4308) (rzvxa) + ## [0.16.3] - 2024-07-02 ### Bug Fixes diff --git a/crates/oxc_syntax/Cargo.toml b/crates/oxc_syntax/Cargo.toml index 231198e8093b8..177c96377e316 100644 --- a/crates/oxc_syntax/Cargo.toml +++ b/crates/oxc_syntax/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_syntax" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_transformer/CHANGELOG.md b/crates/oxc_transformer/CHANGELOG.md index a20f8a82a1aa8..391e327e71e39 100644 --- a/crates/oxc_transformer/CHANGELOG.md +++ b/crates/oxc_transformer/CHANGELOG.md @@ -4,6 +4,16 @@ 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.21.0] - 2024-07-18 + +### Features + +- 7eb960d transformer: Decode xml character entity `&#xhhhh` and `&#nnnn;` (#4235) (Boshen) + +### Refactor + +- a197e01 transformer/typescript: Remove unnecessary code (#4321) (Dunqing) + ## [0.20.0] - 2024-07-11 - 5731e39 ast: [**BREAKING**] Store span details inside comment struct (#4132) (Luca Bruno) diff --git a/crates/oxc_transformer/Cargo.toml b/crates/oxc_transformer/Cargo.toml index b2252565770f1..098d98892d891 100644 --- a/crates/oxc_transformer/Cargo.toml +++ b/crates/oxc_transformer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_transformer" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/crates/oxc_traverse/CHANGELOG.md b/crates/oxc_traverse/CHANGELOG.md index 4b181c9ac8fd3..0087298ce7a34 100644 --- a/crates/oxc_traverse/CHANGELOG.md +++ b/crates/oxc_traverse/CHANGELOG.md @@ -4,6 +4,25 @@ 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.21.0] - 2024-07-18 + +### Features + +- af4dc01 ast: Align ts ast scope with typescript (#4253) (Dunqing) +- 20cdb1f semantic: Align class scope with typescript (#4195) (Dunqing) + +### Bug Fixes + +- 1108f2a semantic: Resolve references to the incorrect symbol (#4280) (Dunqing) + +### Refactor + +- 2c7bb9f ast: Pass final `ScopeFlags` into `visit_function` (#4283) (overlookmotel) +- 3e099fe ast: Move `enter_scope` after `visit_binding_identifier` (#4246) (Dunqing) +- c418bf5 semantic: Directly record `current_node_id` when adding a scope (#4265) (Dunqing) +- ace4f1f semantic: Update the order of `visit_function` and `Visit` fields in the builder to be consistent (#4248) (Dunqing) +- fc0b17d syntax: Turn the `AstNodeId::dummy` into a constant field. (#4308) (rzvxa) + ## [0.20.0] - 2024-07-11 ### Bug Fixes diff --git a/crates/oxc_traverse/Cargo.toml b/crates/oxc_traverse/Cargo.toml index 06c1ffa74872b..46413c3c4c531 100644 --- a/crates/oxc_traverse/Cargo.toml +++ b/crates/oxc_traverse/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_traverse" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/napi/transform/Cargo.toml b/napi/transform/Cargo.toml index 4a1142f41b0a2..78ffe40109c2f 100644 --- a/napi/transform/Cargo.toml +++ b/napi/transform/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_transform_napi" -version = "0.20.0" +version = "0.21.0" publish = true authors.workspace = true description.workspace = true diff --git a/npm/oxc-parser/package.json b/npm/oxc-parser/package.json index 5e92100a976bd..6d11154c46114 100644 --- a/npm/oxc-parser/package.json +++ b/npm/oxc-parser/package.json @@ -1,6 +1,6 @@ { "name": "oxc-parser", - "version": "0.20.0", + "version": "0.21.0", "description": "Oxc Parser Node API", "keywords": [ "Parser" diff --git a/npm/oxc-transform/package.json b/npm/oxc-transform/package.json index 0242840fe4c96..6500f2eb17b1d 100644 --- a/npm/oxc-transform/package.json +++ b/npm/oxc-transform/package.json @@ -1,6 +1,6 @@ { "name": "oxc-transform", - "version": "0.20.0", + "version": "0.21.0", "description": "Oxc transform Node API", "keywords": [ "transform" diff --git a/wasm/parser/package.json b/wasm/parser/package.json index a01caf5c77ea1..3f5683f2f52d5 100644 --- a/wasm/parser/package.json +++ b/wasm/parser/package.json @@ -1,6 +1,6 @@ { "name": "@oxc-parser/wasm", - "version": "0.20.0", + "version": "0.21.0", "description": "Wasm target for the oxc parser.", "keywords": [ "JavaScript",