[1.7.0] - 2025-07-16
๐ Features
- 4f50750 linter: Load custom JS plugins configured in overrides (#12324) (camc314)
- 5e428a4 linter/eslint-plugin-next: No-html-link-for-pages rule addition (#12194) (Gabriel Dรญaz Aguilera)
- c551b8f linter: Report diagnostics from custom plugins (#12219) (camc314)
- d387729 linter: JS custom rules config (#12160) (camc314)
- 152e59d napi/oxlint: Read source text into start of allocator (#12122) (overlookmotel)
- bde1ef1 linter: Load custom JS plugins (#11980) (camc314)
- d4ebd14 linter: Add
oxlint2
/disable_oxlint2
feature flags (#12130) (camc314) - a4dae73 linter: Introduce
LintPlugins
to store builtin + custom plugins (#12117) (camc314)
๐ Bug Fixes
- 3f9a1f0 linter/no-unused-private-class-members: Fix false positive with nullish coalescing assignments (#12317) (camc314)
- 47fad0e linter/no-empty-file: False positive with empty file with triple slash directive (#12293) (camc314)
- 633ba30 linter: False positive with unknown plugins when unmatched eslint rule (#12285) (camc314)
- 9720774 linter: Report implicit config parse errors (#12260) (Simon Buchan)
- 1920c6b language_server: Respect the root
.oxlintrc.json
file forignorePatterns
(#12171) (Sysix) - 98708eb linter: Fix inconsistent behavior in
no-duplicate-imports
rule (#12192) (yefan) - 853d2bc linter, language_server: Correctly identify usage of
import
plugin (#12157) (overlookmotel)
๐ Refactor
- b28e447 linter: Remove dead code (#12328) (overlookmotel)
- ee761de ast: Remove
AstKind
forAssignmentTarget
(#12252) (Tyler Earls) - c68b607 ast: Rename
TemplateLiteral::quasi
toTemplateLiteral::single_quasi
(#12266) (Dunqing) - 32c32af ast: Check whether there is a single
quasi
inTemplateLiteral::quasi
(#12265) (Dunqing) - 8f6a1da linter/js-plugins: Use
u32
for IDs (#12243) (overlookmotel) - 36cd364 linter/js-plugins: Clean up code (#12242) (overlookmotel)
- 8c02ebd linter/js-plugins: Rename
specifiers
topaths
(#12241) (overlookmotel) - 3adaf98 linter: Simplify getting nodes count (#12239) (overlookmotel)
- 6e54645 language_server: Store
LintService
instead ofLinter
(#12016) (Sysix) - 113cf8c linter: Move
LintServiceOptions.paths
toLintService.with_paths
(#12015) (Sysix) - acfac68 oxlint: Adjust ignore patterns by counting bytes instead of chars (#12209) (Sysix)
- 729b82b linter: Rename
plugin_name
toplugin_specifier
(#12148) (overlookmotel) - 532b816 linter: Use
to_string
instead ofinto
(#12147) (overlookmotel) - 89f2a69 linter: TODO comment (#12146) (overlookmotel)
- f90d3e1 linter: Feature gate
load_external_plugin
by bothoxlint2
anddisable_oxlint2
features (#12141) (overlookmotel) - 12e4ec7 linter: Make
tokio
dependency optional (#12140) (overlookmotel) - 1d2eaca oxlint2: Introduce
force_test_reporter
feature for consistent graphical outputs (#12133) (camc314) - 8814c53 ast: Remove
AstKind
forPropertyKey
(#12108) (camchenry) - 228cff5 semantic,linter: Assert that Program is always the first node (#12123) (Ulrich Stark)
- e8e2a25 ast: Remove
AstKind
forAssignmentTargetPattern
(#12105) (camchenry) - f7c675d linter: Rename
LintPlugins
toBuiltinLintPlugins
(#12116) (camc314) - a9e5ec0 linter: Access plugins through config instead of storing directly (#12115) (camc314)
- 9736a7f linter: Simplify
unicorn/require-post-message-target-origin
(#12110) (shulaoda)
๐ Documentation
โก Performance
- d0f8b88 linter/js-plugins: Do not copy
Vec
(#12248) (overlookmotel) - 4284d19 linter/js-plugins: Use hashmap
Entry
API + remove tempVec
(#12247) (overlookmotel) - c7889c3 semantic,linter: Simplify implementation and uses of ancestors iterators (#12164) (Ulrich Stark)
- f99959c linter: Move work out of loop (#12145) (overlookmotel)
- 514d40c linter: Do not create
Resolver
unless required (#12142) (overlookmotel) - 7103527 linter/no-constructor-return: Optimize loop (#12138) (overlookmotel)