nextjs-cms 0.9.22 → 0.9.23

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 (185) hide show
  1. package/README.md +65 -13
  2. package/dist/api/actions/files.d.ts +30 -0
  3. package/dist/api/actions/files.d.ts.map +1 -0
  4. package/dist/api/actions/files.js +234 -0
  5. package/dist/api/actions/index.d.ts +4 -0
  6. package/dist/api/actions/index.d.ts.map +1 -0
  7. package/dist/api/actions/index.js +3 -0
  8. package/dist/api/actions/pages.d.ts +297 -0
  9. package/dist/api/actions/pages.d.ts.map +1 -0
  10. package/dist/api/actions/pages.js +1215 -0
  11. package/dist/api/actions/privileges.d.ts +25 -0
  12. package/dist/api/actions/privileges.d.ts.map +1 -0
  13. package/dist/api/actions/privileges.js +98 -0
  14. package/dist/api/client/index.d.ts +4 -0
  15. package/dist/api/client/index.d.ts.map +1 -0
  16. package/dist/api/client/index.js +3 -0
  17. package/dist/api/client.d.ts +30 -0
  18. package/dist/api/client.d.ts.map +1 -0
  19. package/dist/api/client.js +82 -0
  20. package/dist/api/index.d.ts +1 -938
  21. package/dist/api/index.d.ts.map +1 -1
  22. package/dist/api/index.js +0 -13
  23. package/dist/api/plugin/index.d.ts +7 -0
  24. package/dist/api/plugin/index.d.ts.map +1 -0
  25. package/dist/api/plugin/index.js +5 -0
  26. package/dist/api/root.d.ts +18 -1844
  27. package/dist/api/root.d.ts.map +1 -1
  28. package/dist/api/root.js +18 -83
  29. package/dist/api/server/index.d.ts +8 -0
  30. package/dist/api/server/index.d.ts.map +1 -0
  31. package/dist/api/server/index.js +3 -0
  32. package/dist/api/server.d.ts +2748 -0
  33. package/dist/api/server.d.ts.map +1 -0
  34. package/dist/api/server.js +100 -0
  35. package/dist/api/trpc/client.d.ts +19 -3
  36. package/dist/api/trpc/client.d.ts.map +1 -1
  37. package/dist/api/trpc/client.js +55 -1
  38. package/dist/api/trpc/query-client.d.ts +3 -1
  39. package/dist/api/trpc/query-client.d.ts.map +1 -1
  40. package/dist/api/trpc/query-client.js +25 -20
  41. package/dist/api/trpc/root.d.ts +906 -0
  42. package/dist/api/trpc/root.d.ts.map +1 -0
  43. package/dist/api/trpc/root.js +47 -0
  44. package/dist/api/trpc/routers/accountSettings.d.ts +66 -0
  45. package/dist/api/trpc/routers/accountSettings.d.ts.map +1 -0
  46. package/dist/api/trpc/routers/accountSettings.js +200 -0
  47. package/dist/api/trpc/routers/admins.d.ts +112 -0
  48. package/dist/api/trpc/routers/admins.d.ts.map +1 -0
  49. package/dist/api/trpc/routers/admins.js +331 -0
  50. package/dist/api/trpc/routers/auth.d.ts +54 -0
  51. package/dist/api/trpc/routers/auth.d.ts.map +1 -0
  52. package/dist/api/trpc/routers/auth.js +50 -0
  53. package/dist/api/trpc/routers/categorySection.d.ts +105 -0
  54. package/dist/api/trpc/routers/categorySection.d.ts.map +1 -0
  55. package/dist/api/trpc/routers/categorySection.js +49 -0
  56. package/dist/api/trpc/routers/config.d.ts +48 -0
  57. package/dist/api/trpc/routers/config.d.ts.map +1 -0
  58. package/dist/api/trpc/routers/config.js +18 -0
  59. package/dist/api/trpc/routers/cpanel.d.ts +82 -0
  60. package/dist/api/trpc/routers/cpanel.d.ts.map +1 -0
  61. package/dist/api/trpc/routers/cpanel.js +216 -0
  62. package/dist/api/trpc/routers/fields.d.ts +35 -0
  63. package/dist/api/trpc/routers/fields.d.ts.map +1 -0
  64. package/dist/api/trpc/routers/fields.js +81 -0
  65. package/dist/api/trpc/routers/files.d.ts +34 -0
  66. package/dist/api/trpc/routers/files.d.ts.map +1 -0
  67. package/dist/api/trpc/routers/files.js +14 -0
  68. package/dist/api/trpc/routers/gallery.d.ts +35 -0
  69. package/dist/api/trpc/routers/gallery.d.ts.map +1 -0
  70. package/dist/api/trpc/routers/gallery.js +92 -0
  71. package/dist/api/trpc/routers/hasItemsSection.d.ts +194 -0
  72. package/dist/api/trpc/routers/hasItemsSection.d.ts.map +1 -0
  73. package/dist/api/trpc/routers/hasItemsSection.js +86 -0
  74. package/dist/api/trpc/routers/logs.d.ts +59 -0
  75. package/dist/api/trpc/routers/logs.d.ts.map +1 -0
  76. package/dist/api/trpc/routers/logs.js +79 -0
  77. package/dist/api/trpc/routers/navigation.d.ts +65 -0
  78. package/dist/api/trpc/routers/navigation.d.ts.map +1 -0
  79. package/dist/api/trpc/routers/navigation.js +11 -0
  80. package/dist/api/trpc/routers/simpleSection.d.ts +93 -0
  81. package/dist/api/trpc/routers/simpleSection.d.ts.map +1 -0
  82. package/dist/api/trpc/routers/simpleSection.js +54 -0
  83. package/dist/api/trpc/server.d.ts +2789 -5
  84. package/dist/api/trpc/server.d.ts.map +1 -1
  85. package/dist/api/trpc/server.js +91 -52
  86. package/dist/api/trpc/trpc.d.ts +111 -0
  87. package/dist/api/trpc/trpc.d.ts.map +1 -0
  88. package/dist/api/trpc/trpc.js +99 -0
  89. package/dist/api/trpc/utils/async-caller-proxy.d.ts +2 -0
  90. package/dist/api/trpc/utils/async-caller-proxy.d.ts.map +1 -0
  91. package/dist/api/trpc/utils/async-caller-proxy.js +38 -0
  92. package/dist/api/trpc/utils/refresh-token-link.d.ts +6 -0
  93. package/dist/api/trpc/utils/refresh-token-link.d.ts.map +1 -0
  94. package/dist/api/trpc/utils/refresh-token-link.js +81 -0
  95. package/dist/api/trpc/utils/router-types.d.ts +7 -0
  96. package/dist/api/trpc/utils/router-types.d.ts.map +1 -0
  97. package/dist/api/trpc/utils/router-types.js +0 -0
  98. package/dist/api/use-axios-private.d.ts +6 -0
  99. package/dist/api/use-axios-private.d.ts.map +1 -0
  100. package/dist/api/use-axios-private.js +57 -0
  101. package/dist/api/utils/async-caller-proxy.d.ts +2 -0
  102. package/dist/api/utils/async-caller-proxy.d.ts.map +1 -0
  103. package/dist/api/utils/async-caller-proxy.js +36 -0
  104. package/dist/api/utils/lazy-caller-proxy.d.ts +2 -0
  105. package/dist/api/utils/lazy-caller-proxy.d.ts.map +1 -0
  106. package/dist/api/utils/lazy-caller-proxy.js +36 -0
  107. package/dist/api/utils/router-types.d.ts +7 -0
  108. package/dist/api/utils/router-types.d.ts.map +1 -0
  109. package/dist/api/utils/router-types.js +0 -0
  110. package/dist/auth/hooks/index.d.ts +1 -2
  111. package/dist/auth/hooks/index.d.ts.map +1 -1
  112. package/dist/auth/hooks/index.js +1 -2
  113. package/dist/auth/react.d.ts +1 -2
  114. package/dist/auth/react.d.ts.map +1 -1
  115. package/dist/auth/react.js +1 -2
  116. package/dist/auth/trpc.d.ts +1 -1
  117. package/dist/auth/trpc.d.ts.map +1 -1
  118. package/dist/auth/trpc.js +0 -1
  119. package/dist/cli/lib/fix-master-admin.d.ts.map +1 -1
  120. package/dist/cli/lib/fix-master-admin.js +12 -25
  121. package/dist/cli/lib/update-sections.d.ts.map +1 -1
  122. package/dist/cli/lib/update-sections.js +29 -24
  123. package/dist/core/config/config-loader.d.ts +23 -7
  124. package/dist/core/config/config-loader.d.ts.map +1 -1
  125. package/dist/core/config/config-loader.js +26 -9
  126. package/dist/core/fields/select.d.ts +1 -1
  127. package/dist/core/sections/category.d.ts +44 -44
  128. package/dist/core/sections/hasItems.d.ts +44 -44
  129. package/dist/core/sections/section.d.ts +23 -23
  130. package/dist/core/sections/simple.d.ts +8 -8
  131. package/dist/core/types/index.d.ts +17 -0
  132. package/dist/core/types/index.d.ts.map +1 -1
  133. package/dist/index.d.ts +0 -1
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +0 -1
  136. package/dist/plugins/client.d.ts +19 -0
  137. package/dist/plugins/client.d.ts.map +1 -0
  138. package/dist/plugins/client.js +24 -0
  139. package/dist/plugins/define.d.ts +4 -0
  140. package/dist/plugins/define.d.ts.map +1 -0
  141. package/dist/plugins/define.js +3 -0
  142. package/dist/plugins/derive.d.ts +32 -0
  143. package/dist/plugins/derive.d.ts.map +1 -0
  144. package/dist/plugins/derive.js +77 -0
  145. package/dist/plugins/loader.d.ts +51 -7
  146. package/dist/plugins/loader.d.ts.map +1 -1
  147. package/dist/plugins/loader.js +111 -51
  148. package/dist/plugins/manifest.d.ts +28 -0
  149. package/dist/plugins/manifest.d.ts.map +1 -0
  150. package/dist/plugins/manifest.js +83 -0
  151. package/dist/plugins/prefetch.d.ts +16 -0
  152. package/dist/plugins/prefetch.d.ts.map +1 -0
  153. package/dist/plugins/prefetch.js +40 -0
  154. package/dist/plugins/registry.d.ts +22 -0
  155. package/dist/plugins/registry.d.ts.map +1 -0
  156. package/dist/plugins/registry.js +25 -0
  157. package/dist/plugins/server.d.ts +2 -0
  158. package/dist/plugins/server.d.ts.map +1 -1
  159. package/dist/plugins/server.js +2 -0
  160. package/dist/plugins/types.d.ts +9 -0
  161. package/dist/plugins/types.d.ts.map +1 -0
  162. package/dist/plugins/types.js +0 -0
  163. package/dist/translations/base/en.d.ts +1 -0
  164. package/dist/translations/base/en.d.ts.map +1 -1
  165. package/dist/translations/base/en.js +1 -0
  166. package/dist/translations/client.d.ts +16 -4
  167. package/dist/translations/client.d.ts.map +1 -1
  168. package/dist/translations/server.d.ts +16 -4
  169. package/dist/translations/server.d.ts.map +1 -1
  170. package/dist/utils/console-log.d.ts +18 -0
  171. package/dist/utils/console-log.d.ts.map +1 -0
  172. package/dist/utils/console-log.js +28 -0
  173. package/dist/utils/index.d.ts +1 -0
  174. package/dist/utils/index.d.ts.map +1 -1
  175. package/dist/utils/index.js +1 -0
  176. package/dist/utils/log.d.ts +18 -0
  177. package/dist/utils/log.d.ts.map +1 -0
  178. package/dist/utils/log.js +28 -0
  179. package/dist/validators/index.d.ts +1 -0
  180. package/dist/validators/index.d.ts.map +1 -1
  181. package/dist/validators/index.js +1 -0
  182. package/dist/validators/tags.d.ts +4 -0
  183. package/dist/validators/tags.d.ts.map +1 -0
  184. package/dist/validators/tags.js +8 -0
  185. package/package.json +34 -16
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import 'server-only';
2
+ import { createHydrationHelpers } from '@trpc/react-query/rsc';
3
+ import { fetchRequestHandler } from '@trpc/server/adapters/fetch';
4
+ import { headers } from 'next/headers';
5
+ import { cache } from 'react';
6
+ import { getConfigImportVersion } from '../core/config/index.js';
7
+ import { loadPlugins } from '../plugins/loader.js';
8
+ import { coreRouters } from './root.js';
9
+ import { createCallerFactory, createTRPCContext, router } from './trpc.js';
10
+ import { createQueryClient } from './trpc/query-client.js';
11
+ import { createAsyncCallerProxy } from './utils/async-caller-proxy.js';
12
+ export function createTRPCRouter(opts = {}) {
13
+ const userRouters = (opts.routers ?? {});
14
+ for (const key of Object.keys(userRouters)) {
15
+ if (key in coreRouters) {
16
+ throw new Error(`[trpc] Router key "${key}" conflicts with a core router.`);
17
+ }
18
+ }
19
+ const appRouter = router({
20
+ ...coreRouters,
21
+ ...userRouters,
22
+ });
23
+ let cachedRouter = null;
24
+ let pendingRouter = null;
25
+ let cachedVersion = -1;
26
+ let pendingVersion = -1;
27
+ async function getMergedRouter() {
28
+ const currentVersion = getConfigImportVersion();
29
+ if (cachedRouter && cachedVersion === currentVersion) {
30
+ return cachedRouter;
31
+ }
32
+ if (pendingRouter && pendingVersion === currentVersion) {
33
+ return pendingRouter;
34
+ }
35
+ cachedRouter = null;
36
+ pendingVersion = currentVersion;
37
+ pendingRouter = (async () => {
38
+ const loadedPlugins = await loadPlugins();
39
+ const pluginRouters = {};
40
+ const seen = new Set([...Object.keys(coreRouters), ...Object.keys(userRouters)]);
41
+ for (const plugin of loadedPlugins) {
42
+ if (!plugin.plugin.router)
43
+ continue;
44
+ if (seen.has(plugin.routerKey)) {
45
+ const message = `[plugins] Router key "${plugin.routerKey}" conflicts with core/user router. Skipping.`;
46
+ throw new Error(message);
47
+ }
48
+ pluginRouters[plugin.routerKey] = plugin.plugin.router;
49
+ seen.add(plugin.routerKey);
50
+ }
51
+ const mergedRouter = router({
52
+ ...coreRouters,
53
+ ...pluginRouters,
54
+ ...userRouters,
55
+ });
56
+ cachedRouter = mergedRouter;
57
+ cachedVersion = currentVersion;
58
+ return mergedRouter;
59
+ })();
60
+ try {
61
+ return await pendingRouter;
62
+ }
63
+ finally {
64
+ if (pendingVersion === currentVersion) {
65
+ pendingRouter = null;
66
+ }
67
+ }
68
+ }
69
+ const createContext = cache(async () => {
70
+ const heads = new Headers(await headers());
71
+ heads.set('x-trpc-source', 'rsc');
72
+ return createTRPCContext({
73
+ headers: heads,
74
+ });
75
+ });
76
+ const getQueryClient = cache(createQueryClient);
77
+ const getCaller = cache(async () => (await getMergedRouter()).createCaller(await createContext()));
78
+ const callerProxy = createAsyncCallerProxy(getCaller);
79
+ const helpers = createHydrationHelpers(callerProxy, getQueryClient);
80
+ const handler = async (req) => fetchRequestHandler({
81
+ endpoint: '/api/trpc',
82
+ req,
83
+ router: await getMergedRouter(),
84
+ createContext: () => createTRPCContext({ headers: req.headers }),
85
+ onError: opts.onError ??
86
+ (process.env.NODE_ENV === 'development'
87
+ ? ({ path, error }) => {
88
+ console.error(`tRPC failed on ${path ?? '<no-path>'}: ${error.message}`);
89
+ }
90
+ : undefined),
91
+ });
92
+ return {
93
+ appRouter,
94
+ handler: { GET: handler, POST: handler },
95
+ api: helpers.trpc,
96
+ HydrateClient: helpers.HydrateClient,
97
+ createCaller: createCallerFactory(appRouter),
98
+ getRouter: getMergedRouter,
99
+ };
100
+ }
@@ -1,4 +1,20 @@
1
- import { createTRPCReact } from '@trpc/react-query';
2
- import type { AppRouter } from '../root.js';
3
- export declare const trpc: ReturnType<typeof createTRPCReact<AppRouter>>;
1
+ import type { CreateTRPCReact } from '@trpc/react-query';
2
+ import type { AnyRouter } from '@trpc/server';
3
+ import * as React from 'react';
4
+ import type { ReactNode } from 'react';
5
+ import type { Session } from '../../auth/index.js';
6
+ import type { SessionProviderProps } from '../../auth/react.js';
7
+ type SessionOptions = Omit<SessionProviderProps, 'children' | 'session'>;
8
+ export interface NextjsCmsProviderProps<TRouter extends AnyRouter> {
9
+ children: ReactNode;
10
+ session?: Session | null;
11
+ sessionOptions?: SessionOptions;
12
+ reactQueryDevTools?: boolean;
13
+ }
14
+ export interface NextjsCmsClient<TRouter extends AnyRouter> {
15
+ trpc: CreateTRPCReact<TRouter, unknown>;
16
+ NextjsCmsProvider: (props: NextjsCmsProviderProps<TRouter>) => React.JSX.Element;
17
+ }
18
+ export declare function createNextjsCmsClient<TRouter extends AnyRouter>(): NextjsCmsClient<TRouter>;
19
+ export {};
4
20
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/trpc/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,eAAO,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAgC,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/trpc/client.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,mBAAmB,CAAA;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG/D,KAAK,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,SAAS,CAAC,CAAA;AAExE,MAAM,WAAW,sBAAsB,CAAC,OAAO,SAAS,SAAS;IAC7D,QAAQ,EAAE,SAAS,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,SAAS;IACtD,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACvC,iBAAiB,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAA;CACnF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,SAAS,SAAS,KAAK,eAAe,CAAC,OAAO,CAAC,CA6D3F"}
@@ -1,3 +1,57 @@
1
1
  'use client';
2
+ import { QueryClientProvider } from '@tanstack/react-query';
3
+ import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
4
+ import { httpBatchLink, loggerLink } from '@trpc/client';
2
5
  import { createTRPCReact } from '@trpc/react-query';
3
- export const trpc = createTRPCReact();
6
+ import * as React from 'react';
7
+ import { useState } from 'react';
8
+ import SuperJSON from 'superjson';
9
+ import { getCsrfToken, SessionProvider } from '../../auth/react.js';
10
+ import { createQueryClient } from './query-client.js';
11
+ import { refreshTokenLink } from './utils/refresh-token-link.js';
12
+ import { PluginTRPCProvider } from '../../plugins/client.js';
13
+ export function createNextjsCmsClient() {
14
+ const trpc = createTRPCReact();
15
+ const trpcBase = trpc;
16
+ let browserQueryClient;
17
+ function getQueryClient() {
18
+ if (typeof window === 'undefined') {
19
+ return createQueryClient();
20
+ }
21
+ if (!browserQueryClient)
22
+ browserQueryClient = createQueryClient();
23
+ return browserQueryClient;
24
+ }
25
+ function NextjsCmsProvider({ children, session, sessionOptions, reactQueryDevTools, }) {
26
+ const queryClient = getQueryClient();
27
+ const showReactQueryDevTools = reactQueryDevTools ?? process.env.NODE_ENV === 'development';
28
+ const [trpcClient] = useState(() => trpcBase.createClient({
29
+ links: [
30
+ refreshTokenLink(),
31
+ loggerLink({
32
+ enabled: (op) => process.env.NODE_ENV === 'development' ||
33
+ (op.direction === 'down' && op.result instanceof Error),
34
+ }),
35
+ httpBatchLink({
36
+ transformer: SuperJSON,
37
+ url: '/api/trpc',
38
+ async headers(op) {
39
+ const headers = new Headers();
40
+ if (op.opList.some((operation) => operation.type === 'mutation')) {
41
+ const csrfToken = await getCsrfToken();
42
+ headers.set('x-csrf-token', csrfToken);
43
+ }
44
+ headers.set('x-trpc-source', 'nextjs-react');
45
+ return headers;
46
+ },
47
+ }),
48
+ ],
49
+ }));
50
+ return (React.createElement(QueryClientProvider, { client: queryClient },
51
+ React.createElement(trpcBase.Provider, { client: trpcClient, queryClient: queryClient },
52
+ React.createElement(SessionProvider, { session: session, ...sessionOptions },
53
+ React.createElement(PluginTRPCProvider, { trpc: trpc }, children)),
54
+ showReactQueryDevTools ? React.createElement(ReactQueryDevtools, { initialIsOpen: false }) : null)));
55
+ }
56
+ return { trpc, NextjsCmsProvider };
57
+ }
@@ -1,3 +1,5 @@
1
1
  import { QueryClient } from '@tanstack/react-query';
2
- export declare const createQueryClient: () => QueryClient;
2
+ import type { QueryClientConfig } from '@tanstack/react-query';
3
+ export declare function createQueryClientOptions(): QueryClientConfig;
4
+ export declare function createQueryClient(): QueryClient;
3
5
  //# sourceMappingURL=query-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-client.d.ts","sourceRoot":"","sources":["../../../src/api/trpc/query-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGhF,eAAO,MAAM,iBAAiB,mBAqBxB,CAAA"}
1
+ {"version":3,"file":"query-client.d.ts","sourceRoot":"","sources":["../../../src/api/trpc/query-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAG9D,wBAAgB,wBAAwB,IAAI,iBAAiB,CAsB5D;AAED,wBAAgB,iBAAiB,gBAEhC"}
@@ -1,23 +1,28 @@
1
1
  import { defaultShouldDehydrateQuery, QueryClient } from '@tanstack/react-query';
2
2
  import SuperJSON from 'superjson';
3
- export const createQueryClient = () => new QueryClient({
4
- defaultOptions: {
5
- queries: {
6
- // With SSR, we usually want to set some default staleTime
7
- // above 0 to avoid refetching immediately on the client
8
- /**
9
- * We want to refetch on window focus in development only
10
- */
11
- staleTime: 30 * 1000,
12
- refetchOnWindowFocus: process.env.NODE_ENV === 'development' ? true : false,
13
- retry: 1, // default: 3
3
+ export function createQueryClientOptions() {
4
+ return {
5
+ defaultOptions: {
6
+ queries: {
7
+ // With SSR, we usually want to set some default staleTime
8
+ // above 0 to avoid refetching immediately on the client
9
+ /**
10
+ * We want to refetch on window focus in development only
11
+ */
12
+ staleTime: 30 * 1000,
13
+ refetchOnWindowFocus: process.env.NODE_ENV === 'development' ? true : false,
14
+ retry: 1, // default: 3
15
+ },
16
+ dehydrate: {
17
+ serializeData: SuperJSON.serialize,
18
+ shouldDehydrateQuery: (query) => defaultShouldDehydrateQuery(query) || query.state.status === 'pending',
19
+ },
20
+ hydrate: {
21
+ deserializeData: SuperJSON.deserialize,
22
+ },
14
23
  },
15
- dehydrate: {
16
- serializeData: SuperJSON.serialize,
17
- shouldDehydrateQuery: (query) => defaultShouldDehydrateQuery(query) || query.state.status === 'pending',
18
- },
19
- hydrate: {
20
- deserializeData: SuperJSON.deserialize,
21
- },
22
- },
23
- });
24
+ };
25
+ }
26
+ export function createQueryClient() {
27
+ return new QueryClient(createQueryClientOptions());
28
+ }