Update dependency eslint to v9 #184
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
8.57.0->9.5.0Release Notes
eslint/eslint (eslint)
v9.5.0Compare Source
Features
b2d256cfeat:no-sparse-arraysreport on "comma" instead of the whole array (#18579) (fisker Cheung)Bug Fixes
6880286fix: treat*as a universal pattern (#18586) (Milos Djermanovic)7fbe211fix: message template for all files ignored (#18564) (Milos Djermanovic)469cb36fix: Don't lint the same file multiple times (#18552) (Milos Djermanovic)5cff638fix: improve message for ignored files without a matching config (#18404) (Francesco Trotta)Documentation
455f7fddocs: add section about including.gitignorefiles (#18590) (Milos Djermanovic)721eafedocs: update info about universalfilespatterns (#18587) (Francesco Trotta)8127127docs: Update README (GitHub Actions Bot)55c2a66docs: Update README (GitHub Actions Bot)eb76282docs: Update README (GitHub Actions Bot)ff6e96edocs:baseConfigandoverrideConfigcan be arrays (#18571) (Milos Djermanovic)d2d83e0docs: Add mention of eslint-transforms to v9 migration guide (#18566) (Nicholas C. Zakas)9ce6832docs: add callout box for unintuitive behavior (#18567) (Ben McCann)b8db99cdocs: Add VS Code info to config migration guide (#18555) (Nicholas C. Zakas)518a35cdocs: Mention config migrator (#18561) (Nicholas C. Zakas)eb440fcdocs: specifying files with arbitrary or no extension (#18539) (Francesco Trotta)38c159edocs: Provide example of reading package.json for plugins meta (#18530) (Nicholas C. Zakas)d16a659docs: add link to migration guide for--extCLI option (#18537) (Milos Djermanovic)73408dedocs: add link to configuration file docs before examples (#18535) (Milos Djermanovic)Chores
f588160chore: upgrade @eslint/js@9.5.0 (#18591) (Milos Djermanovic)5890841chore: package.json update for @eslint/js release (Jenkins)e9f4ccdchore: remove unused eslint-disable directive (#18589) (Milos Djermanovic)4b23ffdrefactor: Move JS parsing logic into JS language (#18448) (Nicholas C. Zakas)1495b93chore: update WebdriverIO packages (#18558) (Christian Bromann)cea7edechore: add website donate link instead of opencollective (#18582) (Strek)ec94880chore: package.json update for eslint-config-eslint release (Jenkins)6912586chore: extract formatting rules into separate config (#18560) (Milos Djermanovic)9738f7eci: fix CLI flags for c8, raise thresholds (#18554) (Francesco Trotta)c6de7bbchore: update dependency markdownlint-cli to ^0.41.0 (#18538) (renovate[bot])2c8fd34ci: pin @wdio/browser-runner v8.36.0 (#18540) (唯然)v9.4.0Compare Source
Features
89a4a0afeat: ignore IIFE's in theno-loop-funcrule (#17528) (Nitin Kumar)Bug Fixes
f6534d1fix: skip processor code blocks that match only universal patterns (#18507) (Milos Djermanovic)7226ebdfix: allow implicit undefined return inno-constructor-return(#18515) (Ali Rezvani)389744bfix: use@eslint/config-inspector@latest(#18483) (唯然)70118a5fix:func-stylefalse positive with arrow functions andsuper(#18473) (Milos Djermanovic)Documentation
d7ab6f5docs: update theme when whenprefers-color-schemechanges (#18510) (Nitin Kumar)525fdffdocs: fix components files (#18519) (Tanuj Kanti)80747d2docs: refactorprefer-destructuringrule (#18472) (Tanuj Kanti)f06e0b5docs: clarify func-style (#18477) (Cameron Steffen)Chores
010dd2echore: upgrade to@eslint/js@9.4.0(#18534) (Francesco Trotta)5e1b5dcchore: package.json update for @eslint/js release (Jenkins)594145frefactor: switch to@eslint/config-array(#18527) (Francesco Trotta)v9.3.0Compare Source
Features
b32153cfeat: addoverrides.namedExportstofunc-stylerule (#18444) (Percy Ma)b67eba4feat: addrestrictedNamedExportsPatterntono-restricted-exports(#18431) (Akul Srivastava)069aa68feat: add optionallowEscapetono-misleading-character-classrule (#18208) (Francesco Trotta)05ef92dfeat: deprecatemultiline-comment-style&line-comment-position(#18435) (唯然)db0b174feat: addenforceForInnerExpressionsoption tono-extra-boolean-cast(#18222) (Kirk Waiblinger)Bug Fixes
8db0efffix: Improve config error messages (#18457) (Nicholas C. Zakas)5c28d9afix: don't remove comments between key and value in object-shorthand (#18442) (Kuba Jastrzębski)39fb0eefix: object-shorthand loses type parameters when auto-fixing (#18438) (dalaoshu)37eba48fix: don't crash whenfs.readFilereturns promise from another realm (#18416) (Milos Djermanovic)Documentation
ceada8cdocs: explain how to use "tsc waiting" label (#18466) (Francesco Trotta)62e686cdocs: Add troubleshooting info for plugin compatibility (#18451) (Nicholas C. Zakas)e17e1c0docs: Update README (GitHub Actions Bot)2465a1edocs: Update README (GitHub Actions Bot)d23574cdocs: Clarify usage ofno-unreachablewith TypeScript (#18445) (benj-dobs)1db9baedocs: Fix typos (#18443) (Frieder Bluemle)7065196docs: Update README (GitHub Actions Bot)04e7c6edocs: update deprecation notice ofno-return-await(#18433) (Tanuj Kanti)e763512docs: Link global ignores section in config object property list (#18430) (MaoShizhong)ac7f718docs: reflect release of v9 in config migration guide (#18412) (Peter Briggs)0de0909docs: fix grammar in configuration file resolution (#18419) (Mike McCready)Chores
58e2719chore: update dependencies for v9.3.0 release (#18469) (Francesco Trotta)b681ecbchore: package.json update for @eslint/js release (Jenkins)06f1d1cchore: update dependency @humanwhocodes/retry to ^0.3.0 (#18463) (renovate[bot])a63ed72refactor: Usenode:protocol for built-in Node.js modules (#18434) (Milos Djermanovic)040700achore: update dependency markdownlint-cli to ^0.40.0 (#18425) (renovate[bot])f47847cchore: update actions/stale action to v9 (#18426) (renovate[bot])c18ad25chore: update actions/upload-artifact action to v4 (#18427) (renovate[bot])27e3060chore: Disable documentation label (#18423) (Nicholas C. Zakas)v9.2.0Compare Source
Features
8485d76feat:no-case-declarationsadd suggestions (#18388) (Josh Goldberg ✨)a498f35feat: update Unicode letter detection in capitalized-comments rule (#18375) (Francesco Trotta)Bug Fixes
eeec413fix: do not throw when defining a global named defineSetter (#18364) (唯然)Documentation
0f5df50docs: Update README (GitHub Actions Bot)1579ce0docs: update wording regarding indirect eval (#18394) (Kirk Waiblinger)f12a02cdocs: update to eslint v9 in custom-rule-tutorial (#18383) (唯然)Chores
b346605chore: upgrade @eslint/js@9.2.0 (#18413) (Milos Djermanovic)c4c18e0chore: package.json update for @eslint/js release (Jenkins)284722cchore: package.json update for eslint-config-eslint release (Jenkins)347d44fchore: remove eslintrc export from eslint-config-eslint (#18400) (Milos Djermanovic)f316e20ci: run tests in Node.js 22 (#18393) (Francesco Trotta)v9.1.1Compare Source
Bug Fixes
a26b402fix: use @eslint/create-config latest (#18373) (唯然)v9.1.0Compare Source
Features
03068f1feat: Provide helpful error message for nullish configs (#18357) (Nicholas C. Zakas)751b518feat: replace dependency graphemer withIntl.Segmenter(#18110) (Francesco Trotta)4d11e56feat: addnameto eslint configs (#18289) (唯然)1cbe1f6feat: allowwhile(true)inno-constant-condition(#18286) (Tanuj Kanti)0db676ffeat: addIntlin es6 globals (#18318) (唯然)Bug Fixes
8d18958fix: Remove name from eslint/js packages (#18368) (Nicholas C. Zakas)594eb0efix: do not crash on error infs.walkfilter (#18295) (Francesco Trotta)0d8cf63fix: EMFILE errors (#18313) (Nicholas C. Zakas)e1ac0b5fix: --inspect-config only for flat config and respect -c (#18306) (Nicholas C. Zakas)09675e1fix:--no-ignoreshould not apply to non-global ignores (#18334) (Milos Djermanovic)Documentation
fb50077docs: include notes about globals in migration-guide (#18356) (Gabriel Rohden)71c771fdocs: Fix missing accessible name for scroll-to-top link (#18329) (Germán Freixinós)200fd4edocs: indicate eslintrc mode for.eslintignore(#18285) (Francesco Trotta)16b6a8bdocs: Update README (GitHub Actions Bot)df5f8a9docs:pathsandpatternsdifference inno-restricted-imports(#18273) (Tanuj Kanti)c537d76docs: updatenpm init @​eslint/configgenerated file names (#18298) (唯然)e1e305ddocs: fixlinebreak-styleexamples (#18262) (Francesco Trotta)113f51edocs: Mention package.json config support dropped (#18305) (Nicholas C. Zakas)5c35321docs: add eslintrc-only note to--rulesdir(#18281) (Adam Lui 刘展鹏)Build Related
1fa6622build: do not use--forceflag to install dependencies (#18284) (Francesco Trotta)Chores
d9a2983chore: upgrade @eslint/js to v9.1.1 (#18367) (Francesco Trotta)50d406dchore: package.json update for @eslint/js release (Jenkins)155c71cchore: package.json update for @eslint/js release (Jenkins)0588fc5refactor: Move directive gathering to SourceCode (#18328) (Nicholas C. Zakas)9048e21chore: lintdocs/src/_datajs files (#18335) (Milos Djermanovic)4820790chore: upgrade globals@15.0.0 dev dependency (#18332) (Milos Djermanovic)698d9ffchore: upgrade jsdoc & unicorn plugins in eslint-config-eslint (#18333) (Milos Djermanovic)32c08cfchore: drop Node < 18 and use @eslint/js v9 in eslint-config-eslint (#18323) (Milos Djermanovic)a76fb55chore: @eslint-community/eslint-plugin-eslint-comments v4.3.0 (#18319) (Milos Djermanovic)78e45b1chore: eslint-plugin-eslint-plugin v6.0.0 (#18316) (唯然)36103a5chore: eslint-plugin-n v17.0.0 (#18315) (唯然)v9.0.0Compare Source
Breaking Changes
b7cf3bdfix!: correctcamelcaserule schema forallowoption (#18232) (eMerzh)09bd7fefeat!: move AST traversal into SourceCode (#18167) (Nicholas C. Zakas)79a95ebfeat!: disallow multiple configuration comments for same rule (#18157) (Milos Djermanovic)9163646feat!: Rule Tester checks for missing placeholder data in the message (#18073) (fnx)3c4d51dfeat!: default forenforceForClassMembersinno-useless-computed-key(#18054) (Francesco Trotta)47e60f8feat!: Stricter rule test validations (#17654) (fnx)1a94589feat!:no-unused-varsdefault caughtErrors to 'all' (#18043) (Josh Goldberg ✨)57089cbfeat!: no-restricted-imports allow multiple config entries for same path (#18021) (Milos Djermanovic)2e1d549feat!: detect duplicate test cases (#17955) (Bryan Mishkin)701f1affeat!: no-inner-declaration new default behaviour and option (#17885) (Tanuj Kanti)bde5105fix!: handle--output-filefor empty output when saving to disk (#17957) (Nitin Kumar)07107a5fix!: upgrade eslint-scope@8.0.0 (#17942) (Milos Djermanovic)3ee0f6cfix!: no-unused-varsvarsIgnorePatternbehavior with catch arguments (#17932) (Tanuj Kanti)51f8bc8fix!: configuration comments with just severity should retain options (#17945) (Milos Djermanovic)d191bddfeat!: Remove CodePath#currentSegments (#17936) (Milos Djermanovic)946ae00feat!: FlatRuleTester -> RuleTester (#17922) (Nicholas C. Zakas)baff28cfeat!: removeno-inner-declarationsfromeslint:recommended(#17920) (Milos Djermanovic)cadfbcdfeat!: Rename FlatESLint to ESLint (#17914) (Nicholas C. Zakas)d1018fcfeat!: skip running warnings in --quiet mode (#17274) (Maddy Miller)fb81b1cfeat!: Set defaultschema: [], drop support for function-style rules (#17792) (Milos Djermanovic)0b21e1ffeat!: add two more cases tono-implicit-coercion(#17832) (Gürgün Dayıoğlu)2916c63feat!: Switch Linter to flat config by default (#17851) (Nicholas C. Zakas)200518efix!: Parsing 'exported' comment using parseListConfig (#17675) (amondev)bdd6ba1feat!: Remove valid-jsdoc and require-jsdoc (#17694) (Nicholas C. Zakas)12be307fix!: Behavior of CLI when no arguments are passed (#17644) (Nicholas C. Zakas)8fe8c56feat!: Update shouldUseFlatConfig and CLI so flat config is default (#17748) (Nicholas C. Zakas)60dea3efeat!: deprecate no-new-symbol, recommend no-new-native-nonconstructor (#17710) (Francesco Trotta)5aa9c49feat!: check for parsing errors in suggestion fixes (#16639) (Bryan Mishkin)b3e0bb0feat!: assert suggestion messages are unique in rule testers (#17532) (Josh Goldberg ✨)e563c52feat!:no-invalid-regexpmake allowConstructorFlags case-sensitive (#17533) (Josh Goldberg ✨)e5f02c7fix!: no-sequences rule schema correction (#17878) (MHO)6ee3e9efeat!: Updateeslint:recommendedconfiguration (#17716) (Milos Djermanovic)c2cf85afeat!: drop support for string configurations in flat config array (#17717) (Milos Djermanovic)c314fd6feat!: RemoveSourceCode#getComments()(#17715) (Milos Djermanovic)ae78ff1feat!: Remove deprecated context methods (#17698) (Nicholas C. Zakas)f71c328feat!: Swap FlatESLint-ESLint, FlatRuleTester-RuleTester in API (#17823) (Nicholas C. Zakas)5304da0feat!: remove formatters except html, json(-with-metadata), and stylish (#17531) (Josh Goldberg ✨)e1e827ffeat!: Require Node.js^18.18.0 || ^20.9.0 || >=21.1.0(#17725) (Milos Djermanovic)Features
d54a412feat: Add --inspect-config CLI flag (#18270) (Nicholas C. Zakas)97ce45bfeat: AddreportUsedIgnorePatternoption tono-unused-varsrule (#17662) (Pearce Ropion)3e9fceafeat: Show config names in error messages (#18256) (Nicholas C. Zakas)de40874feat: Rule Performance Statistics for flat ESLint (#17850) (Mara Kiefer)d85c436feat: use-isnan report NaN inindexOfandlastIndexOfwith fromIndex (#18225) (Tanuj Kanti)b8fb572feat: addreportUnusedFallthroughCommentoption to no-fallthrough rule (#18188) (Kirk Waiblinger)1c173dcfeat: addignoreClassWithStaticInitBlockoption tono-unused-vars(#18170) (Tanuj Kanti)a451b32feat: makeno-misleading-character-classreport more granular errors (#18082) (Francesco Trotta)c49ed63feat: update complexity rule for optional chaining & default values (#18152) (Mathias Schreck)11144a2feat:no-restricted-importsoption addedallowImportNames(#16196) (M Pater)74124c2feat: add suggestions touse-isnaninindexOf&lastIndexOfcalls (#18063) (StyleShit)53f0f47feat: Add loadESLint() API method for v9 (#18097) (Nicholas C. Zakas)2d11d46feat: add suggestions touse-isnanin binary expressions (#17996) (StyleShit)26093c7feat: fix false negatives inno-this-before-super(#17762) (Yosuke Ota)5471e43feat: convert unsafe autofixes to suggestions inno-implicit-coercion(#17985) (Gürgün Dayıoğlu)e3051befeat: emit warning when.eslintignorefile is detected (#17952) (Nitin Kumar)a630eddfeat: maintain latest ecma version in ESLint (#17958) (Milos Djermanovic)b4e0503feat: addno-useless-assignmentrule (#17625) (Yosuke Ota)287c4b7feat:no-misleading-character-classgranular errors (#17515) (Josh Goldberg ✨)8792464feat: Enable eslint.config.mjs and eslint.config.cjs (#17909) (Nicholas C. Zakas)24ce927feat: warn by default for unused disable directives (#17879) (Bryan Mishkin)Bug Fixes
610c148fix: Supportusingdeclarations in no-lone-blocks (#18269) (Kirk Waiblinger)e508800fix: rule tester ignore irrelevant test case properties (#18235) (fnx)a129acbfix: flat config name on ignores object (#18258) (Nicholas C. Zakas)dadc5bffix:constructor-superfalse positives with loops (#18226) (Milos Djermanovic)ae8103dfix: load plugins in the CLI in flat config mode (#18185) (Francesco Trotta)e37153ffix: improve error message for invalid rule config (#18147) (Nitin Kumar)af6e170fix: stop linting files after an error (#18155) (Francesco Trotta)0cb4914fix: validate options when comment with just severity enables rule (#18133) (Milos Djermanovic)c4d26fdfix:use-isnandoesn't report onSequenceExpressions (#18059) (StyleShit)39076fbfix: handle absolute file paths inRuleTester(#17989) (Nitin Kumar)6d11f3dfix: Ensure config keys are printed for config errors (#17980) (Nicholas C. Zakas)806f708fix:no-misleading-character-classedge cases with granular errors (#17970) (Milos Djermanovic)f182114fix: deep merge behavior in flat config (#17906) (Francesco Trotta)b577e8afix: allow circular references in config (#17752) (Francesco Trotta)Documentation
e151050docs: update get-started to the new@eslint/create-config(#18217) (唯然)94178addocs: mention aboutnamefield in flat config (#18252) (Anthony Fu)1765c24docs: add Troubleshooting page (#18181) (Josh Goldberg ✨)96607d0docs: version selectors synchronization (#18260) (Milos Djermanovic)651ec91docs: remove/* eslint-env */comments from rule examples (#18249) (Milos Djermanovic)950c4f1docs: Update README (GitHub Actions Bot)12f5746docs: add info about dot files and dir in flat config (#18239) (Tanuj Kanti)b93f408docs: update shared settings example (#18251) (Tanuj Kanti)26384d3docs: fixecmaVersionin one example, add checks (#18241) (Milos Djermanovic)7747097docs: Update PR review process (#18233) (Nicholas C. Zakas)b07d427docs: fix typo (#18246) (Kirill Gavrilov)778082ddocs: add Glossary page (#18187) (Josh Goldberg ✨)239a7e2docs: Clarify the description ofsort-importsoptions (#18198) (gyeongwoo park)4769c86docs: fix incorrect example inno-lone-blocks(#18215) (Tanuj Kanti)5251327docs: Update README (GitHub Actions Bot)1dc8618docs: Update README (GitHub Actions Bot)ba1c1bbdocs: Update README (GitHub Actions Bot)337cdf9docs: Explain limitations of RuleTester fix testing (#18175) (Nicholas C. Zakas)c7abd89docs: Explain Node.js version support (#18176) (Nicholas C. Zakas)d961eebdocs: show red underlines in examples in rules docs (#18041) (Yosuke Ota)558274adocs: Update README (GitHub Actions Bot)2908b9bdocs: Update release documentation (#18174) (Nicholas C. Zakas)1f1260edocs: replace HackerOne link with GitHub advisory (#18165) (Francesco Trotta)e5ef3cddocs: add inline cases condition inno-fallthrough(#18158) (Tanuj Kanti)450d0f0docs: fixignoreoption docs (#18154) (Francesco Trotta)5fe095cdocs: show v8.57.0 as latest version in dropdown (#18142) (Milos Djermanovic)7db5bb2docs: Show prerelease version in dropdown (#18135) (Nicholas C. Zakas)73a5f06docs: Update README (GitHub Actions Bot)f95cd27docs: Disallow multiple rule configuration comments in the same example (#18116) (Milos Djermanovic)d8068ecdocs: Update link for schema examples (#18112) (Svetlana)f1c7e6fdocs: Switch to Ethical Ads (#18090) (Strek)15c143fdocs: JS Foundation -> OpenJS Foundation in PR template (#18092) (Nicholas C. Zakas)6ea339edocs: add stricter rule test validations to v9 migration guide (#18085) (Milos Djermanovic)3c816f1docs: use relative link from CLI to core concepts (#18083) (Milos Djermanovic)9458735docs: fix malformedeslintconfig comments in rule examples (#18078) (Francesco Trotta)07a1adadocs: link from--fixCLI doc to the relevant core concept (#18080) (Bryan Mishkin)b844324docs: Update team responsibilities (#18048) (Nicholas C. Zakas)aadfb60docs: document languageOptions and other v9 changes for context (#18074) (fnx)857e242docs: tweak explanation for meta.docs rule properties (#18057) (Bryan Mishkin)10485e8docs: recommend messageId over message for reporting rule violations (#18050) (Bryan Mishkin)98b5ab4docs: Update README (GitHub Actions Bot)505fbf4docs: updateno-restricted-importsrule (#18015) (Tanuj Kanti)c25b4afdocs: Update README (GitHub Actions Bot)33d1ab0docs: add more examples to flat config ignores docs (#18020) (Milos Djermanovic)e6eebcadocs: Update sort-keys options properties count (#18025) (LB (Ben Johnston))1fedfd2docs: Improve flat config ignores docs (#17997) (Nicholas C. Zakas)38b9b06docs: update valid-typeof rule (#18001) (Tanuj Kanti)b4abfeadocs: Update note about ECMAScript support (#17991) (Francesco Trotta)6788873docs: Update release blog post template (#17994) (Nicholas C. Zakas)1f37442docs: Add sections on non-npm plugin configuration (#17984) (Nicholas C. Zakas)96307dadocs: migration guide entry forno-inner-declarations(#17977) (Tanuj Kanti)40be60edocs: Update README (GitHub Actions Bot)d31c180docs: fix number of code-path events on custom rules page (#17969) (Richard Hunter)1529ab2docs: reorder entries in v9 migration guide (#17967) (Milos Djermanovic)9507525docs: Explain how to combine configs (#17947) (Nicholas C. Zakas)7c78576docs: Add more removedcontextmethods to migrate to v9 guide (#17951) (Milos Djermanovic)3a877d6docs: Update removed CLI flags migration (#17939) (Nicholas C. Zakas)4a9cd1edocs: Update Linter API for v9 (#17937) (Milos Djermanovic)2a8eea8docs: update docs for v9.0.0-alpha.0 (#17929) (Milos Djermanovic)7f0ba51docs: showNEXTin version selectors (#17911) (Milos Djermanovic)0a7911edocs: add flat config default to v9 migration guide (#17927) (Milos Djermanovic)94f8065docs: Add CLI updates to migrate to v9 guide (#17924) (Nicholas C. Zakas)16187f2docs: Add exported and string config notes to migrate to v9 guide (#17926) (Nicholas C. Zakas)3ae50ccdocs: Add RuleTester changes to migrate to v9 guide (#17923) (Nicholas C. Zakas)0831b58docs: add rule changes to v9 migration guide (#17925) (Milos Djermanovic)037abfc](https://togithub.com/Configuration
📅 Schedule: Branch creation - "on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.