@aws/nx-plugin 0.11.0 → 0.13.0
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.
- package/package.json +1 -1
- package/src/open-api/ts-client/__snapshots__/generator.spec.ts.snap +978 -356
- package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +1678 -0
- package/src/open-api/ts-client/files/client.gen.ts.template +85 -38
- package/src/open-api/utils/codegen-data.js +24 -8
- package/src/open-api/utils/codegen-data.js.map +1 -1
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +22 -2
- package/src/py/fast-api/files/app/__name__/init.py.template +21 -2
- package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +2 -9
- package/src/py/fast-api/react/files/fast-api/scripts/generate_open_api.py.template +1 -8
- package/src/trpc/react/README.md +45 -24
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +42 -41
- package/src/trpc/react/files/src/components/TrpcClients/{IsolatedTrpcProvider.tsx.template → TrpcProvider.tsx.template} +13 -16
- package/src/trpc/react/generator.js +13 -3
- package/src/trpc/react/generator.js.map +1 -1
- package/src/utils/ast.js +1 -1
- package/src/utils/ast.js.map +1 -1
- package/src/utils/files/website/components/tanstack-query/QueryClientProvider.tsx.template +18 -0
package/src/trpc/react/README.md
CHANGED
|
@@ -44,7 +44,7 @@ Then add tRPC to your React application:
|
|
|
44
44
|
|
|
45
45
|
1. Open the NX Console in VSCode
|
|
46
46
|
2. Click on "Generate"
|
|
47
|
-
3. Search for "
|
|
47
|
+
3. Search for "api-connection"
|
|
48
48
|
4. Fill in the required parameters in the form
|
|
49
49
|
5. Click "Run"
|
|
50
50
|
|
|
@@ -53,24 +53,24 @@ Then add tRPC to your React application:
|
|
|
53
53
|
Add tRPC to your React application:
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
|
-
nx g @aws/nx-plugin:
|
|
56
|
+
nx g @aws/nx-plugin:api-connection --sourceProject=my-app --targetProject=my-api --auth=IAM
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
You can also perform a dry-run to see what files would be generated without actually creating them:
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
nx g @aws/nx-plugin:
|
|
62
|
+
nx g @aws/nx-plugin:api-connection --sourceProject=my-app --targetProject=my-api --auth=IAM --dry-run
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
Both methods will add tRPC client integration to your React application with all the necessary configuration.
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
### Input Parameters
|
|
68
68
|
|
|
69
|
-
| Parameter
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
73
|
-
| auth\*
|
|
69
|
+
| Parameter | Type | Default | Description |
|
|
70
|
+
| --------------- | ------ | ------- | ------------------------------------------------------ |
|
|
71
|
+
| sourceProject\* | string | - | The name of your React application project (required). |
|
|
72
|
+
| targetProject\* | string | - | The name of your tRPC backend project (required). |
|
|
73
|
+
| auth\* | string | "IAM" | Authentication strategy. Options: "IAM", "None" |
|
|
74
74
|
|
|
75
75
|
\*Required parameter
|
|
76
76
|
|
|
@@ -106,17 +106,17 @@ Additionally, it:
|
|
|
106
106
|
The generator provides a `use<ApiName>` hook that gives you access to the type-safe tRPC client:
|
|
107
107
|
|
|
108
108
|
```tsx
|
|
109
|
-
import { useQuery } from '@tanstack/react-query';
|
|
109
|
+
import { useQuery, useMutation } from '@tanstack/react-query';
|
|
110
110
|
import { useMyApi } from './hooks/useMyApi';
|
|
111
111
|
|
|
112
112
|
function MyComponent() {
|
|
113
113
|
const trpc = useMyApi();
|
|
114
114
|
|
|
115
115
|
// Example query
|
|
116
|
-
const { data, isLoading } = useQuery(trpc.users.list.queryOptions());
|
|
116
|
+
const { data, isLoading, error } = useQuery(trpc.users.list.queryOptions());
|
|
117
117
|
|
|
118
118
|
// Example mutation
|
|
119
|
-
const mutation = trpc.users.create.
|
|
119
|
+
const mutation = useMutation(trpc.users.create.mutationOptions());
|
|
120
120
|
|
|
121
121
|
const handleCreate = () => {
|
|
122
122
|
mutation.mutate({
|
|
@@ -127,7 +127,13 @@ function MyComponent() {
|
|
|
127
127
|
|
|
128
128
|
if (isLoading) return <div>Loading...</div>;
|
|
129
129
|
|
|
130
|
-
return
|
|
130
|
+
return (
|
|
131
|
+
<ul>
|
|
132
|
+
{data.map((user) => (
|
|
133
|
+
<li key={user.id}>{user.name}</li>
|
|
134
|
+
))}
|
|
135
|
+
</ul>
|
|
136
|
+
);
|
|
131
137
|
}
|
|
132
138
|
```
|
|
133
139
|
|
|
@@ -137,7 +143,7 @@ The integration includes built-in error handling that properly processes tRPC er
|
|
|
137
143
|
|
|
138
144
|
```tsx
|
|
139
145
|
function MyComponent() {
|
|
140
|
-
const trpc =
|
|
146
|
+
const trpc = useMyApi();
|
|
141
147
|
|
|
142
148
|
const { data, error } = useQuery(trpc.users.list.queryOptions());
|
|
143
149
|
|
|
@@ -151,7 +157,13 @@ function MyComponent() {
|
|
|
151
157
|
);
|
|
152
158
|
}
|
|
153
159
|
|
|
154
|
-
return
|
|
160
|
+
return (
|
|
161
|
+
<ul>
|
|
162
|
+
{data.map((user) => (
|
|
163
|
+
<li key={user.id}>{user.name}</li>
|
|
164
|
+
))}
|
|
165
|
+
</ul>
|
|
166
|
+
);
|
|
155
167
|
}
|
|
156
168
|
```
|
|
157
169
|
|
|
@@ -159,11 +171,12 @@ function MyComponent() {
|
|
|
159
171
|
|
|
160
172
|
### 1. Handle Loading States
|
|
161
173
|
|
|
162
|
-
Always handle loading states for better user experience:
|
|
174
|
+
Always handle loading and error states for a better user experience:
|
|
163
175
|
|
|
164
176
|
```tsx
|
|
165
177
|
function UserList() {
|
|
166
|
-
const trpc =
|
|
178
|
+
const trpc = useMyApi();
|
|
179
|
+
|
|
167
180
|
const users = useQuery(trpc.users.list.queryOptions());
|
|
168
181
|
|
|
169
182
|
if (users.isLoading) {
|
|
@@ -186,14 +199,15 @@ function UserList() {
|
|
|
186
199
|
|
|
187
200
|
### 2. Optimistic Updates
|
|
188
201
|
|
|
189
|
-
Use optimistic updates for better user experience:
|
|
202
|
+
Use optimistic updates for a better user experience:
|
|
190
203
|
|
|
191
204
|
```tsx
|
|
192
|
-
import { useQueryClient } from '@tanstack/react-query';
|
|
205
|
+
import { useQueryClient, useQuery, useMutation } from '@tanstack/react-query';
|
|
193
206
|
|
|
194
207
|
function UserList() {
|
|
208
|
+
const trpc = useMyApi();
|
|
209
|
+
const users = useQuery(trpc.users.list.queryOptions());
|
|
195
210
|
const queryClient = useQueryClient();
|
|
196
|
-
const trpc = useTrpc();
|
|
197
211
|
|
|
198
212
|
const deleteMutation = useMutation(
|
|
199
213
|
trpc.users.delete.mutationOptions({
|
|
@@ -235,8 +249,9 @@ Prefetch data for better performance:
|
|
|
235
249
|
|
|
236
250
|
```tsx
|
|
237
251
|
function UserList() {
|
|
252
|
+
const trpc = useMyApi();
|
|
253
|
+
const users = useQuery(trpc.users.list.queryOptions());
|
|
238
254
|
const queryClient = useQueryClient();
|
|
239
|
-
const trpc = useTrpc();
|
|
240
255
|
|
|
241
256
|
// Prefetch user details on hover
|
|
242
257
|
const prefetchUser = async (userId: string) => {
|
|
@@ -261,7 +276,7 @@ Handle pagination with infinite queries:
|
|
|
261
276
|
|
|
262
277
|
```tsx
|
|
263
278
|
function UserList() {
|
|
264
|
-
const trpc =
|
|
279
|
+
const trpc = useMyApi();
|
|
265
280
|
|
|
266
281
|
const { data, fetchNextPage, hasNextPage, isFetchingNextPage } = useInfiniteQuery(
|
|
267
282
|
trpc.users.list.infiniteQueryOptions(
|
|
@@ -286,16 +301,18 @@ function UserList() {
|
|
|
286
301
|
}
|
|
287
302
|
```
|
|
288
303
|
|
|
304
|
+
It is important to note that infinite queries can only be used for procedures with an input property named `cursor`.
|
|
305
|
+
|
|
289
306
|
## Type Safety
|
|
290
307
|
|
|
291
308
|
The integration provides complete end-to-end type safety. Your IDE will provide full autocompletion and type checking for all your API calls:
|
|
292
309
|
|
|
293
310
|
```tsx
|
|
294
311
|
function UserForm() {
|
|
295
|
-
const trpc =
|
|
312
|
+
const trpc = useMyApi();
|
|
296
313
|
|
|
297
314
|
// ✅ Input is fully typed
|
|
298
|
-
const createUser =
|
|
315
|
+
const createUser = trpc.users.create.useMutation();
|
|
299
316
|
|
|
300
317
|
const handleSubmit = (data: CreateUserInput) => {
|
|
301
318
|
// ✅ Type error if input doesn't match schema
|
|
@@ -307,3 +324,7 @@ function UserForm() {
|
|
|
307
324
|
```
|
|
308
325
|
|
|
309
326
|
The types are automatically inferred from your backend's router and schema definitions, ensuring that any changes to your API are immediately reflected in your frontend code without the need to build.
|
|
327
|
+
|
|
328
|
+
## More Information
|
|
329
|
+
|
|
330
|
+
For more information, please refer to the [tRPC TanStack React Query documentation](https://trpc.io/docs/client/tanstack-react-query/usage).
|
|
@@ -1,7 +1,35 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
-
exports[`trpc react generator > should generate trpc react files > TrpcClients-
|
|
4
|
-
"import {
|
|
3
|
+
exports[`trpc react generator > should generate trpc react files > TrpcClients-TrpcApis.tsx 1`] = `
|
|
4
|
+
"import {
|
|
5
|
+
AppRouter as TestApiAppRouter,
|
|
6
|
+
Context as TestApiContext,
|
|
7
|
+
} from 'backend';
|
|
8
|
+
import { createTrpcClientProvider } from './TrpcProvider';
|
|
9
|
+
export default {
|
|
10
|
+
TestApi: createTrpcClientProvider<TestApiAppRouter, TestApiContext>(),
|
|
11
|
+
};
|
|
12
|
+
"
|
|
13
|
+
`;
|
|
14
|
+
|
|
15
|
+
exports[`trpc react generator > should generate trpc react files > TrpcClients-TrpcClientProviders.tsx 1`] = `
|
|
16
|
+
"import TrpcApis from './TrpcApis';
|
|
17
|
+
import { useRuntimeConfig } from '../../hooks/useRuntimeConfig';
|
|
18
|
+
import { FC, PropsWithChildren } from 'react';
|
|
19
|
+
const TrpcClientProviders: FC<PropsWithChildren> = ({ children }) => {
|
|
20
|
+
const runtimeConfig = useRuntimeConfig();
|
|
21
|
+
return (
|
|
22
|
+
<TrpcApis.TestApi.Provider apiUrl={runtimeConfig.httpApis.TestApi}>
|
|
23
|
+
{children}
|
|
24
|
+
</TrpcApis.TestApi.Provider>
|
|
25
|
+
);
|
|
26
|
+
};
|
|
27
|
+
export default TrpcClientProviders;
|
|
28
|
+
"
|
|
29
|
+
`;
|
|
30
|
+
|
|
31
|
+
exports[`trpc react generator > should generate trpc react files > TrpcClients-TrpcProvider.tsx 1`] = `
|
|
32
|
+
"import { useQueryClient } from '@tanstack/react-query';
|
|
5
33
|
import { createTRPCContext } from '@trpc/tanstack-react-query';
|
|
6
34
|
import {
|
|
7
35
|
httpBatchLink,
|
|
@@ -11,25 +39,25 @@ import {
|
|
|
11
39
|
splitLink,
|
|
12
40
|
createTRPCClient,
|
|
13
41
|
} from '@trpc/client';
|
|
14
|
-
import {
|
|
42
|
+
import { FC, useMemo, PropsWithChildren } from 'react';
|
|
15
43
|
|
|
16
44
|
import { AnyTRPCRouter } from '@trpc/server';
|
|
17
45
|
|
|
18
|
-
export interface
|
|
46
|
+
export interface TrpcClientProviderProps extends PropsWithChildren {
|
|
19
47
|
readonly apiUrl: string;
|
|
20
48
|
}
|
|
21
49
|
|
|
22
|
-
export const
|
|
50
|
+
export const createTrpcClientProvider = <
|
|
23
51
|
TAppRouter extends AnyTRPCRouter,
|
|
24
52
|
TContext,
|
|
25
53
|
>() => {
|
|
26
54
|
const { TRPCProvider, useTRPC } = createTRPCContext<TAppRouter>();
|
|
27
55
|
|
|
28
|
-
const
|
|
56
|
+
const TrpcClientProvider: FC<TrpcClientProviderProps> = ({
|
|
29
57
|
apiUrl,
|
|
30
58
|
children,
|
|
31
59
|
}) => {
|
|
32
|
-
const
|
|
60
|
+
const queryClient = useQueryClient();
|
|
33
61
|
|
|
34
62
|
const trpcClient = useMemo(() => {
|
|
35
63
|
const linkOptions: HTTPLinkOptions<any> & HTTPBatchLinkOptions<any> = {
|
|
@@ -51,9 +79,7 @@ export const createIsolatedTrpcClientProvider = <
|
|
|
51
79
|
|
|
52
80
|
return (
|
|
53
81
|
<TRPCProvider trpcClient={trpcClient} queryClient={queryClient}>
|
|
54
|
-
|
|
55
|
-
{children}
|
|
56
|
-
</QueryClientProvider>
|
|
82
|
+
{children}
|
|
57
83
|
</TRPCProvider>
|
|
58
84
|
);
|
|
59
85
|
};
|
|
@@ -66,34 +92,6 @@ export const createIsolatedTrpcClientProvider = <
|
|
|
66
92
|
"
|
|
67
93
|
`;
|
|
68
94
|
|
|
69
|
-
exports[`trpc react generator > should generate trpc react files > TrpcClients-TrpcApis.tsx 1`] = `
|
|
70
|
-
"import {
|
|
71
|
-
AppRouter as TestApiAppRouter,
|
|
72
|
-
Context as TestApiContext,
|
|
73
|
-
} from 'backend';
|
|
74
|
-
import { createIsolatedTrpcClientProvider } from './IsolatedTrpcProvider';
|
|
75
|
-
export default {
|
|
76
|
-
TestApi: createIsolatedTrpcClientProvider<TestApiAppRouter, TestApiContext>(),
|
|
77
|
-
};
|
|
78
|
-
"
|
|
79
|
-
`;
|
|
80
|
-
|
|
81
|
-
exports[`trpc react generator > should generate trpc react files > TrpcClients-TrpcClientProviders.tsx 1`] = `
|
|
82
|
-
"import TrpcApis from './TrpcApis';
|
|
83
|
-
import { useRuntimeConfig } from '../../hooks/useRuntimeConfig';
|
|
84
|
-
import { FC, PropsWithChildren } from 'react';
|
|
85
|
-
const TrpcClientProviders: FC<PropsWithChildren> = ({ children }) => {
|
|
86
|
-
const runtimeConfig = useRuntimeConfig();
|
|
87
|
-
return (
|
|
88
|
-
<TrpcApis.TestApi.Provider apiUrl={runtimeConfig.httpApis.TestApi}>
|
|
89
|
-
{children}
|
|
90
|
-
</TrpcApis.TestApi.Provider>
|
|
91
|
-
);
|
|
92
|
-
};
|
|
93
|
-
export default TrpcClientProviders;
|
|
94
|
-
"
|
|
95
|
-
`;
|
|
96
|
-
|
|
97
95
|
exports[`trpc react generator > should generate trpc react files > TrpcClients-index.tsx 1`] = `
|
|
98
96
|
"import TrpcClientProviders from './TrpcClientProviders';
|
|
99
97
|
import _TrpcApis from './TrpcApis';
|
|
@@ -114,15 +112,18 @@ exports[`trpc react generator > should handle IAM auth option > TRPCClientProvid
|
|
|
114
112
|
|
|
115
113
|
exports[`trpc react generator > should modify main.tsx correctly > main.tsx 1`] = `
|
|
116
114
|
"import TrpcClientProviders from './components/TrpcClients';
|
|
115
|
+
import QueryClientProvider from './components/QueryClientProvider';
|
|
117
116
|
import RuntimeConfigProvider from './components/RuntimeConfig';
|
|
118
117
|
import { App } from './app';
|
|
119
118
|
import { RouterProvider } from '@tanstack/react-router';
|
|
120
119
|
export function Main() {
|
|
121
120
|
return (
|
|
122
121
|
<RuntimeConfigProvider>
|
|
123
|
-
<
|
|
124
|
-
<
|
|
125
|
-
|
|
122
|
+
<QueryClientProvider>
|
|
123
|
+
<TrpcClientProviders>
|
|
124
|
+
<RouterProvider router={router} />
|
|
125
|
+
</TrpcClientProviders>
|
|
126
|
+
</QueryClientProvider>
|
|
126
127
|
</RuntimeConfigProvider>
|
|
127
128
|
);
|
|
128
129
|
}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
2
2
|
import { createTRPCContext } from '@trpc/tanstack-react-query';
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
httpBatchLink,
|
|
5
|
+
httpLink,
|
|
6
|
+
HTTPBatchLinkOptions,
|
|
7
|
+
HTTPLinkOptions,
|
|
8
|
+
splitLink,
|
|
9
|
+
createTRPCClient,
|
|
10
|
+
} from '@trpc/client';
|
|
11
11
|
import {
|
|
12
|
-
useState,
|
|
13
12
|
FC,
|
|
14
13
|
useMemo,
|
|
15
14
|
PropsWithChildren,
|
|
@@ -17,21 +16,21 @@ import {
|
|
|
17
16
|
<% if(auth === 'IAM') { %> import { useSigV4 } from '../../hooks/useSigV4'; <% } %>
|
|
18
17
|
import { AnyTRPCRouter } from '@trpc/server';
|
|
19
18
|
|
|
20
|
-
export interface
|
|
19
|
+
export interface TrpcClientProviderProps extends PropsWithChildren {
|
|
21
20
|
readonly apiUrl: string;
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
export const
|
|
23
|
+
export const createTrpcClientProvider = <
|
|
25
24
|
TAppRouter extends AnyTRPCRouter,
|
|
26
25
|
TContext
|
|
27
26
|
>() => {
|
|
28
27
|
const { TRPCProvider, useTRPC } = createTRPCContext<TAppRouter>();
|
|
29
28
|
|
|
30
|
-
const
|
|
29
|
+
const TrpcClientProvider: FC<TrpcClientProviderProps> = ({
|
|
31
30
|
apiUrl,
|
|
32
31
|
children,
|
|
33
32
|
}) => {
|
|
34
|
-
const
|
|
33
|
+
const queryClient = useQueryClient();
|
|
35
34
|
<% if(auth === 'IAM') { %> const sigv4Client = useSigV4(); <% } %>
|
|
36
35
|
|
|
37
36
|
const trpcClient = useMemo(() => {
|
|
@@ -55,9 +54,7 @@ export const createIsolatedTrpcClientProvider = <
|
|
|
55
54
|
|
|
56
55
|
return (
|
|
57
56
|
<TRPCProvider trpcClient={trpcClient} queryClient={queryClient}>
|
|
58
|
-
|
|
59
|
-
{children}
|
|
60
|
-
</QueryClientProvider>
|
|
57
|
+
{children}
|
|
61
58
|
</TRPCProvider>
|
|
62
59
|
);
|
|
63
60
|
};
|
|
@@ -27,6 +27,10 @@ function reactGenerator(tree, options) {
|
|
|
27
27
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files'), frontendProjectConfig.root, Object.assign(Object.assign({ apiName, apiNameClassName: (0, names_1.toClassName)(apiName) }, options), { backendProjectAlias: (0, npm_scope_1.toScopeAlias)(options.backendProjectName) }), {
|
|
28
28
|
overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
|
|
29
29
|
});
|
|
30
|
+
// Generate the tanstack query provider if it does not exist already
|
|
31
|
+
if (!tree.exists((0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, 'components', 'QueryClientProvider.tsx'))) {
|
|
32
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../../utils/files/website/components/tanstack-query'), (0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, 'components'), {});
|
|
33
|
+
}
|
|
30
34
|
if (options.auth === 'IAM') {
|
|
31
35
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../../utils/files/website/hooks/sigv4'), (0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, 'hooks'), {});
|
|
32
36
|
}
|
|
@@ -35,10 +39,16 @@ function reactGenerator(tree, options) {
|
|
|
35
39
|
});
|
|
36
40
|
// update main.tsx
|
|
37
41
|
const mainTsxPath = (0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, 'main.tsx');
|
|
42
|
+
(0, ast_1.singleImport)(tree, mainTsxPath, 'QueryClientProvider', './components/QueryClientProvider');
|
|
38
43
|
(0, ast_1.singleImport)(tree, mainTsxPath, 'TrpcClientProviders', './components/TrpcClients');
|
|
39
|
-
// Check if
|
|
44
|
+
// Check if QueryClientProvider already exists
|
|
40
45
|
const mainTsxSource = tree.read(mainTsxPath).toString();
|
|
41
46
|
const mainTsxAst = (0, tsquery_1.ast)(mainTsxSource);
|
|
47
|
+
const hasQueryClientProvider = tsquery_1.tsquery.query(mainTsxAst, 'JsxOpeningElement[tagName.name="QueryClientProvider"]').length > 0;
|
|
48
|
+
if (!hasQueryClientProvider) {
|
|
49
|
+
(0, ast_1.replace)(tree, mainTsxPath, 'JsxSelfClosingElement[tagName.name="RouterProvider"]', (node) => (0, ast_1.createJsxElementFromIdentifier)('QueryClientProvider', [node]));
|
|
50
|
+
}
|
|
51
|
+
// Check if TrpcClientProviders already exists
|
|
42
52
|
const hasProvider = tsquery_1.tsquery.query(mainTsxAst, 'JsxOpeningElement[tagName.name="TrpcClientProviders"]').length > 0;
|
|
43
53
|
if (!hasProvider) {
|
|
44
54
|
(0, ast_1.replace)(tree, mainTsxPath, 'JsxSelfClosingElement[tagName.name="RouterProvider"]', (node) => (0, ast_1.createJsxElementFromIdentifier)('TrpcClientProviders', [node]));
|
|
@@ -46,7 +56,7 @@ function reactGenerator(tree, options) {
|
|
|
46
56
|
// update TrpcApis.tsx
|
|
47
57
|
const trpcApisPath = (0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, 'components/TrpcClients/TrpcApis.tsx');
|
|
48
58
|
// Add imports if they don't exist
|
|
49
|
-
(0, ast_1.destructuredImport)(tree, trpcApisPath, ['
|
|
59
|
+
(0, ast_1.destructuredImport)(tree, trpcApisPath, ['createTrpcClientProvider'], './TrpcProvider');
|
|
50
60
|
(0, ast_1.destructuredImport)(tree, trpcApisPath, [
|
|
51
61
|
`AppRouter as ${apiNameClassName}AppRouter`,
|
|
52
62
|
`Context as ${apiNameClassName}Context`,
|
|
@@ -57,7 +67,7 @@ function reactGenerator(tree, options) {
|
|
|
57
67
|
if (existingProperties.find((p) => { var _a; return ((_a = p.name) === null || _a === void 0 ? void 0 : _a.getText()) === apiNameClassName; })) {
|
|
58
68
|
return node;
|
|
59
69
|
}
|
|
60
|
-
const newProperty = typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier(apiNameClassName), typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('
|
|
70
|
+
const newProperty = typescript_1.factory.createPropertyAssignment(typescript_1.factory.createIdentifier(apiNameClassName), typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('createTrpcClientProvider'), [
|
|
61
71
|
typescript_1.factory.createTypeReferenceNode(typescript_1.factory.createIdentifier(`${apiNameClassName}AppRouter`)),
|
|
62
72
|
typescript_1.factory.createTypeReferenceNode(typescript_1.factory.createIdentifier(`${apiNameClassName}Context`)),
|
|
63
73
|
], []));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":";;AAyCA,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":"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"}
|
package/src/utils/ast.js
CHANGED
|
@@ -84,7 +84,7 @@ const replace = (tree, filePath, selector, transformer, errorIfNoMatches = true)
|
|
|
84
84
|
if (errorIfNoMatches) {
|
|
85
85
|
const queryNodes = tsquery_1.tsquery.query((0, tsquery_1.ast)(source), selector);
|
|
86
86
|
if (queryNodes.length === 0) {
|
|
87
|
-
throw new Error(`Could not locate
|
|
87
|
+
throw new Error(`Could not locate an element in ${filePath} matching ${selector}`);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
const updatedSource = tsquery_1.tsquery
|
package/src/utils/ast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/ast.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FC, PropsWithChildren, useState } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
QueryClient,
|
|
4
|
+
QueryClientProvider as QueryClientProviderInner,
|
|
5
|
+
} from '@tanstack/react-query';
|
|
6
|
+
|
|
7
|
+
export const QueryClientProvider: FC<PropsWithChildren> = ({
|
|
8
|
+
children,
|
|
9
|
+
}) => {
|
|
10
|
+
const [queryClient] = useState(new QueryClient());
|
|
11
|
+
return (
|
|
12
|
+
<QueryClientProviderInner client={queryClient}>
|
|
13
|
+
{children}
|
|
14
|
+
</QueryClientProviderInner>
|
|
15
|
+
);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default QueryClientProvider;
|