Conversation
WalkthroughThis pull request updates the ESLint devDependency in two playground package configuration files. The ESLint version is bumped from ^9.39.2 to ^10.0.2 in both 🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
55c1153 to
a4fa804
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@playgrounds/nextjs/package.json`:
- Line 23: package.json is upgrading to ESLint 10 but the project still uses the
old .eslintrc.json and the removed "next lint" CLI; replace the "next lint" npm
script with "eslint ." (update the "scripts" entry that references "next lint"),
remove the legacy .eslintrc.json and add a new flat config file named
eslint.config.mjs (use `@eslint/migrate-config` to convert existing rules and
plugins), and also remove any eslint configuration block from next.config.mjs so
linting runs via the ESLint CLI with the new flat config.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 92bbe25e-638b-4812-abe8-13536ce18031
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (2)
playgrounds/nextjs/package.jsonplaygrounds/v3/package.json
🚧 Files skipped from review as they are similar to previous changes (1)
- playgrounds/v3/package.json
| "@types/react": "^19.2.14", | ||
| "@types/react-dom": "^19.2.3", | ||
| "eslint": "^9.39.2", | ||
| "eslint": "^10.0.2", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, locate and read the playground package.json
fd "playgrounds/nextjs/package.json" -type fRepository: tailwindlabs/tailwindcss
Length of output: 238
🏁 Script executed:
# Read the full package.json to verify the context
cat -n playgrounds/nextjs/package.jsonRepository: tailwindlabs/tailwindcss
Length of output: 870
🏁 Script executed:
# Check if there are any ESLint config files in the playground
fd -e "eslintrc*" -e "eslint.config.*" playgrounds/nextjs/Repository: tailwindlabs/tailwindcss
Length of output: 449
🏁 Script executed:
# Check the Next.js version in the playground
grep -A 2 '"next"' playgrounds/nextjs/package.jsonRepository: tailwindlabs/tailwindcss
Length of output: 142
🏁 Script executed:
# Check for ESLint config files in the playground directory
fd . playgrounds/nextjs/ --full-path -type f | grep -E "(eslint|\.eslintrc)"Repository: tailwindlabs/tailwindcss
Length of output: 238
🏁 Script executed:
# Also list all files in the playground to see what's there
ls -la playgrounds/nextjs/Repository: tailwindlabs/tailwindcss
Length of output: 728
🌐 Web query:
Next.js 16 next lint command removed ESLint CLI
💡 Result:
In Next.js 16, the next lint command was removed (it no longer wraps/runs the ESLint CLI), and the eslint option in next.config.* was removed as well. Next.js now expects you to run linting via ESLint CLI directly (or another linter like Biome). [1] [2]
What to do
- Update your
package.jsonscript from:"lint": "next lint"
to something like:"lint": "eslint ."(add flags as you prefer)
Migration helper
- Next.js provides a codemod to migrate from
next lintto ESLint CLI:npx@next/codemod@canary next-lint-to-eslint-cli .[1] [3]
Also remove
- Any
eslintconfig block innext.config.js/mjs/ts(it’s no longer used). [1] [2]
Sources
- Next.js “Upgrading: Version 16” guide [1]
- Next.js “Configuration: ESLint” docs (notes
v16.0.0removal) [2] - Next.js codemods docs (16.0: migrate from
next lintto ESLint CLI) [3]
🌐 Web query:
ESLint 10 .eslintrc removal flat config migration
💡 Result:
ESLint v10 (released Feb 6, 2026) is flat-config only: .eslintrc.* and .eslintignore are no longer honored, several eslintrc-era CLI flags are removed, and /* eslint-env */ comments become errors. [1]
Migration path (recommended)
- Create a flat config at the repo root:
eslint.config.js(or.mjs/.cjs). Flat config is the default format (since v9) and is required in v10. [2] - Use the official migrator to generate a starting point:
(works best with
npx `@eslint/migrate-config` .eslintrc.json.eslintrc.json/.yml;.eslintrc.jsgets “evaluated output” and may need more hand-fixing). [2] - Move ignores into flat config (because
.eslintignoreis ignored in v10). Ineslint.config.js:export default [ { ignores: ["dist/**", "node_modules/**"] }, // ...rest of config ];
.eslintignorewill not be read in v10. [1] - Stop relying on removed eslintrc CLI flags like
--env,--ignore-path,--no-eslintrc,--resolve-plugins-relative-to,--rulesdir. Replace them with equivalents ineslint.config.*(language options, globals, ignores, etc.). [1,2] - If you were using
FlatCompat(to reuse legacyextendsconfigs temporarily), ESLint’s v10 migration notes recommend upgrading@eslint/eslintrcto the latest for compatibility. [3]
Common “why did ESLint 10 stop working?” checklist
- You upgraded to v10 but didn’t add
eslint.config.*→ ESLint won’t read.eslintrc.*. [1] - You still have
.eslintignore→ it’s ignored; useignoresin flat config. [1] - You use
/* eslint-env */pragmas → remove and set globals/env via flat config instead. [1]
Sources: ESLint v10 release notes [1], official Configuration Migration Guide [2], official “Migrate to v10” guide [3].
🏁 Script executed:
# Check the content of the existing .eslintrc.json
cat playgrounds/nextjs/.eslintrc.jsonRepository: tailwindlabs/tailwindcss
Length of output: 211
🏁 Script executed:
# Check if there's an eslint.config.mjs or eslint.config.js
ls -la playgrounds/nextjs/eslint.config.*Repository: tailwindlabs/tailwindcss
Length of output: 149
Migrate this playground to ESLint flat config and the ESLint CLI before merging ESLint 10.
Line 23 upgrades to ESLint 10, but the playground still uses the old .eslintrc.json format and the removed next lint command. ESLint 10 no longer honors .eslintrc.* files (flat config is now required), and Next.js 16 removed the next lint command entirely. After this upgrade, linting will break.
Update the lint script from "next lint" to "eslint .", replace the .eslintrc.json with an eslint.config.mjs using the flat config format (the @eslint/migrate-config tool can help migrate existing rules), and remove any eslint config block from next.config.mjs if present.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@playgrounds/nextjs/package.json` at line 23, package.json is upgrading to
ESLint 10 but the project still uses the old .eslintrc.json and the removed
"next lint" CLI; replace the "next lint" npm script with "eslint ." (update the
"scripts" entry that references "next lint"), remove the legacy .eslintrc.json
and add a new flat config file named eslint.config.mjs (use
`@eslint/migrate-config` to convert existing rules and plugins), and also remove
any eslint configuration block from next.config.mjs so linting runs via the
ESLint CLI with the new flat config.
Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request. ### What changed? #### ✳️ eslint (9.27.0 → 9.29.0) · [Repo](https://github.com/eslint/eslint) · [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/eslint/eslint/releases/tag/v9.29.0">9.29.0</a></h4> <blockquote><h2 dir="auto">Features</h2> <ul dir="auto"> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/f686fcb51e47cf53b891ae595684afe8a0ef584d"><code class="notranslate">f686fcb</code></a> feat: add <code class="notranslate">ecmaVersion: 2026</code>, parsing <code class="notranslate">using</code> and <code class="notranslate">await using</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19832">#19832</a>) (Milos Djermanovic)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/19cdd226bb5957f8f7e8cb4e92d38aafe47f8ff4"><code class="notranslate">19cdd22</code></a> feat: prune suppressions for non-existent files (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19825">#19825</a>) (TKDev7)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/b3d720f82f08022a33b10f0437111e7d270b8e3c"><code class="notranslate">b3d720f</code></a> feat: add ES2025 globals (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19835">#19835</a>) (fisker Cheung)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/677a2837a17320f54a8869682af128a2a7d77579"><code class="notranslate">677a283</code></a> feat: add auto-accessor fields support to class-methods-use-this (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19789">#19789</a>) (sethamus)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/dbba0589f5509223658b73de6eb721f659bcec47"><code class="notranslate">dbba058</code></a> feat: allow global type declaration in <code class="notranslate">no-var</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19714">#19714</a>) (Remco Haszing)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/342bd29e1a10a4b521ed0dbb6d889dcfc137e863"><code class="notranslate">342bd29</code></a> feat: ignore type annotations in no-restricted-globals (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19781">#19781</a>) (sethamus)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/786bcd13652b90c5bd0c7201610b856ad1b87542"><code class="notranslate">786bcd1</code></a> feat: add allowProperties option to no-restricted-properties (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19772">#19772</a>) (sethamus)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/05b66d05bd68214f2fa1ab53fb2734c9d9e5348a"><code class="notranslate">05b66d0</code></a> feat: add <code class="notranslate">sourceCode.isGlobalReference(node)</code> method (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19695">#19695</a>) (Nitin Kumar)</li> </ul> <h2 dir="auto">Bug Fixes</h2> <ul dir="auto"> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/85c082c54bd42ad818f5938b8fb1fb2aa0a1912f"><code class="notranslate">85c082c</code></a> fix: explicit matching behavior with negated patterns and arrays (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19845">#19845</a>) (Milos Djermanovic)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/9bda4a9bf18c9fef91cdd93921a0935ffcf9a9fc"><code class="notranslate">9bda4a9</code></a> fix: fix <code class="notranslate">LintOptions.filterCodeBlock</code> types (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19837">#19837</a>) (ntnyq)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/7ab77a2c7605126daaa7e7f7ab75b5c252677d12"><code class="notranslate">7ab77a2</code></a> fix: correct breaking deprecation of FlatConfig type (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19826">#19826</a>) (Logicer)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/1ba33181ab300588a803434884c054ed003f0bbd"><code class="notranslate">1ba3318</code></a> fix: add <code class="notranslate">language</code> and <code class="notranslate">dialects</code> to <code class="notranslate">no-use-before-define</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19808">#19808</a>) (Francesco Trotta)</li> </ul> <h2 dir="auto">Documentation</h2> <ul dir="auto"> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/00e3e6ad1357df7d46be51d3f305efecb90244a7"><code class="notranslate">00e3e6a</code></a> docs: add support for custom name parameter to <code class="notranslate">includeIgnoreFile</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19795">#19795</a>) (루밀LuMir)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/3aed0756ed3669ac27fc243c81fd82e3d0e6973b"><code class="notranslate">3aed075</code></a> docs: Update README (GitHub Actions Bot)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/a2f888d679e2a44964da596a4158911819e1d31d"><code class="notranslate">a2f888d</code></a> docs: enhance documentation with links and fix typos (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19761">#19761</a>) (루밀LuMir)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/53c3235ba1c90a85a44f0abd18998ccc4e0445bf"><code class="notranslate">53c3235</code></a> docs: update to clarify prompt usage (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19748">#19748</a>) (Jennifer Davis)</li> </ul> <h2 dir="auto">Chores</h2> <ul dir="auto"> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/5c114c962f29d0b33e6439e9ab0985014af06b9f"><code class="notranslate">5c114c9</code></a> chore: upgrade @eslint/js@9.29.0 (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19851">#19851</a>) (Milos Djermanovic)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/acf2201a067d062e007b1b7b164b8e96fa1af50f"><code class="notranslate">acf2201</code></a> chore: package.json update for @eslint/js release (Jenkins)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/a806994263e54e4bc1481736b1c0626c8b770808"><code class="notranslate">a806994</code></a> refactor: Remove eslintrc from flat config functionality (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19833">#19833</a>) (Nicholas C. Zakas)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/152ed51329d82c6e7375f41a105e01b31750e17f"><code class="notranslate">152ed51</code></a> test: switch to flat config mode in code path analysis tests (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19824">#19824</a>) (Milos Djermanovic)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/b647239272931e0a947500b2f554fc8ccdf8adfd"><code class="notranslate">b647239</code></a> chore: Update first-party dependencies faster with Renovate (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19822">#19822</a>) (Nicholas C. Zakas)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/7abe42e2de931289e19e34e390d16936cf6faf64"><code class="notranslate">7abe42e</code></a> refactor: SafeEmitter -> SourceCodeVisitor (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19708">#19708</a>) (Nicholas C. Zakas)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/e39289596757702b6c8d747d5ab9c1a7820c108f"><code class="notranslate">e392895</code></a> perf: improve time complexity of <code class="notranslate">getLocFromIndex</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19782">#19782</a>) (루밀LuMir)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/0ed289c5ceed1c10b599b22c8b9374a5a3a144dd"><code class="notranslate">0ed289c</code></a> chore: remove accidentally committed file (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19807">#19807</a>) (Francesco Trotta)</li> </ul></blockquote> <h4><a href="https://github.com/eslint/eslint/releases/tag/v9.28.0">9.28.0</a></h4> <blockquote><h2 dir="auto">Features</h2> <ul dir="auto"> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/b0674be94e4394401b4f668453a473572c321023"><code class="notranslate">b0674be</code></a> feat: Customization of serialization for languageOptions (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19760">#19760</a>) (Nicholas C. Zakas)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/a95721f1064fdbfe0e392b955ce3053a24551f80"><code class="notranslate">a95721f</code></a> feat: Add <code class="notranslate">--pass-on-unpruned-suppressions</code> CLI option (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19773">#19773</a>) (Milos Djermanovic)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/bfd0e7a39535b3c1ddc742dfffa6bdcdc93079e2"><code class="notranslate">bfd0e7a</code></a> feat: support TypeScript syntax in <code class="notranslate">no-use-before-define</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19566">#19566</a>) (Tanuj Kanti)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/68c61c093a885623e48f38026e3f3a05bfa403de"><code class="notranslate">68c61c0</code></a> feat: support TS syntax in <code class="notranslate">no-shadow</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19565">#19565</a>) (Nitin Kumar)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/0f773ef248af0301a410fee11e1b22174100cf6a"><code class="notranslate">0f773ef</code></a> feat: support TS syntax in <code class="notranslate">no-magic-numbers</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19561">#19561</a>) (Nitin Kumar)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/c4a6b6051889b1cb668d4d2ae29e9c27c74993d6"><code class="notranslate">c4a6b60</code></a> feat: add allowTypeAnnotation to func-style (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19754">#19754</a>) (sethamus)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/b03ad176f158afdd921f0af5126c398012b10559"><code class="notranslate">b03ad17</code></a> feat: add TypeScript support to <code class="notranslate">prefer-arrow-callback</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19678">#19678</a>) (Tanuj Kanti)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/bc3c3313ce2719062805b6849d29f9a375cf23f2"><code class="notranslate">bc3c331</code></a> feat: ignore overloaded function declarations in func-style rule (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19755">#19755</a>) (sethamus)</li> </ul> <h2 dir="auto">Bug Fixes</h2> <ul dir="auto"> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/eea3e7eb1ca84f9e8870e1190d65d5235d9d8429"><code class="notranslate">eea3e7e</code></a> fix: Remove configured global variables from <code class="notranslate">GlobalScope#implicit</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19779">#19779</a>) (Milos Djermanovic)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/a467de39f6e509af95a7963904326635c1bf7116"><code class="notranslate">a467de3</code></a> fix: update context.report types (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19751">#19751</a>) (Nitin Kumar)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/fd467bb892d735a4a8863beabd181a3f3152689a"><code class="notranslate">fd467bb</code></a> fix: remove interopDefault to use jiti's default (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19697">#19697</a>) (sethamus)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/72d16e3066aac2f1c74f4150ba43dfa8cf532584"><code class="notranslate">72d16e3</code></a> fix: avoid false positive in <code class="notranslate">no-unassigned-vars</code> for declare module (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19746">#19746</a>) (Azat S.)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/81c3c936266474c2081f310098084bd0eb1768d2"><code class="notranslate">81c3c93</code></a> fix: curly types (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19750">#19750</a>) (Eli)</li> </ul> <h2 dir="auto">Documentation</h2> <ul dir="auto"> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/3ec208233f29c161aae8f99f9f091e371fe83a62"><code class="notranslate">3ec2082</code></a> docs: Nested arrays in files config entry (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19799">#19799</a>) (Nicholas C. Zakas)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/89a65b07f6171a860284b62d97c8b3edf312b98c"><code class="notranslate">89a65b0</code></a> docs: clarify how config arrays can apply to subsets of files (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19788">#19788</a>) (Shais Ch)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/2ba8a0d75c7a8e6aa4798275126698be40391d37"><code class="notranslate">2ba8a0d</code></a> docs: Add description of meta.namespace to plugin docs (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19798">#19798</a>) (Nicholas C. Zakas)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/59dd7e6b28507053bde985ea2311dca8ec0db681"><code class="notranslate">59dd7e6</code></a> docs: update <code class="notranslate">func-style</code> with examples (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19793">#19793</a>) (Tanuj Kanti)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/e9129e0799d068c377d63d59a0a800e7d1fea8dd"><code class="notranslate">e9129e0</code></a> docs: add global scope's <code class="notranslate">implicit</code> field to Scope Manager docs (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19770">#19770</a>) (Milos Djermanovic)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/52f5b7a0af48a2f143f0bccfd4e036025b08280d"><code class="notranslate">52f5b7a</code></a> docs: fix minor typos and add links (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19743">#19743</a>) (루밀LuMir)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/00716a339ede24ed5a76aceed833f38a6c4e8d3a"><code class="notranslate">00716a3</code></a> docs: upfront recommend against using the no-return-await rule (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19727">#19727</a>) (Mike DiDomizio)</li> </ul> <h2 dir="auto">Chores</h2> <ul dir="auto"> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/175b7b83fcdc8f3f84821510dd7e04d120402317"><code class="notranslate">175b7b8</code></a> chore: upgrade to <code class="notranslate">@eslint/js@9.28.0</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19802">#19802</a>) (Francesco Trotta)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/844f5a69dc78ca38f856c137e061e8facc9d00ba"><code class="notranslate">844f5a6</code></a> chore: package.json update for @eslint/js release (Jenkins)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/62b1c1bc7981798c3aec2dd430c200c797a25629"><code class="notranslate">62b1c1b</code></a> chore: update globals to v16 (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19791">#19791</a>) (Nitin Kumar)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/e8a1cb8f7fbc18efa589bfedea5326de636b4868"><code class="notranslate">e8a1cb8</code></a> chore: ignore jiti-v2.0 & jiti-v2.1 for renovate (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19786">#19786</a>) (Nitin Kumar)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/43d39754b6d315954f46a70dbd53d1fa0eea1619"><code class="notranslate">43d3975</code></a> chore: Add Copilot Instructions file (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19753">#19753</a>) (Nicholas C. Zakas)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/2dfb5ebef4c14d552d10a6c7c2c2ce376e63654a"><code class="notranslate">2dfb5eb</code></a> test: update <code class="notranslate">SourceCodeTraverser</code> tests (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19763">#19763</a>) (Milos Djermanovic)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/5bc21f9e8e00f9e49442d1b6520b307ce94f3518"><code class="notranslate">5bc21f9</code></a> chore: add <code class="notranslate">*.code-workspace</code> to <code class="notranslate">.gitignore</code> (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19771">#19771</a>) (루밀LuMir)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/f4fa40eb4bd6f4dba3b2e7fff259d0780ef6becf"><code class="notranslate">f4fa40e</code></a> refactor: NodeEventGenerator -> SourceCodeTraverser (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19679">#19679</a>) (Nicholas C. Zakas)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/0f49329b4a7f91714f2cd1e9ce532d32202c47f4"><code class="notranslate">0f49329</code></a> refactor: use a service to emit warnings (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19725">#19725</a>) (Francesco Trotta)</li> <li> <a href="https://bounce.depfu.com/github.com/eslint/eslint/commit/20a9e59438fde3642ab058cc55ee1b9fa02b6391"><code class="notranslate">20a9e59</code></a> chore: update dependency shelljs to ^0.10.0 (<a href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19740">#19740</a>) (renovate[bot])</li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/eslint/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/eslint/eslint/compare/b9080cf28d88f934941a545a033eb960eceeadbd...edf232b680390013c68f081a5e41843bcf2dd18f">See the full diff on Github</a>. The new version differs by 58 commits:</p> <ul> <li><a href="https://github.com/eslint/eslint/commit/edf232b680390013c68f081a5e41843bcf2dd18f"><code>9.29.0</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/c2414b647baaa75303ef647e134b2520c10bf6e0"><code>Build: changelog update for 9.29.0</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/5c114c962f29d0b33e6439e9ab0985014af06b9f"><code>chore: upgrade @eslint/js@9.29.0 (#19851)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/acf2201a067d062e007b1b7b164b8e96fa1af50f"><code>chore: package.json update for @eslint/js release</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/f686fcb51e47cf53b891ae595684afe8a0ef584d"><code>feat: add `ecmaVersion: 2026`, parsing `using` and `await using` (#19832)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/85c082c54bd42ad818f5938b8fb1fb2aa0a1912f"><code>fix: explicit matching behavior with negated patterns and arrays (#19845)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/00e3e6ad1357df7d46be51d3f305efecb90244a7"><code>docs: add support for custom name parameter to `includeIgnoreFile` (tailwindlabs#19795)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/9bda4a9bf18c9fef91cdd93921a0935ffcf9a9fc"><code>fix: fix `LintOptions.filterCodeBlock` types (#19837)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/a806994263e54e4bc1481736b1c0626c8b770808"><code>refactor: Remove eslintrc from flat config functionality (#19833)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/19cdd226bb5957f8f7e8cb4e92d38aafe47f8ff4"><code>feat: prune suppressions for non-existent files (#19825)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/b3d720f82f08022a33b10f0437111e7d270b8e3c"><code>feat: add ES2025 globals (#19835)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/677a2837a17320f54a8869682af128a2a7d77579"><code>feat: add auto-accessor fields support to class-methods-use-this (tailwindlabs#19789)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/3aed0756ed3669ac27fc243c81fd82e3d0e6973b"><code>docs: Update README</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/7ab77a2c7605126daaa7e7f7ab75b5c252677d12"><code>fix: correct breaking deprecation of FlatConfig type (#19826)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/a2f888d679e2a44964da596a4158911819e1d31d"><code>docs: enhance documentation with links and fix typos (tailwindlabs#19761)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/dbba0589f5509223658b73de6eb721f659bcec47"><code>feat: allow global type declaration in `no-var` (tailwindlabs#19714)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/152ed51329d82c6e7375f41a105e01b31750e17f"><code>test: switch to flat config mode in code path analysis tests (tailwindlabs#19824)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/b647239272931e0a947500b2f554fc8ccdf8adfd"><code>chore: Update first-party dependencies faster with Renovate (tailwindlabs#19822)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/7abe42e2de931289e19e34e390d16936cf6faf64"><code>refactor: SafeEmitter -> SourceCodeVisitor (tailwindlabs#19708)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/342bd29e1a10a4b521ed0dbb6d889dcfc137e863"><code>feat: ignore type annotations in no-restricted-globals (tailwindlabs#19781)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/e39289596757702b6c8d747d5ab9c1a7820c108f"><code>perf: improve time complexity of `getLocFromIndex` (tailwindlabs#19782)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/1ba33181ab300588a803434884c054ed003f0bbd"><code>fix: add `language` and `dialects` to `no-use-before-define` (tailwindlabs#19808)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/786bcd13652b90c5bd0c7201610b856ad1b87542"><code>feat: add allowProperties option to no-restricted-properties (tailwindlabs#19772)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/05b66d05bd68214f2fa1ab53fb2734c9d9e5348a"><code>feat: add `sourceCode.isGlobalReference(node)` method (tailwindlabs#19695)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/53c3235ba1c90a85a44f0abd18998ccc4e0445bf"><code>docs: update to clarify prompt usage (tailwindlabs#19748)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/0ed289c5ceed1c10b599b22c8b9374a5a3a144dd"><code>chore: remove accidentally committed file (tailwindlabs#19807)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/f341f21e024388e602cfccee06e11b9113a2d298"><code>9.28.0</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/779dda93a25a0e9da934a96311e5f97985e4401c"><code>Build: changelog update for 9.28.0</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/175b7b83fcdc8f3f84821510dd7e04d120402317"><code>chore: upgrade to `@eslint/js@9.28.0` (tailwindlabs#19802)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/844f5a69dc78ca38f856c137e061e8facc9d00ba"><code>chore: package.json update for @eslint/js release</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/b0674be94e4394401b4f668453a473572c321023"><code>feat: Customization of serialization for languageOptions (tailwindlabs#19760)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/3ec208233f29c161aae8f99f9f091e371fe83a62"><code>docs: Nested arrays in files config entry (tailwindlabs#19799)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/89a65b07f6171a860284b62d97c8b3edf312b98c"><code>docs: clarify how config arrays can apply to subsets of files (tailwindlabs#19788)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/2ba8a0d75c7a8e6aa4798275126698be40391d37"><code>docs: Add description of meta.namespace to plugin docs (tailwindlabs#19798)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/eea3e7eb1ca84f9e8870e1190d65d5235d9d8429"><code>fix: Remove configured global variables from `GlobalScope#implicit` (tailwindlabs#19779)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/a95721f1064fdbfe0e392b955ce3053a24551f80"><code>feat: Add `--pass-on-unpruned-suppressions` CLI option (tailwindlabs#19773)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/a467de39f6e509af95a7963904326635c1bf7116"><code>fix: update context.report types (tailwindlabs#19751)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/59dd7e6b28507053bde985ea2311dca8ec0db681"><code>docs: update `func-style` with examples (tailwindlabs#19793)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/62b1c1bc7981798c3aec2dd430c200c797a25629"><code>chore: update globals to v16 (tailwindlabs#19791)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/bfd0e7a39535b3c1ddc742dfffa6bdcdc93079e2"><code>feat: support TypeScript syntax in `no-use-before-define` (tailwindlabs#19566)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/68c61c093a885623e48f38026e3f3a05bfa403de"><code>feat: support TS syntax in `no-shadow` (tailwindlabs#19565)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/e8a1cb8f7fbc18efa589bfedea5326de636b4868"><code>chore: ignore jiti-v2.0 & jiti-v2.1 for renovate (tailwindlabs#19786)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/0f773ef248af0301a410fee11e1b22174100cf6a"><code>feat: support TS syntax in `no-magic-numbers` (tailwindlabs#19561)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/43d39754b6d315954f46a70dbd53d1fa0eea1619"><code>chore: Add Copilot Instructions file (tailwindlabs#19753)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/c4a6b6051889b1cb668d4d2ae29e9c27c74993d6"><code>feat: add allowTypeAnnotation to func-style (tailwindlabs#19754)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/fd467bb892d735a4a8863beabd181a3f3152689a"><code>fix: remove interopDefault to use jiti&tailwindlabs#39;s default (tailwindlabs#19697)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/2dfb5ebef4c14d552d10a6c7c2c2ce376e63654a"><code>test: update `SourceCodeTraverser` tests (tailwindlabs#19763)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/b03ad176f158afdd921f0af5126c398012b10559"><code>feat: add TypeScript support to `prefer-arrow-callback` (tailwindlabs#19678)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/e9129e0799d068c377d63d59a0a800e7d1fea8dd"><code>docs: add global scope&tailwindlabs#39;s `implicit` field to Scope Manager docs (tailwindlabs#19770)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/bc3c3313ce2719062805b6849d29f9a375cf23f2"><code>feat: ignore overloaded function declarations in func-style rule (tailwindlabs#19755)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/5bc21f9e8e00f9e49442d1b6520b307ce94f3518"><code>chore: add `*.code-workspace` to `.gitignore` (tailwindlabs#19771)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/72d16e3066aac2f1c74f4150ba43dfa8cf532584"><code>fix: avoid false positive in `no-unassigned-vars` for declare module (tailwindlabs#19746)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/f4fa40eb4bd6f4dba3b2e7fff259d0780ef6becf"><code>refactor: NodeEventGenerator -> SourceCodeTraverser (tailwindlabs#19679)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/81c3c936266474c2081f310098084bd0eb1768d2"><code>fix: curly types (tailwindlabs#19750)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/52f5b7a0af48a2f143f0bccfd4e036025b08280d"><code>docs: fix minor typos and add links (tailwindlabs#19743)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/0f49329b4a7f91714f2cd1e9ce532d32202c47f4"><code>refactor: use a service to emit warnings (tailwindlabs#19725)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/20a9e59438fde3642ab058cc55ee1b9fa02b6391"><code>chore: update dependency shelljs to ^0.10.0 (tailwindlabs#19740)</code></a></li> <li><a href="https://github.com/eslint/eslint/commit/00716a339ede24ed5a76aceed833f38a6c4e8d3a"><code>docs: upfront recommend against using the no-return-await rule (tailwindlabs#19727)</code></a></li> </ul> </details> ---  [Depfu](https://depfu.com) will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with `@depfu rebase`. <details><summary>All Depfu comment commands</summary> <blockquote><dl> <dt>@depfu rebase</dt><dd>Rebases against your default branch and redoes this update</dd> <dt>@depfu recreate</dt><dd>Recreates this PR, overwriting any edits that you've made to it</dd> <dt>@depfu merge</dt><dd>Merges this PR once your tests are passing and conflicts are resolved</dd> <dt>@depfu cancel merge</dt><dd>Cancels automatic merging of this PR</dd> <dt>@depfu close</dt><dd>Closes this PR and deletes the branch</dd> <dt>@depfu reopen</dt><dd>Restores the branch and reopens this PR (if it's closed)</dd> <dt>@depfu pause</dt><dd>Ignores all future updates for this dependency and closes this PR</dd> <dt>@depfu pause [minor|major]</dt><dd>Ignores all future minor/major updates for this dependency and closes this PR</dd> <dt>@depfu resume</dt><dd>Future versions of this dependency will create PRs again (leaves this PR as is)</dd> </dl></blockquote> </details> Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Here is everything you need to know about this upgrade. Please take a good look at what changed and the test results before merging this pull request.
What changed?
✳️ eslint (9.39.2 → 10.0.2) · Repo · Changelog
Release Notes
10.0.2
10.0.1
10.0.0
9.39.3
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by more commits than we can show here.
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with
@depfu rebase.All Depfu comment commands