@tanstack/react-query 5.0.0-alpha.23 → 5.0.0-alpha.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/build/codemods/utils/index.js +205 -0
  2. package/build/codemods/utils/transformers/query-cache-transformer.js +116 -0
  3. package/build/codemods/utils/transformers/query-client-transformer.js +48 -0
  4. package/build/codemods/utils/transformers/use-query-like-transformer.js +32 -0
  5. package/build/codemods/v4/__testfixtures__/default-import.input.tsx +94 -0
  6. package/build/codemods/v4/__testfixtures__/default-import.output.tsx +96 -0
  7. package/build/codemods/v4/__testfixtures__/named-import.input.tsx +96 -0
  8. package/build/codemods/v4/__testfixtures__/named-import.output.tsx +98 -0
  9. package/build/codemods/v4/__testfixtures__/namespaced-import.input.tsx +86 -0
  10. package/build/codemods/v4/__testfixtures__/namespaced-import.output.tsx +88 -0
  11. package/build/codemods/v4/__testfixtures__/parameter-is-identifier.input.tsx +49 -0
  12. package/build/codemods/v4/__testfixtures__/parameter-is-identifier.output.tsx +49 -0
  13. package/build/codemods/v4/__testfixtures__/parameter-is-object-expression.input.tsx +128 -0
  14. package/build/codemods/v4/__testfixtures__/parameter-is-object-expression.output.tsx +175 -0
  15. package/build/codemods/v4/__testfixtures__/replace-import-specifier.input.tsx +10 -0
  16. package/build/codemods/v4/__testfixtures__/replace-import-specifier.output.tsx +10 -0
  17. package/build/codemods/v4/__testfixtures__/type-arguments.input.tsx +25 -0
  18. package/build/codemods/v4/__testfixtures__/type-arguments.output.tsx +31 -0
  19. package/build/codemods/v4/__tests__/key-transformation.test.js +32 -0
  20. package/build/codemods/v4/__tests__/replace-import-specifier.test.js +12 -0
  21. package/build/codemods/v4/key-transformation.js +138 -0
  22. package/build/codemods/v4/replace-import-specifier.js +25 -0
  23. package/build/codemods/v4/utils/replacers/key-replacer.js +164 -0
  24. package/build/codemods/v5/remove-overloads/__testfixtures__/default-import.input.tsx +199 -0
  25. package/build/codemods/v5/remove-overloads/__testfixtures__/default-import.output.tsx +484 -0
  26. package/build/codemods/v5/remove-overloads/__tests__/remove-overloads.test.js +6 -0
  27. package/build/codemods/v5/remove-overloads/remove-overloads.js +59 -0
  28. package/build/codemods/v5/remove-overloads/transformers/filter-aware-usage-transformer.js +153 -0
  29. package/build/codemods/v5/remove-overloads/transformers/query-fn-aware-usage-transformer.js +188 -0
  30. package/build/codemods/v5/remove-overloads/utils/index.js +124 -0
  31. package/build/codemods/v5/remove-overloads/utils/unknown-usage-error.js +26 -0
  32. package/build/lib/HydrationBoundary.d.ts +1 -0
  33. package/build/lib/QueryClientProvider.d.ts +1 -0
  34. package/build/lib/QueryErrorResetBoundary.d.ts +1 -0
  35. package/build/lib/__tests__/HydrationBoundary.test.d.ts +1 -0
  36. package/build/lib/__tests__/QueryClientProvider.test.d.ts +1 -0
  37. package/build/lib/__tests__/QueryResetErrorBoundary.test.d.ts +1 -0
  38. package/build/lib/__tests__/ssr-hydration.test.d.ts +1 -0
  39. package/build/lib/__tests__/ssr.test.d.ts +1 -0
  40. package/build/lib/__tests__/suspense.test.d.ts +1 -0
  41. package/build/lib/__tests__/useInfiniteQuery.test.d.ts +1 -0
  42. package/build/lib/__tests__/useInfiniteQuery.type.test.d.ts +1 -0
  43. package/build/lib/__tests__/useIsFetching.test.d.ts +1 -0
  44. package/build/lib/__tests__/useMutation.test.d.ts +1 -0
  45. package/build/lib/__tests__/useMutationState.test.d.ts +1 -0
  46. package/build/lib/__tests__/useQueries.test.d.ts +1 -0
  47. package/build/lib/__tests__/useQuery.test.d.ts +1 -0
  48. package/build/lib/__tests__/useQuery.types.test.d.ts +1 -0
  49. package/build/lib/__tests__/utils.d.ts +1 -0
  50. package/build/lib/errorBoundaryUtils.d.ts +1 -0
  51. package/build/lib/index.d.ts +2 -1
  52. package/build/lib/index.esm.js +1 -1
  53. package/build/lib/index.js +1 -0
  54. package/build/lib/index.js.map +1 -1
  55. package/build/lib/index.mjs +1 -1
  56. package/build/lib/isRestoring.d.ts +1 -0
  57. package/build/lib/suspense.d.ts +1 -0
  58. package/build/lib/types.d.ts +1 -0
  59. package/build/lib/useBaseQuery.d.ts +1 -0
  60. package/build/lib/useInfiniteQuery.d.ts +1 -0
  61. package/build/lib/useIsFetching.d.ts +1 -0
  62. package/build/lib/useMutation.d.ts +1 -0
  63. package/build/lib/useMutationState.d.ts +1 -0
  64. package/build/lib/useQueries.d.ts +1 -0
  65. package/build/lib/useQuery.d.ts +3 -0
  66. package/build/lib/useQuery.esm.js +5 -1
  67. package/build/lib/useQuery.esm.js.map +1 -1
  68. package/build/lib/useQuery.js +5 -0
  69. package/build/lib/useQuery.js.map +1 -1
  70. package/build/lib/useQuery.mjs +5 -1
  71. package/build/lib/useQuery.mjs.map +1 -1
  72. package/build/lib/utils.d.ts +1 -0
  73. package/build/umd/index.development.js +6 -1
  74. package/build/umd/index.development.js.map +1 -1
  75. package/build/umd/index.production.js +1 -1
  76. package/build/umd/index.production.js.map +1 -1
  77. package/package.json +8 -3
  78. package/src/__tests__/useQuery.types.test.tsx +21 -1
  79. package/src/index.ts +1 -1
  80. package/src/useQuery.ts +22 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/react-query",
3
- "version": "5.0.0-alpha.23",
3
+ "version": "5.0.0-alpha.25",
4
4
  "description": "Hooks for managing, caching and syncing asynchronous and remote data in React",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -25,7 +25,11 @@
25
25
  "files": [
26
26
  "build/lib/*",
27
27
  "build/umd/*",
28
- "src"
28
+ "src",
29
+ "build/codemods",
30
+ "!build/codemods/jest.config.js",
31
+ "!build/codemods/**/__testfixtures__",
32
+ "!build/codemods/**/__tests__"
29
33
  ],
30
34
  "devDependencies": {
31
35
  "@types/react": "^18.0.14",
@@ -35,7 +39,7 @@
35
39
  "react-error-boundary": "^3.1.4"
36
40
  },
37
41
  "dependencies": {
38
- "@tanstack/query-core": "5.0.0-alpha.23"
42
+ "@tanstack/query-core": "5.0.0-alpha.24"
39
43
  },
40
44
  "peerDependencies": {
41
45
  "react": "^18.0.0",
@@ -56,6 +60,7 @@
56
60
  "test:types": "tsc",
57
61
  "test:lib": "vitest run --coverage",
58
62
  "test:lib:dev": "pnpm run test:lib --watch",
63
+ "build": "mkdir -p ./build && cp -R ../codemods/src ./build/codemods",
59
64
  "build:types": "tsc --build"
60
65
  }
61
66
  }
@@ -1,4 +1,4 @@
1
- import { useQuery } from '../useQuery'
1
+ import { queryOptions, useQuery } from '../useQuery'
2
2
  import type { Expect, Equal } from './utils'
3
3
  import { doNotExecute } from './utils'
4
4
 
@@ -23,6 +23,26 @@ describe('initialData', () => {
23
23
  })
24
24
  })
25
25
 
26
+ it('TData should be defined when passed through queryOptions', () => {
27
+ doNotExecute(() => {
28
+ const options = queryOptions({
29
+ queryKey: ['key'],
30
+ queryFn: () => {
31
+ return {
32
+ wow: true,
33
+ }
34
+ },
35
+ initialData: {
36
+ wow: true,
37
+ },
38
+ })
39
+ const { data } = useQuery(options)
40
+
41
+ const result: Expect<Equal<{ wow: boolean }, typeof data>> = true
42
+ return result
43
+ })
44
+ })
45
+
26
46
  it('TData should always be defined when initialData is provided as a function which ALWAYS returns the data', () => {
27
47
  doNotExecute(() => {
28
48
  const { data } = useQuery({
package/src/index.ts CHANGED
@@ -7,7 +7,7 @@ export * from '@tanstack/query-core'
7
7
  export * from './types'
8
8
  export { useQueries } from './useQueries'
9
9
  export type { QueriesResults, QueriesOptions } from './useQueries'
10
- export { useQuery } from './useQuery'
10
+ export { useQuery, queryOptions } from './useQuery'
11
11
  export {
12
12
  QueryClientContext,
13
13
  QueryClientProvider,
package/src/useQuery.ts CHANGED
@@ -8,6 +8,28 @@ import type {
8
8
  } from './types'
9
9
  import { useBaseQuery } from './useBaseQuery'
10
10
 
11
+ export function queryOptions<
12
+ TQueryFnData = unknown,
13
+ TError = unknown,
14
+ TData = TQueryFnData,
15
+ TQueryKey extends QueryKey = QueryKey,
16
+ >(
17
+ options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
18
+ ): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
19
+
20
+ export function queryOptions<
21
+ TQueryFnData = unknown,
22
+ TError = unknown,
23
+ TData = TQueryFnData,
24
+ TQueryKey extends QueryKey = QueryKey,
25
+ >(
26
+ options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
27
+ ): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
28
+
29
+ export function queryOptions(options: unknown) {
30
+ return options
31
+ }
32
+
11
33
  // HOOK
12
34
  type UndefinedInitialDataOptions<
13
35
  TQueryFnData = unknown,