
Highlights
Rules updated for explicit resource management
The following core rules were updated to support the new using
and await using
declarations from the explicit resource management feature:
curly
: Now allowsusing
andawait using
as the only statement in a block, similar to howlet
andconst
are handled, to avoid parser errors.no-unused-vars
: Treats variables declared withusing
/await using
as used, since theirSymbol.dispose
is implicitly called at the end of their scope. Also adds an option to ignore unusedusing
declarations.prefer-destructuring
: No longer requires destructuring forusing
/await using
declarations, as this would be a parse error.require-await
andno-await-in-loop
: Both rules now recognizeawait using
as anawait
expression for their checks and reporting.
These changes ensure ESLint core rules are compatible with the upcoming JavaScript explicit resource management syntax, providing accurate linting and avoiding false positives or parse errors.
Rules updated for TypeScript accessor support
The following rules were updated to improve support for TypeScript types in accessor signatures:
accessor-pairs
: Now supports checking getter and setter pairs in TypeScript interfaces and type literals when the newenforceForTSTypes
option is enabled. This ensures that accessors in TypeScript type definitions are also validated for pairing.grouped-accessor-pairs
: Similarly, this rule now supports TypeScript interfaces and type literals with theenforceForTSTypes
option, enforcing that accessors are grouped together in these type constructs as well.
These enhancements allow ESLint to provide more accurate linting for TypeScript codebases that use accessors in type definitions, helping catch issues that were previously unchecked.
Features
1245000
feat: support explicit resource management in core rules (#19828) (fnx)0e957a7
feat: support typescript types in accessor rules (#19882) (fnx)
Bug Fixes
960fd40
fix: Upgrade @eslint/js (#19971) (Nicholas C. Zakas)bbf23fa
fix: Refactor reporting into FileReport (#19877) (Nicholas C. Zakas)d498887
fix: bump @eslint/plugin-kit to 0.3.4 to resolve vulnerability (#19965) (Milos Djermanovic)f46fc6c
fix: report only global references in no-implied-eval (#19932) (Nitin Kumar)7863d26
fix: remove outdated types inParserOptions.ecmaFeatures
(#19944) (ntnyq)3173305
fix: update execScript message in no-implied-eval rule (#19937) (TKDev7)
Documentation
86e7426
docs: Update README (GitHub Actions Bot)
Chores
50de1ce
chore: package.json update for @eslint/js release (Jenkins)74f01a3
ci: unpinjiti
to version^2.5.1
(#19970) (루밀LuMir)2ab1381
ci: pinjiti
to version 2.4.2 (#19964) (Francesco Trotta)b7f7545
test: switch to flat config mode inSourceCode
tests (#19953) (Milos Djermanovic)f5a35e3
test: switch to flat config mode in eslint-fuzzer (#19960) (Milos Djermanovic)e22af8c
refactor: useCustomRuleDefinitionType
inJSRuleDefinition
(#19949) (Francesco Trotta)e855717
chore: switch performance tests to hyperfine (#19919) (Francesco Trotta)2f73a23
test: switch to flat config mode inast-utils
tests (#19948) (Milos Djermanovic)c565a53
chore: excludefurther_reading_links.json
from Prettier formatting (#19943) (Milos Djermanovic)