Skip to content

Releases: oxc-project/oxc

oxlint v0.2.9

18 Feb 11:04
Compare
Choose a tag to compare

What's Changed

Linter

Fixes

  • getter-return false positive with TypeScript syntax by @Boshen in #2363
  • add missing typescript-eslint(_) prefix for some errors by @maurice in #2342
  • jsx_a11y: Ensure plugin settings are used by @leaysgur in #2359
  • jsx_a11y: Refactor jsx-a11y related utils and its usage by @leaysgur in #2389

Parser

New Contributors

Full Changelog: oxlint_v0.2.8...oxlint_v0.2.9

oxlint v0.2.8

06 Feb 08:22
Compare
Choose a tag to compare

What's Changed

This release addresses a long-standing issue where the AST had memory leaks.
I can finally sleep well, knowing that my software is free of memory leaks 😀

Moreover, the parser is now 4% faster (again!), thanks to @overlookmotel's improvements.

New Rules

Fixes

  • add regression case for require-yield by @Boshen in #2326
  • fix no_dupe_keys false postive on similar key names by @Boshen in #2291

Parser

Full Changelog: oxlint_v0.2.7...oxlint_v0.2.8

oxlint v0.2.7

03 Feb 13:41
52e3244
Compare
Choose a tag to compare

What's Changed

This release fixes a critical bug where errors not being reported from finally block of try/catch/finally.

New Rules

  • implement @next/next/no-before-interactive-script-outsi… by @kaykdm in #2203
  • implement @next/next/no-unwanted-polyfillio by @kaykdm in #2197

Features

Fixes

  • Better report source line and col for multiline annotations by @maurice in #2242
  • Better source line and column numbers by @maurice in #2213
  • display target triple when error is thrown by @Boshen in #2259
  • correct the span for irregular whitespaces by @Boshen in #2245
  • jsx no undef match scope should check with ancestors by @xxleyi in #2027

Parser

New Contributors

Full Changelog: oxlint_v0.2.6...oxlint_v0.2.7

oxlint v0.2.6

26 Jan 14:55
1b5bbb9
Compare
Choose a tag to compare

What's Changed

VSCode

  • feat(vscode): allow config path configuration by @Djiit in #2172

Linter

  • support read eslint env from eslintrc by @fi3ework in #2130
  • rename react_perf/jsx_no_new_function_as_props to jsx_no_new_function_as_prop by @leaysgur in #2175

Semantic

Cli

New Contributors

Full Changelog: oxlint_v0.2.5...oxlint_v0.2.6

oxlint v0.2.5

25 Jan 09:37
Compare
Choose a tag to compare

What's Changed

This release matched all linter rule names with their ESLint counterparts.

New Rules

Fixes

  • fix(linter): explicit-length-check inside ternary by @maurice in #2165

New Contributors

Full Changelog: oxlint_v0.2.4...oxlint_v0.2.5

oxlint v0.2.4

23 Jan 11:48
Compare
Choose a tag to compare

What's Changed

Fixed linux installation failures.

Full Changelog: oxlint_v0.2.3...oxlint_v0.2.4

oxlint v0.2.3

23 Jan 05:14
Compare
Choose a tag to compare

What's Changed

New eslint-plugin-react-perf

oxlint --react-perf-plugin

Differenciate linux gnu / musl binary targets

  • linux-x64-gnu
  • linux-arm64-gnu
  • linux-x64-musl
  • linux-arm64-musl
  • ci: release oxlint with linux-{x64-gnu, arm64-gnu, x64-musl, arm64-musl} by @Boshen in #2126

New Rules

  • jest: no-restricted-matchers by @eryue0220 in #2090
  • jest: no-restricted-jest-methods by @eryue0220 in #2091
  • import: no-named-as-default by @XantreGodlike in #2109
  • unicorn: promote no-new-array to correctness with better help message by @Boshen in #2123

Favor Array.from({ length: n }) and [onlyElement] instead of ambiguous new Array(arg)

Improvements

Fixes

New Contributors

Full Changelog: oxlint_v0.2.2...oxlint_v0.2.3

oxlint v0.2.2

20 Jan 15:22
2fdfc4c
Compare
Choose a tag to compare

What's Changed

  • fix(parser): fix crash on TSTemplateLiteralType in function return position by @Boshen in #2089
  • feat(linter): improve no_redeclare rule implementation by @Dunqing in #2084
  • refactor(linter): perfect the scope linter by @msdlisper in #2092
  • fix(linter): s/consistent-type-export/consistent-type-exports by @Boshen in #2065
  • feat(linter): eslint-plugin-import no-named-as-default-member rule by @XantreGodlike in #2071

New Contributors

Full Changelog: oxlint_v0.2.1...oxlint_v0.2.2

oxlint v0.2.1

16 Jan 12:01
Compare
Choose a tag to compare

Try it out!

New Rules

  • eslint-plugin-next: no-document-import-in-page by @kaykdm in #1997
  • eslint-plugin-next: no-head-element by @kaykdm in #2006
  • eslint-plugin-next: no-typos by @kaykdm in #1978
  • eslint-plugin-jsx-a11y: aria-activedescendant-has-tabindex by @keita-hino in #2012
  • eslint-plugin-jsx-a11y: click-events-have-key-events by @leaysgur in #1976
  • eslint-plugin-jsx-a11y: no-redundant-roles rule by @yossydev in #1981
  • eslint-plugin-import: no-named-as-default-member rule by @XantreGodlike in #1988

Improvements

Linter

  • fix(linter) fix false positive for erasing-op in 0/0 case by @camc314 in #2009
  • fix(linter): false positive for filename_case where filename doesn't have a proper casing by @Boshen in #2032
  • fix(linter): keep rules disabled if the rule is not enabled in the config by @Boshen in #2031

41% faster after removing the --timings feature

  • feat(linter): remove the --timings feature by @Boshen in #2049

Parser - 7% faster than the previous version

Full Changelog: oxlint_v0.2.0...oxlint_v0.2.1

oxlint v0.2.0

12 Jan 15:16
e621e9b
Compare
Choose a tag to compare

Try it out!

Better configuration support

oxlint -c ./eslintrc.json

will use the rules field for rule configuration, as documented in ESLint's documentation.

Unfortunately, only the json format is supported right now.

The extends field will not take effect; normal -D and -A flags still apply.

To add / remove / configure a rule:

{
  "rules": {
      "no-empty": "off", // removes the rule
      "no-empty": "error", // adds the rule
      "no-empty": ["error", { "allowEmptyCatch": true }]` configures the rule
  }
}

Next.js Plugin

oxlint --nextjs-plugin

Vscode

New Rules

correctness

restriction

  • react: no-unknown-property by @XantreGodlike in #1875

style

Fixes

Linter

  • always print without considering the --max-warnings option by @Boshen in #1996
  • support vue generic component by @Boshen in #1989
  • Support cases where aria-hidden includes expressions by @keita-hino in #1964
  • allow eslintrc to add rule when overriding by @fi3ework in #1984
  • fix plugin name parsing when reading config file by @haocheng6 in #1972
  • handle anonymous functional components in arrays that have a function body by @maurice in #1983

Parser

Improvements

  • Parser is 10% faster than the previous version

New Contributors

Full Changelog: oxlint_v0.1.2...oxlint_v0.2.0