Skip to content

Releases: oxc-project/oxc

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

oxlint v0.13.0

21 Nov 14:37
4b5a176
Compare
Choose a tag to compare

[0.13.0] - 2024-11-21

  • 7bf970a linter: [BREAKING] Remove tree_shaking plugin (#7372) (Boshen)

Features

  • 7f8747d linter: Implement react/no-array-index-key (#6960) (BitterGourd)
  • be152c0 linter: Add typescript/no-require-imports rule (#7315) (Dmitry Zakharov)
  • 849489e linter: Add suggestion for no-console (#4312) (DonIsaac)
  • 8cebdc8 linter: Allow appending plugins in override (#7379) (camchenry)
  • 8cfea3c oxc_cfg: Add implicit return instruction (#5568) (IWANABETHATGUY)
  • e6922df parser: Fix incorrect AST for x?.f<T>() (#7387) (Boshen)

Bug Fixes

  • e91c287 linter: Fix panic in react/no-array-index-key (#7395) (Boshen)
  • a32f5a7 linter/no-array-index-key: Compile error due to it uses a renamed API (#7391) (Dunqing)
  • 666b6c1 parser: Add missing ChainExpression in optional TSInstantiationExpression (#7371) (Boshen)

Documentation

Refactor

  • c34d649 linter: Use scope_id etc methods (#7394) (overlookmotel)
  • 466f395 vscode: Split ConfigService and Config (#7376) (Alexander S.)

oxlint v0.12.0

20 Nov 08:00
b6d5c0f
Compare
Choose a tag to compare

[0.12.0] - 2024-11-20

Experimental support for overrides

{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "overrides": [
    {
      "files": ["**/packages/**"],
      "rules": {
        "no-console": "warn"
      }
    }
  ]
}

Experimental support for react/exhaustive-deps

oxlint -W exhaustive-deps

or

{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "rules": {
    "react/exhaustive-deps": "warn"
  }
}

Features

  • 1d9f528 linter: Implement unicorn/prefer-string-raw lint rule (#7335) (Ryan Walker)
  • d445e0f linter: Implement unicorn/consistent-existence-index-check (#7262) (Ryan Walker)
  • 01ddf37 linter: Add allowReject option to no-useless-promise-resolve-reject (#7274) (no-yan)
  • 755a31b linter: Support bind function case for compatibility with promise/no-return-wrap (#7232) (no-yan)
  • 428770e linter: Add import/no-namespace rule (#7229) (Dmitry Zakharov)
  • 9c91151 linter: Implement typescript/no-empty-object-type (#6977) (Orenbek)
  • 2268a0e linter: Support overrides config field (#6974) (DonIsaac)
  • 3dcac1a linter: React/exhaustive-deps (#7151) (camc314)
  • d3a0119 oxlint: Add cwd property to LintRunner (#7352) (Alexander S.)

Bug Fixes

  • ba0b2ff editor: Reload workspace configuration after change (#7302) (Alexander S.)
  • bc0e72c linter: Handle user variables correctly for import/no_commonjs (#7316) (Dmitry Zakharov)
  • bf839c1 linter: False positive in jest/expect-expect (#7341) (dalaoshu)
  • ff2a1d4 linter: Move exhaustive-deps to react (#7251) (camc314)
  • df5c535 linter: Revert unmatched rule error (#7257) (Cameron A McHenry)
  • c4ed230 linter: Fix false positive in eslint/no-cond-assign (#7241) (camc314)
  • ef847da linter: False positive in jsx-a11y/iframe-has-title (#7253) (dalaoshu)
  • 62b6327 linter: React/exhaustive-deps update span for unknown deps diagnostic (#7249) (camc314)

Documentation

  • 4c124a8 editor/vscode: Update VS Code readme with installation instructions and available features (#7306) (Nicholas Rayburn)

Refactor

  • c6a4868 linter: Temporarily remove unknown rules checking (#7260) (camchenry)

Testing