Skip to content

Releases: oxc-project/oxc

oxlint v0.15.5

02 Jan 11:09
d2d90b0
Compare
Choose a tag to compare

[0.15.5] - 2025-01-02

Features

  • 0e168b8 linter: Catch more cases in const-comparisons (#8215) (Cameron)
  • bde44a3 linter: Add statement_span to ModuleRecord/ImportEntry (#8195) (Alexander S.)
  • ccaa9f7 linter: Implement eslint/new-cap (#8146) (Alexander S.)

Bug Fixes

  • 2b14a6f linter: Fix ignorePattern config for windows (#8214) (Alexander S.)

Testing

  • cb709c9 linter: Fix some oxlint tests on windows (#8204) (Cameron)

oxlint v0.15.4

30 Dec 08:02
936623e
Compare
Choose a tag to compare

[0.15.4] - 2024-12-30

  • ed75e42 semantic: [BREAKING] Make SymbolTable fields pub(crate) instead of pub (#7999) (Boshen)

Features

  • 47cea9a linter: Implement eslint/no-extra-label (#8181) (Anson Heung)
  • ef76e28 linter: Implement eslint/no-multi-assign (#8158) (Anson Heung)
  • 384858b linter: Implement jsx-a11y/no-noninteractive-tabindex (#8167) (Tyler Earls)
  • afc21a6 linter: Implement eslint/vars-on-top (#8157) (Yuichiro Yamashita)
  • 65796c4 linter: Implement eslint/prefer-rest-params (#8155) (Yuichiro Yamashita)
  • 5234d96 linter: Implement eslint/no-nested-ternary (#8150) (Yuichiro Yamashita)
  • 1c5db72 linter: Implement eslint/no-labels (#8131) (Anson Heung)
  • 0b04288 linter: Move import/named to nursery (#8068) (Boshen)

Bug Fixes

  • 0794bee editor/vscode: Set minimum supported ver. to ^1.93.0 (#8182) (Pavel Smirnov)
  • f3050d4 linter: Exclude svelte files from no_unused_vars rule (#8170) (Yuichiro Yamashita)
  • faf7464 linter: Disable rule react/rules-of-hook by file extension (#8168) (Alexander S.)
  • 1171e00 linter: Disable react/rules-of-hooks for vue and svelte files (#8165) (Alexander S.)
  • 1b9a5ba linter: False positiver in private member expr in oxc/const-comparison (#8164) (camc314)
  • 6bd9ddb linter: False positive in typescript/ban-tslint-comment (#8094) (dalaoshu)
  • 10a1fd5 linter: Rule: no-restricted-imports support option patterns with group key (#8050) (Alexander S.)
  • b3f38ae linter: Rule no-restricted-imports: support option allowImportNames (#8002) (Alexander S.)
  • 340cc90 linter: Rule no-restricted-imports: fix option "importNames" (#7943) (Alexander S.)
  • ec2128e linter: Fix line calculation for eslint/max-lines in diagnostics (#7962) (Dmitry Zakharov)
  • 79af100 semantic: Reference flags not correctly resolved when after an export stmt (#8134) (camc314)

Performance

  • d8d2ec6 linter: Run rules which require typescript syntax only when source type is actually typescript (#8166) (Alexander S.)
  • 2736657 semantic: Allocate UnresolvedReferences in allocator (#8046) (Boshen)

Refactor

  • de8246b language_server: Move structs into own file (#8026) (Alexander S.)
  • 774babb linter: Read exported_bindings_from_star_export lazily (#8062) (Boshen)
  • 547c102 linter: Use RwLock<FxHashMap> instead of FxDashMap for module record data (#8061) (Boshen)
  • 952d7e4 linter: Rename flat.rs to config.rs (#8033) (camc314)
  • 50848ed linter: Simplify ConfigStore to prep for nested configs (#8032) (camc314)
  • b2a4a78 linter: Remove unused with_rules and set_rule methods (#8029) (camc314)
  • 6da0b21 oxlint: Remove unused git.rs (#7990) (Boshen)
  • 58e7777 oxlint: Remove extra if check in Walkdir (#7989) (Boshen)
  • 02f968d semantic: Change Bindings to a plain FxHashMap (#8019) (Boshen)

oxlint v0.15.3

17 Dec 04:40
fc53804
Compare
Choose a tag to compare

[0.15.3] - 2024-12-17

Features

  • 25ddb35 linter: Add the import/no_named_default rule (#7902) (Guillaume Piedigrossi)
  • ee26b44 linter: Enhance get_element_type to resolve more element types (#7885) (dalaoshu)

Bug Fixes

  • 6f41d92 linter: False positive in unicorn/no-useless-spread (#7940) (dalaoshu)
  • 0867b40 linter: Fix configuration parser for no-restricted-imports (#7921) (Alexander S.)
  • 9c9b73d linter: Fix incorrect fixer for prefer-regexp-test (#7898) (Cameron)
  • 32935e6 linter: False positive in jsx-a11y/label-has-associated-control (#7881) (dalaoshu)
  • 14c51ff semantic: Remove inherting ScopeFlags::Modifier from parent scope (#7932) (Dunqing)

Refactor

  • 3858221 global: Sort imports (#7883) (overlookmotel)
  • b99ee37 linter: Move rule "no-restricted-imports" to nursery (#7897) (Alexander S.)
  • ff2a68f linter/yoda: Simplify code (#7941) (overlookmotel)

Styling

oxlint v0.15.2

14 Dec 05:53
b40c410
Compare
Choose a tag to compare

[0.15.2] - 2024-12-14

Fix the previous broken release caused by softprops/action-gh-release#555

oxlint v0.15.1

13 Dec 13:43
bb4a92c
Compare
Choose a tag to compare

[0.15.1] - 2024-12-13

Features

  • 38b1c2e editor: Create a command to apply all auto-fixes for the current active text editor (#7672) (Nicholas Rayburn)

Bug Fixes

  • 2b187e5 linter: Fix configuration casing for typescript/no_this_alias (#7836) (Boshen)
  • 06e6d38 linter: Fix unicorn/prefer-query-selector to use the correct replacement for getElementsByClassName (#7796) (Nicholas Rayburn)
  • 7a83230 semantic: Missing reference when export default references a type alias binding (#7813) (Dunqing)

oxlint v0.15.0

10 Dec 17:13
bde753b
Compare
Choose a tag to compare

[0.15.0] - 2024-12-10

  • 39b9c5d linter: [BREAKING] Remove unmaintained security plugin (#7773) (Boshen)

Features

  • 065f7dc linter: Support expectTypeOf, assert and assertType in vitest/expect-expect (#7742) (Yuichiro Yamashita)
  • 3d5f0a1 linter/no_restricted_imports: Add the no_restricted_imports rules (#7629) (Guillaume Piedigrossi)

Bug Fixes

  • ad27b20 linter: Only resolve esm files for import plugin (#7720) (Boshen)
  • 5e6053f linter: False positive in eslint/yoda (#7719) (dalaoshu)

Refactor

Testing

  • 62f0a22 linter: Port react-jsx-uses-vars rules to no_unused_vars (#7731) (Tyler Earls)
  • 02f9903 linter: Add regression tests for import/namespace (#7723) (dalaoshu)

oxlint v0.14.1

06 Dec 05:22
5f4f6d1
Compare
Choose a tag to compare

[0.14.1] - 2024-12-06

Features

  • fd0935c linter: Change react/rules-of-hooks category to pedantic (#7691) (Boshen)
  • e64fd95 linter: Map .js to .ts when resolving with tsconfig.json (#7675) (Boshen)
  • bd9d38a linter: Implement eslint:yoda (#7559) (tbashiyy)
  • a14e76a linter: Report identical logical expressions in const-comparisons (#7630) (camc314)
  • afe1e9b linter: Enhance const-comparisons for more cases (#7628) (camc314)
  • 4eb87ea linter: RulesOfHooks from nursery to correctness (#7607) (Boshen)
  • 275d625 linter: Output rules to json array (#7574) (camc314)
  • b8dc333 syntax: Add ExportEntry::is_type (#7676) (Boshen)

Bug Fixes

  • 9761e94 apps/oxlint: Incorrect matching in .oxlintignore (#7566) (dalaoshu)
  • 7cee065 linter: Panic in yoda (#7679) (camc314)
  • 6ae178e linter: Ignore type references in no-undef (#7670) (Boshen)
  • fcc2546 linter: Move no-unused-expressions from TS to eslint (#7624) (camc314)
  • 29db060 linter: Detect typescript eslint alias rules (#7622) (Alexander S.)
  • e824501 linter: False positive in exhaustive-deps (#7626) (camc314)
  • 8a68ef4 linter: Update reporting spans for exhaustive-deps (#7625) (camc314)
  • 543df6e linter: Fix false positives in exhaustive-deps (#7615) (camc314)
  • e80214c linter: Fix false positives in rules-of-hooks (#7606) (camc314)
  • 3dc46a8 linter: No-unused-expressions false positive with arrow fn expressions (#7585) (Cameron)
  • 810671a linter: Detect vitest jest alias rules (#7567) (Alexander S.)
  • 4e3044e linter: Rules-of-hooks fix false positive with default export (#7570) (camc314)

Documentation

  • f029090 linter: Update rule documentation (#7684) (camc314)
  • 4e489bd linter: Update rule documentation (#7681) (camc314)
  • 56fe5f8 linter: Update rule documentation (#7680) (Cameron)

Refactor

  • a0973dc linter: Use BigIntLiteral::raw field (#7660) (overlookmotel)
  • 3711a8e linter: Rename is_same_reference to is_same_expression (#7654) (camc314)
  • b445654 linter: Use get_inner_expression in const-comparisons (#7627) (camc314)
  • f0e7acc syntax: Change ModuleRecord::not_esm to has_module_syntax (#7579) (Boshen)
  • 18519de syntax: Remove ModuleRecord::export_default (#7578) (Boshen)
  • d476660 syntax: Remove ModuleRecord::exported_bindings_duplicated because it is a syntax error (#7577) (Boshen)
  • 17663f5 syntax: Remove ModuleRecord::export_default_duplicated because it is a syntax error (#7576) (Boshen)
  • 79014ff syntax: Clean up ModuleRecord (#7568) (Boshen)

Testing

  • be9863a linter: Add more tests fo rules-of-hooks (#7683) (camc314)
  • 6dd71c6 linter: Port eslint tests to no-unused-expressions (#7611) (camc314)

oxlint v0.14.0

01 Dec 09:04
c61a383
Compare
Choose a tag to compare

[0.14.0] - 2024-12-01

Features

  • 32f860d linter: Add support for ignorePatterns property within config file (#7092) (Nicholas Rayburn)
  • 053bc08 linter: Implement typescript/no-unused-expressions (#7498) (camc314)
  • 60b28fc linter: Implement typescript/consistent-generic-constructors (#7497) (camc314)
  • bd0693b linter: Allow lint rules with the same name (#7496) (camc314)
  • 2ac9f96 linter: Typescript/no-inferrable-types (#7438) (camc314)
  • 8d89fdc linter: Add eslint/prefer-spread (#7112) (tbashiyy)

Bug Fixes

  • 123b5b7 linter: False positive in typescript/consistent-type-definitions (#7560) (dalaoshu)
  • cc078d6 linter: Add missing error message prefix to eslint/no-const-assign (Boshen)
  • 17c0dd8 linter: Fix jsx_no_script_url doc failed to build (Boshen)

Performance

  • 6cc7a48 linter: Use OsString for module cache hash (#7558) (Boshen)
  • 6655345 linter: Use FxDashMap for module cache (#7522) (overlookmotel)

Documentation

  • a6b0100 linter: Fix config example headings (#7562) (Boshen)

Refactor

  • 0f3f67a linter: Add capability of adding semantic data to module record (#7561) (Boshen)
  • 8392177 linter: Clean up the runtime after the module record change (#7557) (Boshen)
  • 823353a linter: Clean up APIs for ModuleRecord (#7556) (Boshen)
  • f847d0f linter: Call str::ends_with with array not slice (#7526) (overlookmotel)
  • 2077ff9 linter: Remove once_cell (#7510) (Boshen)
  • 169b8bf linter, syntax: Introduce type alias FxDashMap (#7520) (overlookmotel)

oxlint v0.13.2

26 Nov 07:40
861ae15
Compare
Choose a tag to compare

[0.13.2] - 2024-11-26

  • b04041d vscode: [BREAKING] Use .oxlintrc.json as default value for oxc.configPath (#7442) (Alexander S.)

Features

  • 7236d14 eslint/jsx_a11y: Implement anchor_ambiguous_text (#5729) (Jelle van der Waa)
  • 79ab8cc lint-unicorn: Add rule prefer set has (#7075) (jordan boyer)
  • 87c893f linter: Add the eslint/no_duplicate_imports rule (#7309) (Guillaume Piedigrossi)
  • 0b9da38 linter: Implement unicorn/prefer-negative-index (#6920) (Brian Liu)
  • f0643c4 linter: Implement jsx-no-script-url (#6995) (Radu Baston)
  • 00060ca linter: Implement eslint/no-object-constructor (#7345) (Naoya Yoshizawa)

Bug Fixes

  • db6558f linter: False positive in eslint/prefer-object-has-own (#7463) (dalaoshu)

Refactor

  • d7d0735 semantic: Remove SymbolFlags::TypeLiteral (#7415) (Dunqing)

oxlint v0.13.1

23 Nov 16:02
88d17b9
Compare
Choose a tag to compare

[0.13.1] - 2024-11-23

Features

  • 4ad26b9 linter: Add no-promise-in-callback (#7307) (no-yan)
  • 9558087 oxlint: Auto detect config file in CLI (#7348) (Alexander S.)

Bug Fixes

  • 8507464 linter: Hanging when source has syntax/is flow (#7432) (Cameron)
  • e88cf1b linter: Make overrides globs relative to config path (#7407) (camchenry)
  • 9002e97 linter: Add proper support for findIndex and findLastIndex for unicorn/prefer-array-some (#7405) (Dmitry Zakharov)

Documentation

  • 6730e3e linter: Add more examples for unicorn/prefer-array-some (#7411) (Dmitry Zakharov)

Refactor

  • 6c0d31b linter: Remove useless const declaration (#7430) (Song Gao)
  • c8adc46 linter/no-unused-vars: Improve implementation to remove using SymbolFlags::Export (#7412) (Dunqing)
  • c90537f linter/only-used-in-recursion: Improve implementation to remove using SymbolFlags::Export (#7413) (Dunqing)

Testing

  • 779f479 editor: Check if workspace configuration is updated (#7403) (Alexander S.)