oxc/crates/oxc_linter/CHANGELOG.md
github-actions[bot] 21b964b214
Release oxlint v0.5.1 (#3967)
## [0.5.1] - 2024-06-29

### Features

- f64ad4b semantic: Make jsdoc building optional (turned off by default)
(#3955) (Boshen)

### Bug Fixes

- c26975a linter: Only show the filename for max-lines (#3966) (Boshen)
- 94329e4 linter: Handle useful but empty constructors in
no-useless-constructor (#3951) (DonIsaac)
- 6498a08 linter: No-useless-spread fixer with multiple spread elements
(#3950) (DonIsaac)
- 750cb43 oxlint: Gate custom allocators by feature flag (#3945) (Luca
Bruno)

### Refactor

- 1cca2a8 eslint: Convert with_labels to with_label where applicable
(#3946) (Jelle van der Waa)
- 2705df9 linter: Improve diagnostic labeling (#3960) (DonIsaac)

Co-authored-by: Boshen <Boshen@users.noreply.github.com>
2024-06-29 17:01:56 +08:00

59 KiB
Raw Blame History

Changelog

All notable changes to this package will be documented in this file.

The format is based on Keep a Changelog, and this project does not adhere to Semantic Versioning until v1.0.0.

[0.5.1] - 2024-06-29

Features

  • f64ad4b semantic: Make jsdoc building optional (turned off by default) (#3955) (Boshen)

Bug Fixes

  • c26975a linter: Only show the filename for max-lines (#3966) (Boshen)
  • 94329e4 linter: Handle useful but empty constructors in no-useless-constructor (#3951) (DonIsaac)
  • 6498a08 linter: No-useless-spread fixer with multiple spread elements (#3950) (DonIsaac)

Refactor

  • 1cca2a8 eslint: Convert with_labels to with_label where applicable (#3946) (Jelle van der Waa)
  • 2705df9 linter: Improve diagnostic labeling (#3960) (DonIsaac)

[0.5.0] - 2024-06-27

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

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

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

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

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

  • 0537d29 cfg: [BREAKING] Move control flow to its own crate. (#3728) (rzvxa)

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

  • 4bce59d semantic/cfg: [BREAKING] Re-export petgraph as control_flow::graph. (#3722) (rzvxa)

Features

  • 3ae2628 linter: Change no-import-assign to correctness (#3928) (Boshen)
  • a89d501 linter: Implement @typescript-eslint/no-non-null-asserted-nulli… (#3850) (kaykdm)
  • fc48cb4 linter: eslint-plugin-jest/prefer-jest-mocked (#3865) (cinchen)
  • 63b98bd linter: Accept multiple fixes when fix code (#3842) (mysteryven)
  • 328445b linter: Support vitest/no-disabled-tests (#3717) (mysteryven)
  • 8c61f9c linter: Implement @typescript-eslint/no-non-null-assertion (#3825) (kaykdm)
  • 080ecbd linter: Add no-fallthrough. (#3673) (rzvxa)
  • 9493fbe linter: Add oxc/no-optional-chaining rule (#3700) (mysteryven)
  • 139adfe linter: Add @typescript-eslint/no-import-type-side_effects (#3699) (mysteryven)
  • 5f84500 linter/eslint-plugin-react: Implement prefer-es6-class (#3812) (Jelle van der Waa)
  • fafe67c linter/import: Implement max-dependencies (#3814) (Jelle van der Waa)
  • d5f6aeb semantic: Check for illegal symbol modifiers (#3838) (Don Isaac)

Bug Fixes

  • 4bd2c88 linter: Fix and promote getter-return to correctness. (#3777) (rzvxa)
  • 1190dee linter: False positives with setters in the getter-return rule. (#3714) (rzvxa)
  • de0690f linter: Do not run getter-return in typescript (#3693) (Boshen)
  • cf71c23 linter: Edge case with infinite loops. (#3672) (rzvxa)
  • 99a40ce semantic: export default foo should have ExportLocalName::Default(NameSpan) entry (#3823) (Boshen)
  • abd6ac8 semantic/cfg: Discrete finalization path after NewFunctions. (#3671) (rzvxa)

Performance

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

Refactor

  • 4d2b7f1 linter: LintContext can now only be constructed with a cfg enabled semantic. (#3761) (rzvxa)
  • 7302429 linter/prefer_number_properties: Remove the unused IdentifierName check (#3822) (Boshen)
  • d8ad321 semantic: Make control flow generation optional. (#3737) (rzvxa)

Testing

  • 887da40 linter: Enable no-fallthrough test with disable-next-line. (#3766) (rzvxa)

[0.4.4] - 2024-06-14

Features

  • 8f5655d linter: Add eslint/no-useless-constructor (#3594) (Don Isaac)
  • 29c78db linter: Implement @typescript-eslint/explicit-function-return-type (#3455) (kaykdm)
  • 21d3425 linter: Typescript-eslint no-useless-empty-export (#3605) (keita hino)
  • 85c3b83 linter: Eslint-plugin-jest/max-nested-describes (#3585) (cinchen)
  • f6d9ca6 linter: Add eslint/sort-imports rule (#3568) (Wang Wenzhe)
  • 046ff3f linter/eslint: Add no_unreachable rule. (#3238) (rzvxa)
  • e32ce00 linter/jsdoc: Implement require-param-name rule (#3636) (Yuji Sugiura)
  • 110661c linter/jsdoc: Implement require-param-description (#3621) (Yuji Sugiura)
  • d6370f1 linter/jsdoc: Implement require-param-type rule (#3601) (Yuji Sugiura)
  • d9c5b33 semantic/cfg: Add Condition instruction. (#3567) (Ali Rezvani)
  • f2dfd66 semantic/cfg: Add iteration instructions. (#3566) (rzvxa)

Bug Fixes

  • f0b689d linter: Panic in jsdoc/require-param (#3590) (Don Isaac)
  • e148a32 semantic/cfg: Correct unreachability propagation in try-finally. (#3667) (Ali Rezvani)

Refactor

  • 84304b4 linter: Add a ctx.module_record() method (#3637) (Boshen)
  • f98f777 linter: Add rule fixer (#3589) (Don Isaac)
  • fa11644 linter: Pass Rc by value (#3587) (overlookmotel)
  • f702fb9 semantic/cfg: Cleanup control flow and it's builder. (#3650) (rzvxa)
  • 5793ff1 transformer: Replace &a Trivias with Rc<Trivias> (#3580) (Dunqing)

[0.4.3] - 2024-06-07

Features

  • 1fb9d23 linter: Add fixer for no-useless-fallback-in-spread rule (#3544) (Don Isaac)
  • 6506d08 linter: Add fixer for no-single-promise-in-promise-methods (#3531) (Don Isaac)
  • daf559f linter: Eslint-plugin-jest/no-large-snapshot (#3436) (cinchen)
  • 4c17bc6 linter: Eslint/no-constructor-return (#3321) (谭光志)
  • 4a075cc linter/jsdoc: Implement require-param rule (#3554) (Yuji Sugiura)
  • 747500a linter/jsdoc: Implement require-returns-type rule (#3458) (Yuji Sugiura)
  • 6b39654 linter/tree-shaking: Support options (#3504) (Wang Wenzhe)
  • 0cdb45a oxc_codegen: Preserve annotate comment (#3465) (IWANABETHATGUY)

Bug Fixes

  • b188778 linter/eslint: Fix require-await false positives in ForOfStatement. (#3457) (rzvxa)
  • 350cd91 parser: Should parser error when function declaration has no name (#3461) (Dunqing)

[0.4.2] - 2024-05-28

Features

  • 14ef4df lint/eslint: Implement require-await (#3406) (Todor Andonov)
  • e275659 linter: Add oxc/no-rest-spread-properties rule (#3432) (Wang Wenzhe)
  • 0d2c977 linter: Add oxc/no-const-enum rule (#3435) (Wang Wenzhe)
  • 085f917 linter: Add oxc/no-async-await rule (#3438) (Wang Wenzhe)
  • ded59bc linter: Eslint-plugin-jest/require-top-level-describe (#3439) (cinchen)
  • edaa555 linter: Eslint-plugin-jest/prefer-hooks-on-top (#3437) (cinchen)
  • aa26ce9 linter: @typescript-eslint/consistent-indexed-object-style (#3126) (Todor Andonov)
  • b589fd6 linter/eslint: Implement no-div-regex (#3442) (Jelle van der Waa)
  • 147864c linter/eslint: Implement no-useless-concat (#3363) (Jelle van der Waa)

Bug Fixes

  • 5e06298 linter: Memorize visited block id in neighbors_filtered_by_edge_weight (#3407) (mysteryven)
  • 74b06a7 linter: Accept more valid regex (#3408) (magic-akari)
  • 19bb1c0 website: Hack schemars to render code snippet in markdown (#3417) (Boshen)

Documentation

  • 5c7041b linter: Add docs for consistent-indexed-object-style (#3409) (Wang Wenzhe)

[0.4.0] - 2024-05-24

Features

  • e241136 cli,linter: Add --disable-oxc-plugin (#3328) (Boshen)
  • 8ab9856 cli,linter: Add --disable-react/unicorn/typescript-plugin (#3305) (Boshen)
  • ecdffcf linter: Temporary move react/require-render-return to nursery (Boshen)
  • b8997f5 linter: Eslint/no-restricted-globals (#3390) (mysteryven)
  • 79811ca linter: Change jsdoc/require-returns from correctness to pedantic (Boshen)
  • 8a1db67 linter: Change jsdoc/require-render-return from correctness to pedantic (Boshen)
  • fe208dd linter: Start adding json schema for configuration file (#3375) (Boshen)
  • aec613b linter: Eslint-plugin-jest/no-duplicate-hooks (#3358) (cinchen)
  • e4b3a3c linter: Backward compability for react-hooks and deepscan plugins (#3334) (Boshen)
  • 9744707 linter/eslint: Implement default_case rule (#3379) (Jelle van der Waa)
  • 74be8b1 linter/eslint: Implement no-new (#3368) (Jelle van der Waa)
  • c588e52 linter/eslint: Implement prefer-exponentiation-operator (#3365) (Jelle van der Waa)
  • 283d6c7 linter/eslint: Implement symbol-description (#3364) (Jelle van der Waa)
  • b6e2d62 linter/jsdoc: Implement require-returns-description (#3397) (Yuji Sugiura)
  • 3a5f088 linter/jsdoc: Implement require-returns rule (#3218) (Yuji Sugiura)
  • 3671b5c tasks/website: Code generate the linter rules (Boshen)
  • 57d2bca tasks/website: Start generating linter config markdown from json schema (#3386) (Boshen)
  • ead637b website: Generate linter configuration page (Boshen)

Bug Fixes

  • c664c6c linter: no-new false positive when return from arrow expression (#3393) (Boshen)
  • fbccd1f linter: Only report issues on top-level fragment (#3389) (Jovi De Croock)
  • a23bbf9 linter: Avoid infinite loop in jest/expect-expect (#3332) (mysteryven)
  • 385965f linter: Avoid infinite loop when traverse ancestors in jest/no_conditional_expect (#3330) (mysteryven)
  • 95e9b69 linter: Fix panic in jest/expect-expect (#3324) (Boshen)
  • 6c3d99a linter/jsx-no-undef: Check for globals when an identifier is undefined (#3331) (Boshen)
  • bb2221e linter/next: False positives for non-custom font link (#3383) (Dunqing)
  • 712ee0d linter/react: Fix false positives for async components in rules_of_hooks (#3307) (rzvxa)
  • 0864cd0 linter/react: Better detection for hooks in the rules_of_hooks. (#3306) (rzvxa)
  • 9594441 linter/react: rules_of_hooks add support for property hooks/components. (#3300) (rzvxa)
  • c8f1f79 linter/react: rules_of_hooks resolve false positives with conditional hooks. (#3299) (rzvxa)
  • d46538e linter/react: Fix loop hooks false positives. (#3297) (Ali Rezvani)

Performance

  • 8388c7b linter: Use usize for RuleEnum hash (#3336) (Boshen)

Refactor

  • c9d84af diagnostics: S/warning/warn (Boshen)
  • 5bf595d linter: Rename variable names prefix ESLint to Oxlint (Boshen)
  • d8c3187 linter: Remove unnecessary check in eslint/no-global-assign (#3391) (mysteryven)
  • d7849f8 linter: Find return statement by using CFG in react/require-render-return (#3353) (mysteryven)
  • 8383b6e linter: Remove with_rule_name from the tight loop (#3335) (Boshen)
  • 4f76cb6 linter: Merge deepscan rules into oxc rules (#3327) (Boshen)
  • 78e6326 semantic/cfg: Alias petgraph's NodeIndex as BasicBlockId. (#3380) (rzvxa)

[0.3.5] - 2024-05-15

Features

  • 5b2fc39 linter: Add use-isnan fixer for (in)equality operations (#3284) (Don Isaac)
  • 3644400 linter/eslint: Implement fixer for unicode-bom rule (#3259) (Jelle van der Waa)

Bug Fixes

  • e12323f linter/no-direct-mutation-state: False positive when class is declared inside a CallExpression (#3294) (Boshen)

Refactor

  • 6128171 linter: Rewrite react/require-render-return (#3276) (Wang Wenzhe)

[0.3.4] - 2024-05-13

Features

  • 6edcae8 linter: Move react/rules_of_hooks to nursery (Boshen)
  • 44b16ef linter/eslint: Implement max-classes-per-file (#3241) (Jelle van der Waa)

[0.3.3] - 2024-05-13

Features

  • c6874ad linter: Demote no-inner-declarations from correctness to pedantic (eslint v9) (Boshen)
  • 4ccc3ee linter: Demote react/jsx-no-useless-fragment from correctness to pedantic (Boshen)
  • d45b28a linter: Unicorn/no-anonymous-default-export (#3220) (1zumii)
  • 7113e85 linter: Add radix rule (#3167) (Kuba Jastrzębski)
  • fa0093b linter: Eslint-plugin-next/no-page-custom-font (#3185) (Dunqing)
  • 4defe37 linter: Remove deprecated eslint v9 rules no-return-await and no-mixed-operators (#3188) (Boshen)
  • ca9f13f linter: Eslint/no-new-native-nonconstructor (#3187) (Boshen)
  • 5514936 linter: Eslint-plugin-next/no-styled-jsx-in-document (#3184) (Dunqing)
  • cb2e651 linter: Eslint-plugin-next/no-duplicate-head (#3174) (Boshen)
  • 8244d2b linter/eslint: Implement unicode-bom rule (#3239) (Jelle van der Waa)
  • 5081652 linter/eslint: Implement no-empty-function rule (#3181) (Jelle van der Waa)
  • f88f330 linter/import: Improve multiple exports error message (#3160) (Dunqing)
  • 1f135ce linter/react: Add the rules_of_hooks rule. (#3071) (rzvxa)
  • c0abbbd linter/tree-shaking: Add isPureFunction (#3175) (Wang Wenzhe)

Bug Fixes

  • edb30e1 linter: Handle import { default as foo } in import/named (#3255) (Boshen)
  • 313fb83 linter/default: Ignore unsupported files (e.g. .vue) (Boshen)
  • 0ba7778 parser: Correctly parse cls.fn = x (#3208) (Dunqing)

Refactor

  • dbde5b3 diagnostics: Remove export of miette (Boshen)
  • 551632a diagnostics: Remove thiserror (Boshen)
  • 312f74b diagnostics: S/OxcDiagnostic::new/OxcDiagnostic::error (Boshen)
  • f7a3773 linter: Clean up diagnostics (Boshen)
  • 5671714 linter: Clean up diagnostics in fixer (Boshen)
  • 6e90f67 linter: Remove unnecessary usages of CompactStr (Boshen)
  • 15f275f linter: Reduce llvm lines generated by RuleEnum::read_json (#3207) (Boshen)
  • a84454c linter: Clean up prefer_node_protocol and move to restriction (#3171) (Boshen)
  • f6f7adc linter,diagnostic: One diagnostic struct to eliminate monomorphization of generic types (#3235) (Boshen)
  • 2064ae9 parser,diagnostic: One diagnostic struct to eliminate monomorphization of generic types (#3214) (Boshen)- 893af23 Clean up more diagnostics usages (Boshen)

[0.3.2] - 2024-05-04

Features

  • 80cf0b2 linter: @typescript-eslint/prefer-literal-enum-member (#3134) (kaykdm)
  • cd600fa linter: Add more "ban-ts-comment" test cases. (#3107) (谭光志)
  • bef8a71 linter: Eslint-plugin-jest/require-hook (#3110) (cinchen)
  • 388ee51 linter: Typescript-eslint/prefer-enum-initializers (#3097) (Todor Andonov)
  • be9cdfc linter: Eslint/no-await-in-loop (#3070) (谭光志)
  • 6f5df11 linter/import: Move some rules out of nursery (#2841) (Dunqing)
  • 5a1d63a linter/jsdoc: Implement require-yields rule (#3150) (Yuji Sugiura)
  • d7a8345 linter/jsdoc: Support settings.ignore(Private|Internal) (#3147) (Yuji Sugiura)
  • 5866086 linter/jsdoc: Implement no-defaults rule (#3098) (Yuji Sugiura)
  • fa3d9d2 linter/jsdoc: Implement implements-on-classes rule (#3081) (Yuji Sugiura)
  • d109767 linter/jsdoc: Implement check-tag-names rule (#3029) (Yuji Sugiura)
  • 32df6d7 linter/tree-shaking: Support While/Switch/Yield Statement (#3155) (Wang Wenzhe)
  • 8290421 linter/tree-shaking: Support SequenceExpression (#3154) (Wang Wenzhe)
  • 5c21b7f linter/tree-shaking: Support UnaryExpression (#3153) (Wang Wenzhe)
  • 7333618 linter/tree-shaking: Support JSX (#3139) (Wang Wenzhe)
  • 16a31e9 linter/tree-shaking: Support import statement (#3138) (Wang Wenzhe)
  • 88ded0c linter/tree-shaking: Support ForStatement (#3078) (Wang Wenzhe)
  • c3ec710 linter/tree-shaking: Support ExportNamedDeclaration (#3072) (Wang Wenzhe)
  • 8cdd5b0 linter/tree_shaking: Support LogicExpression and MemberExpression (#3148) (Wang Wenzhe)

Bug Fixes

  • fde7d65 linter: Handle named export default in import-plugin/named (#3158) (Boshen)
  • b1bddac linter: Fix hang if a file fails to parse while using --import-plugin (Boshen)
  • dcb2528 semantic: Revert test code pushed to the main by accident. (#3085) (Ali Rezvani)
  • 8d17ab3 semantic: Allow root_node to be empty for empty trees. (#3084) (Ali Rezvani)

Refactor

  • 7e1fe36 ast: Squash nested enums (#3115) (overlookmotel)
  • 942b2ba ast: Add array element Elision type (#3074) (overlookmotel)
  • 222030c linter: Render --rules in a table (Boshen)
  • 1f12aee linter/jsdoc: Misc improvements (#3109) (Yuji Sugiura)
  • a8af5de syntax: Move number related functions to number module (#3130) (Boshen)
  • ae65613 syntax: Use FxHashMap for ModuleRecord::request_modules (#3124) (Boshen)

[0.3.1] - 2024-04-22

Bug Fixes

  • a5a7351 linter: Fix unwanted plugin rules being enabled (Boshen)

[0.3.0] - 2024-04-22

Features

  • 92d709b ast: Add CatchParameter node (#3049) (Boshen)
  • 8d17bb4 linter: --deny all should not enable nursery rules (Boshen)
  • c2ad8f8 linter: Implement fixer for typescript-eslint/consistent-type-definitions (#3045) (Todor Andonov)
  • ae72be1 linter: Remove all ESLint Stylistic rules (Boshen)
  • 58d6438 linter: Change no-empty-static-block to correctness (Boshen)
  • 5cf55c2 linter: No barrel file. (#3030) (Ali Rezvani)
  • ae1f15a linter: Support eslint globals (#3038) (Boshen)
  • 1a1ba11 linter/tree-shaking: Support ExportDefaultDeclaration (#3052) (Wang Wenzhe)

Bug Fixes

  • b88dfd7 linter: Support -D all -D nursery (Boshen)
  • 598bbba linter: Fix crashing with unwrap in import/no-cycle (#3035) (Boshen)

Performance

  • 6c82961 ast: Box typescript enum variants. (#3065) (Ali Rezvani)
  • 48e2088 ast: Box enum variants (#3058) (overlookmotel)

Refactor

  • 53c0ff5 linter: Improve the ergonomics around ESlintConfig (#3037) (Boshen)
  • 7e4beb0 linter/import/no_cycle: Use ModuleGraphVisitor. (#3064) (Ali Rezvani)

[0.2.18] - 2024-04-19

Features

  • 2bac1d5 linter: Support oxlint-disable alongside eslint-disable (#3024) (Boshen)
  • fa08abe linter: Remove import/no-unresolved (#3023) (Boshen)
  • 9b4e87a linter: Eslint/max-len (#2874) (谭光志)
  • df2036e linter: Implement plugin-jsdoc/check-property-names (#2989) (Yuji Sugiura)
  • aa62dbb linter: Add missing test cases to no-empty-interface and add config (#2973) (Jose)
  • ba2121f linter: Add --jsdoc-plugin flag (#2935) (Yuji Sugiura)
  • 395ad76 linter/jsdoc: Update settings.jsdoc method (#3016) (Yuji Sugiura)
  • 5d89e75 linter/jsdoc: Implement require-property-(type|name|description) rules (#3013) (Yuji Sugiura)
  • 7de9c91 linter/jsdoc: Implement require-property rule (#3011) (Yuji Sugiura)
  • ac37d55 linter/tree-shaking: Support DoWhileStatement and IfStatement (#2994) (Wang Wenzhe)
  • 5b02ae1 linter/tree-shaking: Support ConditionalExpression (#2965) (Wang Wenzhe)
  • da5ea41 linter/tree-shaking: Support Class (#2964) (Wang Wenzhe)

Bug Fixes

  • 627dd42 linter/no-empty-interface: Add missing test (#2979) (Jose)

[0.2.17] - 2024-04-11

Features

  • 6757dba linter: Eslint-plugin-jest/prefer-lowercase-title (#2911) (cinchen)
  • b4b471f linter: Typescript-eslint/consistent-type-definitions (#2885) (Todor Andonov)
  • 990eda6 linter/tree-shaking: Support part BinaryExpression (#2922) (Wang Wenzhe)

Bug Fixes

  • 5abbb0c linter: Import/no-cycle ignore type-only imports (#2924) (John Daly)

Refactor

  • 0a77d62 semantic/jsdoc: Rework JSDoc struct for better Span handling (#2917) (Yuji Sugiura)

[0.2.16] - 2024-04-08

Features

  • acb6eb2 linter: @typescript-eslint/prefer-for-of (#2789) (Denis Gonchar)
  • aa63b64 linter: Implement jsdoc/check-access (#2642) (Yuji Sugiura)
  • 6823482 linter: Implement jsdoc/empty-tags (#2893) (Yuji Sugiura)
  • 7bc638e linter: Eslint-plugin-jest/prefer-mock-promise-sorthand (#2864) (cinchen)
  • 6de1b77 linter/import: Add ignoreTypes option for the import/no-cycle rule (#2905) (John Daly)
  • b053d54 linter/tree-shaking: Support try-catch and AwaitExpression (#2902) (Wang Wenzhe)
  • 59869d0 linter/tree-shaking: Check this in different environment (#2901) (Wang Wenzhe)
  • ce34829 linter/tree-shaking: Support ThisExpression and NewExpression (#2890) (Wang Wenzhe)
  • 15d08f6 linter/tree-shaking: Support ArrowFunctionExpression (#2883) (Wang Wenzhe)
  • 4a86dcb linter/tree-shaking: Support ArrayExpression and ArrayPattern (#2882) (Wang Wenzhe)

Bug Fixes

  • 5f8f7f8 ast: FinallyClause won't get visited as BlockStatement anymore. (#2881) (Ali Rezvani)
  • 79e2c95 linter: Handle self closing script tags in astro partial loader (#2017) (#2907) (Kalven Schraut)
  • 1cd5e75 linter: Svelte partial loader handle generics (#2875) (#2906) (Kalven Schraut)

[0.2.15] - 2024-03-30

Features

  • 2365198 cli: Add tsconfig file validation in LintRunner (#2850) (Dunqing)
  • d63807e linter: Fallback to the default tsconfig path (#2842) (Dunqing)
  • f6391f9 linter: Eslint-plugin-jest/prefer-comparison-matcher (#2806) (cinchen)
  • f131442 linter: Eslint-plugin-jest/no-untyped-mock-factory (#2807) (cinchen)
  • 451162e linter: Eslint/no-iterator (#2758) (Jose)
  • 53ffbc6 linter: Eslint-plugin-react checked-requires-onchange-or-readonly (#2754) (keita hino)
  • 1c07a99 linter: Default_param_last (#2756) (Jose)
  • 291dc05 linter: No_script_url (#2761) (Jose)
  • 76cc906 linter/import: Ignore type-only imports and exports in no_unresolved (#2849) (Dunqing)
  • 0cae373 linter/tree-shaking: Pass CallExpression cases (#2839) (Wang Wenzhe)
  • fa39fa8 linter/tree-shaking: Check CallExpression when called (#2809) (Wang Wenzhe)
  • 3c9e77d linter/tree-shaking: Detect CallExpression in MemberExpression (#2772) (Wang Wenzhe)

Bug Fixes

  • df62828 linter/import: Ignore export declaration in no-duplicates (#2863) (Dunqing)
  • c452897 linter/import: False positive for indirect export in namespace (#2862) (Dunqing)
  • 64e4de7 linter/max-lines: Only report codes that exceed the line limit (#2778) (Wang Wenzhe)

Refactor

  • 1b5e544 semantic: Distinguish whether requested_modules is type imports/exports (#2848) (Dunqing)
  • d9b77d8 sourcemap: Change sourcemap name to take a reference (#2779) (underfin)

[0.2.14] - 2024-03-19

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

Features

  • ac813a6 linter: No_template_curly_in_string (#2763) (Jose)
  • 134e15e linter: Eslint/no-proto (#2760) (Jose)
  • 39b98ba linter: No_eq_null (#2757) (Jose)
  • 86d006e linter: Eslint/max-params (#2749) (Jose)
  • 22c84c5 linter: Eslint/guard-for-in (#2746) (Jose)
  • f5b4599 linter: Eslint/no-ternary (#2744) (Jose)
  • 6189985 linter: Eslint/no-continue (#2742) (Jose)
  • 91e8a71 linter: Eslint/no-with (#2741) (Andi Pabst)
  • 81752b2 linter: Eslint/max-lines (#2739) (Andi Pabst)
  • 0623a53 linter: Eslint-plugin-jest: prefer-to-contain (#2735) (cinchen)
  • 9edda49 linter: Eslint-plugin-jest: prefer-expect-resolves (#2703) (cinchen)
  • 53a8e7f linter: Add settings.jsdoc (#2706) (Yuji Sugiura)
  • f8fe3af linter: Eslint-plugin-jest: prefer-to-be (#2702) (cinchen)
  • 265030d linter: Eslint-plugin-jest: prefer-spy-on (#2666) (cinchen)
  • 3ae9479 linter: Report side effect for array element in node_side_effects rule (#2683) (Wang Wenzhe)
  • 366a879 linter: Resolve ESM star exports (#2682) (Boshen)
  • 9b56134 linter: Support check ImportNamespaceSpecifier in no_import_assign (#2617) (Dunqing)
  • 7605cd3 linter: Change ban-ts-comment to pedantic (Boshen)
  • 95ac265 linter/import: Check ObjectPattern syntax in namespace (#2691) (Dunqing)
  • e86cd62 linter/import: Support check reexport binding in namespace (#2678) (Dunqing)
  • 4947809 linter/jest: Add new property for parse_jest_fn (#2715) (cinchen)
  • 2ef4762 linter/tree-shaking: Add cache for checking mutating identifiers (#2743) (Wang Wenzhe)
  • 11219d4 linter/tree_shaking: Check assignment of identifier (#2697) (Wang Wenzhe)
  • 57ce737 semantic: Move redeclare varaibles to symbol table (#2614) (Dunqing)
  • 8b3de77 span: impl<'a> PartialEq<str> for Atom<'a> (#2649) (Boshen)
  • 4f9dd98 span: Remove From<String> and From<Cow> API because they create memory leak (#2628) (Boshen)
  • f8e8af2 task: Init eslint-plugin-tree-shaking rule (#2662) (Wang Wenzhe)- 265b2fb Miette v7 (#2465) (Boshen)

Bug Fixes

  • a671d75 linter: Fix guard_for_in span error (#2755) (Jose)
  • 09d4c7d linter: Correct example for no-obj-calls rule (#2618) (overlookmotel)
  • b453a07 parser: Parse named rest element in type tuple (#2655) (Arnaud Barré)

Refactor

  • 0f86333 ast: Refactor Trivias API - have less noise around it (#2692) (Boshen)
  • 220eba1 lint: Split files for no_side_effects rule (#2684) (Wang Wenzhe)
  • 47e735a linter: Improve the implementation of no_shadow_restricted_names based on symbols (#2615) (Dunqing)
  • 240ff19 parser: Improve parsing of BindingPattern in TypeScript (#2624) (Boshen)
  • 798a6df span: Disallow struct expression constructor for Span (#2625) (Boshen)- 8001b2f Make CompactStr immutable (#2620) (overlookmotel)- 0646bf3 Rename CompactString to CompactStr (#2619) (overlookmotel)

[0.2.13] - 2024-03-05

Features

  • 35ce3cc linter: Eslint-plugin-jest: prefer-to-have-length (#2580) (cinchen)
  • 212f128 linter: Eslint-plugin-jest: prefer-strict-equal (#2581) (cinchen)
  • fe777f3 linter/import: Partial support namespace check (#2538) (Dunqing)

Bug Fixes

  • 951297e linter: Avoid crash if no members in TSTypeLiteral in typescript/prefer-function-type (#2604) (Wenzhe Wang)
  • c09c602 linter: Exclude typescript syntax function in only_used_in_recursion (#2595) (Dunqing)
  • f00834d linter: Fix getter return rule false positives in TypeScript (#2543) (BlackSoulHub)
  • 24d46bc parser: Fix span start for TSModuleDeclaration (#2593) (Arnaud Barré)
  • 37de80d semantic: Jsx reference with an incorrect node id (#2546) (Dunqing)- 7cc9013 Broken build from codegen API change (Boshen)

Refactor

  • ef932a3 codegen: Clean up API around building sourcemaps (#2602) (Boshen)
  • 1391e4a semantic/jsdoc: Misc fixes for JSDoc related things (#2531) (Yuji Sugiura)

[0.2.12] - 2024-02-28

Features

  • 3efbbb2 ast: Add "abstract" type to MethodDefinition and PropertyDefinition (#2536) (Boshen)
  • 02c82c3 cli,linter: Provide tsconfig path from the cli (#2526) (Boshen)
  • d41dcc3 linter: Remove all commonjs logic for import plugin (#2537) (Boshen)

[0.2.11] - 2024-02-26

Features

  • f5aadc7 linter: Handle cjs `module.exports = {} as default export (#2493) (Boshen)
  • f64c7e0 linter: Handle cjs module.exports.foo = bar and exports.foo = bar (#2492) (Boshen)
  • d0a9c46 linter: Handle top-level require for import plugin (#2491) (Boshen)
  • 696818a linter: Implement @typescript-eslint/prefer-ts-expect-error (#2435) (Alex Yip)
  • 6aa8c2d linter: Initialize resolver lazily and automatically read tsconfig.json for now (#2482) (Boshen)
  • 135e56a linter: Ignore unsupported extensions in import/no_unresolved (#2481) (Boshen)
  • 7f86722 linter: Handle built-in modules in import/no_unresolved (#2479) (Boshen)
  • 015b2ee linter: Eslint-plugin-react void-dom-elements-no-children (#2477) (keita hino)
  • c5f67fe linter: Add boilerplate for eslint-plugin-import/no_duplicates (#2476) (Boshen)
  • f1e364f linter: Eslint-plugin-import/no_unresolved (#2475) (Boshen)
  • 2714a32 linter: Continue working on no_cycle (#2471) (Boshen)
  • 6527bfd linter: Add boilerplace code for import/namespace,no_deprecated,no_unused_modules (#2470) (Boshen)
  • ff6a337 linter: Typescript-eslint: prefer-function-type (#2337) (zhangrunzhao)

Bug Fixes

  • 93742f8 linter: Correct configuration file parsing for jsx-no-useless-fragment (#2512) (keita hino)
  • fba66dc linter: Improve import/no-named-as-default (#2494) (Boshen)
  • d741d72 linter: Fix import plugin hanging when ignored modules are imported (#2478) (Boshen)
  • 35a0f89 linter: Handle cases where createElement is an Identifier in is_create_element_call (#2474) (keita hino)
  • bc22ae5 semantic: Refactor jsdoc finding (#2437) (Yuji Sugiura)

Refactor

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

[0.2.10] - 2024-02-21

Features

  • e6d536c codegen: Configurable typescript codegen (#2443) (Andrew McClenaghan)
  • f7e1576 linter: Eslint no-nonoctal-decimal-escape (#2428) (tudorbarbu)

Bug Fixes

  • 5bd2ce6 semantic: Incorrect reference flag for MemberExpression assign (#2433) (Dunqing)

Refactor

  • cd48e1e linter: Simplify getting ImportDefaultSpecifier (#2453) (Dunqing)
  • 2a2bb2b linter: Improve implementation of no_dupe_class_members based on ClassTable (#2446) (Dunqing)- a2c173d Remove panic! from examples (#2454) (Boshen)

[0.2.9] - 2024-02-18

Features

  • 0b9e122 linter: Implement unicorn/no-process-exit rule (#2410) (Yuji Sugiura)
  • d9f073e linter: Detect jest file by default glob pattern (#2408) (Wenzhe Wang)
  • 8d6202f linter: Eslint-plugin-jest require-to-throw-message (#2384) (keita hino)
  • 92afbb1 linter: Eslint-plugin-jest: prefer-equality-matcher (#2358) (cinchen)
  • 40e9541 semantic: Add export binding for ExportDefaultDeclarations in module record (#2329) (Dunqing)- 8e0277e Add Typescript ban-tslint-comment (#2371) (tudorbarbu)

Bug Fixes

  • f49ffb2 linter: getter-return false positive with TypeScript syntax (#2363) (Boshen)
  • ebc08d4 linter: Add missing typescript-eslint(_) prefix for some errors (#2342) (Maurice Nicholson)
  • 6a25864 linter/jsx_a11y: Refactor jsx-a11y related utils and its usage (#2389) (Yuji Sugiura)
  • 2521b52 linter/jsx_a11y: Ensure plugin settings are used (#2359) (Yuji Sugiura)

Performance

  • 7d7a3fc lint/no_var_requires: Quicker way to check if the IdentifierReference point to a global variable (#2376) (Yunfei He)

Refactor

  • 67d7a46 linter: Get arrow expression by scope_id in no_render_return_value (#2424) (Dunqing)
  • 63b4741 linter/config: Use serde::Deserialize for config parsing (#2325) (Yuji Sugiura)

[0.2.8] - 2024-02-06

Features

  • d571839 ast: Enter AstKind::ExportDefaultDeclaration, AstKind::ExportNamedDeclaration and AstKind::ExportAllDeclaration (#2317) (Dunqing)
  • a762d17 linter: Promote no-this-before-super to correctness (#2313) (Boshen)
  • 0060d6a linter: Implement no_this_before_super with cfg (#2254) (Tzvi Melamed)
  • f3035f1 semantic: Apply ImportSpecifier's binder and remove ModuleDeclaration's binder (#2307) (Dunqing)- 8771c64 Add typescript-eslint rule array-type (#2292) (luhc228)

Bug Fixes

  • b5e43fb linter: Fix no_dupe_keys false postive on similar key names (#2291) (Boshen)

Refactor

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

[0.2.7] - 2024-02-03

Features

  • 2578bb3 ast: Remove generator property from ArrowFunction (#2260) (Dunqing)
  • a95a16c linter: Complete custom components setting (#2234) (hjio)
  • da3b305 linter: Implement @next/next/no-before-interactive-script-outsi… (#2203) (kaykdm)
  • b694a6a linter: Implement @next/next/no-unwanted-polyfillio (#2197) (kaykdm)
  • e561457 semantic: Track cfg index per ast node (#2210) (Tzvi Melamed)

Bug Fixes

  • 2beacd3 lexer: Correct the span for irregular whitespaces (#2245) (Boshen)
  • 37a2676 linter: AllowFunction doesn't support generator (#2277) (Dunqing)
  • f039ad6 linter: Ban --fix for variety files(vue, astro, svelte) (#2189) (Wenzhe Wang)
  • f32228e linter: Jsx no undef match scope should check with ancestors (#2027) (西了意)
  • 73ccf8a oxc_semantic: Proper traversal of try statements (#2250) (Tzvi Melamed)

Refactor

  • 1de3518 linter: Remove Regex and change error position (#2188) (Wenzhe Wang)- 650f6c9 Use our forked version of miette::Reporter for tests (#2266) (Boshen)- 87b9978 Move all miette usages to oxc_diagnostics (Boshen)

[0.2.6] - 2024-01-26

Features

  • ee5b968 linter: Support read env from eslintrc (#2130) (fi3ework)
  • 8898377 semantic: Cfg prototype (#2019) (Boshen)
  • 2794064 transfrom: Transform-json-strings (#2168) (underfin)

Bug Fixes

  • 2e3153e linter: Rename react_perf/jsx_no_new_function_as_props to jsx_no_new_function_as_prop (#2175) (Yuji Sugiura)

Refactor

  • a17e43e linter: Move settings and env to the config module (#2181) (Boshen)

[0.2.5] - 2024-01-25

Features

  • ac1d318 linter: Eslint-plugin-jest: prefer-called-with (#2163) (cin)
  • 3891430 linter: Eslint: no-void (#2162) (cin)

Bug Fixes

  • 989ab88 codegen: Print Directive original string (#2157) (underfin)
  • c18619e linter: Use correct rule name (#2169) (Yuji Sugiura)
  • 2602232 linter: Explicit-length-check inside ternary (#2165) (Maurice Nicholson)

[0.2.3] - 2024-01-23

Features

  • 6d808a6 linter: Linter-eslint-plugin-import/no-named-as-default (#2109) (Valerii Smirnov)
  • d90db3a linter: Promote no-new-array to correctness with better help message (#2123) (Boshen)
  • 69fecac linter: Eslint config jsonc support (#2121) (Boshen)
  • 5ca07bc linter: Eslint-plugin-react-perf (#2086) (Hulk)
  • b160842 linter: Support eslint config in nextjs eslint (#2107) (kaykdm)
  • 16b3261 linter: Eslint-plugin-jest: no-restricted-jest-methods (#2091) (cin)- 20a34b5 Introduce --react-perf-plugin CLI flag, update rules to correctness (#2119) (Hulk)- 4adce6f (eslint-plugin-jest): no-restricted-matchers (#2090) (cin)

Bug Fixes

  • d00c44c linter: Allow [...new Array(n)] in no-useless-spread (#2124) (Boshen)
  • 2228aa8 linter: Jsx_a11y/img-redundant linter enable test case(#2112) (msdlisper)
  • 142f84f linter: Not use new_inline with flexible str (#2106) (Wenzhe Wang)

Refactor

  • 766ca63 ast: Rename RestElement to BindingRestElement (#2116) (Dunqing)
  • 8bccdab semantic: Add binder for FormalParameters and RestElement, replacing the binder for FormalParameters (#2114) (Dunqing)

[0.2.2] - 2024-01-20

Features

  • 721a869 linter: Improve no_redeclare rule implementation (#2084) (Dunqing)- 2f1e1e2 Expose linter RULES and use it for listing (#2083) (Yuji Sugiura)

Bug Fixes

  • d7ecd21 linter: Eslint-plugin-import no-named-as-default-member rule (#2071) (Valerii Smirnov)
  • 3faa2aa linter: S/consistent-type-export/consistent-type-exports (#2065) (Boshen)

Refactor

  • a368134 linter: Perfect the scope linter (#2092) (msdlisper)

[0.2.1] - 2024-01-16

Features

  • 9e06bd7 linter: Remove the --timings feature (#2049) (Boshen)
  • c60c315 linter: Eslint-plugin-import no-named-as-default-member rule (#1988) (Valerii Smirnov)
  • 530d1be linter: Eslint-plugin-jsx-a11y no-redundant-roles rule (#1981) (Yuto Yoshino)
  • 198f0e5 linter: Eslint-plugin-jsx-a11y aria-activedescendant-has-tabindex (#2012) (keita hino)
  • a356918 linter: Eslint-plugin-next: no-document-import-in-page (#1997) (kaykdm)
  • c70a065 linter: Eslint-plugin-next: no-head-element (#2006) (kaykdm)
  • 8f0f824 linter: Eslint-plugin-next: no-typos (#1978) (kaykdm)
  • 04540f7 linter: Eslint-plugin-jsx-a11y click-events-have-key-events (#1976) (Yuji Sugiura)

Bug Fixes

  • 3b40fbd linter: False positive for filename_case where filename doesn't have a proper casing (#2032) (Boshen)
  • 68606c4 linter: Keep rules disabled if the rule is not enabled in the config (#2031) (Boshen)
  • 107a32e linter: Fix false positive for erasing-op in 0/0 case (#2009) (Cameron)

Refactor

  • f514410 linter: Move LintSettings to its own file (#2052) (Boshen)
  • ae4e714 linter: Remove the LintSettings parameter from LintContext::new. (#2051) (Boshen)
  • b386177 linter: Move away from tuples for test cases (#2011) (Boshen)

[0.2.0] - 2024-01-12

Features

  • d51c9f1 linter: Eslint-plugin-jest: no-test-return-statement (#1979) (cin)
  • fb5d0a7 linter: Add support for same rule name but different plugin names (#1992) (Boshen)
  • b7ea4e5 linter: Support vue generic component (#1989) (Boshen)
  • c5887bc linter: Implement @typescript-eslint/triple-slash-reference (#1903) (kaykdm)
  • ac704cc linter: Eslint-plugin-jsx-a11y autocomplete-valid (#1901) (Yuto Yoshino)
  • 40dbfae linter: Eslint-plugin-react: no-direct-mutation-state (#1892) (zhangrunzhao)
  • 856b9a5 linter: Support overriding oxlint rules by eslint config (#1966) (Boshen)
  • 7891670 linter: Eslint-plugin-react: require-render-return (#1946) (kaykdm)
  • 2b7ca59 linter: Eslint-plugin-jsx-a11y role-has-required-aria-props (#1881) (Yuto Yoshino)
  • f6047b6 linter: Eslint-plugin-jsx-a11y role-support-aria-props (#1961) (Rintaro Itokawa)
  • fd5856e linter: Eslint-plugin-jsx-a11y role-support-aria-props (#1949) (Rintaro Itokawa)
  • c6eb519 linter: Eslint-plugin-react: no-unknown-property (#1875) (Valerii Smirnov)
  • fe48bfa lsp: Support vue, astro and svelte (#1923) (IWANABETHATGUY)- ac3b44b Nextjs plugin (#1948) (Cameron)

Bug Fixes

  • e0da12a linter: Allow eslintrc to add rule when overriding (#1984) (fi3ework)
  • d4acd14 linter: Jsx-key: handle anonymous functional components in arrays that have a function body (#1983) (Maurice Nicholson)
  • b5f4f1e linter: Fix plugin name parsing when reading config file (#1972) (Hao Cheng)
  • 8d9894a linter: Support cases where aria-hidden includes expressions (#1964) (keita hino)
  • 66e95a5 linter: Change severity of no-sparse-arrays to warnings (Boshen)

Refactor

  • a6717db formatter,linter,codegen: Remove oxc_formatter (#1968) (Boshen)
  • 64310fa linter: Remove duplicate get_jsx_attribute_name (#1971) (Cameron)

[0.1.2] - 2024-01-06

Features

  • c2e8ef5 linter: Disable no-unused-labels for svelte (#1919) (Boshen)
  • f2ed83c linter: