Skip to content

Releases: oxc-project/oxc

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

oxlint v0.11.1

09 Nov 12:18
68dc899
Compare
Choose a tag to compare

[0.11.1] - 2024-11-09

Features

  • 4dd9b60 editor/vscode: Replace existing output channel and trace output channel with a single LogOutputChannel (#7196) (Nicholas Rayburn)
  • 1fcd709 linter: Add jsx support for only-used-in-recursion (#7120) (no-yan)
  • 4d577cf linter: Add import/first rule (#7180) (Dmitry Zakharov)
  • 9b8973f linter: Add import/unambiguous rule (#7187) (Dmitry Zakharov)
  • 5ab1ff6 linter: Implement @typescript-eslint/no-unsafe-function-type (#6989) (Orenbek)

Bug Fixes

  • eea8879 editor/vscode: Update language client id to fix the resolution of the oxc.trace.server setting (#7181) (Nicholas Rayburn)
  • b73cfd9 linter: Fix is_method_call with parentheses and chain expression (#7095) (tbashiyy)

Refactor

  • 8c0a362 linter: Use ctx.source_range(comment.content_span()) API (#7155) (Boshen)
  • c5485ae semantic: Add ancestor_kinds iterator function (#7217) (camchenry)
  • abf1602 semantic: Rename iter_parents to ancestors (#7216) (camchenry)
  • 42171eb semantic: Rename ancestors to ancestor_ids (#7215) (camchenry)

oxlint v0.11.0

03 Nov 03:43
2d40b07
Compare
Choose a tag to compare

[0.11.0] - 2024-11-03

  • 9fd9f4f linter: [BREAKING] Sync sindresorhus/globals; removed Object.prototype properties from builtin and es* globals (#6991) (Boshen)

Features

  • 6b619da editor: Listen to config file changes and trigger a didChangeConfiguration update (#6964) (Nicholas Rayburn)
  • 7872927 editor/vscode: Support window/showMessage event (#7085) (Nicholas Rayburn)
  • 2184588 linter: Do not bail for unmatched rules yet (#7093) (Boshen)
  • a6fcd81 linter: Add import/no-commonjs rule (#6978) (Dmitry Zakharov)
  • 1691cab linter: Support user-configurable secrets for oxc-security/api-keys (#5938) (DonIsaac)
  • 610621c linter: Implement react/style-prop-object (#6342) (Albert Kaaman)
  • 1e2f012 linter: Add oxc/no-map-spread (#6751) (DonIsaac)
  • 1c66473 linter: Implement eslint/prefer-object-has-own (#6905) (tomoya yanagibashi)

Bug Fixes

  • ebf3753 editor: Fix onConfigChange to send the correct config for didChangeConfiguration notification (#6962) (Nicholas Rayburn)
  • 79bf74a linter: Check is_reference_to_global_variable in no-array-constructor (#7067) (Naoya Yoshizawa)
  • 38d1f78 linter: Remove confusing help text for now (#7081) (Cam McHenry)
  • 147e2e4 linter: Allow replacing rule when none are enabled yet (#7014) (camchenry)
  • 7aa496a linter: Remove unsafe fixer of no-useless-spread (#6655) (dalaoshu)
  • f5a7134 linter/no-unused-vars: False positive for discarded reads within sequences (#6907) (DonIsaac)

Documentation

Refactor

  • a8dc75d linter: Remove unused CLI result types (#7088) (camchenry)
  • 8f1460e linter: Move LintPlugins from LintOptions to LintConfig (#6932) (DonIsaac)

Testing

  • c35d3f2 linter: Improve test failure output (#6975) (camchenry)

oxlint v0.10.3

26 Oct 09:28
1ea0be1
Compare
Choose a tag to compare

[0.10.3] - 2024-10-26

This release warns unmatched rules, for example

  ! The following rules do not match the currently supported rules:
  | no-test-callback
  | prefer-rest-params
  | no-danger

Features

  • a73c5af linter: Add fixer for jsx-a11y/no-access-key rule (#6781) (Tapan Prakash)
  • 2aa763c linter: Warn unmatched rule names (#6782) (Tapan Prakash)
  • 0acca58 linter: Support --print-config all to print config file for project (#6579) (mysteryven)

Bug Fixes

  • cb5cb62 linter: Eprintln unmatched rules warning (#6916) (Boshen)
  • f49b3e2 linter: react/iframe-missing-sandbox ignores vanilla JS APIs (#6872) (DonIsaac)
  • 54a5032 linter: Correct false positive in no-duplicates (#6748) (dalaoshu)
  • a47c70e minifier: Fix remaining runtime bugs (#6855) (Boshen)

Documentation

  • 3923e63 linter: Add schema to config examples (#6838) (Dmitry Zakharov)

Refactor

  • a148023 linter: Dereference IDs as soon as possible (#6821) (overlookmotel)
  • 423d54c rust: Remove the annoying clippy::wildcard_imports (#6860) (Boshen)