Conversation
# Conflicts: # pnpm-lock.yaml
|
|
View your CI Pipeline Execution ↗ for commit 4357bdf
☁️ Nx Cloud last updated this comment at |
📝 WalkthroughWalkthroughUpdated TypeScript test matrix (removed TS 5.0–5.3, added TS 5.8–6.0/RC), bumped default TypeScript to 5.9.x, switched tsup config outputs from Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This reverts commit 45d428c. # Conflicts: # packages/preact-query/src/useQuery.ts
size-limit report 📦
|
There was a problem hiding this comment.
Actionable comments posted: 8
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@package.json`:
- Line 82: The package.json alias "typescript60" currently points to the
prerelease "npm:typescript@6.0.1-rc"; update this to clearly indicate it's an RC
and add a TODO to switch to a stable 6.0.x when published — either rename the
alias to "typescript60-rc" (referencing the "typescript60" key and its value
"npm:typescript@6.0.1-rc") or add a nearby note in project docs/README calling
out that this lane exercises prerelease behavior and commit to updating the
alias value to "npm:typescript@6.0.x" once a stable release is available.
In `@packages/angular-query-experimental/tsup.config.ts`:
- Line 8: Remove the dead tsup.config.ts file because this package uses Vite and
vite-plugin-dts for builds and type declarations; the orphaned configuration
(including the experimentalDts option) is unused and should be deleted to avoid
confusion. Locate the tsup.config.ts file (which contains the experimentalDts:
true setting) and remove the file from the repository and any mention of it in
package metadata or scripts if present. Ensure Vite build and vite-plugin-dts
remain the authoritative config for types and that no build scripts reference
tsup.config.ts before committing.
In `@packages/eslint-plugin-query/package.json`:
- Around line 26-29: Update the package.json peerDependencies entry for
TypeScript to reflect the new minimum supported compiler (bumping it from
"typescript": "^5.0.0") so consumers get an install-time signal; locate the
peerDependencies block in packages/eslint-plugin-query/package.json and change
the TypeScript range to require at least 5.4 (for example "typescript": "^5.4.0"
or an equivalent range that enforces >=5.4) so it aligns with the updated test
matrix.
In `@packages/preact-query-devtools/package.json`:
- Line 29: The "test:types:ts60" npm script currently runs tsc without the
legacy config and therefore doesn't exercise tsconfig.legacy.json; update the
script "test:types:ts60" so it invokes the typescript60 compiler with the legacy
tsconfig (for example by adding --build tsconfig.legacy.json or passing the
legacy config as the project) so TS 6.0 type-check runs against the legacy
surface the same way ts54–ts59 do.
In `@packages/query-core/package.json`:
- Line 29: The test script "test:types:ts60" currently invokes the TypeScript
6.0 tsc without pointing at the legacy project, causing it to build the default
tsconfig instead of the legacy surface; update the "test:types:ts60" npm script
in package.json so it runs the 6.0 compiler with a --build against
tsconfig.legacy.json (same pattern used by the other test:types:* scripts) to
restore coverage for the legacy config.
In `@packages/react-query-persist-client/package.json`:
- Line 29: Update the npm script named "test:types:ts60" so it uses the legacy
TypeScript config like the other versioned scripts: change its command to run
the tsc build with tsconfig.legacy.json (same pattern used by
"test:types:ts54"..."test:types:ts59") so ts60 runs the legacy config check
rather than duplicating "test:types:tscurrent"; locate the "test:types:ts60"
entry in package.json and append or replace the build invocation to reference
tsconfig.legacy.json.
In `@packages/solid-query/package.json`:
- Line 29: Update the "test:types:ts60" npm script so it uses the legacy
tsconfig like the other legacy test scripts: change the command that currently
runs node ../../node_modules/typescript60/lib/tsc.js --build to include the
tsconfig.legacy.json project (e.g., node
../../node_modules/typescript60/lib/tsc.js --build tsconfig.legacy.json) so the
"test:types:ts60" script validates the same configuration surface as the other
legacy TypeScript tests.
In `@packages/vue-query/package.json`:
- Line 29: The package.json script "test:types:ts60" currently invokes the
default TypeScript build; change it to run the same legacy config as the other
matrix entries by pointing the ts60 runner at tsconfig.legacy.json (e.g. use the
--build target for tsconfig.legacy.json when running node
../../node_modules/typescript60/lib/tsc.js). Update the "test:types:ts60" script
so it references tsconfig.legacy.json instead of the default build file to
ensure TS 6 exercises the legacy compatibility surface.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 3ae0b3d3-d262-438b-8b65-bbde0b1fc790
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (39)
.github/renovate.jsondocs/framework/react/typescript.mddocs/framework/solid/typescript.mdpackage.jsonpackages/angular-query-experimental/package.jsonpackages/angular-query-experimental/tsup.config.tspackages/angular-query-persist-client/package.jsonpackages/angular-query-persist-client/tsup.config.tspackages/eslint-plugin-query/package.jsonpackages/eslint-plugin-query/root.tsup.config.jspackages/preact-query-devtools/package.jsonpackages/preact-query-devtools/root.tsup.config.jspackages/preact-query-devtools/tsconfig.prod.jsonpackages/preact-query-persist-client/package.jsonpackages/preact-query/package.jsonpackages/query-async-storage-persister/package.jsonpackages/query-broadcast-client-experimental/package.jsonpackages/query-core/package.jsonpackages/query-devtools/package.jsonpackages/query-devtools/tsup.config.tspackages/query-persist-client-core/package.jsonpackages/query-sync-storage-persister/package.jsonpackages/query-test-utils/package.jsonpackages/react-query-devtools/package.jsonpackages/react-query-devtools/tsconfig.prod.jsonpackages/react-query-next-experimental/package.jsonpackages/react-query-persist-client/package.jsonpackages/react-query/package.jsonpackages/solid-query-devtools/package.jsonpackages/solid-query-devtools/tsup.config.tspackages/solid-query-persist-client/package.jsonpackages/solid-query-persist-client/tsup.config.tspackages/solid-query/package.jsonpackages/solid-query/tsup.config.tspackages/svelte-query-devtools/package.jsonpackages/svelte-query-persist-client/package.jsonpackages/svelte-query/package.jsonpackages/vue-query/package.jsonscripts/getTsupConfig.js
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/framework/react/typescript.md`:
- Around line 10-11: Update the two bullets that hard-code TypeScript versions:
replace the first bullet ("TanStack Query follows... TypeScript 5.4 and newer")
with a relative statement that we follow DefinitelyTyped's support window
(TypeScript releases within the last 2 years) instead of listing a specific
minimum version, and update the second bullet ("The current stable compiler lane
is TypeScript 5.9... ts60 test lane against TypeScript 6.0.1-rc") to describe
the lanes generically (e.g., "stable compiler lane (current stable) and a
separate ts60 test lane that uses the typescript@rc tag for pre-release
testing") so the doc references the policy and test lanes rather than pinning
moving version numbers.
In `@docs/framework/solid/typescript.md`:
- Around line 10-11: Update the guidance to avoid hardcoded dates and specific
RC patch names: rephrase the first sentence to state that TanStack Query follows
DefinitelyTyped's rolling support window of TypeScript versions released within
the last two years (do not assert “5.4 and newer” as a fixed floor), and change
the ts60 lane description to refer generically to the TypeScript 6 release
candidate (e.g., “TypeScript 6 RC / typescript@rc”) and that the lane will
switch to a stable 6.0.x once released, rather than naming a specific RC patch
like “6.0.1-rc”; adjust the two sentences currently mentioning “5.4 and newer”
and “6.0.1-rc” accordingly.
In `@packages/eslint-plugin-query/package.json`:
- Line 72: package.json's typescript peer dependency was bumped to ^5.4.0 but
the pnpm lockfile still records the old ^5.0.0 specifier; run pnpm install at
the repo root to regenerate pnpm-lock.yaml so it matches the updated
"typescript" spec in packages/eslint-plugin-query/package.json, verify the
lockfile now contains ^5.4.0, and commit the updated pnpm-lock.yaml alongside
the package.json change.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 92e8d71d-104e-4507-b8ad-dce078066440
📒 Files selected for processing (9)
docs/framework/react/typescript.mddocs/framework/solid/typescript.mdpackages/angular-query-experimental/tsup.config.tspackages/eslint-plugin-query/package.jsonpackages/preact-query-devtools/package.jsonpackages/query-core/package.jsonpackages/react-query-persist-client/package.jsonpackages/solid-query/package.jsonpackages/vue-query/package.json
💤 Files with no reviewable changes (1)
- packages/angular-query-experimental/tsup.config.ts
🚧 Files skipped from review as they are similar to previous changes (4)
- packages/preact-query-devtools/package.json
- packages/query-core/package.json
- packages/solid-query/package.json
- packages/vue-query/package.json
There was a problem hiding this comment.
♻️ Duplicate comments (2)
docs/framework/solid/typescript.md (1)
10-10:⚠️ Potential issue | 🟡 MinorAvoid hard-coding a moving TypeScript floor here.
This sentence now contradicts the policy it references: DefinitelyTyped supports versions that are less than 2 years old, and TypeScript 5.4 was released on March 6, 2024, so
5.4 and neweris already stale on March 8, 2026. I'd keep this phrased purely in terms of the rolling support window instead of naming a concrete minimum. (github.com)✏️ Suggested wording
-- TanStack Query follows [DefinitelyTyped's support window](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) and supports TypeScript versions released within the last 2 years. At the moment, that means TypeScript **5.4** and newer. +- TanStack Query follows [DefinitelyTyped's support window](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) and supports TypeScript versions released within the last 2 years.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/framework/solid/typescript.md` at line 10, The sentence that hard-codes "TypeScript **5.4** and newer" contradicts the referenced DefinitelyTyped rolling support window; change the wording in docs/framework/solid/typescript.md to remove the concrete version and instead state that TanStack Query follows DefinitelyTyped's support window (supporting TypeScript releases within the last two years) — replace the phrase "TypeScript **5.4** and newer" with a description like "the current two‑year support window used by DefinitelyTyped" so the text remains correct over time.docs/framework/react/typescript.md (1)
10-10:⚠️ Potential issue | 🟡 MinorThis minimum version will drift out of sync with the policy again.
The first half of the bullet is correct, but the explicit
TypeScript 5.4 and newerfloor is already outdated relative to DefinitelyTyped's rolling< 2 years oldwindow. Since TypeScript 5.4 shipped on March 6, 2024, that wording is stale as of March 8, 2026. I'd document only the policy, not a fixed cutoff. (github.com)✏️ Suggested wording
-- TanStack Query follows [DefinitelyTyped's support window](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) and supports TypeScript versions released within the last 2 years. At the moment, that means TypeScript **5.4** and newer. +- TanStack Query follows [DefinitelyTyped's support window](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) and supports TypeScript versions released within the last 2 years.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/framework/react/typescript.md` at line 10, Remove the hardcoded “TypeScript 5.4 and newer” floor and instead state the policy-only wording: update the sentence that currently includes "TypeScript 5.4 and newer" to say that "TanStack Query follows DefinitelyTyped's support window and supports TypeScript versions released within the last 2 years" (i.e., reference the rolling <2 years policy rather than a fixed version). Ensure the revised text replaces the exact phrase "TypeScript 5.4 and newer" in the document so the guidance won’t drift out of sync.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@docs/framework/react/typescript.md`:
- Line 10: Remove the hardcoded “TypeScript 5.4 and newer” floor and instead
state the policy-only wording: update the sentence that currently includes
"TypeScript 5.4 and newer" to say that "TanStack Query follows DefinitelyTyped's
support window and supports TypeScript versions released within the last 2
years" (i.e., reference the rolling <2 years policy rather than a fixed
version). Ensure the revised text replaces the exact phrase "TypeScript 5.4 and
newer" in the document so the guidance won’t drift out of sync.
In `@docs/framework/solid/typescript.md`:
- Line 10: The sentence that hard-codes "TypeScript **5.4** and newer"
contradicts the referenced DefinitelyTyped rolling support window; change the
wording in docs/framework/solid/typescript.md to remove the concrete version and
instead state that TanStack Query follows DefinitelyTyped's support window
(supporting TypeScript releases within the last two years) — replace the phrase
"TypeScript **5.4** and newer" with a description like "the current two‑year
support window used by DefinitelyTyped" so the text remains correct over time.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 2974b57d-8d56-4be3-824c-53ffa46c8350
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (2)
docs/framework/react/typescript.mddocs/framework/solid/typescript.md
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
package.json (1)
82-102:⚠️ Potential issue | 🟡 Minortypescript60 RC is safely isolated to type-checking; clarify intent to prevent future mixing.
The
typescript60alias is currently used only in isolatedtest:types:ts60scripts for pure type-checking viatsc, not combined with eslint or other parser-based checks. However, sincetypescript-eslintat8.56.1officially supports only>=4.8.4 <6.0.0, clarify in comments or CI configuration that the TS 6 RC lane explicitly excludes parser jobs to prevent future accidental breakage.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@package.json` around lines 82 - 102, The typescript60 alias is only intended for isolated type-checking (used by the test:types:ts60 script) and must not be used with parser-based tools supported by typescript-eslint; update project docs and CI so the TS 6 RC lane explicitly excludes eslint/parser jobs: add a short note in the repository README (or package.json scripts comment block stored in docs) calling out that "typescript60" is for isolated tsc runs only, and modify your CI workflow job(s) that reference test:types:ts60 to skip any steps that run eslint/@typescript-eslint (the typescript-eslint override entries); ensure CI uses a separate job name for the ts60 lane so parser-based checks continue to run against the supported TS versions.
🤖 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 `@package.json`:
- Around line 82-102: The typescript60 alias is only intended for isolated
type-checking (used by the test:types:ts60 script) and must not be used with
parser-based tools supported by typescript-eslint; update project docs and CI so
the TS 6 RC lane explicitly excludes eslint/parser jobs: add a short note in the
repository README (or package.json scripts comment block stored in docs) calling
out that "typescript60" is for isolated tsc runs only, and modify your CI
workflow job(s) that reference test:types:ts60 to skip any steps that run
eslint/@typescript-eslint (the typescript-eslint override entries); ensure CI
uses a separate job name for the ts60 lane so parser-based checks continue to
run against the supported TS versions.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 83d163bc-2982-4643-9acf-b0a497030808
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (1)
package.json
Summary by CodeRabbit
Chores
Documentation