Tags: oxc-project/oxc
Tags
Release crates v0.21.0 (#4344) ## [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 <Boshen@users.noreply.github.com>
Release oxlint v0.6.1 (#4326) ## [0.6.1] - 2024-07-17 ### Features - 83c2c62 codegen: Add option for choosing quotes; remove slow `choose_quot` method (#4219) (Boshen) - 1f8968a linter: Add eslint-plugin-promise rules: avoid-new, no-new-statics, params-names (#4293) (Jelle van der Waa) - a4dc56c linter: Add fixer for unicorn/no_useless_promise_resolve_reject (#4244) (Burlin) - 6fb808f linter: Add typescript-eslint/no-confusing-non-null-assertion (#4224) (Jaden Rodriguez) - 126b66c linter: Support eslint-plugin-vitest/valid-describe-callback (#4185) (cinchen) - 05b9a73 linter: Support eslint-plugin-vitest/valid-expect (#4183) (cinchen) - 3e56b2b linter: Support eslint-plugin-vitest/no-test-prefixes (#4182) (cinchen) - 3016f03 linter: Let fixer functions return a `None` fix (#4210) (DonIsaac) - bbe6137 linter: Implement unicorn/no-useless-undefined (#4079) (Burlin) - 20cdb1f semantic: Align class scope with typescript (#4195) (Dunqing) ### Bug Fixes - 9df60da linter: Correct find first non whitespace logic in @typescript-eslint/consistent-type-imports (#4198) (mysteryven) - 67240dc linter: Not ignore adjacent spans when fixing (#4217) (mysteryven) - dd07a54 linter: Global variables should always check the builtin variables (#4209) (Jelle van der Waa) - 351ecf2 semantic: Incorrect resolve references for `TSTypeQuery` (#4310) (Dunqing) - 1108f2a semantic: Resolve references to the incorrect symbol (#4280) (Dunqing) ### Performance - 0fdc88b linter: Optimize no-dupe-keys (#4292) (lucab) ### Refactor - 2c7bb9f ast: Pass final `ScopeFlags` into `visit_function` (#4283) (overlookmotel) - aa22073 codegen: Improve print API (#4196) (Boshen) - b5a8f3c linter: Use get_first_parameter_name from unicorn utils (#4255) (Jelle van der Waa) - 7089a3d linter: Split up fixer code into separate files (#4222) (DonIsaac) - 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) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
Release oxlint v0.6.0 (#4194) ## [0.6.0] - 2024-07-11 - 5731e39 ast: [**BREAKING**] Store span details inside comment struct (#4132) (Luca Bruno) ### Features - fb549e1 linter: Add vitest/no-focused-tests rule (#4178) (mysteryven) - 6c49007 linter: Add fixer for @typescript-eslint/consistent-type-imports (#3984) (mysteryven) - 278c3e9 linter: Add fixer for jsx-a11y/aria-props (#4176) (DonIsaac) - 2188144 linter: Eslint-plugin-jest/prefer-hooks-in-order (#4052) (cinchen) - cc58614 linter: Better schemas for allow/warn/deny (#4150) (DonIsaac) - c5b4be0 linter: Add fixer for prefer-node-protocol (#4129) (DonIsaac) - 7ec0c0b linter/eslint: Implement no-label-var (#4087) (Jelle van der Waa) ### Bug Fixes - ed4c54c eslint/radix: Detect yield Number.parseInt variant (#4110) (Jelle van der Waa) - e9ad03b linter: Fixer for no-debugger creates incorrect code (#4184) (DonIsaac) - bd69571 linter: Fix top level return panic in eslint/array_callback_return (#4167) (Boshen) - c8f5664 linter: Fix panic with unicode in unicorn/prefer_dom_node_dataset (#4166) (Boshen) - f2b3273 linter: Fix fixer panic in typescript/consistent_indexed_object_style (#4165) (Boshen) - 2334515 linter: Panic in `get_enclosing_function` (#4121) (DonIsaac) - 1b91d40 linter: Incorrect fixer for `no-unused-labels` (#4123) (Don Isaac) - 1729249 linter: Incorrect fix in `no-single-promise-in-promise-methods` rule; (#4094) (DonIsaac) - cc7e893 linter/tree-shaking: Avoid recursive function stackoverflow (#4191) (mysteryven) - 28eeee0 parser: Fix asi error diagnostic pointing at invalid text causing crash (#4163) (Boshen) - 0f02608 semantic: Bind `TSImportEqualsDeclaration`s (#4100) (Don Isaac) ### Performance - ddfa343 diagnostic: Use `Cow<'static, str>` over `String` (#4175) (DonIsaac) ### Refactor - 2687ebc react: Use find_binding helper for finding React binding (#4108) (Jelle van der Waa) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
Release crates v0.20.0 (#4189) ## [0.20.0] - 2024-07-11 - 5731e39 ast: [**BREAKING**] Store span details inside comment struct (#4132) (Luca Bruno) ### Features - 67fe75e ast, ast_codegen: Pass the `scope_id` to the `enter_scope` event. (#4168) (rzvxa) - 54cd04a minifier: Implement dce with var hoisting (#4160) (Boshen) - 44a894a minifier: Implement return statement dce (#4155) (Boshen) - 725571a napi/transformer: Add `jsx` option to force parsing with jsx (#4133) (Boshen) ### Bug Fixes - 48947a2 ast: Put `decorators` before everything else. (#4143) (rzvxa) - 7a059ab cfg: Double resolution of labeled statements. (#4177) (rzvxa) - 4a656c3 lexer: Incorrect lexing of large hex/octal/binary literals (#4072) (DonIsaac) - 28eeee0 parser: Fix asi error diagnostic pointing at invalid text causing crash (#4163) (Boshen) ### Performance - ddfa343 diagnostic: Use `Cow<'static, str>` over `String` (#4175) (DonIsaac) - 2203143 semantic: Store unresolved refs in a stack (#4162) (lucab) - fca9706 semantic: Faster search for leading comments (#4140) (Boshen) ### Documentation - bdcc298 ast: Update the note regarding the `ast_codegen` markers. (#4149) (rzvxa) ### Refactor - 03ad1e3 semantic: Tweak comment argument type (#4157) (lucab) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
Release crates v0.19.0 (#4137) ## [0.19.0] - 2024-07-09 - b936162 ast/ast_builder: [**BREAKING**] Shorter allocator utility method names. (#4122) (rzvxa) ### Features - 485c871 ast: Allow conversion from `Expression` into `Statement` with `FromIn` trait. (#4124) (rzvxa) ### Refactor Co-authored-by: Boshen <Boshen@users.noreply.github.com>
Release crates v0.18.0 (#4136) ## [0.18.0] - 2024-07-09 - d347aed ast: [**BREAKING**] Generate `ast_builder.rs`. (#3890) (rzvxa) ### Features - c6c16a5 minifier: Dce all conditional expressions (#4135) (Boshen) - 365d9ba oxc_codegen: Generate annotation comments before `CallExpression` and `NewExpression` (#4119) (IWANABETHATGUY) - 3a0f2aa parser: Check for illegal modifiers in modules and namespaces (#4126) (DonIsaac) - 2f53bdf semantic: Check for abstract ClassElements in non-abstract classes (#4127) (DonIsaac) - c4ee9f8 semantic: Check for abstract initializations and implementations (#4125) (Don Isaac) - 44c7fe3 span: Add various implementations of `FromIn` for `Atom`. (#4090) (rzvxa) ### Bug Fixes - cb1af04 isolated-declarations: Remove the `async` and `generator` keywords from `MethodDefinition` (#4130) (Dunqing) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
Release crates v0.17.2 (#4115) ## [0.17.2] - 2024-07-08 ### Features - 115ac3b allocator: Introduce `FromIn` and `IntoIn` traits. (#4088) (rzvxa) - 720983a napi/transform: Allow setting `sourceType` to `transform` (#4113) (Boshen) - e386b62 semantic: Check for invalid type import assignments (#4097) (DonIsaac) ### Bug Fixes - 5472b7c codegen: 256 indentations level is not enough for codegen (Boshen) - 5c31236 isolated-declarations: Keep literal value for readonly property (#4106) (Dunqing) - e67c7d1 isolated-declarations: Do not infer type for private parameters (#4105) (Dunqing) - 3fcad5e isolated_declarations: Remove nested AssignmentPatterns from inside parameters (#4077) (michaelm) - f8d77e4 isolated_declarations: Infer type of template literal expressions as string (#4068) (michaelm) - 0f02608 semantic: Bind `TSImportEqualsDeclaration`s (#4100) (Don Isaac) - 4413e2d transformer: Missing initializer for readonly consructor properties (#4103) (Don Isaac) ### Performance - 7ed27b7 isolated-declarations: Use `FxHashSet` instead of `Vec` to speed up the `contain` (#4074) (Dunqing) - 9114c8e semantic: Keep a single map of unresolved references (#4107) (Luca Bruno) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
Release oxlint v0.5.3 (#4082) ## [0.5.3] - 2024-07-07 ### Features - 1681b11 linter: Eslint-plugin-jest/consistent-test-it (#4053) (cinchen) - 6876490 linter: Add rule no-undefined (#4041) (jordan boyer) - bf04dee linter: Implement unicorn/no-negation-in-equality-check (#4034) (Nissim Chekroun) - aa45604 linter/eslint: Implement no-multi-str (#4038) (Jelle van der Waa) ### Bug Fixes - 7b2dc3b linter: Fix panic in import/namespace (#4080) (Boshen) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
Release crates v0.17.1 (#4075) ## [0.17.1] - 2024-07-06 ### Bug Fixes - aa585d3 ast_codegen, ast: Visit `ExpressionArrayElement` as `Expression`. (#4061) (rzvxa) - 564a75a codegen: Missing TypeParameters in TSConstructSignature (#4063) (michaelm) - adee728 isolated_declarations: Don't report an error for parameters if they are ObjectPattern or ArrayPattern with an explicit type (#4065) (michaelm) - 1b8f208 isolated_declarations: Correct emit for private static methods (#4064) (michaelm) - 719fb96 minifier: Omit dce `undefined` which can be a shadowed variable (#4073) (Boshen) - 150f4d9 napi/transform: Display error with spanned messages (Boshen) ### Performance - 7fe2a2f parser: Do not copy comments (#4067) (overlookmotel) ### Refactor - 8fa98e0 ast: Inline trivial functions and shorten code (#4066) (overlookmotel) - 65aee19 isolated-declarations: Reorganize scope tree (#4070) (Luca Bruno) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
Release crates v0.17.0 (#4059) ## [0.17.0] - 2024-07-05 - e32b4bc ast: [**BREAKING**] Store trivia comments in a sorted slice (#4045) (Luca Bruno) - 1df6ac0 ast: [**BREAKING**] Rename `visit_enum_memeber` to `visit_ts_enum_member`. (#4000) (rzvxa) - 4a0eaa0 ast: [**BREAKING**] Rename `visit_enum` to `visit_ts_enum_declaration`. (#3998) (rzvxa) - c98d8aa ast: [**BREAKING**] Rename `visit_arrow_expression` to `visit_arrow_function_expression`. (#3995) (rzvxa) ### Features - 1854a52 ast_codegen: Introduce the `#[span]` hint. (#4012) (rzvxa) - 7538af1 ast_codegen: Add visit generator (#3954) (rzvxa) - 7768d23 isolated-declarations: Support optional class methods (#4035) (Egor Blinov) - 0da9dfb minifier: Add constant folding to remove dead code (#4058) (Boshen) ### Bug Fixes - aaac2d8 codegen: Preserve parentheses from AST instead calculating from operator precedence (#4055) (Boshen) - 5e5b1b1 codegen: Correct accessibility emit for class formal-parameters/methods/properties (#4042) (Egor Blinov) - 7844734 codegen: Missing const keyword in TSTypeParamter (#4022) (Dunqing) - 6254a41 codegen: Missing TypeParamters in TSCallSignature (#4021) (Dunqing) - 3d29e9c isolated-declarations: Eliminate imports incorrectly when they are used in `TSInferType` (#4043) (Dunqing) - 02ea19a isolated-declarations: Should emit `export {}` when only having `ImportDeclaration` (#4026) (Dunqing) - 7c915f4 isolated-declarations: Binding elements with export should report an error (#4025) (Dunqing) - 05a047c isolated-declarations: Method following an abstract method gets dropped (#4024) (Dunqing) - c043bec isolated_declarations: Add mapped-type constraint to the scope (#4037) (Egor Blinov) - b007553 isolated_declarations: Fix readonly specifier on class constructor params (#4030) (Egor Blinov) - da62839 isolated_declarations: Inferring literal types for readonly class fileds (#4027) (Egor Blinov) ### Refactor - b51f75b ast_codegen: No longer outputs discard variable for empty visitors. (#4008) (rzvxa) - edb557c minifier: Add a folder struct for constant folding (#4057) (Boshen) - 243c9f3 parser: Use function instead of trait to parse list with rest element (#4028) (Boshen) - 1dacb1f parser: Use function instead of trait to parse delimited lists (#4014) (Boshen) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
PreviousNext