github oxc-project/oxc oxlint_v1.20.0
oxlint v1.20.0

18 hours ago

[1.20.0] - 2025-10-06

๐Ÿš€ Features

  • d16df93 linter: Support disable directives for type aware rules (#14052) (camc314)
  • f5c6acc linter: Add vue/no-export-in-script-setup rule (#14307) (Sysix)
  • 353b153 linter: Implement eslint/no-param-reassign rule (#14341) (Matthew Davis)
  • a2914fe linter/plugins: Add loc field getter to all AST nodes (#14355) (overlookmotel)
  • 07193c2 linter/plugins: Implement SourceCode#getAncestors (#14346) (overlookmotel)
  • c8de6fe linter/plugins: Add parent field to AST nodes (#14345) (overlookmotel)
  • 5505a86 linter/plugins: Include range field in AST (#14321) (overlookmotel)
  • 3656908 rust: Oxc-index-vec v4.0 (#14254) (Boshen)
  • 1347de4 linter/plugins: Accept diagnostics with loc (#14304) (overlookmotel)
  • aefc8b3 linter/plugins: Implement SourceCode#getIndexFromLoc and getLocFromIndex (#14303) (overlookmotel)
  • 93807db linter/plugins: Implement SourceCode#lines property (#14290) (overlookmotel)
  • 2f8c985 linter/plugins: Implement SourceCode#visitorKeys property (#14289) (overlookmotel)
  • b69028f linter/plugins: Implement SourceCode#ast property (#14287) (overlookmotel)
  • d8d3d18 linter: Add vue/prefer-import-from-vue rule (#14284) (Sysix)
  • f0e760b linter: Add vue/define-props-destructuring rule (#14272) (Sysix)
  • bdf9010 linter/plugins: Add SourceCode API (#14281) (overlookmotel)
  • 7f450fc linter/unicorn: Implement require-module-specifiers (#13089) (keita hino)
  • a1e7154 linter/unicorn: Implement prefer-classlist-toggle (#14262) (camc314)
  • 8217dce linter/unicorn: Implement no-unnecessary-array-splice-count (#14255) (camc314)
  • 3d5db4a linter/unicorn: Implement no-useless-error-capture-stack-trace (#14222) (camc314)
  • b3b482a linter/unicorn: Implement prefer-top-level-await (#14247) (camc314)
  • 7931be8 linter/unicorn: Implement prefer-class-fields (#14245) (camc314)
  • a39434a linter/unicorn: Implement prefer-at (#14232) (camc314)

๐Ÿ› Bug Fixes

  • e605222 linter/no-useless-undefined: Correctly respect checkArguments option (#14369) (camc314)
  • f1bc608 linter: Fix flaky import/no_cycle test (#14328) (Boshen)
  • 9a902c0 linter/plugins: Make range field non-optional on AST types (#14354) (overlookmotel)
  • 0a42d7f tsgolint: Report errors if we fail to parse tsgolint diagnostic messages (#14301) (camc314)
  • 42f8d7e linter/react-hooks: Fix diagnostic message for literal in dependency array (#14266) (camc314)
  • ece91c5 linter/react-hooks: Fix diagnostic message for duplicate dependency in array (#14265) (camc314)
  • 864fa0e linter/no-unused-expression: False positive with satisfies expressions (#14259) (camc314)
  • adff069 language_server: Don't apply "ignore this rule" fixes for fixAll code action + command (#14243) (Sysix)
  • 46cceb8 linter/rules-of-hooks: Correctly place primary span to fix disable directive (#14237) (camc314)

๐Ÿšœ Refactor

  • 1489376 napi/parser, linter/plugins: Minify walker code (#14376) (overlookmotel)
  • c8eeeb5 linter/plugins: Remove build-time dependency on napi/parser (#14374) (overlookmotel)
  • fb1a067 linter/plugins: Bundle walker and AST types map (#14373) (overlookmotel)
  • 93d8164 linter/plugins: Export AST types direct from oxlint package (#14353) (overlookmotel)
  • 230d996 linter/plugins: SourceCode#getText use range (#14352) (overlookmotel)
  • 6e52bbd linter/plugins: Move location-related code into separate file (#14350) (overlookmotel)
  • 13f1003 linter/plugins: Share ast between files (#14349) (overlookmotel)
  • 00dde41 tsgolint: Make parsing TsGoLintMessage parsing errors an enum (#14300) (camc314)
  • fc314f5 tsgolint: Make MessageType parsing more idomatic (#14299) (camc314)
  • a24c36e language-server/tsgolint: Use an iterator for tsgolint message parsing (#14298) (camc314)
  • 8be432a tsgolint: Use an iterator for tsgolint message parsing (#14297) (camc314)
  • 57daa54 tsgolint: Remove always Some option wrapper (#14296) (camc314)
  • 79eadf8 linter: Introduce LintRunner (#14051) (camc314)
  • 65873ba linter/plugins: Add stubs for all SourceCode methods (#14285) (overlookmotel)
  • 989ce2f linter/plugins: Convert Node type to interface (#14280) (overlookmotel)
  • 891fc47 language_server: Share code for command oxc.fixAll and code action source.fixAll.oxc (#14244) (Sysix)
  • 7fe930c language_server: Remove unused fixture files (#14246) (Sysix)
  • 2b2c345 language-server: Move generate_inverted_diagnostics to error_with_position (#14118) (camc314)

โšก Performance

  • fa3712d language_server: Create less ExternalPluginStores (#14378) (overlookmotel)
  • e75d42d napi/parser, linter/plugins: Remove runtime preserveParens option from raw transfer deserializers (#14338) (overlookmotel)
  • 2e57351 linter/plugins: Initialize lineStartOffsets as [0] (#14302) (overlookmotel)
  • c27a393 linter/plugins: Deserialize AST on demand (#14288) (overlookmotel)
  • 95a8cc4 linter/plugins: Use singleton for SourceCode (#14286) (overlookmotel)

๐Ÿงช Testing

  • 0061ce7 linter: Add more tests for disable directives in partial loadable files (#14371) (camc314)
  • 1387aaa linter/plugins: Test createOnce returning no visitor functions (#14279) (overlookmotel)
  • 55ebb8b linter: Add test for disable_for_this_section fix (#14240) (Sysix)
  • a7e8662 linter: Port unicorn test cases to no-named-default (#14239) (camc314)

๐Ÿ’ผ Other

Don't miss a new oxc release

NewReleases is sending notifications on new releases.