Skip to content

Releases: oxc-project/oxc

oxlint v0.7.2

15 Aug 07:33
b3e1897
Compare
Choose a tag to compare

[0.7.2] - 2024-08-15

Features

  • 97e38cd linter: Add fixer for unicorn/prefer-optional-catch-binding (#4867) (heygsc)
  • 93ae1c7 linter: Eslint-plugin-react jsx-props-no-spread-multi (#4866) (keita hino)
  • 0a23610 linter: Add fixer for unicorn/prefer-array-flat-map (#4844) (heygsc)
  • 13c7b1b linter/jsx-a11y: Add fixer for aria-unsupported-elements (#4854) (DonIsaac)
  • a6195a6 linter/jsx-a11y: Add fixer for anchor-has-content (#4852) (DonIsaac)
  • 4d28d03 task/website: Support render subschemas.all_of (#4800) (mysteryven)

Bug Fixes

  • a08d7a7 linter/jsx-a11y: Reduce false negatives for html-has-lang (#4855) (DonIsaac)
  • a81ce3a linter/no-unused-vars: Do not delete function expressions when fixing (#4848) (DonIsaac)

Documentation

  • 955a4b4 oxlint: Improve cli doc regarding fix and -D all (Boshen)

Refactor

  • 56f033c linter: Improve diagnostics for several jsx-a11y rules (#4853) (DonIsaac)
  • c53c210 linter/no-unused-vars: Split fixer logic into multiple files (#4847) (DonIsaac)

oxlint v0.7.1

12 Aug 06:14
972492c
Compare
Choose a tag to compare

[0.7.1] - 2024-08-12

Features

  • 3d40528 linter: Add fix emoji to rules table and doc pages (#4715) (DonIsaac)
  • d2734f3 linter: Start fixer for no-unused-vars (#4718) (DonIsaac)
  • 070ae53 linter: Add fixer for unicorn prefer-string-replace-all (#4801) (camc314)
  • b3c3125 linter: Overhaul unicorn/no-useless-spread (#4791) (DonIsaac)
  • 5992b75 linter: Implement eslint-plugin-promise/no-return-in-finally, prefer-await-to-then rule (#4318) (Jelle van der Waa)
  • b259f47 linter: Add fixer for unicorn/no-length-as-slice-end (#4780) (heygsc)
  • abd83fa linter: Add fixer for jsx_ally/no_aria_hidden_on_focusable (#4772) (heygsc)
  • b20e335 linter: Add fixer for eslint/no-eq-null (#4758) (heygsc)
  • 2f6c3b9 linter: Add fixer for eslint/no-compare-neg-zero (#4748) (heygsc)
  • eaddc8f linter: Add fixer for eslint/func_names (#4714) (DonIsaac)
  • 80557a9 linter: Add fixer for eslint/for-direction (#4679) (heygsc)
  • c3c5766 linter/eslint-plugin-promise: Implement valid-params (#4598) (Jelle van der Waa)
  • c509a21 linter/eslint-plugin-vitest: Implement prefer-to-be-falsy (#4770) (dalaoshu)
  • 41f861f linter/eslint-plugin-vitest: Implement prefer-to-be-truthy (#4755) (dalaoshu)
  • cc922f4 vscode: Provide config's schema to oxlint config files (#4826) (Don Isaac)
  • f629514 website: Auto-generate rule docs pages (#4640) (DonIsaac)

Bug Fixes

  • b22ed45 linter: Improve prefer_namespace_keyword rule (#4751) (Burlin)
  • db68a6c linter: Fixer for eslint/for-direction (#4727) (heygsc)
  • 6273994 linter: Block in eslint/no_cond_assign (#4721) (heygsc)
  • b9d6aa5 linter: Fix false positives in no-confusing-non-null-assertion (#4665) (Renée)
  • cbf08d2 linter: Skip no-multi-str on jsx attributes (#4666) (heygsc)
  • a6f9f96 linter: No unused errors should be warnings (Boshen)
  • 7345bc9 linter/func-names: Handle ts accessibility when reporting missing names (#4713) (DonIsaac)

Performance

  • d191823 linter: Optmize allocations in jest fn parsing (#4787) (lucab)
  • e3abdfa linter: Reduce String allocations and clones (#4673) (DonIsaac)

Documentation

  • 4b7dfd6 linter: Correct docs for no-unused-vars (#4716) (Don Isaac)

Refactor

  • 096ac7b linter: Clean up jsx-a11y/anchor-is-valid (#4831) (DonIsaac)
  • 15a0fd4 linter: Use Option to reduce nested level in eslint/getter-return (#4814) (IWANABETHATGUY)
  • 63f274c linter: Simplify NoObjCalls resolution logic (#4765) (lucab)
  • 6708680 linter: Replace Windows-style line breaks with Unix-style in test fixture (#4768) (overlookmotel)
  • e285903 linter: Clean up eslint/func_names (#4710) (DonIsaac)

Testing

  • 8f2a566 linter: Ensure rule docs have valid syntax (#4644) (DonIsaac)
  • 4dd29db linter: Add fixer test for unicorn/no-zero-fractions (#4783) (heygsc)

oxlint v0.7.0

05 Aug 06:21
3ac02fd
Compare
Choose a tag to compare

[0.7.0] - 2024-08-05

Oxlint now contains 400 rules.

Features

  • 9df7b56 jsx-a11y/no-autofocus: Implement fixer support (#4171) (Jelle van der Waa)
  • b87bf70 linter: Add fix capabilties to existing lint rules (#4560) (DonIsaac)
  • ddd8b27 linter: Support conditional fix capabilities (#4559) (DonIsaac)
  • b952942 linter: Add eslint/no-unused-vars (⭐ attempt 3.2) (#4445) (DonIsaac)
  • 6543958 linter: Add auto-fix metadata to RuleMeta (#4557) (Don Isaac)
  • 85e8418 linter: Add react/jsx-curly-brace-presence (#3949) (Don Isaac)
  • 4c4da56 linter: Add typescript-eslint/prefer-keyword-namespce (#4438) (Aza Walker)
  • d8c2a83 linter: Eslint-plugin-vitest/no-import-node-test (#4440) (cinchen)
  • e3b0c40 linter: Eslint-plugin-vitest/no-identical-title (#4422) (cinchen)
  • c936782 linter: Eslint-plugin-vitest/no-conditional-expect (#4425) (cinchen)
  • 27fdd69 linter: Eslint-plugin-vitest/no-commented-out-tests (#4424) (cinchen)
  • 51f5025 linter: Add fixer for unicorn/prefer-string-starts-ends-with (#4378) (DonIsaac)
  • 3c0c709 linter: Add typescript-eslint/no-extraneous-class (#4357) (Jaden Rodriguez)
  • 7afa1f0 linter: Support suggestions and dangerous fixes (#4223) (DonIsaac)
  • acc5729 linter: Eslint-plugin-vitest/expect-expect (#4299) (cinchen)
  • 2213f93 linter: Eslint-plugin-vitest/no-alias-methods (#4301) (cinchen)
  • c296bc3 linter/eslint: Implement func-names (#4618) (Alexander S.)
  • e116ae0 linter/eslint: Implement fixer for prefer-numeric-literals (#4591) (Jelle van der Waa)
  • eaf834f linter/eslint: Implement prefer-numeric-literals (#4109) (Jelle van der Waa)
  • db2fd70 linter/eslint-plugin-promise: Implement no-webpack-loader-syntax (#4331) (Jelle van der Waa)
  • 5f1e070 linter/eslint-plugin-unicorn: Add fixer for prefer-code-point (#4353) (Jelle van der Waa)
  • ed49e16 linter/eslint-plugin-unicorn: Implement fixer for prefer-dom-node-append (#4306) (Jelle van der Waa)
  • e2b15ac linter/react: Implement react-jsx-boolean-value (#4613) (Jelle van der Waa)
  • 68efcd4 linter/react-perf: Handle new objects and arrays in prop assignment patterns (#4396) (DonIsaac)

Bug Fixes

  • 06aec77 linter: Invalid binary expression with overflow (#4647) (DonIsaac)
  • b2da22b linter: Invalid tags in rule docs (#4646) (DonIsaac)
  • 94440ad linter: Panic on invalid lang in a11y/lang. (#4630) (rzvxa)
  • e0b03f8 linter: Improve the boundary for eslint/for-direction (#4590) (heygsc)
  • 70b8cfa linter: Missing return in no-obj-calls recursion (#4594) (DonIsaac)
  • fe1356d linter: Change no-unused-vars to nursery (#4588) (DonIsaac)
  • 72337b1 linter: Change typescript-eslint/no-namespace to restriction (#4539) (Don Isaac)
  • 732f4e2 linter: Fix oxlint allocator cfg (#4527) (overlookmotel)
  • 289dc39 linter: Overflow in no-obj-calls (#4397) (DonIsaac)
  • a664715 linter/eslint: Fix invalid regexp in no_regex_spaces test (#4605) (Yuji Sugiura)
  • 74fa75a linter/eslint: Drop quotes around max-params lint warning (#4608) (Jelle van der Waa)
  • 9fcd9ae linter/eslint: Fix invalid regexp in no_control_regex test (#4544) (leaysgur)
  • ac08de8 linter/react_perf: Allow new objects, array, fns, etc in top scope (#4395) (DonIsaac)
  • 0fba738 npm: SyntaxError caused by optional chaining in low version node (#4650) (heygsc)
  • 73d2558 oxlint: Fix oxlint failed to build due to missing feature (Boshen)

Performance

  • 6ff200d linter: Change react rules and utils to use Cow and CompactStr instead of String (#4603) (DonIsaac)
  • f259df0 linter: Make img-redundant-alt only build a regex once (#4604) (DonIsaac)
  • 7585e16 linter: Remove allocations for string comparisons (#4570) (DonIsaac)
  • b60bdf1 linter: no_shadow_restricted_names only look up name in hashmap once (#4472) (overlookmotel)
  • 81384f5 linter: Avoid unnecessary work in nextjs:no_duplicate_head rule (#4465) (overlookmotel)
  • f7da22d linter: Disable lint rules by file type (#4380) (DonIsaac)

oxlint v0.6.1

18 Jul 14:53
697c0ef
Compare
Choose a tag to compare

[0.6.1] - 2024-07-17

Features

  • 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)

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)

Performance

Refactor

  • 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)

oxlint v0.6.0

11 Jul 07:02
4f26e51
Compare
Choose a tag to compare

[0.6.0] - 2024-07-11

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 json 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)

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)

oxlint v0.5.3

07 Jul 11:53
0c7f3ee
Compare
Choose a tag to compare

[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)

oxlint v0.5.2

02 Jul 14:29
b66ad0b
Compare
Choose a tag to compare

[0.6.0] - 2024-07-02

Features

  • b257d53 linter: Support report @typescript-eslint/consistent-type-imports (#3895) (mysteryven)
  • 2114475 linter: Implement @typescript-eslint/no-dynamic-delete (#3971) (kaykdm)
  • 10a3c9a linter/eslint-plugin-react: Implement no-set-state (#3975) (Jelle van der Waa)

Bug Fixes

  • 432d6d9 linter: Find disabled directives using the message's Span. (#4010) (rzvxa)
  • dbbb6fc linter: Global variable check should always check builtin variables (#3973) (Boshen)

oxlint v0.5.1

29 Jun 09:24
21b964b
Compare
Choose a tag to compare

[0.5.1] - 2024-06-29

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)

oxlint v0.5.0

27 Jun 08:05
1d74db7
Compare
Choose a tag to compare

[0.5.0] - 2024-06-27

Features

  • 3ae2628 linter: Change no-import-assign to correctness (#3928) (Boshen)
  • a89d501 linter: @typescript-eslint/no-non-null-asserted-nullish-coalescing (#3850) (kaykdm)
  • fc48cb4 linter: eslint-plugin-jest/prefer-jest-mocked (#3865) (cinchen)
  • 328445b linter: vitest/no-disabled-tests (#3717) (mysteryven)
  • 8c61f9c linter: @typescript-eslint/no-non-null-assertion (#3825) (kaykdm)
  • 9493fbe linter: oxc/no-optional-chaining (#3700) (mysteryven)
  • 139adfe linter: @typescript-eslint/no-import-type-side_effects (#3699) (mysteryven)
  • 5f84500 linter: react/prefer-es6-class (#3812) (Jelle van der Waa)
  • fafe67c linter: max-dependencies (#3814) (Jelle van der Waa)

Bug Fixes

  • 5902331 cli: properly report configuration error (#3889) (Luca Bruno)

Refactor

  • 7302429 linter/prefer_number_properties: Remove the unused IdentifierName check (#3822) (Boshen)

oxlint v0.4.4

14 Jun 07:48
2173f23
Compare
Choose a tag to compare

[0.4.4] - 2024-06-14

Highlights

Sort imports via oxlint --fix -D sort-imports

  • f6d9ca6 linter: Add eslint/sort-imports rule (#3568) (Wang Wenzhe)

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)
  • 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)

Bug Fixes

  • f0b689d linter: Panic in jsdoc/require-param (#3590) (Don Isaac)