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..3473cfd040 100644
--- a/packages/svelte-query/package.json
+++ b/packages/svelte-query/package.json
@@ -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..733c1a6176 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1008,7 +1008,7 @@ 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:
@@ -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:
@@ -13571,6 +13571,15 @@ packages:
ufo: 1.0.1
dev: true
+ /mlly/1.1.0:
+ resolution: {integrity: sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==}
+ dependencies:
+ acorn: 8.8.1
+ pathe: 1.0.0
+ pkg-types: 1.0.1
+ ufo: 1.0.1
+ dev: true
+
/mockdate/3.0.5:
resolution: {integrity: sha512-iniQP4rj1FhBdBYS/+eQv7j1tadJ9lJtdzgOpvsOHng/GbcDh2Fhdeq+ZRldrPYdXvCyfFUmFeEwEGXZB5I/AQ==}
dev: false
@@ -14326,7 +14335,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 +15579,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 +15869,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
@@ -17073,6 +17090,29 @@ packages:
- terser
dev: true
+ /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.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
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
/vite-plugin-solid/2.3.9_solid-js@1.5.4+vite@3.1.3:
resolution: {integrity: sha512-+lprsYgt9DVNp0kbDj2d2HWAPI13L8ff5xslk9SjiPBcsY/YUZ/1Wj0J/Oj5aiVAhwfPm8IcM3bzyHJUPlmc8w==}
peerDependencies:
@@ -17326,6 +17366,56 @@ packages:
- terser
dev: true
+ /vitest/0.27.1_jsdom@20.0.3:
+ resolution: {integrity: sha512-1sIpQ1DVFTEn7c1ici1XHcVfdU4nKiBmPtPAtGKJJJLuJjojTv/OHGgcf69P57alM4ty8V4NMv+7Yoi5Cxqx9g==}
+ engines: {node: '>=v14.16.0'}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@vitest/browser': '*'
+ '@vitest/ui': '*'
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+ dependencies:
+ '@types/chai': 4.3.4
+ '@types/chai-subset': 1.3.3
+ '@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.27.1_@types+node@17.0.45
+ why-is-node-running: 2.2.2
+ transitivePeerDependencies:
+ - less
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
/vlq/1.0.1:
resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==}
dev: false
@@ -17537,6 +17627,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'}