Skip to content

feat(eslint-plugin-query): add ESLint v10 to peer dependencies#10182

Merged
TkDodo merged 6 commits intoTanStack:mainfrom
byungsker:feat/eslint-plugin-query-support-eslint-v10
Apr 9, 2026
Merged

feat(eslint-plugin-query): add ESLint v10 to peer dependencies#10182
TkDodo merged 6 commits intoTanStack:mainfrom
byungsker:feat/eslint-plugin-query-support-eslint-v10

Conversation

@byungsker
Copy link
Copy Markdown
Contributor

@byungsker byungsker commented Feb 24, 2026

🎯 Changes

ESLint v10 was released in February 2026. This PR adds ESLint v10 to the peerDependencies of @tanstack/eslint-plugin-query to officially declare compatibility.

The plugin's core dependency @typescript-eslint/utils already supports ESLint v10 (^8.57.0 || ^9.0.0 || ^10.0.0), so no source code changes are required — only the peer dependency range needs to be updated.

Closes #10141

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested this code locally with pnpm run test:pr.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

Summary by CodeRabbit

  • Chores
    • Extended ESLint plugin compatibility to support ESLint v10 in addition to v8 and v9.
    • Broadened TypeScript support to include TypeScript v6 alongside v5.
    • Updated TypeScript-ESLint utilities and related packages to newer versions for improved compatibility and stability.
    • Added a patch changeset documenting the release and dependency updates.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Feb 24, 2026

🦋 Changeset detected

Latest commit: 8d90510

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@tanstack/eslint-plugin-query Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 24, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a changeset and updates package manifests to declare ESLint v10 compatibility, bump TypeScript-ESLint override versions, and upgrade @typescript-eslint/utils and typescript peer ranges for packages/eslint-plugin-query.

Changes

Cohort / File(s) Summary
Changeset
.changeset/eslint-plugin-query-eslint-v10.md
Adds a new changeset marking a patch release that notes ESLint v10 was added to peerDependencies.
eslint-plugin-query package manifest
packages/eslint-plugin-query/package.json
Bumps dependencies["@typescript-eslint/utils"] from ^8.48.0 to ^8.58.1; extends peerDependencies.eslint from `^8.57.0
Root package manifest overrides
package.json
Updates pnpm.overrides for TypeScript-ESLint packages (including @typescript-eslint/* and related packages) from version 8.56.1 to 8.58.1.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped a bump, then twitched my ear,
ESLint v10 now sits quite near,
A nudge to versions, tidy and bright,
Small changes made — the linting's right,
I thump my paw and nibble cheer.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The PR includes out-of-scope changes: TypeScript v6 support and typescript-eslint patch updates were introduced beyond the ESLint v10 compatibility requirement. Consider isolating TypeScript v6 support and typescript-eslint updates into separate PRs to keep changes focused on the ESLint v10 compatibility objective.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding ESLint v10 to peer dependencies, which is the primary objective of the PR.
Description check ✅ Passed The PR description includes all required sections from the template with proper detail, context, and issue references.
Linked Issues check ✅ Passed The PR successfully addresses issue #10141 by adding ESLint v10 to peerDependencies and updating related dependencies as required.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/eslint-plugin-query/package.json (1)

62-62: ⚠️ Potential issue | 🟠 Major

Bump @typescript-eslint/utils minimum to ^8.56.0 to match declared ESLint v10 support

This package declares ESLint v10 compatibility in peerDependencies ("eslint": "^8.57.0 || ^9.0.0 || ^10.0.0"), but @typescript-eslint/utils v8.48.0–v8.55.x do not support ESLint v10 in their own peerDependencies (they cap at "eslint": "^8.57.0 || ^9.0.0"). Only v8.56.0 introduced ESLint v10 support. A consumer with a deduplicated lockfile using an older patch version while installing ESLint v10 will encounter a peerDependency conflict despite the package claiming compatibility.

Proposed fix
-    "@typescript-eslint/utils": "^8.48.0"
+    "@typescript-eslint/utils": "^8.56.0"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/eslint-plugin-query/package.json` at line 62, The package.json
currently pins "@typescript-eslint/utils": "^8.48.0", which allows installing
versions that lack ESLint v10 peer support; update the dependency to
"@typescript-eslint/utils": "^8.56.0" (or higher) in package.json to ensure
ESLint v10 is supported, then regenerate the lockfile (npm/yarn/pnpm install)
and run the test/lint pipeline to validate no new peer conflicts.
🧹 Nitpick comments (1)
packages/eslint-plugin-query/package.json (1)

64-69: Bump devDependencies.eslint to cover ESLint v10 so the declared peerDependency is actually tested

The dev/test environment still pins eslint to ^9.36.0. ESLint v10.0.0 was released on 06 Feb 2026 as a major release that includes several breaking changes. Running the test suite only against ESLint v9 means the newly declared ^10.0.0 peer compatibility is untested. Consider updating the devDependencies to ^10.0.0 (or adding a matrix CI job that also runs against ESLint v10).

📦 Proposed fix
-    "eslint": "^9.36.0",
+    "eslint": "^10.0.0",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/eslint-plugin-query/package.json` around lines 64 - 69, Update the
dev/test environment to actually test ESLint v10 by changing the "eslint" entry
under devDependencies in package.json from "^9.36.0" to "^10.0.0" (i.e., bump
devDependencies.eslint) and run the test suite to confirm compatibility;
alternatively, add a CI matrix job that runs tests against both "^9.x" and
"^10.x" to ensure the declared peerDependency is covered.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@packages/eslint-plugin-query/package.json`:
- Line 62: The package.json currently pins "@typescript-eslint/utils":
"^8.48.0", which allows installing versions that lack ESLint v10 peer support;
update the dependency to "@typescript-eslint/utils": "^8.56.0" (or higher) in
package.json to ensure ESLint v10 is supported, then regenerate the lockfile
(npm/yarn/pnpm install) and run the test/lint pipeline to validate no new peer
conflicts.

---

Nitpick comments:
In `@packages/eslint-plugin-query/package.json`:
- Around line 64-69: Update the dev/test environment to actually test ESLint v10
by changing the "eslint" entry under devDependencies in package.json from
"^9.36.0" to "^10.0.0" (i.e., bump devDependencies.eslint) and run the test
suite to confirm compatibility; alternatively, add a CI matrix job that runs
tests against both "^9.x" and "^10.x" to ensure the declared peerDependency is
covered.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between eb7dca5 and b6ee8ed.

📒 Files selected for processing (2)
  • .changeset/eslint-plugin-query-eslint-v10.md
  • packages/eslint-plugin-query/package.json

@rakleed
Copy link
Copy Markdown

rakleed commented Mar 12, 2026

@TkDodo could you please review the PR?

@nx-cloud
Copy link
Copy Markdown

nx-cloud bot commented Apr 9, 2026

View your CI Pipeline Execution ↗ for commit cbd228c

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ✅ Succeeded 41s View ↗

☁️ Nx Cloud last updated this comment at 2026-04-09 08:15:50 UTC

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 9, 2026

More templates

@tanstack/angular-query-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-experimental@10182

@tanstack/eslint-plugin-query

npm i https://pkg.pr.new/@tanstack/eslint-plugin-query@10182

@tanstack/preact-query

npm i https://pkg.pr.new/@tanstack/preact-query@10182

@tanstack/preact-query-devtools

npm i https://pkg.pr.new/@tanstack/preact-query-devtools@10182

@tanstack/preact-query-persist-client

npm i https://pkg.pr.new/@tanstack/preact-query-persist-client@10182

@tanstack/query-async-storage-persister

npm i https://pkg.pr.new/@tanstack/query-async-storage-persister@10182

@tanstack/query-broadcast-client-experimental

npm i https://pkg.pr.new/@tanstack/query-broadcast-client-experimental@10182

@tanstack/query-core

npm i https://pkg.pr.new/@tanstack/query-core@10182

@tanstack/query-devtools

npm i https://pkg.pr.new/@tanstack/query-devtools@10182

@tanstack/query-persist-client-core

npm i https://pkg.pr.new/@tanstack/query-persist-client-core@10182

@tanstack/query-sync-storage-persister

npm i https://pkg.pr.new/@tanstack/query-sync-storage-persister@10182

@tanstack/react-query

npm i https://pkg.pr.new/@tanstack/react-query@10182

@tanstack/react-query-devtools

npm i https://pkg.pr.new/@tanstack/react-query-devtools@10182

@tanstack/react-query-next-experimental

npm i https://pkg.pr.new/@tanstack/react-query-next-experimental@10182

@tanstack/react-query-persist-client

npm i https://pkg.pr.new/@tanstack/react-query-persist-client@10182

@tanstack/solid-query

npm i https://pkg.pr.new/@tanstack/solid-query@10182

@tanstack/solid-query-devtools

npm i https://pkg.pr.new/@tanstack/solid-query-devtools@10182

@tanstack/solid-query-persist-client

npm i https://pkg.pr.new/@tanstack/solid-query-persist-client@10182

@tanstack/svelte-query

npm i https://pkg.pr.new/@tanstack/svelte-query@10182

@tanstack/svelte-query-devtools

npm i https://pkg.pr.new/@tanstack/svelte-query-devtools@10182

@tanstack/svelte-query-persist-client

npm i https://pkg.pr.new/@tanstack/svelte-query-persist-client@10182

@tanstack/vue-query

npm i https://pkg.pr.new/@tanstack/vue-query@10182

@tanstack/vue-query-devtools

npm i https://pkg.pr.new/@tanstack/vue-query-devtools@10182

commit: cbd228c

Co-authored-by: Dominik Dorfmeister 🔮 <office@dorfmeister.cc>
@TkDodo TkDodo merged commit 23a4029 into TanStack:main Apr 9, 2026
11 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

eslint-plugin-query: support eslint v10

3 participants