-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
docs: correct local relative links #9947
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
|
WalkthroughSystematically updates relative documentation link paths across 80+ files from longer patterns (e.g., Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ 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)
Comment |
|
View your CI Pipeline Execution ↗ for commit 733ae16
☁️ Nx Cloud last updated this comment at |
|
Sizes for commit 733ae16:
|
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: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
scripts/verify-links.ts (1)
30-86: Fix cross-platform path separator issues in example link checkingThe function's relative link resolution logic has a cross-platform compatibility issue:
absPath.includes('/examples/')and the regex\/docs\/framework\/([^/]+)\/examples\/both assume forward slashes, but Node.js'spath.resolve()returns OS-specific separators. On Windows, resolved paths use backslashes (\), causing these checks to fail.This means valid example links on Windows will be misclassified as non-examples, get
.mdappended, fail existence checks, and trigger false "Not found" errors—bugs that won't appear during development on Linux/macOS.To fix: normalize
absPathto POSIX style usingabsPath.replaceAll(path.sep, '/')before the/examples/checks, or switch topath.posixthroughout path operations to ensure consistent forward slashes.
🧹 Nitpick comments (6)
docs/framework/react/guides/prefetching.md (1)
366-373: Relative example link is good; optional wording polishThe new relative link to
../examples/basic-react-query-file-basedmatches the examples folder layout and the updated link verifier.If you’re touching this line again, you could also tighten the prose a bit, e.g.:
For now, let’s focus on the client-side case and look at an example of how you can make this work with TanStack Router. These examples omit some setup and boilerplate to stay concise; you can check out a full React Query example in the TanStack Router docs.
Purely stylistic; no need to change unless you care about the wording.
scripts/verify-links.ts (5)
7-12: Structured error shape is helpful; consider scopingerrorsThe more detailed error objects (
file,link,resolvedPath,reason) are great for debugging bad links.If you ever want to reuse
verifyMarkdownLinksor its helpers (e.g. in tests), consider scopingerrorsinsideverifyMarkdownLinksand passing it intorelativeLinkExistsinstead of keeping it as global mutable state. That keeps the script more testable and avoids stale state if the function is ever called more than once.
14-23: Relative-link filter looks good; optional extra schemesThe updated
isRelativeLinkcorrectly filters out absolute paths, external URLs, fragments, andmailto:links, which fits the new “local relative only” goal.If your docs ever use other non-HTTP schemes (like
tel:orjavascript:), you may want to extend this guard to exclude them as well so they don’t get misclassified as relative links.
25-28:stripExtensionbehavior vs. comment
stripExtensionworks fine, but the comment says “Remove any trailing .md” while the implementation strips whatever extensionextnamereturns (e.g..mdxas well).Either adjust the comment to something like “Remove any trailing extension” or, if you truly only want to strip
.md, guard explicitly on that.
88-119: Main verification loop aligns with new policy; minor behavioral notesThe main loop now:
- Extracts all links.
- Filters down to
isRelativeLink.- Enforces that relative links must start with
./or../.- Delegates existence checks to
relativeLinkExists.This matches the goal of focusing on local relative links and helps surface inconsistent patterns (
foo.mdvs./foo.md).Two optional considerations:
- The hard requirement that all relative links start with
.//../is stricter than typical Markdown usage; if you have existing baressr.md-style links, they will now error even if valid. That may be desired, but it’s worth double‑checking.- Because unexpected runtime failures are caught via
.catch(console.error), such failures will not cause a non‑zero exit code unlesserrorsalready contains entries, which can hide broken behavior in CI. If you want any unexpected exception to fail the check, you might want toprocess.exit(1)in thecatchor rethrow after logging.Both are small behavioral choices, but good to be explicit about.
122-135: Error reporting is clear; consider failing on unexpected exceptionsThe per‑error report format (
file,link,resolved,why) is very readable and should make broken links easy to fix.The final
verifyMarkdownLinks().catch(console.error)will log unexpected exceptions but not fail the process with a non‑zero exit code. For a verification script that gates CI, you may want unexpected errors to fail the run as well (e.g.catch(err => { console.error(err); process.exit(1) })).
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
docs/framework/react/guides/prefetching.md(1 hunks)docs/framework/solid/guides/prefetching.md(1 hunks)scripts/verify-links.ts(5 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/framework/react/guides/prefetching.md
[grammar] ~372-~372: Use a hyphen to join words.
Context: ...md). For now, let's focus on the client side case and look at an example of how ...
(QB_NEW_EN_HYPHEN)
[style] ~372-~372: To strengthen your wording, consider replacing the phrasal verb “leave out”.
Context: ...://tanstack.com/router). These examples leave out a lot of setup and boilerplate to stay ...
(OMIT_EXCLUDE)
⏰ 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 (1)
docs/framework/solid/guides/prefetching.md (1)
5-15: Relative example mapping looks correctThe new
../examples/basic-*-file-basedmapping is consistent with the move to local relative example links and keeps the Solid guide aligned with the React source doc.
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
🧹 Nitpick comments (13)
docs/framework/vue/quick-start.md (1)
10-10: Minor: Consider using more idiomatic phrasing.The phrase "have a look at" can be replaced with the more common American English phrasing "take a look at" for consistency with typical documentation style. This is a low-priority style improvement and can be deferred if not part of the PR's scope.
Apply this diff to improve the phrasing:
-If you're looking for a fully functioning example, please have a look at our [basic codesandbox example](./examples/basic) +If you're looking for a fully functioning example, please take a look at our [basic codesandbox example](./examples/basic)docs/framework/angular/guides/mutation-options.md (1)
6-8: Minor: Consider concise phrasing.The phrase "a lot of advantages" can be tightened. Consider using "numerous" or "significant advantages" instead.
docs/framework/react/guides/migrating-to-react-query-4.md (1)
113-113: Minor: American English phrasing.Consider using "take a look at" instead of "have a look at" for consistency with American English conventions.
- Also, have a look at [the guide on dependent queries](./dependent-queries.md) + Also, take a look at [the guide on dependent queries](./dependent-queries.md)docs/framework/svelte/ssr.md (1)
37-37: Minor style improvement: Update phrase for American English consistency.The static analysis tool flags "have a look" as non-standard for American English; "take a look" is the preferred phrasing.
-If you wish to view the ideal SSR setup, please have a look at the [SSR example](./examples/ssr). +If you wish to view the ideal SSR setup, please take a look at the [SSR example](./examples/ssr).docs/framework/svelte/overview.md (1)
54-54: Verify the link target exists at the new path + minor style improvement.The link has been updated to
./ssr. This assumes the target file exists atdocs/framework/svelte/ssr.md. Confirm this path is correct and the file exists.Additionally, the static analysis tool flags "have a look" as non-standard for American English; "take a look" is the preferred phrasing.
-If you are using SvelteKit, please have a look at [SSR & SvelteKit](./ssr). +If you are using SvelteKit, please take a look at [SSR & SvelteKit](./ssr).docs/framework/angular/installation.md (1)
34-34: Minor style suggestion: "take a look" is more natural than "have a look" in American English.Consider rephrasing "have a look" to "take a look" for consistency with standard American English phrasing, though this is a very low-priority editorial note.
docs/framework/angular/quick-start.md (1)
10-10: Minor style suggestion: "take a look" is more natural than "have a look" in American English.Consider rephrasing "have a look" to "take a look" for consistency with standard American English phrasing. This is a very low-priority editorial refinement.
docs/reference/QueriesObserver.md (1)
24-24: Optional: Consider more concise phrasing for redundant comparison.The phrase "exactly the same as" could be slightly more concise (e.g., "the same as" or "match"), though this is very minor editorial feedback.
docs/reference/InfiniteQueryObserver.md (1)
26-26: Link path reduction is correct; consider addressing wordiness hint.The path change from
../../framework/react/reference/useInfiniteQueryto../framework/react/reference/useInfiniteQuerycorrectly reduces depth by one level and should resolve to the intended target. However, the static analysis tool flags "exactly the same" as potentially wordy—consider using a more concise phrasing like "identical" or rephrasing the sentence.docs/framework/react/reference/useSuspenseQuery.md (1)
18-18: Address markdown lint issue: emphasis should be a heading.Line 18 uses bold emphasis (
**Caveat**) but the markdown linter (MD036) flags this as a candidate for conversion to a proper markdown heading (e.g.,### Caveat). Consider restructuring for consistency with other section headings in the document.-**Caveat** +### Caveatdocs/framework/solid/installation.md (1)
34-34: Link paths are correct; note that informal language is present.The changes from
../examples/simpleand../examples/basicto./examples/simpleand./examples/basiccorrectly reference examples in the same directory. The static analysis tool flags "Wanna" as informal, but this conversational tone may be acceptable for installation guide documentation. Consider whether your documentation style guide prefers more formal language here (e.g., "Want to give it a spin before you download?").scripts/verify-links.ts (1)
25-28: Minor edge case instripExtension: non-anchored replacement.
String.replacewithout$anchor may incorrectly strip if the extension substring appears mid-path (e.g.,docs/.md/file.md→docs//file). Consider anchoring to end:function stripExtension(p: string): string { - return p.replace(`${extname(p)}`, '') + const ext = extname(p) + return ext ? p.slice(0, -ext.length) : p }docs/framework/react/quick-start.md (1)
14-14: Optional: Consider American English preference for phrasing.The static analysis tool flags that "take a look" is more commonly used in American English than "have a look."
If you'd like to align with American English conventions, consider this optional change:
-If you're looking for a fully functioning example, please have a look at our [simple StackBlitz example](./examples/simple) +If you're looking for a fully functioning example, please take a look at our [simple StackBlitz example](./examples/simple)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (99)
docs/eslint/eslint-plugin-query.md(1 hunks)docs/framework/angular/guides/caching.md(3 hunks)docs/framework/angular/guides/invalidations-from-mutations.md(1 hunks)docs/framework/angular/guides/mutation-options.md(1 hunks)docs/framework/angular/installation.md(1 hunks)docs/framework/angular/overview.md(1 hunks)docs/framework/angular/quick-start.md(1 hunks)docs/framework/angular/reference/functions/infiniteQueryOptions.md(3 hunks)docs/framework/angular/reference/functions/injectInfiniteQuery.md(3 hunks)docs/framework/angular/reference/functions/injectIsFetching.md(1 hunks)docs/framework/angular/reference/functions/injectIsMutating.md(1 hunks)docs/framework/angular/reference/functions/injectIsRestoring.md(1 hunks)docs/framework/angular/reference/functions/injectMutation.md(1 hunks)docs/framework/angular/reference/functions/injectMutationState.md(1 hunks)docs/framework/angular/reference/functions/injectQuery.md(3 hunks)docs/framework/angular/reference/functions/mutationOptions.md(2 hunks)docs/framework/angular/reference/functions/provideQueryClient.md(1 hunks)docs/framework/angular/reference/functions/provideTanStackQuery.md(1 hunks)docs/framework/angular/reference/functions/queryFeature.md(1 hunks)docs/framework/angular/reference/functions/queryOptions.md(3 hunks)docs/framework/angular/reference/index.md(1 hunks)docs/framework/angular/reference/interfaces/BaseQueryNarrowing.md(3 hunks)docs/framework/angular/reference/interfaces/CreateQueryOptions.md(1 hunks)docs/framework/angular/reference/type-aliases/CreateMutationResult.md(1 hunks)docs/framework/angular/reference/type-aliases/QueryFeatures.md(1 hunks)docs/framework/react/guides/advanced-ssr.md(3 hunks)docs/framework/react/guides/caching.md(2 hunks)docs/framework/react/guides/dependent-queries.md(1 hunks)docs/framework/react/guides/important-defaults.md(2 hunks)docs/framework/react/guides/initial-query-data.md(1 hunks)docs/framework/react/guides/invalidations-from-mutations.md(1 hunks)docs/framework/react/guides/migrating-to-react-query-3.md(1 hunks)docs/framework/react/guides/migrating-to-react-query-4.md(11 hunks)docs/framework/react/guides/migrating-to-v5.md(5 hunks)docs/framework/react/guides/mutations.md(4 hunks)docs/framework/react/guides/network-mode.md(3 hunks)docs/framework/react/guides/placeholder-query-data.md(2 hunks)docs/framework/react/guides/prefetching.md(6 hunks)docs/framework/react/guides/queries.md(2 hunks)docs/framework/react/guides/query-functions.md(1 hunks)docs/framework/react/guides/query-invalidation.md(1 hunks)docs/framework/react/guides/query-keys.md(1 hunks)docs/framework/react/guides/query-options.md(2 hunks)docs/framework/react/guides/render-optimizations.md(1 hunks)docs/framework/react/guides/request-waterfalls.md(8 hunks)docs/framework/react/guides/ssr.md(6 hunks)docs/framework/react/guides/suspense.md(3 hunks)docs/framework/react/guides/updates-from-mutation-responses.md(1 hunks)docs/framework/react/installation.md(2 hunks)docs/framework/react/overview.md(1 hunks)docs/framework/react/plugins/createAsyncStoragePersister.md(2 hunks)docs/framework/react/plugins/createSyncStoragePersister.md(2 hunks)docs/framework/react/plugins/persistQueryClient.md(6 hunks)docs/framework/react/quick-start.md(1 hunks)docs/framework/react/reference/infiniteQueryOptions.md(1 hunks)docs/framework/react/reference/mutationOptions.md(1 hunks)docs/framework/react/reference/queryOptions.md(1 hunks)docs/framework/react/reference/useInfiniteQuery.md(2 hunks)docs/framework/react/reference/useIsFetching.md(1 hunks)docs/framework/react/reference/useIsMutating.md(1 hunks)docs/framework/react/reference/useMutation.md(2 hunks)docs/framework/react/reference/useMutationState.md(1 hunks)docs/framework/react/reference/usePrefetchInfiniteQuery.md(2 hunks)docs/framework/react/reference/usePrefetchQuery.md(1 hunks)docs/framework/react/reference/useQueries.md(1 hunks)docs/framework/react/reference/useQuery.md(3 hunks)docs/framework/react/reference/useSuspenseInfiniteQuery.md(3 hunks)docs/framework/react/reference/useSuspenseQueries.md(3 hunks)docs/framework/react/reference/useSuspenseQuery.md(2 hunks)docs/framework/react/typescript.md(2 hunks)docs/framework/solid/guides/suspense.md(1 hunks)docs/framework/solid/installation.md(1 hunks)docs/framework/solid/reference/useQuery.md(3 hunks)docs/framework/solid/typescript.md(2 hunks)docs/framework/svelte/installation.md(1 hunks)docs/framework/svelte/overview.md(2 hunks)docs/framework/svelte/reference/functions/createInfiniteQuery.md(1 hunks)docs/framework/svelte/reference/functions/createMutation.md(1 hunks)docs/framework/svelte/reference/functions/createQueries.md(1 hunks)docs/framework/svelte/reference/functions/createQuery.md(3 hunks)docs/framework/svelte/reference/functions/infiniteQueryOptions.md(1 hunks)docs/framework/svelte/reference/functions/queryOptions.md(2 hunks)docs/framework/svelte/reference/functions/useMutationState.md(1 hunks)docs/framework/svelte/reference/index.md(1 hunks)docs/framework/svelte/ssr.md(1 hunks)docs/framework/vue/guides/ssr.md(1 hunks)docs/framework/vue/guides/suspense.md(1 hunks)docs/framework/vue/installation.md(1 hunks)docs/framework/vue/overview.md(1 hunks)docs/framework/vue/quick-start.md(1 hunks)docs/framework/vue/reactivity.md(1 hunks)docs/reference/InfiniteQueryObserver.md(1 hunks)docs/reference/QueriesObserver.md(1 hunks)docs/reference/QueryCache.md(2 hunks)docs/reference/QueryClient.md(15 hunks)docs/reference/QueryObserver.md(1 hunks)docs/reference/streamedQuery.md(1 hunks)scripts/generate-docs.ts(0 hunks)scripts/verify-links.ts(5 hunks)
💤 Files with no reviewable changes (1)
- scripts/generate-docs.ts
✅ Files skipped from review due to trivial changes (34)
- docs/framework/react/guides/initial-query-data.md
- docs/framework/angular/guides/invalidations-from-mutations.md
- docs/framework/angular/overview.md
- docs/framework/vue/reactivity.md
- docs/framework/vue/installation.md
- docs/framework/angular/reference/functions/injectMutationState.md
- docs/framework/vue/guides/ssr.md
- docs/framework/react/guides/updates-from-mutation-responses.md
- docs/framework/vue/overview.md
- docs/framework/react/reference/useIsMutating.md
- docs/reference/streamedQuery.md
- docs/framework/angular/reference/functions/injectIsMutating.md
- docs/framework/angular/reference/functions/mutationOptions.md
- docs/framework/svelte/reference/functions/createQueries.md
- docs/eslint/eslint-plugin-query.md
- docs/framework/react/reference/infiniteQueryOptions.md
- docs/framework/react/guides/dependent-queries.md
- docs/framework/angular/reference/functions/injectIsRestoring.md
- docs/framework/angular/reference/type-aliases/QueryFeatures.md
- docs/framework/react/plugins/createSyncStoragePersister.md
- docs/framework/react/overview.md
- docs/framework/angular/reference/functions/provideTanStackQuery.md
- docs/framework/react/reference/useSuspenseInfiniteQuery.md
- docs/framework/solid/typescript.md
- docs/framework/react/reference/useQueries.md
- docs/framework/vue/guides/suspense.md
- docs/framework/react/reference/mutationOptions.md
- docs/framework/react/reference/useInfiniteQuery.md
- docs/framework/react/guides/migrating-to-react-query-3.md
- docs/framework/angular/reference/interfaces/BaseQueryNarrowing.md
- docs/framework/angular/reference/index.md
- docs/framework/react/plugins/persistQueryClient.md
- docs/framework/react/guides/caching.md
- docs/framework/react/guides/ssr.md
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-11-02T22:52:33.071Z
Learnt from: DogPawHat
Repo: TanStack/query PR: 9835
File: packages/query-core/src/__tests__/queryClient.test-d.tsx:242-256
Timestamp: 2025-11-02T22:52:33.071Z
Learning: In the TanStack Query codebase, the new `query` and `infiniteQuery` methods support the `select` option for data transformation, while the legacy `fetchQuery` and `fetchInfiniteQuery` methods do not support `select` and should reject it at the type level.
Applied to files:
docs/framework/svelte/reference/functions/createInfiniteQuery.mddocs/framework/react/guides/render-optimizations.mddocs/framework/react/reference/usePrefetchInfiniteQuery.mddocs/framework/react/guides/query-options.mddocs/framework/svelte/reference/functions/infiniteQueryOptions.mddocs/reference/QueryClient.mddocs/framework/react/reference/useMutationState.mddocs/framework/react/guides/migrating-to-v5.mddocs/framework/react/reference/useSuspenseQueries.mddocs/framework/solid/reference/useQuery.mddocs/framework/angular/reference/functions/injectInfiniteQuery.mddocs/framework/svelte/overview.md
📚 Learning: 2025-09-02T17:57:33.184Z
Learnt from: TkDodo
Repo: TanStack/query PR: 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:
docs/framework/react/installation.md
📚 Learning: 2025-11-22T09:06:05.219Z
Learnt from: sukvvon
Repo: TanStack/query PR: 9892
File: packages/solid-query-persist-client/src/__tests__/PersistQueryClientProvider.test.tsx:331-335
Timestamp: 2025-11-22T09:06:05.219Z
Learning: In TanStack/query test files, when a queryFn contains side effects (e.g., setting flags for test verification), prefer async/await syntax for clarity; when there are no side effects, prefer the .then() pattern for conciseness.
Applied to files:
docs/framework/react/installation.mddocs/reference/QueryClient.mddocs/framework/svelte/overview.md
🪛 LanguageTool
docs/framework/solid/installation.md
[style] ~34-~34: The word ‘wanna’ is informal.
Context: ...sh bun add @tanstack/solid-query ``` > Wanna give it a spin before you download? Try...
(WANNA)
docs/framework/react/guides/placeholder-query-data.md
[style] ~57-~57: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ...r Data as a Function placeholderData can also be a function, where you can get a...
(MISSING_IT_THERE)
[style] ~57-~57: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...This is useful for situations where you want to use the data from one query as the plac...
(REP_WANT_TO_VB)
docs/framework/react/quick-start.md
[locale-violation] ~14-~14: In American English, “take a look” is more commonly used.
Context: ...for a fully functioning example, please have a look at our [simple StackBlitz example](./ex...
(HAVE_A_LOOK)
docs/framework/svelte/ssr.md
[locale-violation] ~37-~37: In American English, “take a look” is more commonly used.
Context: ...ish to view the ideal SSR setup, please have a look at the SSR example. ...
(HAVE_A_LOOK)
docs/framework/react/guides/query-options.md
[style] ~6-~6: Consider using a synonym to be more concise.
Context: ...s whatever you pass into it, but it has a lot of advantages when using it [with TypeScri...
(A_LOT_OF)
docs/framework/react/guides/important-defaults.md
[style] ~15-~15: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...manually](./query-invalidation.md). - set staleTime to 'static' to never ...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
docs/framework/react/guides/migrating-to-react-query-4.md
[locale-violation] ~113-~113: In American English, “take a look” is more commonly used.
Context: ...Status: 'idle' // [!code ++] ``` Also, have a look at [the guide on dependent queries](./d...
(HAVE_A_LOOK)
docs/reference/QueryObserver.md
[style] ~19-~19: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...The options for the QueryObserver are exactly the same as those of [useQuery](../framework/r...
(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)
docs/framework/react/installation.md
[style] ~36-~36: The word ‘wanna’ is informal.
Context: ...orks with ReactDOM and React Native. > Wanna give it a spin before you download? Try...
(WANNA)
docs/framework/react/guides/network-mode.md
[style] ~22-~22: ‘in the meantime’ might be wordy. Consider a shorter alternative.
Context: ...en cancelled in the meantime, it will not continue. ## Network Mode...
(EN_WORDINESS_PREMIUM_IN_THE_MEANTIME)
docs/reference/QueryClient.md
[style] ~98-~98: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...ons** The options for fetchQuery are exactly the same as those of [useQuery](../framework/r...
(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)
docs/framework/react/guides/mutations.md
[style] ~62-~62: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ryclientsetquerydata), mutations become a very powerful tool. [//]: # 'Info1' > IMPORTANT: Th...
(EN_WEAK_ADJECTIVE)
[style] ~139-~139: The expression “come in handy” is rather colloquial. Consider replacing it to add a more formal tone to your writing.
Context: ...ge during the mutation lifecycle. These come in handy for both [invalidating and refetching q...
(COME_IN_HANDY)
docs/framework/react/guides/migrating-to-v5.md
[locale-violation] ~483-~483: In American English, “take a look” is more commonly used.
Context: ...he optimistic update. For more details, have a look at the [optimistic updates documentatio...
(HAVE_A_LOOK)
docs/framework/react/guides/prefetching.md
[style] ~370-~370: Use ‘will’ instead of ‘going to’ if the following action is certain.
Context: ...itly declare for each route what data is going to be needed for that component tree, ahea...
(GOING_TO_WILL)
[grammar] ~372-~372: Use a hyphen to join words.
Context: ...md). For now, let's focus on the client side case and look at an example of how ...
(QB_NEW_EN_HYPHEN)
[style] ~372-~372: To strengthen your wording, consider replacing the phrasal verb “leave out”.
Context: ...://tanstack.com/router). These examples leave out a lot of setup and boilerplate to stay ...
(OMIT_EXCLUDE)
[uncategorized] ~436-~436: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ing-the-query-cache). Integrating with Server Side routers and frameworks is very similar ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/framework/solid/reference/useQuery.md
[style] ~202-~202: To form a complete sentence, be sure to include a subject.
Context: ...query from automatically running. - Can be used for [Dependent Queries](../guid...
(MISSING_IT_THERE)
docs/framework/react/guides/request-waterfalls.md
[style] ~243-~243: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...nced-ssr.md)) but note that this can be a very big architectural change. You can have goo...
(EN_WEAK_ADJECTIVE)
[grammar] ~324-~324: Use a hyphen to join words.
Context: ...tradeoff between: > > - Include all data fetching code in the main bundle, even i...
(QB_NEW_EN_HYPHEN)
[grammar] ~325-~325: Use a hyphen to join words.
Context: ...ven if we seldom use it > - Put the data fetching code in the code split bundle, ...
(QB_NEW_EN_HYPHEN)
[grammar] ~325-~325: Use a hyphen to join words.
Context: ...- Put the data fetching code in the code split bundle, but with a request waterfa...
(QB_NEW_EN_HYPHEN)
docs/framework/react/reference/useQuery.md
[style] ~78-~78: To form a complete sentence, be sure to include a subject.
Context: ...s query from automatically running. - Can be used for [Dependent Queries](../guid...
(MISSING_IT_THERE)
docs/framework/angular/guides/mutation-options.md
[style] ~8-~8: Consider using a synonym to be more concise.
Context: ...s whatever you pass into it, but it has a lot of advantages when using it [with TypeScri...
(A_LOT_OF)
docs/framework/angular/quick-start.md
[locale-violation] ~10-~10: In American English, “take a look” is more commonly used.
Context: ...for a fully functioning example, please have a look at our [basic codesandbox example](./ex...
(HAVE_A_LOOK)
docs/framework/react/guides/query-keys.md
[locale-violation] ~100-~100: In American English, “take a look” is more commonly used.
Context: ...zing Query Keys in larger applications, have a look at [Effective React Query Keys](https:/...
(HAVE_A_LOOK)
docs/framework/svelte/overview.md
[locale-violation] ~54-~54: In American English, “take a look” is more commonly used.
Context: ...Kit If you are using SvelteKit, please have a look at SSR & SvelteKit. ## Availa...
(HAVE_A_LOOK)
docs/framework/vue/quick-start.md
[locale-violation] ~10-~10: In American English, “take a look” is more commonly used.
Context: ...for a fully functioning example, please have a look at our [basic codesandbox example](./ex...
(HAVE_A_LOOK)
docs/reference/InfiniteQueryObserver.md
[style] ~26-~26: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...ons for the InfiniteQueryObserver are exactly the same as those of [useInfiniteQuery](../fra...
(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)
docs/reference/QueriesObserver.md
[style] ~24-~24: ‘exactly the same’ might be wordy. Consider a shorter alternative.
Context: ...e options for the QueriesObserver are exactly the same as those of [useQueries](../framework...
(EN_WORDINESS_PREMIUM_EXACTLY_THE_SAME)
🪛 markdownlint-cli2 (0.18.1)
docs/framework/angular/reference/functions/infiniteQueryOptions.md
54-54: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/reference/QueryClient.md
479-479: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
499-499: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/framework/react/reference/useSuspenseQuery.md
18-18: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
🔇 Additional comments (76)
docs/framework/svelte/reference/functions/infiniteQueryOptions.md (1)
40-40: ✓ Correct relative path adjustments.The link updates from
../../type-aliases/to../type-aliases/are correct. Both parameters and return types are sibling folders under/reference/, requiring only one level of traversal upward from/functions/.Also applies to: 44-44
docs/framework/vue/quick-start.md (1)
10-10: Verify the relative link path is correct.The link
./examples/basicuses current-directory relative path format, consistent with the PR's objective. However, please verify that this path correctly resolves fromdocs/framework/vue/to the intended example location. If the examples directory is located elsewhere (e.g., at the root or in a different framework directory), the path may need adjustment.docs/framework/angular/guides/mutation-options.md (1)
8-8: Verify the link format resolves correctly.The relative path change from
../../typescriptto../typescriptaligns with the PR objectives. However, the fragment identifier includes.md(#typing-query-options.md), which is unusual for markdown links. Verify that:
- The link target
../typescriptresolves to the correct file/section- The
.mdextension in the fragment is intentional (not a typo or artifact of removed post-processing)If the target is a file named
typescript.mdat the parent directory level, the correct format should be../typescript#typing-query-optionsor../typescript.md#typing-query-options(without.mdin the fragment).docs/framework/react/reference/useIsFetching.md (1)
18-18: The relative path change is correct and fixes a broken link.The verification confirms that the file exists at the new path (
../guides/filters.md→docs/framework/react/guides/filters.md). The old path (../../guides/filters.md) pointed to a non-existent location. The directory structure shows that each framework (angular, react, solid, vue) maintains its own guides subdirectory, making the new framework-specific path the correct target.docs/framework/react/plugins/createAsyncStoragePersister.md (1)
38-38: Link paths are correct and targets exist.Both
persistQueryClient.mdandcreateSyncStoragePersister.mdexist indocs/framework/react/plugins/. The anchor#persistqueryclientprovideris properly defined via the heading "### PersistQueryClientProvider" in the target file. The link path changes from../to./are valid for same-directory references.docs/framework/svelte/reference/functions/createQuery.md (1)
38-38: Link paths correctly shortened for local resolution.All relative links have been systematically updated to resolve directly from the current file location. The pattern change from
../../type-aliases/to../type-aliases/is correct, as both thefunctions/directory (containing this file) andtype-aliases/are siblings underdocs/framework/svelte/reference/. All referenced type-aliases files exist and are properly accessible via the updated paths.docs/framework/react/reference/useMutationState.md (2)
72-72: Link correction aligns with PR objectives.The change from a longer relative path to
../guides/filters.md#mutation-filtersis consistent with the PR goal of correcting local relative links for proper resolution. This documentation-only change does not affect code, functionality, or API behavior.
72-72: No issues found. The relative link path../guides/filters.md#mutation-filtersresolves correctly to an existing file (docs/framework/react/guides/filters.md), and the anchor#mutation-filtersis properly generated from the "Mutation Filters" header at line 46 of the target file.docs/framework/svelte/reference/functions/useMutationState.md (1)
24-24: The relative link path correction is valid and necessary.The change from
../../type-aliases/MutationStateOptions.mdto../type-aliases/MutationStateOptions.mdfixes a broken link. The old path does not resolve correctly in the repository structure. The new path correctly points todocs/framework/svelte/reference/type-aliases/MutationStateOptions.md.docs/framework/angular/reference/functions/provideQueryClient.md (1)
14-14: Verify the link target fileprovideTanStackQuery.mdexists in the same directory.The link has been adjusted from
../provideTanStackQuery.mdtoprovideTanStackQuery.md, indicating both files should be siblings in thedocs/framework/angular/reference/functions/directory. Confirm that the target file exists at the expected location and the link resolves correctly during the documentation build.docs/framework/angular/reference/functions/injectQuery.md (3)
112-112: Verify relative link paths in first function overload are correct.The links for this overload's parameters and return type have been adjusted to use
../relative paths pointing to sibling directories under the reference folder. Confirm these files exist at the specified locations.Also applies to: 118-118, 124-124
193-193: Verify relative link paths in second function overload are correct.The links for this overload's parameters and return type follow the same
../pattern. Ensure the target files are accessible from the current location.Also applies to: 199-199, 205-205
274-274: All relative link paths in the function overload are correct and valid.All referenced type-aliases and interface files exist at the specified relative paths. No broken links detected.
docs/framework/angular/reference/interfaces/CreateQueryOptions.md (1)
12-12: Link path verified—target file exists in the same directory.The simplified relative link to
CreateBaseQueryOptions.mdis valid; the file exists atdocs/framework/angular/reference/interfaces/CreateBaseQueryOptions.md.docs/framework/react/reference/useMutation.md (2)
67-71: Documentation additions clarify onMutate behavior clearly.The new bullets provide helpful context:
- Line 70 reinforces the optimistic update use case
- Line 71 explicitly documents the return value flow to error/settled handlers, which is crucial for understanding rollback patterns
These additions enhance the documentation without changing functionality.
59-59: All documentation links are correctly configured and verified.The relative paths resolve properly:
- Line 59:
../../../reference/timeoutManager.md#timeoutmanagersettimeoutproviderresolves to the target file and anchor exists- Lines 66 & 141:
../guides/network-mode.mdresolves correctly to the guides directoryAll target files exist and are properly linked.
docs/framework/angular/guides/caching.md (4)
26-26: Verify the updated link path../reference/functions/injectQuery.md.The link has been shortened from
../../reference/functions/injectQuery.mdto../reference/functions/injectQuery.md. Confirm that this path resolves correctly from the guides subdirectory and points to the intended injectQuery status documentation.
30-30: Verify the narrative addition about cache remount behavior is accurate.The new sentence describes a scenario where a query remounts before the cache timeout expires, triggering a background fetch. Ensure this behavior aligns with TanStack Query's actual cache and garbage collection semantics, particularly the interaction between
gcTimeand background refetching on remount.
35-35: Verify the updated reference link../reference/functions/injectQuery.md.Confirm this shortened path correctly points to the injectQuery reference documentation from the guides directory.
6-6: All relative paths resolve correctly to existing files.The link to
./important-defaults.mdand the references to../reference/functions/injectQuery.mdresolve to valid target files in the expected locations. The path adjustments from parent-level references (../../) to direct references (./ and ../) are correct and functional.docs/framework/react/guides/migrating-to-react-query-4.md (1)
245-245: All relative link paths resolve correctly—no action needed.All flagged paths exist in the docs structure and resolve as intended:
../../../reference/QueryClient.mdcorrectly navigates todocs/reference/QueryClient.md../plugins/createSyncStoragePersister.mdcorrectly navigates todocs/framework/react/plugins/createSyncStoragePersister.md../installationcorrectly navigates todocs/framework/react/installation.md./network-modecorrectly navigates todocs/framework/react/guides/network-mode.mdThe stylistic variations in link formatting (e.g., omitting
.mdin some cases) appear intentional and do not cause resolution issues.docs/framework/angular/reference/functions/injectIsFetching.md (1)
29-29: Link path adjustment aligns with PR objective.Relative path shortening from
../../interfaces/to../interfaces/is consistent with the PR's goal to resolve links locally at the correct directory level. The change correctly targets the sibling interfaces directory.docs/framework/angular/installation.md (1)
34-34: Link paths correctly adjusted to sibling directory resolution.Both example links now use
./examples/to properly resolve as siblings in the current Angular directory, improving local link resolution. Consistent with PR objective.docs/framework/angular/quick-start.md (1)
10-10: Link path adjustment aligns with local resolution pattern.The example link now correctly uses
./examples/basicto resolve as a sibling directory within the Angular framework docs.docs/framework/angular/reference/functions/queryFeature.md (1)
34-34: Link path adjustment improves local reference resolution.The QueryFeature interface link now correctly uses
../interfaces/to resolve at the proper reference level, consistent with the PR's goal of local link resolution.docs/framework/angular/reference/type-aliases/CreateMutationResult.md (1)
34-34: Inline filename reference improves clarity for same-directory type-alias links.Using the direct filename
CreateBaseMutationResult.mdinstead of a relative path for intra-directory type-alias references is cleaner and more maintainable, aligning with the PR's link normalization pattern.docs/framework/svelte/reference/functions/createInfiniteQuery.md (1)
40-40: Consistent link path adjustments for Svelte reference type-aliases.All four type-alias links (Accessor, CreateInfiniteQueryOptions, and CreateInfiniteQueryResult) are correctly shortened from
../../type-aliases/to../type-aliases/, properly resolving to the sibling type-aliases directory within the reference structure. This is consistent with the PR's local link resolution objective.Also applies to: 44-44, 48-48
docs/framework/react/guides/render-optimizations.md (1)
24-24: Link path adjusted for correct directory level resolution.The ESLint rule link is correctly shortened from
../../../../eslint/to../../../eslint/, properly targeting the docs/eslint directory from the React guides level. This aligns with the PR's local link resolution pattern.docs/reference/QueriesObserver.md (1)
24-24: Cross-framework reference link properly adjusted.The useQueries reference now correctly points to
../framework/react/reference/useQueriesfrom the framework-agnostic reference directory, properly bridging the framework-specific documentation. This aligns with the PR's link normalization objective.docs/framework/solid/guides/suspense.md (1)
41-41: Link path update looks correct.The change from
../prefetchingto./prefetchingcorrectly assumesprefetching.mdresides in the samedocs/framework/solid/guides/directory. This aligns with the PR's pattern of reducing relative path depth.Please verify that
docs/framework/solid/guides/prefetching.mdexists at the target location and that no other framework variants require adjustment.docs/framework/svelte/reference/functions/createMutation.md (1)
36-36: Link path updates follow consistent pattern and appear correct.All three instances correctly reduce from
../../type-aliases/to../type-aliases/, aligning with the PR's systematic adjustment of relative paths. The paths should correctly resolve to the respective type-alias documentation files in the Svelte framework documentation directory.Verify that type-alias files (Accessor.md, CreateMutationOptions.md, CreateMutationResult.md) exist at
docs/framework/svelte/type-aliases/.Also applies to: 42-42, 48-48
docs/framework/react/guides/invalidations-from-mutations.md (1)
49-49: Link path update is correct.The change to
./mutations.mdcorrectly references a sibling guide in the same directory (docs/framework/react/guides/). This aligns with the PR's goal of simplifying relative paths to current-directory references.Confirm that
docs/framework/react/guides/mutations.mdexists at the target location.docs/framework/react/reference/useSuspenseQuery.md (2)
12-12: Link paths to useQuery are correct.Both changes from
../useQueryto./useQuerycorrectly assert thatuseQuery.mdresides in the same reference directory.Also applies to: 20-20
29-29: Query-cancellation guide link path is correct.The change to
../guides/query-cancellation.mdcorrectly reduces depth by one level and should resolve from the reference directory to the guides directory.docs/framework/react/guides/query-invalidation.md (1)
28-28: Link path update is correct.The change from
../filters.md#query-filtersto./filters.md#query-filterscorrectly simplifies to a sibling reference within the same guides directory while preserving the anchor. This aligns with the PR's pattern.Confirm that
docs/framework/react/guides/filters.mdexists and contains the#query-filtersanchor.docs/reference/QueryCache.md (1)
60-60: Link path reduction is correct, but note inconsistency in file extensions.Lines 79–80 correctly include
.mdin their link targets (../framework/react/guides/query-keys.mdand../framework/react/guides/filters.md#query-filters). However, line 60 uses../framework/react/guides/filters#query-filterswithout the.mdextension. Please verify whether this omission is intentional or should be corrected for consistency.- `../framework/react/guides/filters#query-filters` + `../framework/react/guides/filters.md#query-filters`Also applies to: 79-80
docs/framework/angular/reference/functions/injectMutation.md (1)
40-40: Approve interface and type-alias link path normalization.All three cross-reference links correctly reduce by one directory level (from
../../to../), with the target files confirmed to exist at their new paths. The directory structure has interfaces/ and type-aliases/ as siblings to the functions/ directory, making the../relative paths correct:
- ✓ CreateMutationOptions.md found at docs/framework/angular/reference/interfaces/
- ✓ InjectMutationOptions.md found at docs/framework/angular/reference/interfaces/
- ✓ CreateMutationResult.md found at docs/framework/angular/reference/type-aliases/
Also applies to: 46-46, 52-52
docs/framework/react/guides/important-defaults.md (1)
13-15: Link paths are correctly normalized and verified.Lines 13-15: The
./query-invalidation.mdlinks are correct—query-invalidation.md exists as a sibling file indocs/framework/react/guides/.Line 43: The
../../../community-resourcespath correctly resolves todocs/community-resources.mdfrom the guides directory (three levels up: guides → react → framework → docs).All updated link targets exist and resolve properly.
docs/framework/svelte/reference/functions/queryOptions.md (1)
38-38: Approve type-alias link path reduction.All four type-aliases links consistently reduce by one directory level (from
../../type-aliases/to../type-aliases/). Directory structure confirms type-aliases is a sibling subdirectory to functions within reference/, making the new paths correct. All referenced files (DefinedInitialDataOptions.md, CreateQueryOptions.md, UndefinedInitialDataOptions.md) exist at the new locations.Also applies to: 42-42, 74-74, 78-78
docs/framework/react/reference/useSuspenseQueries.md (1)
12-12: Links to useQueries reference are correctly updated to sibling path.The references to useQueries on lines 12 and 21 are correctly changed from
../useQueries.mdto./useQueries.md. The useQueries.md file exists as a sibling in the reference directory, validating these path updates.docs/framework/angular/reference/functions/queryOptions.md (1)
78-78: Link paths correctly use sibling directory references.All cross-reference links properly normalize to
../relative paths from the functions/ directory:
- Type-aliases:
../type-aliases/DefinedInitialDataOptions.md,../type-aliases/UnusedSkipTokenOptions.md,../type-aliases/UndefinedInitialDataOptions.md- Interfaces:
../interfaces/CreateQueryOptions.md(appears 3 times)The directory structure confirms type-aliases/ and interfaces/ are sibling directories to functions/ within reference/, and all referenced files exist at their new paths. No action required.
docs/framework/svelte/reference/index.md (1)
10-30: Approve link path normalization for API reference index.All links in this file correctly use local relative paths within the reference directory structure. Type aliases link to
type-aliases/, variables tovariables/, and functions tofunctions/— all confirmed to exist at these relative locations. The change from../paths to sibling directory references is necessary and correct, as the parent-level directories do not contain these subdirectories.docs/framework/react/guides/request-waterfalls.md (1)
10-10: Guide link paths correctly normalized for same-directory resolution.All 11 guide references consistently use
./for same-directory references (prefetching.md, ssr.md, advanced-ssr.md, dependent-queries.md), confirming these files are recognized as sibling guides within the guides/ directory and enabling direct local link resolution.Verified: All referenced guide files exist as siblings in
docs/framework/react/guides/.docs/framework/solid/reference/useQuery.md (2)
193-231: LGTM!The relative link path adjustments from
../../guides/...to../guides/...are consistent with the PR's goal of making links resolve correctly at the local level. The cross-reference to../../../reference/timeoutManager.mdat line 226 correctly navigates up to the shared reference directory.
344-344: LGTM!Link path updated consistently with the other guide references in this file.
docs/framework/react/guides/suspense.md (3)
8-13: LGTM!The reference links and example links are correctly adjusted to use shorter relative paths that resolve properly from the guides directory.
110-110: LGTM!Using
./prefetching.mdfor a sibling file in the same guides directory is the correct pattern.
175-175: LGTM!Both the example link and the
./advanced-ssr.mdreference are correctly updated to use the new relative path convention.scripts/verify-links.ts (3)
30-54: Path resolution logic is sound.The approach of navigating up one level from the file path (
resolve(filePath, '..', linkPath)) correctly simulates how relative links resolve in a web context where the file is treated as a "directory" endpoint. The/docsboundary check is a good safeguard.
56-86: Example path handling and existence checks look correct.The transformation from
/docs/framework/{framework}/examples/to/examples/{framework}/properly maps documentation links to actual example directories. The distinction between directory checks for examples and file checks for regular docs is appropriate.
88-125: Refactored verification flow is clean and well-structured.The error accumulation and reporting provide clear, actionable output with file, link, resolved path, and reason. The final exit code handling is appropriate for CI usage.
docs/framework/react/reference/queryOptions.md (1)
15-15: LGTM!Using
./useQuery.mdfor a sibling file in the same reference directory is correct.docs/framework/react/guides/queries.md (2)
8-8: LGTM!Using
./mutations.mdfor a sibling file in the same guides directory is correct.
124-124: LGTM!Using
./network-mode.mdfor a sibling file in the same guides directory is correct.docs/reference/QueryObserver.md (1)
19-19: Link path correctly adjusted to reduce unnecessary traversal.The relative path now correctly resolves the
useQueryreference using one less parent-directory component.docs/framework/react/guides/query-keys.md (1)
94-94: Link paths correctly adjusted to reduce traversal depth.Both external link references now use the appropriate relative path depth (removing one unnecessary parent-directory level).
Also applies to: 101-101
docs/framework/react/guides/placeholder-query-data.md (1)
17-17: Sibling guide references now correctly use current-directory relative paths.Converting from
../to./for same-directory file references is more accurate and follows the clearer link convention.Also applies to: 57-57
docs/framework/react/reference/usePrefetchQuery.md (1)
12-12: Link paths correctly adjusted across reference, guide, and sibling references.All three link adjustments use proper relative path depths:
- Line 12: Correctly traverses up to cross-framework reference
- Line 19: Properly references sibling guide directory
- Line 23: Accurately points to sibling reference file
Also applies to: 19-19, 23-23
docs/framework/angular/reference/functions/infiniteQueryOptions.md (1)
54-54: Type and interface reference links correctly adjusted to sibling directory depth.All six type alias and interface references now use the correct relative path to sibling type-aliases/ and interfaces/ directories.
Also applies to: 60-60, 102-102, 108-108, 150-150, 156-156
docs/reference/QueryClient.md (1)
66-66: Cross-framework reference links systematically adjusted to correct relative path depth.All framework references from the top-level reference directory now use the proper one-level-up traversal pattern (
../framework/react/...), and all internal guide/reference cross-links have been consistently updated.Also applies to: 98-98, 175-175, 237-237, 263-263, 301-301, 313-313, 339-340, 381-381, 414-415, 431-431, 454-454, 477-477, 481-481, 497-497, 501-501, 552-552
docs/framework/react/guides/network-mode.md (1)
6-6: Guide and reference links correctly adjusted with appropriate relative paths.
- Same-directory guide references now use
./convention (lines 6, 12, 22)- Cross-directory reference link properly traverses to top-level reference directory (line 40)
Also applies to: 12-12, 22-22, 40-40
docs/framework/react/guides/query-functions.md (1)
102-102: Query function guide links and reference links properly adjusted.
- Same-directory guide cross-references now use
./convention (lines 102, 106, 110)- Cross-directory QueryClient reference link correctly traverses three levels up to reach docs/reference/ (line 103)
Also applies to: 103-103, 106-106, 110-110
docs/framework/react/reference/useQuery.md (2)
69-69: Link path corrections are accurate and consistent. These changes correctly shorten relative paths from../../guides/to../guides/, which is appropriate for local documentation link resolution where files indocs/framework/react/reference/reference sibling guides indocs/framework/react/guides/.Also applies to: 72-72, 74-74, 78-78, 82-82, 224-224
104-104: Cross-framework reference path verified. The reference to../../../reference/timeoutManager.mdfromdocs/framework/react/reference/useQuery.mdcorrectly traverses three levels to reach the top-leveldocs/reference/directory, which is appropriate for this external reference.docs/framework/react/guides/query-options.md (2)
6-6: Link path reductions are correct. Shortening../../typescript.mdto../typescript.mdand../../reference/infiniteQueryOptions.mdto../reference/infiniteQueryOptions.mdaccurately reflect the new local link resolution where one-level-up traversal suffices from the guides directory.Also applies to: 34-34
36-36: Same-directory reference uses appropriate relative path. The change from../render-optimizations.mdto./render-optimizations.mdis the idiomatic approach for references within the same directory (docs/framework/react/guides/).docs/framework/react/guides/advanced-ssr.md (1)
8-8: Cross-guide and examples references are properly adjusted. The changes consistently use./for same-directory guide references (ssr.md, request-waterfalls.md) and../examples/for example links, which is correct for local resolution from thedocs/framework/react/guides/directory level.Also applies to: 16-16, 533-533, 600-600, 604-604
docs/framework/react/guides/mutations.md (2)
139-139: Same-directory sibling guide references properly use relative notation. The links to./invalidations-from-mutations.mdand./optimistic-updates.mdcorrectly use current-directory (./) references since all three files reside indocs/framework/react/guides/.
62-62: Parent-level resource references correctly adjusted. The changes from../../plugins/to../plugins/and../../examples/to../examples/accurately reflect one-level-up traversal from the guides directory to sibling resource directories, while the QueryClient reference appropriately maintains its longer path to reach the top-level reference directory.Also applies to: 346-346, 389-389
docs/framework/react/reference/usePrefetchInfiniteQuery.md (2)
19-19: Reference file cross-links properly adjusted. The update from../../guides/default-query-function.mdto../guides/default-query-function.mdcorrectly reflects the one-level traversal needed from the reference directory to guides. The same-directory reference to./useSuspenseInfiniteQuery.mdis appropriately idiomatic.Also applies to: 33-33
12-12: Cross-framework reference to QueryClient correctly maintains depth. The path../../../reference/QueryClient.mdproperly traverses three levels fromdocs/framework/react/reference/to reach the top-leveldocs/reference/directory, which is appropriate for external-framework references.docs/framework/react/guides/migrating-to-v5.md (2)
172-172: Single-level traversal updates are correct. The systematic changes from two-level traversal (../../) to one-level (../) for references like../typescript.md,../reference/useQueries.md,../plugins/createPersister.md, and../installationcorrectly reflect the new local link resolution where one-level-up suffices from the guides directory.Also applies to: 221-221, 501-501, 505-505, 511-511
483-483: Same-directory guide cross-references properly use current-directory notation. The changes to use./for sibling guides likeoptimistic-updates.md,prefetching.md, andsuspense.mdfollow the idiomatic convention for same-directory file references.Also applies to: 497-497, 527-527
docs/framework/react/guides/prefetching.md (2)
15-15: Same-directory guide references properly use relative notation. The links to./ssr.md,./advanced-ssr.md,./request-waterfalls.mdcorrectly use current-directory (./) syntax since all files reside indocs/framework/react/guides/.Also applies to: 17-17, 270-270, 436-436
199-199: Varied-depth reference links properly adjusted. The references to../reference/usePrefetchQuery.mdand../examples/react-routercorrectly use one-level traversal from guides, while../../../reference/QueryClient.mdappropriately maintains its longer path to reach the top-level reference directory for cross-framework content.Also applies to: 415-415, 421-421
docs/framework/angular/reference/functions/injectInfiniteQuery.md (1)
56-56: Type and interface references use consistent relative paths. The links to type aliases and interfaces (DefinedInitialDataInfiniteOptions, InjectInfiniteQueryOptions, CreateInfiniteQueryResult, etc.) maintain appropriate path depths for references within the Angular documentation namespace, consistent with the systematic link resolution adjustments across the PR.Also applies to: 62-62, 68-68, 109-109, 115-115, 121-121, 162-162, 168-168, 174-174
| React Query is compatible with React v18+ and works with ReactDOM and React Native. | ||
|
|
||
| > Wanna give it a spin before you download? Try out the [simple](../examples/simple) or [basic](../examples/basic) examples! | ||
| > Wanna give it a spin before you download? Try out the [simple](./examples/simple) or [basic](./examples/basic) examples! |
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
🏁 Script executed:
# Use fd to find relevant files
fd -t f "simple|basic" docs/framework/react/
fd -t f "eslint-plugin-query"
fd -t d "examples" docs/
fd -t d "eslint" docs/framework/
</parameter>Repository: TanStack/query
Length of output: 215
🏁 Script executed:
# List all files in docs/framework to understand structure
find docs/framework -type f -name "*.md" | head -30
# Check git tracked files in docs
git ls-files docs/framework/ | grep -E "(simple|basic|eslint-plugin-query)" | head -10
</parameter>Repository: TanStack/query
Length of output: 1706
🏁 Script executed:
#!/bin/bash
# Search for simple and basic example files
find docs -name "*simple*" -o -name "*basic*" | grep -i example
# Find eslint-plugin-query file
find docs -name "*eslint-plugin-query*"
# List directory structure around react installation file
ls -la docs/framework/react/ 2>/dev/null || echo "React framework dir not found"
# Check docs/eslint directly
ls -la docs/eslint/ 2>/dev/null || echo "ESLint dir not found"
# Check what's in docs/framework/eslint
ls -la docs/framework/eslint/ 2>/dev/null || echo "Framework ESLint dir not found"Repository: TanStack/query
Length of output: 1616
🏁 Script executed:
#!/bin/bash
# Read the installation.md file to see actual links
echo "=== Lines around line 36 and 69 in installation.md ==="
cat -n docs/framework/react/installation.md | sed -n '30,45p'
echo ""
echo "=== Lines around line 69 ==="
cat -n docs/framework/react/installation.md | sed -n '63,75p'
# Search for example directories more broadly
echo ""
echo "=== Searching for 'examples' directories ==="
find docs -type d -name "*example*"
# Search for simple and basic as directories
echo ""
echo "=== Searching for 'simple' and 'basic' directories/files ==="
find docs -type d \( -name "*simple*" -o -name "*basic*" \)
find docs -type f \( -name "*simple*" -o -name "*basic*" \) | head -20Repository: TanStack/query
Length of output: 1508
🏁 Script executed:
#!/bin/bash
# Double-check the path resolution from installation.md to eslint plugin
echo "=== Verifying path resolution ==="
echo "File: docs/framework/react/installation.md"
echo "Current link target: ../../eslint/eslint-plugin-query.md"
echo "Resolves to: docs/framework/eslint/eslint-plugin-query.md"
echo "Actual file location: docs/eslint/eslint-plugin-query.md"
echo ""
echo "=== Checking if ./examples exists ==="
ls -la docs/framework/react/examples/ 2>&1 || echo "Directory does not exist"
# Count total occurrences of eslint-plugin-query.md to see all references
echo ""
echo "=== All references to eslint-plugin-query ==="
grep -r "eslint-plugin-query" docs/ --include="*.md" | head -10Repository: TanStack/query
Length of output: 1408
Both internal links are broken and need correction.
Line 36: The links to ./examples/simple and ./examples/basic reference a non-existent ./examples/ directory. No examples directory exists in the repository.
Line 69: The link ../../eslint/eslint-plugin-query.md resolves incorrectly. From docs/framework/react/installation.md, this path points to docs/framework/eslint/ (which doesn't exist). The ESLint plugin is located at docs/eslint/, requiring the correct path ../../../eslint/eslint-plugin-query.md (three levels up, not two).
Additionally, line 36 uses informal language ("Wanna") which should be changed to "Want" for consistency with documentation tone.
🧰 Tools
🪛 LanguageTool
[style] ~36-~36: The word ‘wanna’ is informal.
Context: ...orks with ReactDOM and React Native. > Wanna give it a spin before you download? Try...
(WANNA)
🤖 Prompt for AI Agents
In docs/framework/react/installation.md around line 36, change the informal
"Wanna" to "Want" and fix the two broken example links: replace
./examples/simple and ./examples/basic with ../../../examples/simple and
../../../examples/basic (relative to docs/framework/react/installation.md); also
on line 69 update ../../eslint/eslint-plugin-query.md to
../../../eslint/eslint-plugin-query.md so the ESLint plugin link points to
docs/eslint/eslint-plugin-query.md.
| - [Queries](./guides/queries.md) | ||
| - [Mutations](./guides/mutations.md) | ||
| - [Query Invalidation](./guides/query-invalidation.md) |
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
🏁 Script executed:
#!/bin/bash
# Verify that updated relative link paths resolve to actual files
DOCS_DIR="docs/framework/react"
echo "=== Checking guide files ==="
[ -f "$DOCS_DIR/guides/queries.md" ] && echo "✓ guides/queries.md exists" || echo "✗ guides/queries.md NOT FOUND"
[ -f "$DOCS_DIR/guides/mutations.md" ] && echo "✓ guides/mutations.md exists" || echo "✗ guides/mutations.md NOT FOUND"
[ -f "$DOCS_DIR/guides/query-invalidation.md" ] && echo "✓ guides/query-invalidation.md exists" || echo "✗ guides/query-invalidation.md NOT FOUND"
echo ""
echo "=== Checking example link ==="
if [ -d "$DOCS_DIR/examples/simple" ]; then
echo "✓ examples/simple exists (directory)"
elif [ -f "$DOCS_DIR/examples/simple.md" ]; then
echo "✓ examples/simple.md exists (file)"
else
echo "✗ examples/simple target not found"
fi
echo ""
echo "=== Directory structure at docs/framework/react/ ==="
ls -la "$DOCS_DIR/" | head -20Repository: TanStack/query
Length of output: 1099
🏁 Script executed:
#!/bin/bash
# Check where examples/simple might exist
echo "=== Searching for examples/simple in docs ==="
find docs -type d -name "examples" 2>/dev/null
find docs -type f -name "*simple*" 2>/dev/null | head -20
echo ""
echo "=== Check what the old path ../examples/simple resolved to ==="
# From docs/framework/react/, ../examples would go to docs/framework/examples
ls -la docs/framework/examples/ 2>/dev/null || echo "docs/framework/examples/ does not exist"
echo ""
echo "=== Check react root examples ==="
ls -la docs/framework/react/examples/ 2>/dev/null || echo "docs/framework/react/examples/ does not exist"Repository: TanStack/query
Length of output: 288
Fix the broken examples/simple link reference on line 14.
The guide links on lines 8-10 resolve correctly to ./guides/queries.md, ./guides/mutations.md, and ./guides/query-invalidation.md respectively. However, the examples/simple reference on line 14 points to a non-existent target—neither docs/framework/react/examples/simple nor the prior docs/framework/examples/simple path exists in the repository. Clarify the intended destination or remove the link if it is no longer applicable.
🤖 Prompt for AI Agents
In docs/framework/react/quick-start.md around lines 8 to 14, the link reference
to examples/simple on line 14 points to a non-existent path; update that link to
the correct relative path to the intended example (verify repository tree to
determine whether it should be ../examples/simple, ../../examples/simple, or
docs/framework/examples/simple) or remove the examples/simple link and any
related text if the example no longer exists, ensuring the rest of the guide
content and link list remain consistent.
| ``` | ||
|
|
||
| > Wanna give it a spin before you download? Try out the [basic](../examples/basic) example! | ||
| > Wanna give it a spin before you download? Try out the [basic](./examples/basic) example! |
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
🏁 Script executed:
# First, check if the docs/framework/svelte/examples directory exists and list its contents
find docs/framework/svelte/examples -type f -o -type d 2>/dev/null | head -20Repository: TanStack/query
Length of output: 40
🏁 Script executed:
# Also check what's at the parent level to understand the structure
ls -la docs/framework/svelte/ 2>/dev/null | head -20Repository: TanStack/query
Length of output: 545
🏁 Script executed:
# Check if examples exists at the docs/framework level
find docs/framework -type d -name "examples" 2>/dev/nullRepository: TanStack/query
Length of output: 40
🏁 Script executed:
# Also verify the installation.md file content to understand the context
cat -n docs/framework/svelte/installation.mdRepository: TanStack/query
Length of output: 677
🏁 Script executed:
# Find any "basic" example in the framework directory structure
find docs/framework -type d -name "basic" 2>/dev/null
find docs/framework -name "*basic*" 2>/dev/nullRepository: TanStack/query
Length of output: 40
🏁 Script executed:
# List what's in docs/framework directory
ls -la docs/framework/Repository: TanStack/query
Length of output: 437
🏁 Script executed:
# Search entire repository for "examples/basic" or similar patterns
find . -type d -name "examples" 2>/dev/null | head -20
find . -type d -name "basic" 2>/dev/null | head -20Repository: TanStack/query
Length of output: 184
🏁 Script executed:
# Also check the examples directory at root level if it exists
ls -la examples/ 2>/dev/null || echo "No examples directory at root"Repository: TanStack/query
Length of output: 444
The link target does not exist at the updated path.
The change from ../examples/basic to ./examples/basic creates a broken link. The basic example is located at examples/svelte/basic (repository root), not at docs/framework/svelte/examples/basic. From docs/framework/svelte/installation.md, the correct relative path should be ../../examples/svelte/basic.
🤖 Prompt for AI Agents
In docs/framework/svelte/installation.md around line 32, the relative link
./examples/basic is broken; update the link target to point to the actual
example location at ../../examples/svelte/basic from this file. Replace the
current ./examples/basic reference with ../../examples/svelte/basic so the link
resolves to the repository root examples/svelte/basic path.
| Svelte Query supports two ways of prefetching data on the server and passing that to the client with SvelteKit. | ||
|
|
||
| If you wish to view the ideal SSR setup, please have a look at the [SSR example](../examples/ssr). | ||
| If you wish to view the ideal SSR setup, please have a look at the [SSR example](./examples/ssr). |
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
🏁 Script executed:
find docs -type d -name "ssr" 2>/dev/null | head -20Repository: TanStack/query
Length of output: 40
🏁 Script executed:
find docs -type d -name "examples" 2>/dev/null | head -20Repository: TanStack/query
Length of output: 40
🏁 Script executed:
ls -la docs/framework/svelte/examples/ 2>/dev/null || echo "Path does not exist: docs/framework/svelte/examples/"
ls -la docs/framework/examples/ 2>/dev/null || echo "Path does not exist: docs/framework/examples/"Repository: TanStack/query
Length of output: 156
🏁 Script executed:
find docs -name "*ssr*" -o -name "*example*" | head -30Repository: TanStack/query
Length of output: 277
🏁 Script executed:
# Search for any directories named 'examples' in docs/
find docs -type d -name "examples" 2>/dev/nullRepository: TanStack/query
Length of output: 40
🏁 Script executed:
# Check the structure of docs/framework/
ls -la docs/framework/Repository: TanStack/query
Length of output: 437
🏁 Script executed:
# Check the content of docs/framework/svelte/ssr.md to see the actual link
cat -n docs/framework/svelte/ssr.md | grep -A 2 -B 2 "examples"Repository: TanStack/query
Length of output: 328
🏁 Script executed:
# Search entire repository for any examples directory or ssr example content
find . -type d -name "examples" 2>/dev/null | grep -v node_modulesRepository: TanStack/query
Length of output: 68
🏁 Script executed:
# Verify the examples directory structure at root
ls -la ./examples/ | head -20Repository: TanStack/query
Length of output: 444
🏁 Script executed:
# Check if there's an ssr-related directory/file in examples
find ./examples -name "*ssr*" -o -name "*svelte*" | head -20Repository: TanStack/query
Length of output: 1136
The link target does not exist in the repository.
The link [SSR example](./examples/ssr) points to a non-existent resource. There is no ssr example in the Svelte examples directory (./examples/svelte/). Available Svelte examples are: basic, auto-refetching, load-more-infinite-scroll, optimistic-updates, and playground. Either remove this link, update it to point to an actual example, or create the missing SSR example documentation.
🧰 Tools
🪛 LanguageTool
[locale-violation] ~37-~37: In American English, “take a look” is more commonly used.
Context: ...ish to view the ideal SSR setup, please have a look at the SSR example. ...
(HAVE_A_LOOK)
🤖 Prompt for AI Agents
In docs/framework/svelte/ssr.md around line 37, the link "[SSR
example](./examples/ssr)" points to a non-existent path; either remove the dead
link, change it to an existing Svelte example (for example
./examples/svelte/basic or ./examples/svelte/playground) and update the text
accordingly, or add the missing SSR example under ./examples/svelte/ssr with
corresponding README and files; ensure the link target matches the repository
structure and verify the link works before committing.
🎯 Changes
Adjusts verify-links to ensure links can resolve locally (i.e. as intended), rather than having to resolve 1 level higher
The level adjusting is then handled by the TanStack website in #563
✅ Checklist
pnpm run test:pr.🚀 Release Impact
Summary by CodeRabbit
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.