diff --git a/.nvmrc b/.nvmrc
index 6276cf12fb..fb457f39d5 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-v16.14.2
+v16.19.0
diff --git a/packages/react-query/src/__tests__/suspense.test.tsx b/packages/react-query/src/__tests__/suspense.test.tsx
index 114e0f9059..4e3d53332c 100644
--- a/packages/react-query/src/__tests__/suspense.test.tsx
+++ b/packages/react-query/src/__tests__/suspense.test.tsx
@@ -151,7 +151,7 @@ describe("useQuery's in Suspense mode", () => {
useQuery(
key,
() => {
- sleep(10)
+ sleep(50)
return 'data'
},
{ suspense: true },
@@ -1084,7 +1084,7 @@ describe('useQueries with suspense', () => {
queryKey: key1,
queryFn: async () => {
results.push('1')
- await sleep(10)
+ await sleep(50)
return '1'
},
suspense: true,
@@ -1093,7 +1093,7 @@ describe('useQueries with suspense', () => {
queryKey: key2,
queryFn: async () => {
results.push('2')
- await sleep(20)
+ await sleep(200)
return '2'
},
staleTime: 1000,
@@ -1101,6 +1101,7 @@ describe('useQueries with suspense', () => {
},
],
})
+
return (
data: {result.map((it) => it.data ?? 'null').join(',')}
diff --git a/packages/react-query/src/__tests__/useInfiniteQuery.test.tsx b/packages/react-query/src/__tests__/useInfiniteQuery.test.tsx
index 05c45ed736..122a251818 100644
--- a/packages/react-query/src/__tests__/useInfiniteQuery.test.tsx
+++ b/packages/react-query/src/__tests__/useInfiniteQuery.test.tsx
@@ -283,12 +283,15 @@ describe('useInfiniteQuery', () => {
}),
})
states.push(state)
- return null
+
+ return
{state.data?.pages.join(',')}
}
- renderWithClient(queryClient,
)
+ const rendered = renderWithClient(queryClient,
)
- await sleep(10)
+ await waitFor(() => {
+ rendered.getByText('count: 1')
+ })
expect(states.length).toBe(2)
expect(states[0]).toMatchObject({
@@ -317,12 +320,21 @@ describe('useInfiniteQuery', () => {
}, []),
})
states.push(state)
- return null
+
+ return (
+
+ {state.data?.pages.map((page) => (
+
count: {page.count}
+ ))}
+
+ )
}
- renderWithClient(queryClient,
)
+ const rendered = renderWithClient(queryClient,
)
- await sleep(20)
+ await waitFor(() => {
+ rendered.getByText('count: 1')
+ })
expect(states.length).toBe(2)
expect(selectCalled).toBe(1)
@@ -415,20 +427,29 @@ describe('useInfiniteQuery', () => {
states.push(state)
- const { fetchPreviousPage } = state
+ return (
+
+
data: {state.data?.pages.join(',') ?? null}
+
+
+ )
+ }
- React.useEffect(() => {
- setActTimeout(() => {
- fetchPreviousPage()
- }, 20)
- }, [fetchPreviousPage])
+ const rendered = renderWithClient(queryClient,
)
- return null
- }
+ await waitFor(() => {
+ rendered.getByText('data: 10')
+ })
- renderWithClient(queryClient,
)
+ fireEvent.click(
+ rendered.getByRole('button', { name: /fetch previous page/i }),
+ )
- await sleep(100)
+ await waitFor(() => {
+ rendered.getByText('data: 9,10')
+ })
expect(states.length).toBe(4)
expect(states[0]).toMatchObject({
diff --git a/packages/react-query/src/__tests__/useQueries.test.tsx b/packages/react-query/src/__tests__/useQueries.test.tsx
index 83a7e617fa..1452ee0305 100644
--- a/packages/react-query/src/__tests__/useQueries.test.tsx
+++ b/packages/react-query/src/__tests__/useQueries.test.tsx
@@ -45,7 +45,7 @@ describe('useQueries', () => {
{
queryKey: key2,
queryFn: async () => {
- await sleep(100)
+ await sleep(200)
return 2
},
},
@@ -1050,12 +1050,21 @@ describe('useQueries', () => {
],
})
results.push(result)
- return null
+
+ return (
+
+
data1: {result[0].data}
+
data2: {result[1].data}
+
+ )
}
- renderWithClient(queryClient,
, { context })
+ const rendered = renderWithClient(queryClient,
, { context })
- await sleep(30)
+ await waitFor(() => {
+ rendered.getByText('data1: 1')
+ rendered.getByText('data2: 2')
+ })
expect(results[0]).toMatchObject([
{ data: undefined },
diff --git a/packages/svelte-query/package.json b/packages/svelte-query/package.json
index 1bccc66efb..03146a31ed 100644
--- a/packages/svelte-query/package.json
+++ b/packages/svelte-query/package.json
@@ -26,7 +26,7 @@
"@sveltejs/package": "^1.0.0",
"@sveltejs/vite-plugin-svelte": "^2.0.2",
"@testing-library/svelte": "^3.2.2",
- "@vitest/coverage-istanbul": "^0.26.3",
+ "@vitest/coverage-istanbul": "^0.27.1",
"eslint-plugin-svelte": "^2.14.1",
"jsdom": "^20.0.3",
"svelte": "^3.54.0",
@@ -34,7 +34,7 @@
"tslib": "^2.4.1",
"typescript": "^4.7.4",
"vite": "^4.0.0",
- "vitest": "^0.26.3"
+ "vitest": "^0.27.1"
},
"dependencies": {
"@tanstack/query-core": "workspace:*"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b2a99447bc..950bfee55b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1000,7 +1000,7 @@ importers:
'@sveltejs/vite-plugin-svelte': ^2.0.2
'@tanstack/query-core': workspace:*
'@testing-library/svelte': ^3.2.2
- '@vitest/coverage-istanbul': ^0.26.3
+ '@vitest/coverage-istanbul': ^0.27.1
eslint-plugin-svelte: ^2.14.1
jsdom: ^20.0.3
svelte: ^3.54.0
@@ -1008,14 +1008,14 @@ importers:
tslib: ^2.4.1
typescript: ^4.7.4
vite: ^4.0.0
- vitest: ^0.26.3
+ vitest: ^0.27.1
dependencies:
'@tanstack/query-core': link:../query-core
devDependencies:
'@sveltejs/package': 1.0.2_glsdxddlaertg66rhhvanbinpy
'@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.0+vite@4.0.4
'@testing-library/svelte': 3.2.2_svelte@3.55.0
- '@vitest/coverage-istanbul': 0.26.3_jsdom@20.0.3
+ '@vitest/coverage-istanbul': 0.27.1_jsdom@20.0.3
eslint-plugin-svelte: 2.14.1_svelte@3.55.0
jsdom: 20.0.3
svelte: 3.55.0
@@ -1023,7 +1023,7 @@ importers:
tslib: 2.4.1
typescript: 4.8.4
vite: 4.0.4
- vitest: 0.26.3_jsdom@20.0.3
+ vitest: 0.27.1_jsdom@20.0.3
packages/vue-query:
specifiers:
@@ -4851,10 +4851,10 @@ packages:
glob: 7.2.3
graceful-fs: 4.2.10
istanbul-lib-coverage: 3.2.0
- istanbul-lib-instrument: 5.2.0
+ istanbul-lib-instrument: 5.2.1
istanbul-lib-report: 3.0.0
istanbul-lib-source-maps: 4.0.1
- istanbul-reports: 3.1.4
+ istanbul-reports: 3.1.5
jest-haste-map: 27.5.1
jest-resolve: 27.5.1
jest-util: 27.5.1
@@ -6469,7 +6469,7 @@ packages:
functional-red-black-tree: 1.0.1
ignore: 5.2.0
regexpp: 3.2.0
- semver: 7.3.7
+ semver: 7.3.8
tsutils: 3.21.0_typescript@4.4.4
typescript: 4.4.4
transitivePeerDependencies:
@@ -6741,7 +6741,7 @@ packages:
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.3.7
+ semver: 7.3.8
tsutils: 3.21.0
transitivePeerDependencies:
- supports-color
@@ -6761,7 +6761,7 @@ packages:
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.3.7
+ semver: 7.3.8
tsutils: 3.21.0_typescript@4.8.3
typescript: 4.8.3
transitivePeerDependencies:
@@ -6893,8 +6893,8 @@ packages:
vue: 3.2.41
dev: true
- /@vitest/coverage-istanbul/0.26.3_jsdom@20.0.3:
- resolution: {integrity: sha512-pJRxb+mGy11WdYiam6iW6N4CyhaBbpne+CGPqYGid74SplcR8N07JT3ETDoHKqh5vJCX5UnEIYIreanvFjgLHg==}
+ /@vitest/coverage-istanbul/0.27.1_jsdom@20.0.3:
+ resolution: {integrity: sha512-VVLwkyRloXb5laEWdCDb5Ns4+W7vtb1PBJR0nLXZRCuzDKH3VeWYmb4xeYn6I9fz9Yv9Vmcke2X/gd3/lKW5Vw==}
dependencies:
istanbul-lib-coverage: 3.2.0
istanbul-lib-instrument: 5.2.1
@@ -6902,7 +6902,7 @@ packages:
istanbul-lib-source-maps: 4.0.1
istanbul-reports: 3.1.5
test-exclude: 6.0.0
- vitest: 0.26.3_jsdom@20.0.3
+ vitest: 0.27.1_jsdom@20.0.3
transitivePeerDependencies:
- '@edge-runtime/vm'
- '@vitest/browser'
@@ -7756,7 +7756,7 @@ packages:
'@babel/helper-plugin-utils': 7.19.0
'@istanbuljs/load-nyc-config': 1.1.0
'@istanbuljs/schema': 0.1.3
- istanbul-lib-instrument: 5.2.0
+ istanbul-lib-instrument: 5.2.1
test-exclude: 6.0.0
transitivePeerDependencies:
- supports-color
@@ -8574,7 +8574,7 @@ packages:
dev: false
/concat-map/0.0.1:
- resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
/concurrently/7.2.2:
resolution: {integrity: sha512-DcQkI0ruil5BA/g7Xy3EWySGrFJovF5RYAYxwGvv9Jf9q9B1v3jPFP2tl6axExNf1qgF30kjoNYrangZ0ey4Aw==}
@@ -11665,19 +11665,6 @@ packages:
engines: {node: '>=8'}
dev: true
- /istanbul-lib-instrument/5.2.0:
- resolution: {integrity: sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==}
- engines: {node: '>=8'}
- dependencies:
- '@babel/core': 7.19.1
- '@babel/parser': 7.19.1
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-coverage: 3.2.0
- semver: 6.3.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/istanbul-lib-instrument/5.2.1:
resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
engines: {node: '>=8'}
@@ -11711,14 +11698,6 @@ packages:
- supports-color
dev: true
- /istanbul-reports/3.1.4:
- resolution: {integrity: sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==}
- engines: {node: '>=8'}
- dependencies:
- html-escaper: 2.0.2
- istanbul-lib-report: 3.0.0
- dev: true
-
/istanbul-reports/3.1.5:
resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==}
engines: {node: '>=8'}
@@ -13562,8 +13541,8 @@ packages:
dependencies:
minimist: 1.2.6
- /mlly/1.0.0:
- resolution: {integrity: sha512-QL108Hwt+u9bXdWgOI0dhzZfACovn5Aen4Xvc8Jasd9ouRH4NjnrXEiyP3nVvJo91zPlYjVRckta0Nt2zfoR6g==}
+ /mlly/1.1.0:
+ resolution: {integrity: sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==}
dependencies:
acorn: 8.8.1
pathe: 1.0.0
@@ -14326,7 +14305,7 @@ packages:
resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==}
dependencies:
jsonc-parser: 3.2.0
- mlly: 1.0.0
+ mlly: 1.1.0
pathe: 1.0.0
dev: true
@@ -15570,6 +15549,10 @@ packages:
object-inspect: 1.12.2
dev: true
+ /siginfo/2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+ dev: true
+
/signal-exit/3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
@@ -15856,6 +15839,10 @@ packages:
escape-string-regexp: 2.0.0
dev: true
+ /stackback/0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ dev: true
+
/stackframe/1.3.4:
resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
dev: false
@@ -17052,14 +17039,16 @@ packages:
engines: {node: '>= 0.8'}
dev: false
- /vite-node/0.26.3_@types+node@17.0.45:
- resolution: {integrity: sha512-Te2bq0Bfvq6XiO718I+1EinMjpNYKws6SNHKOmVbILAQimKoZKDd+IZLlkaYcBXPpK3HFe2U80k8Zw+m3w/a2w==}
+ /vite-node/0.27.1_@types+node@17.0.45:
+ resolution: {integrity: sha512-d6+ue/3NzsfndWaPbYh/bFkHbmAWfDXI4B874zRx+WREnG6CUHUbBC8lKaRYZjeR6gCPN5m1aVNNRXBYICA9XA==}
engines: {node: '>=v14.16.0'}
hasBin: true
dependencies:
+ cac: 6.7.14
debug: 4.3.4
- mlly: 1.0.0
+ mlly: 1.1.0
pathe: 0.2.0
+ picocolors: 1.0.0
source-map: 0.6.1
source-map-support: 0.5.21
vite: 4.0.4_@types+node@17.0.45
@@ -17279,8 +17268,8 @@ packages:
vite: 4.0.4
dev: true
- /vitest/0.26.3_jsdom@20.0.3:
- resolution: {integrity: sha512-FmHxU9aUCxTi23keF3vxb/Qp0lYXaaJ+jRLGOUmMS3qVTOJvgGE+f1VArupA6pEhaG2Ans4X+zV9dqM5WISMbg==}
+ /vitest/0.27.1_jsdom@20.0.3:
+ resolution: {integrity: sha512-1sIpQ1DVFTEn7c1ici1XHcVfdU4nKiBmPtPAtGKJJJLuJjojTv/OHGgcf69P57alM4ty8V4NMv+7Yoi5Cxqx9g==}
engines: {node: '>=v14.16.0'}
hasBin: true
peerDependencies:
@@ -17306,17 +17295,20 @@ packages:
'@types/node': 17.0.45
acorn: 8.8.1
acorn-walk: 8.2.0
+ cac: 6.7.14
chai: 4.3.7
debug: 4.3.4
jsdom: 20.0.3
local-pkg: 0.4.2
+ picocolors: 1.0.0
source-map: 0.6.1
strip-literal: 1.0.0
tinybench: 2.3.1
tinypool: 0.3.0
tinyspy: 1.0.2
vite: 4.0.4_@types+node@17.0.45
- vite-node: 0.26.3_@types+node@17.0.45
+ vite-node: 0.27.1_@types+node@17.0.45
+ why-is-node-running: 2.2.2
transitivePeerDependencies:
- less
- sass
@@ -17537,6 +17529,15 @@ packages:
isexe: 2.0.0
dev: true
+ /why-is-node-running/2.2.2:
+ resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+ dev: true
+
/word-wrap/1.2.3:
resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
engines: {node: '>=0.10.0'}