-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
ci: update workspace config #9671
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Caution Review failedThe pull request is closed. WalkthroughRepository-wide tooling updates: Node version bumped, .npmrc workspace flags removed, pnpm workspace options added/expanded, widespread devDependency bumps (vite, svelte, tooling), and many package.json scripts updated to run ESLint with --concurrency=auto. No runtime source code changes. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Dev as Developer
participant Runner as npm/pnpm script
participant ESLint as ESLint
Note over Runner,ESLint: Before
Dev->>Runner: run "test:eslint" (eslint ./src)
Runner->>ESLint: eslint ./src (serial)
ESLint-->>Runner: results
Runner-->>Dev: report
Note over Runner,ESLint #D6F5D6: After (changed)
Dev->>Runner: run "test:eslint" (eslint --concurrency=auto ./src)
Runner->>ESLint: eslint --concurrency=auto ./src (auto parallel)
ESLint-->>Runner: aggregated results
Runner-->>Dev: report
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
Comment |
View your CI Pipeline Execution ↗ for commit 73631b8
☁️ Nx Cloud last updated this comment at |
Sizes for commit 73631b8:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9671 +/- ##
=======================================
Coverage 46.38% 46.38%
=======================================
Files 214 214
Lines 8488 8488
Branches 1930 1922 -8
=======================================
Hits 3937 3937
Misses 4108 4108
Partials 443 443 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
examples/react/eslint-legacy/package.json (1)
21-22
: Fix TS types mismatch: React 19 with @types v18.These examples use react/react-dom 19 but pin @types/react and @types/react-dom to 18.x, which can cause TS errors. Bump types to 19.x (or remove them if this package is JS‑only). (npmjs.com)
Apply this diff:
- "@types/react": "^18.2.79", - "@types/react-dom": "^18.2.25", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0",examples/react/basic/package.json (1)
21-22
: Align TS types with React 19.Bump @types/react and @types/react-dom to 19.x to match react/react-dom 19. (npmjs.com)
- "@types/react": "^18.2.79", - "@types/react-dom": "^18.2.25", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0",
🧹 Nitpick comments (6)
examples/solid/default-query-function/package.json (1)
17-17
: Vite 6 bump OK; Solid plugin check.
vite-plugin-solid
2.11.x indicates support for Vite 6; consider aligning to the latest 2.11.x patch when you next touch this example. (jsdelivr.com)examples/vue/persister/package.json (1)
21-21
: Vite bump looks good; align plugin-vue version for consistency.Recommend aligning
@vitejs/plugin-vue
to the same version used elsewhere (e.g.,^5.2.4
) to avoid lockfile churn across examples."devDependencies": { - "@vitejs/plugin-vue": "^5.2.1", + "@vitejs/plugin-vue": "^5.2.4", "typescript": "5.8.3", "vite": "^6.3.6" }packages/angular-query-persist-client/package.json (1)
21-21
: ESLint concurrency flag applied consistently.Good consistency with other packages. Consider enforcing failures on new warnings to keep signal high.
- "test:eslint": "eslint --concurrency=auto ./src", + "test:eslint": "eslint --concurrency=auto --max-warnings=0 ./src",examples/svelte/optimistic-updates/package.json (1)
15-22
: Same Svelte stack bump: add a quick lint/check script?Optional: add a convenience script to run svelte-check to keep examples healthy.
"devDependencies": { @@ }, + "scripts": { + "check": "svelte-check --tsconfig ./tsconfig.json" + }packages/query-persist-client-core/package.json (1)
20-20
: ESLint concurrency: good; consider reproducibility.Consider pinning ESLint major in the root/tooling to avoid flag drift across packages.
packages/eslint-plugin-query/package.json (1)
20-21
: LGTM; local eslint ^9.15.0 satisfies the concurrency flag.
Optionally add “--cache” to speed up lint in CI.- "test:eslint": "eslint --concurrency=auto ./src", + "test:eslint": "eslint --concurrency=auto --cache ./src",
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (62)
.npmrc
(0 hunks).nvmrc
(1 hunks)examples/react/algolia/package.json
(1 hunks)examples/react/basic-graphql-request/package.json
(1 hunks)examples/react/basic/package.json
(1 hunks)examples/react/chat/package.json
(1 hunks)examples/react/default-query-function/package.json
(1 hunks)examples/react/devtools-panel/package.json
(1 hunks)examples/react/eslint-legacy/package.json
(1 hunks)examples/react/offline/package.json
(1 hunks)examples/react/playground/package.json
(1 hunks)examples/react/react-router/package.json
(1 hunks)examples/react/rick-morty/package.json
(1 hunks)examples/react/shadow-dom/package.json
(1 hunks)examples/react/simple/package.json
(1 hunks)examples/react/star-wars/package.json
(1 hunks)examples/react/suspense/package.json
(1 hunks)examples/solid/basic-graphql-request/package.json
(1 hunks)examples/solid/basic/package.json
(1 hunks)examples/solid/default-query-function/package.json
(1 hunks)examples/solid/simple/package.json
(1 hunks)examples/svelte/auto-refetching/package.json
(1 hunks)examples/svelte/basic/package.json
(1 hunks)examples/svelte/load-more-infinite-scroll/package.json
(1 hunks)examples/svelte/optimistic-updates/package.json
(1 hunks)examples/svelte/playground/package.json
(1 hunks)examples/svelte/simple/package.json
(1 hunks)examples/svelte/ssr/package.json
(1 hunks)examples/svelte/star-wars/package.json
(1 hunks)examples/vue/basic/package.json
(1 hunks)examples/vue/dependent-queries/package.json
(1 hunks)examples/vue/persister/package.json
(1 hunks)examples/vue/simple/package.json
(1 hunks)integrations/react-vite/package.json
(1 hunks)integrations/solid-vite/package.json
(1 hunks)integrations/svelte-vite/package.json
(1 hunks)integrations/vue-vite/package.json
(1 hunks)package.json
(3 hunks)packages/angular-query-experimental/package.json
(1 hunks)packages/angular-query-persist-client/package.json
(1 hunks)packages/eslint-plugin-query/package.json
(1 hunks)packages/query-async-storage-persister/package.json
(1 hunks)packages/query-broadcast-client-experimental/package.json
(1 hunks)packages/query-codemods/package.json
(1 hunks)packages/query-core/package.json
(1 hunks)packages/query-devtools/package.json
(1 hunks)packages/query-persist-client-core/package.json
(1 hunks)packages/query-sync-storage-persister/package.json
(1 hunks)packages/query-test-utils/package.json
(1 hunks)packages/react-query-devtools/package.json
(1 hunks)packages/react-query-next-experimental/package.json
(1 hunks)packages/react-query-persist-client/package.json
(1 hunks)packages/react-query/package.json
(1 hunks)packages/solid-query-devtools/package.json
(1 hunks)packages/solid-query-persist-client/package.json
(1 hunks)packages/solid-query/package.json
(1 hunks)packages/svelte-query-devtools/package.json
(2 hunks)packages/svelte-query-persist-client/package.json
(2 hunks)packages/svelte-query/package.json
(2 hunks)packages/vue-query-devtools/package.json
(2 hunks)packages/vue-query/package.json
(1 hunks)pnpm-workspace.yaml
(1 hunks)
💤 Files with no reviewable changes (1)
- .npmrc
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-02T17:57:33.184Z
Learnt from: TkDodo
PR: TanStack/query#9612
File: packages/query-async-storage-persister/src/asyncThrottle.ts:0-0
Timestamp: 2025-09-02T17:57:33.184Z
Learning: When importing from tanstack/query-core in other TanStack Query packages like query-async-storage-persister, a workspace dependency "tanstack/query-core": "workspace:*" needs to be added to the package.json.
Applied to files:
integrations/solid-vite/package.json
package.json
packages/svelte-query-persist-client/package.json
examples/solid/simple/package.json
packages/svelte-query/package.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Test
🔇 Additional comments (57)
packages/solid-query-persist-client/package.json (1)
20-20
: Same ESLint concurrency note as above.Looks good; just ensure ESLint >= 9.34.0 in the workspace. (eslint.org)
examples/react/default-query-function/package.json (1)
19-19
: Vite bump LGTM; align with CI Node (see Solid/simple note).No issues spotted; rely on the earlier Node/Vite verification. (main.vite.dev)
examples/react/chat/package.json (1)
21-21
: Vite bump is fine; note Tailwind Vite plugin peers if upgrading later.
@tailwindcss/vite
currently peersvite
as^5.2 || ^6
; your^6.3.6
is compatible. This plugin breaks on Vite 7 until updated. (github.com)If/when moving to Vite 7, ensure
@tailwindcss/vite
has a released version supporting it before upgrading CI/tooling.packages/query-sync-storage-persister/package.json (1)
20-20
: Same ESLint concurrency requirement as noted earlier.OK to merge once ESLint ≥ 9.34.0 is ensured. (eslint.org)
examples/react/playground/package.json (1)
19-19
: Vite bump LGTM; ensure CI Node ≥ 20.x (see earlier verification script).Change is safe; just keep CI on supported Node versions. (main.vite.dev)
examples/react/shadow-dom/package.json (1)
21-21
: Vite bump LGTM; mirrors other examples.Nothing blocking; rely on the Node/Vite verification already provided. (main.vite.dev)
examples/solid/simple/package.json (1)
18-18
: Confirm CI Node version and plugin compatibility for Vite 6.3.6 bump.
Vite ^6.3.6 is present in root and many examples/integrations/packages (examples/, integrations/, packages/*). No Node version pinned was found in .github/workflows or .nvmrc — ensure CI uses Node 20.x or 22.x (Node 18 reached EOL April 30, 2025). Verify @vitejs/plugin-react (^4.3.4), vite-plugin-solid (^2.11.6) and @tailwindcss/vite (^4.0.14) are compatible with Vite 6 before merging.examples/react/eslint-legacy/package.json (1)
25-26
: Vite 6.3 upgrade approved.Plugin-react 4.3.4 added Vite 6 to its peer range; you’re on a compatible combo. (gitlab.donnees.incubateur.anct.gouv.fr)
examples/react/basic/package.json (1)
25-26
: Vite 6.3 bump looks good with plugin-react 4.3.x.No concerns on the Vite side. (gitlab.donnees.incubateur.anct.gouv.fr)
integrations/react-vite/package.json (1)
14-15
: Bump LGTM; Vite as a dependency is fine for a template/integration.This combo is compatible; no changes requested. (gitlab.donnees.incubateur.anct.gouv.fr)
examples/react/rick-morty/package.json (1)
25-26
: Approve: Vite 6.3 + @vitejs/plugin-react 4.3.4 compatible; React 19 types present.
package.json lists @types/react ^19.0.1 and @types/react-dom ^19.0.2 — no ambient-type gaps expected..nvmrc (1)
1-1
: Approve — Node 24.8.0 is safe.
Repo check: .nvmrc = 24.8.0; only package.json engines found is ./examples/solid/solid-start-streaming/package.json (engines.node = ">=18") — compatible; no Node pins in .github/workflows. Keep CI images and any package.json "engines" fields in sync.examples/vue/basic/package.json (1)
18-18
: Approve — Vite 6.3 bump OK; run repo-wide peer-dep checkVite 6 targets Node 22+, so Node 24.8.0 in .nvmrc is fine. Sandbox execution failed; run the script below locally and paste its output.
#!/usr/bin/env bash set -euo pipefail command -v jq >/dev/null 2>&1 || { echo "jq required"; exit 2; } # Print JSON objects (one per package.json that declares vite) with vite + common plugin versions find . -type f -name package.json -print0 | xargs -0 -n1 -I{} jq -c ' select((.devDependencies.vite // .dependencies.vite) != null) | {file: input_filename, name: (.name // ""), vite: (.devDependencies.vite // .dependencies.vite), plugin_react: ((.devDependencies["@vitejs/plugin-react"] // .dependencies["@vitejs/plugin-react"]) // ""), plugin_vue: ((.devDependencies["@vitejs/plugin-vue"] // .dependencies["@vitejs/plugin-vue"]) // ""), plugin_svelte: ((.devDependencies["@sveltejs/vite-plugin-svelte"] // .dependencies["@sveltejs/vite-plugin-svelte"]) // "")} ' {}integrations/svelte-vite/package.json (1)
12-13
: Approve Svelte 5 + Vite 6 pairing. Svelte v5.39.3, Vite v6.3.6, and @sveltejs/vite-plugin-svelte v5.1.1 are compatible with no red flags; monitor Vite 6 release notes and update plugin-svelte as needed.integrations/solid-vite/package.json (1)
12-12
: Vite 6 bump LGTM; confirm plugin compatibility.
vite-plugin-solid
2.11.x advertises support for Vite 3/4/5/6; your pinned^2.11.6
should be fine. Consider bumping to the latest 2.11.x for fixes when convenient. (jsdelivr.com)examples/react/basic-graphql-request/package.json (1)
20-20
: Vite 6 upgrade looks safe with current plugins.
@vitejs/plugin-react
4.3.4 added Vite 6 to its peer range; no action needed. (gitlab.donnees.incubateur.anct.gouv.fr)examples/react/algolia/package.json (1)
23-23
: Consistent Vite 6 bump — OK.Same note as other React examples: plugin-react v4.3.4 supports Vite 6. (gitlab.donnees.incubateur.anct.gouv.fr)
packages/query-core/package.json (1)
20-20
: Enable ESLint multithreading — nice; ensure toolchain is ready.Requires ESLint ≥ 9.34.0 in the workspace. If any package still pulls older ESLint, the flag will error. (eslint.org)
Reuse the script from the vue-query comment to verify ESLint versions. Additionally, ensure CI Node is compatible with the repo baseline for tooling.
packages/svelte-query-persist-client/package.json (1)
21-21
: Svelte deps bump + ESLint concurrency: looks good.
svelte
andsvelte-check
minor bumps are routine; no compatibility flags from this diff.--concurrency=auto
needs ESLint ≥ 9.34.0. (eslint.org)Also applies to: 56-57
examples/vue/dependent-queries/package.json (1)
17-17
: Vite 6 bump OK with plugin-vue ≥ 5.2.x.Your
@vitejs/plugin-vue
is ^5.2.1, which aligns with Vite 6 peer range (older v4 didn’t). (stackoverflow.com)packages/vue-query/package.json (1)
20-20
: ESLint multithreading: verify workspace ESLint ≥ 9.34 (CI risk)Found declared ESLint versions:
- package.json (root): ^9.36.0 — satisfies ≥9.34.
- packages/eslint-plugin-query/package.json: ^9.15.0 — below 9.34.
Action: update packages/eslint-plugin-query to ^9.34+ (or match root) OR confirm lockfile/CI resolves to an installed ESLint ≥9.34; otherwise --concurrency=auto can break CI.
examples/react/react-router/package.json (1)
28-28
: Vite bump to ^6.3.6 looks good.@vitejs/plugin-react 4.3.4 explicitly added Vite 6 to its peer range, so this combo is supported. (ver-prod-22.it.helsinki.fi)
examples/solid/basic-graphql-request/package.json (1)
19-19
: Solid + Vite 6 compatibility confirmed.vite-plugin-solid 2.11.x adds Vite 6 compatibility (and follow‑ups fixed Vite 6 env detection), so ^2.11.6 with Vite ^6.3.6 is OK. (classic.yarnpkg.com)
examples/solid/basic/package.json (1)
17-17
: Vite bump aligns with vite-plugin-solid ≥2.11 compatibility.No action needed. (classic.yarnpkg.com)
packages/query-test-utils/package.json (1)
30-30
: Same ESLint concurrency note as above.Requires ESLint ≥ 9.34.0; otherwise the flag isn’t recognized. (eslint.org)
examples/vue/simple/package.json (1)
18-18
: Vite ^6.3.6 + @vitejs/plugin-vue ^5.2.1 are compatible.Looks good. (gitlab.rubend.nl)
packages/react-query-persist-client/package.json (1)
20-20
: ESLint concurrency flag added — ensure ESLint ≥ 9.34.0 in workspace.Prevents CI failures if some packages still pin older ESLint. (eslint.org)
packages/solid-query-devtools/package.json (1)
20-20
: Verify workspace ESLint is ≥ 9.34.0 (required for --concurrency)The package script uses --concurrency (added in ESLint v9.34.0); ensure eslint declared in the workspace (devDependencies/dependencies/peerDependencies) is ≥ 9.34.0 to avoid CI/script failures. File: packages/solid-query-devtools/package.json — line 20: "test:eslint": "eslint --concurrency=auto ./src". Audit attempt returned no output — re-run the workspace audit or confirm versions manually.
packages/svelte-query-devtools/package.json (2)
21-21
: ESLint concurrency switch looks good.No functional impact; should speed up linting on CI agents with multiple cores.
52-54
: Svelte and svelte-check bumps: check minimal tooling compatibility.These versions should be compatible, but please ensure CI/node (now Node 24.x per PR) runs svelte-check without deprecation warnings.
examples/react/offline/package.json (1)
24-24
: Vite 6.3.6 is fine; confirm plugin/react compatibility.
@vitejs/plugin-react@^4.3.4
should work with Vite 6. If the root lockfile holds older plugin versions elsewhere, align to avoid mixed majors.examples/svelte/star-wars/package.json (2)
15-16
: SvelteKit + adapter-auto bumps look reasonable.Ensure the CI Node version (24.x) satisfies the engines required by
@sveltejs/kit@^2.42.2
and adapter. No code changes needed.
20-25
: Svelte/Vite toolchain bumps: sanity-check dev/build flows.Given
vite dev/build/preview
scripts, just confirm local dev and SSR/adapter flows still work after the Kit upgrade.packages/vue-query-devtools/package.json (2)
20-20
: ESLint concurrency enabled — good.Consistent with other packages; no behavioral changes to library output.
60-60
: Vite 6.3.6 for build step: verify plugin-vue compatibility.
@vitejs/plugin-vue@^5.2.4
should be Vite 6–compatible; just confirm build stays deterministic across Node versions in CI.packages/solid-query/package.json (1)
20-20
: ESLint concurrency enabled — LGTM.No runtime impact; just ensure ESLint version compatibility as noted elsewhere.
packages/react-query-next-experimental/package.json (1)
20-20
: Enable ESLint concurrency — approved (root uses ESLint v9).
Root package.json lists "eslint": "^9.36.0" (packages/eslint-plugin-query devDep "^9.15.0", peer "^8.57.0 || ^9.0.0"); since root is v9+, --concurrency=auto is supported.packages/react-query/package.json (1)
20-20
: ESLint concurrency: root supports --concurrency=autoRoot package.json declares "eslint": "^9.36.0" (>= v9.34.0 — multithread
--concurrency=auto
added Aug 22, 2025). (eslint.org)Note: packages/eslint-plugin-query lists "eslint": "^9.15.0" — ensure CI installs the workspace root or lockfile resolves to >=9.34.0.
examples/react/star-wars/package.json (1)
25-25
: Vite bump: verified — @vitejs/plugin-react 4.3.x is compatible with Vite 6.3 and React 19. Changelog shows 4.3.4 added Vite 6 to peerDependencies and 4.3.x includes React 19/compiler support; no action required.packages/query-broadcast-client-experimental/package.json (1)
20-20
: ESLint: confirm --concurrency support & cap CI usagepackages/query-broadcast-client-experimental/package.json — test:eslint uses
eslint --concurrency=auto ./src
. Root package.json declares eslint ^9.36.0 (>=9.34.0 — supports--concurrency
); packages/eslint-plugin-query/package.json declares ^9.15.0 (pre‑9.34 — does not). Action: bump packages/eslint-plugin-query to >=9.34.0 or ensure CI uses the workspace/root ESLint; otherwise cap concurrency (e.g.--concurrency=2
) to avoid CPU thrash on CI.examples/react/suspense/package.json (1)
21-21
: Vite bump looks safe — run local smoke testsRun dev server and build to confirm no plugin regressions with React 19. Automated sandbox check failed (pnpm errors: ENOTEMPTY; “--workspace-root may only be used inside a workspace”). From the repo root run:
pnpm install pnpm -w -r --filter @tanstack/query-example-react-suspense dev -- --port 5173 & sleep 5; kill %1 pnpm -w -r --filter @tanstack/query-example-react-suspense buildexamples/svelte/auto-refetching/package.json (1)
15-22
: SvelteKit/Svelte/Vite: verify Node + peer alignmentSvelteKit 2.42.x requires Node >= 18.13; Svelte 5.x requires Node >= 18; Vite 6.x supports Node 18/20/22+ — Node 24.8.0 is within that range. Sandbox build failed (vite/nx not found), so in-repo verification couldn't complete.
- Confirm CI Node (PR mentions 24.8.0) and check examples/svelte/auto-refetching/package.json for engines/peer deps.
- Run locally/CI: node -v; pnpm install; pnpm -w -r --filter @tanstack/query-example-svelte-auto-refetching build; npx svelte-check.
packages/react-query-devtools/package.json (1)
20-21
: ESLint concurrency flag added; this package doesn’t declare ESLint—confirm root ESLint is ≥9.
Covered by the verification script above.examples/svelte/basic/package.json (1)
17-24
: Svelte/Vite/SvelteKit version alignment looks good; verify consistency across all Svelte examples.
Same matrix check as noted for playground.examples/svelte/simple/package.json (1)
17-21
: Svelte + Vite bumps LGTM; confirm Vite 6.x everywhere under examples/svelte.
Prevents mixed major versions during local dev.packages/angular-query-experimental/package.json (1)
32-33
: ESLint concurrency enabled; ensure resolving ESLint ≥9 in this package (relies on root).
Run the repo‑wide ESLint check script to validate.examples/svelte/load-more-infinite-scroll/package.json (1)
15-21
: Svelte/Vite/SvelteKit bumps LGTM; confirm no stragglers in other Svelte example packages.
Same matrix verification applies.examples/svelte/playground/package.json (1)
15-21
: Svelte/Vite toolchain LGTM — one example missing SvelteKit
.nvmrc = 24.8.0; all Svelte examples use Vite ^6.x and Svelte ^5.39.3. Confirm whether examples/svelte/simple/package.json intentionally omits @sveltejs/kit; if not, add @sveltejs/kit "^2.42.2".packages/query-codemods/package.json (1)
19-20
: Ensure ESLint ≥9 resolves for packages using --concurrencyRoot package.json declares eslint ^9.36.0. Automated scan in the sandbox failed (FD/read error); confirm every package that runs "eslint --concurrency" either declares eslint >=9 or inherits the root ^9.36.0 — e.g. packages/query-codemods/package.json (scripts.test:eslint = "eslint --concurrency=auto ./src").
packages/query-devtools/package.json (1)
20-20
: ESLint multithread linting: good change; supported in ESLint ≥9.34.The
--concurrency=auto
flag is valid and speeds up linting. Rooteslint
is ^9.36.0, so this is compatible. (eslint.org)If CI gets CPU‑oversubscribed (NX parallelism + ESLint workers), consider capping ESLint with
--concurrency <n>
or reducing NX parallelism for the lint target.packages/svelte-query/package.json (2)
21-21
: ESLint concurrency flag added correctly.Matches ESLint v9 CLI. No issues expected. (eslint.org)
55-57
: Svelte and svelte-check bumps look fine.Versions align with current ecosystem; peer range already covers Svelte 5. No action needed.
pnpm-workspace.yaml (2)
1-3
: Workspace settings are valid for pnpm 10.16.1.
cleanupUnusedCatalogs: true
requires pnpm ≥10.15; root pins pnpm 10.16.1, so this is supported. (pnpm.io)linkWorkspacePackages
andpreferWorkspacePackages
are recognized workspace settings. (pnpm.io)Please confirm CI’s install step filters what’s needed (e.g., pnpm --filter) if install time grows due to the expanded workspace.
8-14
: Expanded package globs and Vue exclusions look intentional.Including examples while excluding Vue 2/Nuxt is reasonable. Order with exclusions after inclusions is correct for pnpm workspaces. (pnpm.io)
package.json (2)
8-8
: pnpm pinned to 10.16.1 aligns with new workspace settings.Covers
cleanupUnusedCatalogs
introduced in pnpm 10.15.0. (pnpm.io)
42-79
: Tooling upgrades look good; add an engines guard and cap CI lint parallelism.
- Enforce Node >=18.18.0 in root package.json (ESLint 9 / Vite 6 require a modern Node runtime).
- Cap NX or ESLint concurrency in CI to avoid worker oversubscription when running lint tasks in parallel.
Apply (outside changed lines) to enforce Node ≥18.18:
"type": "module", + "engines": { + "node": ">=18.18.0" + }, "scripts": {Could not verify package pins in the workspace (no files found); confirm root package.json and run locally:
rg -nP '"eslint"\s*:\s*".*"' -g '!**/node_modules/**' rg -nP '"vite"\s*:\s*".*"' -g '!**/node_modules/**'examples/svelte/ssr/package.json (1)
15-22
: Confirm CI Node version matches .nvmrc (24.8.0)
- .nvmrc (repo root) = 24.8.0 — satisfies Vite 6 and ESLint 9.
- No GitHub Actions workflows found under .github/workflows; CI Node version not discoverable. Verify your CI (GitHub Actions, CircleCI, etc.) sets node-version >=18.18 (recommend matching .nvmrc, 24.8.0).
"@vitejs/plugin-react": "^4.3.4", | ||
"typescript": "5.8.3", | ||
"vite": "^6.2.4" | ||
"vite": "^6.3.6" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Vite minor bump.
LGTM. Please run example’s build locally once to catch plugin regressions.
🏁 Script executed:
#!/bin/bash
pnpm -w i
pnpm -w -r --filter @tanstack/query-example-react-devtools-panel build
Length of output: 4270
Build fails — add or fix @vitejs/plugin-react for the devtools-panel example
Vite build for examples/react/devtools-panel errors: vite.config.ts imports '@vitejs/plugin-react' but the package isn't installed. Add @vitejs/plugin-react to examples/react/devtools-panel devDependencies (or update vite.config.ts to use an available React plugin), then re-run the example build (pnpm -w -r --filter @tanstack/query-example-react-devtools-panel build).
"@vitejs/plugin-react": "^4.3.4", | ||
"typescript": "5.8.3", | ||
"vite": "^6.2.4" | ||
"vite": "^6.3.6" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Vite 6.3 bump approved.
All good here. Consider verifying TS type availability for React 19 across examples to avoid inconsistent DX. (react.dev)
🏁 Script executed:
#!/bin/bash
# Report packages declaring React 19 but not React 19 @types
fd -a package.json | xargs -I{} jq -r '
(.name // input_filename) as $f
| {f:$f, react: (.dependencies.react // .devDependencies.react),
tr: (.devDependencies["@types/react"]), trd: (.devDependencies["@types/react-dom"])}
| select(.react|tostring|test("^\\^?19") and ((.tr == null) or (.tr|startswith("^18")) or (.trd == null) or (.trd|startswith("^18"))))
'
Length of output: 0
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "PWD: $(pwd)"
echo "---- listing repo root ----"
ls -la | sed -n '1,200p'
echo "---- finding package.json files (excluding node_modules) ----"
mapfile -t files < <(find . -type f -name package.json -not -path "*/node_modules/*" 2>/dev/null || true)
if [ ${#files[@]} -eq 0 ]; then
echo "No package.json files found."
else
printf "%s\n" "${files[@]}"
fi
echo "---- show examples/react/simple/package.json if present ----"
if [ -f examples/react/simple/package.json ]; then
echo "FOUND: examples/react/simple/package.json"
if command -v jq >/dev/null 2>&1; then
jq -C . examples/react/simple/package.json
else
cat examples/react/simple/package.json
fi
else
echo "examples/react/simple/package.json not found"
fi
echo "---- scan all package.json files for react@^19 and their @types entries ----"
if [ ${#files[@]} -eq 0 ]; then
echo "No files to scan."
else
for f in "${files[@]}"; do
echo "---- $f ----"
if command -v jq >/dev/null 2>&1; then
jq -r '
{file: input_filename,
name:(.name//"unspecified"),
react:(.dependencies.react // .devDependencies.react // ""),
types_react:(.dependencies["@types/react"] // .devDependencies["@types/react"] // ""),
types_react_dom:(.dependencies["@types/react-dom"] // .devDependencies["@types/react-dom"] // "")}
| select(.react != "" and (.react|test("^\\^?19")))
| "\(.file)\t\(.name)\treact:\(.react)\t@types/react:\(.types_react)\t@types/react-dom:\(.types_react_dom)"' "$f" || true
else
# fallback: print lines that mention react or @types
rg --line-number --no-ignore-vcs --hidden -n '"react"\s*:\s*"' "$f" || true
rg --line-number --no-ignore-vcs --hidden -n '"@types/react"\s*:\s*"' "$f" || true
rg --line-number --no-ignore-vcs --hidden -n '"@types/react-dom"\s*:\s*"' "$f" || true
fi
done
fi
Length of output: 2290
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "PWD: $(pwd)"
echo "---- top-level listing ----"
ls -la | sed -n '1,200p'
tmp="$(mktemp)"
find . -type f -name package.json -not -path '*/node_modules/*' -print0 > "$tmp" || true
if [ ! -s "$tmp" ]; then
echo "No package.json files found."
rm -f "$tmp"
exit 0
fi
count=0
while IFS= read -r -d '' f; do count=$((count+1)); done < "$tmp"
echo "Found $count package.json files"
echo "---- show examples/react/simple/package.json (if present) ----"
if [ -f examples/react/simple/package.json ]; then
echo "FOUND: examples/react/simple/package.json"
if command -v jq >/dev/null 2>&1; then
jq -C . examples/react/simple/package.json
else
sed -n '1,200p' examples/react/simple/package.json
fi
else
echo "examples/react/simple/package.json not found"
fi
echo "---- scanning package.json files for react@^19 and @types entries ----"
while IFS= read -r -d '' f; do
echo "---- $f ----"
if command -v jq >/dev/null 2>&1; then
jq -r '{
file: input_filename,
name:(.name//"unspecified"),
react:(.dependencies.react // .devDependencies.react // ""),
types_react:(.dependencies["@types/react"] // .devDependencies["@types/react"] // ""),
types_react_dom:(.dependencies["@types/react-dom"] // .devDependencies["@types/react-dom"] // "")
} | select(.react != "" and (.react|test("^\\^?19")))
| "\(.file)\t\(.name)\treact:\(.react)\t@types/react:\(.types_react)\t@types/react-dom:\(.types_react_dom)"' "$f" || true
else
echo "jq not available; dumping matching lines:"
rg -n --hidden -n '"react"\s*:\s*"' "$f" || true
rg -n --hidden -n '"@types/react"' "$f" || true
rg -n --hidden -n '"@types/react-dom"' "$f" || true
fi
done < "$tmp"
rm -f "$tmp"
Length of output: 29503
🏁 Script executed:
#!/bin/bash
set -euo pipefail
tmp="$(mktemp)"
find . -type f -name package.json -not -path '*/node_modules/*' -print0 > "$tmp" || true
if [ ! -s "$tmp" ]; then
echo "No package.json files found."
rm -f "$tmp"
exit 0
fi
echo "Scanning package.json files for react@^19 (reporting @types/react, @types/react-dom, and typescript presence)..."
echo
cat "$tmp" | tr '\0' '\n' | while IFS= read -r f; do
node -e '
const fs = require("fs");
const p = process.argv[1];
try {
const j = JSON.parse(fs.readFileSync(p,"utf8"));
const react = (j.dependencies && j.dependencies.react) || (j.devDependencies && j.devDependencies.react) || "";
if (/^(\^)?19/.test(react)) {
const tr = (j.dependencies && j.dependencies["@types/react"]) || (j.devDependencies && j.devDependencies["@types/react"]) || "";
const trd = (j.dependencies && j.dependencies["@types/react-dom"]) || (j.devDependencies && j.devDependencies["@types/react-dom"]) || "";
const ts = (j.dependencies && j.dependencies.typescript) || (j.devDependencies && j.devDependencies.typescript) || "";
console.log(`${p}\treact:${react}\t@types/react:${tr}\t@types/react-dom:${trd}\ttypescript:${ts}`);
}
} catch (e) {
// ignore parse errors
}
' "$f"
done
rm -f "$tmp"
Length of output: 2950
Vite 6.3 bump — approved.
Action: update TypeScript types for React 19 — scan found multiple packages declaring react:^19.0.0 but missing @types or still on @types/*@^18; update to @types/react@^19 and @types/react-dom@^19 (or confirm intentional omission).
Missing both @types (update/add):
- examples/react/basic-graphql-request/package.json
- examples/react/chat/package.json
- examples/react/default-query-function/package.json
- examples/react/devtools-panel/package.json
- examples/react/offline/package.json
- examples/react/playground/package.json
- examples/react/react-native/package.json
- examples/react/rick-morty/package.json
- examples/react/simple/package.json
- examples/react/star-wars/package.json
- examples/react/suspense/package.json
- integrations/react-vite/package.json
- integrations/react-webpack-4/package.json
- integrations/react-webpack-5/package.json
Outdated @types (bumped to ^18 — needs bump to ^19):
- examples/react/algolia/package.json
- examples/react/basic/package.json
- examples/react/eslint-legacy/package.json
- examples/react/react-router/package.json
Missing only @types/react-dom (add @types/react-dom@^19):
- packages/react-query-devtools/package.json
- packages/react-query-next-experimental/package.json
- packages/react-query-persist-client/package.json
Already using @types@^19 (no action):
- examples/react/nextjs-app-prefetching/package.json
- examples/react/shadow-dom/package.json
- integrations/react-next-15/package.json
- packages/react-query/package.json
- package.json (root)
🤖 Prompt for AI Agents
In examples/react/simple/package.json around line 19, the project upgraded to
vite and indicates React ^19 is used but the package.json lacks corresponding
TypeScript types; add devDependencies @types/react@^19 and @types/react-dom@^19
(or confirm intentional omission) and ensure versions match React 19; apply the
same addition/update across the listed files that are missing types and bump any
@types/*@^18 entries to @types/*@^19 as noted in the review.
"vite": "^6.3.6", | ||
"vue-tsc": "^2.2.8" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Vue + Vite 6: plugin-vue 5.2.1 adds Vite 6 to peers.
This pairing is supported. As a follow‑up, verify other examples use compatible plugin versions (react/vite-plugin-solid). (gitlab.rubend.nl)
If any esbuild < 0.25.0 is resolved, pin via overrides to ≥0.25.0 to address the dev‑server CORS vuln. (github.com)
🏁 Script executed:
#!/bin/bash
# Show vite and plugin versions declared across the repo
fd -a package.json | xargs -I {} sh -c 'jq -r "\"{}\"\"\t\"+(.devDependencies.vite // .dependencies.vite // empty)+\"\t\"+(.devDependencies[\"@vitejs/plugin-react\"] // empty)+\"\t\"+(.devDependencies[\"@vitejs/plugin-vue\"] // empty)+\"\t\"+(.devDependencies[\"vite-plugin-solid\"] // empty)" {}' 2>/dev/null | rg -v '\t$' || true
# If pnpm-lock.yaml exists, surface resolved esbuild entries to ensure >=0.25.0 (fixes GHSA-67mh-4wv8-2f99)
test -f pnpm-lock.yaml && rg -nP 'esbuild@.*:' pnpm-lock.yaml | head -n 50 || true
Length of output: 583
Approve Vue + Vite 6; fix esbuild <0.25.0 in lockfile
- Vite 6 + plugin-vue 5.2.1 pairing supported.
- pnpm-lock.yaml resolves [email protected] and [email protected] (vulnerable — GHSA-67mh-4wv8-2f99); add overrides to force esbuild ≥0.25.0.
- Verify other examples (react, vite-plugin-solid) use plugin versions compatible with Vite 6.
🤖 Prompt for AI Agents
In integrations/vue-vite/package.json around lines 15-16, the pnpm lockfile
currently resolves [email protected] and 0.24.2 which are vulnerable; add a
top-level overrides entry to force esbuild to >=0.25.0 (e.g. add an "overrides"
object mapping "esbuild" to ">=0.25.0"), then regenerate the lockfile (pnpm
install) to ensure the older vulnerable versions are replaced; also review
related example packages (react, vite-plugin-solid) to confirm plugin versions
are compatible with Vite 6 and update their package.json entries if needed.
🎯 Changes
✅ Checklist
Summary by CodeRabbit