@aws/nx-plugin 0.10.0 → 0.12.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/trpc/react/README.md +80 -50
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +50 -54
- package/src/trpc/react/files/src/components/TrpcClients/TrpcProvider.tsx.template +66 -0
- package/src/trpc/react/files/src/hooks/use__apiNameClassName__.tsx.template +1 -1
- package/src/trpc/react/generator.js +14 -4
- 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/utils/versions.d.ts +4 -4
- package/src/utils/versions.js +3 -3
- package/src/utils/versions.js.map +1 -1
- package/src/trpc/react/files/src/components/TrpcClients/IsolatedTrpcProvider.tsx.template +0 -75
package/src/trpc/react/README.md
CHANGED
|
@@ -23,7 +23,7 @@ const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement)
|
|
|
23
23
|
root.render(
|
|
24
24
|
<StrictMode>
|
|
25
25
|
<App />
|
|
26
|
-
</StrictMode
|
|
26
|
+
</StrictMode>,
|
|
27
27
|
);
|
|
28
28
|
```
|
|
29
29
|
|
|
@@ -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
|
|
|
@@ -95,7 +95,7 @@ Additionally, it:
|
|
|
95
95
|
|
|
96
96
|
1. Installs required dependencies:
|
|
97
97
|
- @trpc/client
|
|
98
|
-
- @trpc/react-query
|
|
98
|
+
- @trpc/tanstack-react-query
|
|
99
99
|
- @tanstack/react-query
|
|
100
100
|
- aws4fetch (if using IAM auth)
|
|
101
101
|
|
|
@@ -106,16 +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, useMutation } from '@tanstack/react-query';
|
|
109
110
|
import { useMyApi } from './hooks/useMyApi';
|
|
110
111
|
|
|
111
112
|
function MyComponent() {
|
|
112
113
|
const trpc = useMyApi();
|
|
113
114
|
|
|
114
115
|
// Example query
|
|
115
|
-
const { data, isLoading } = trpc.users.list.
|
|
116
|
+
const { data, isLoading, error } = useQuery(trpc.users.list.queryOptions());
|
|
116
117
|
|
|
117
118
|
// Example mutation
|
|
118
|
-
const mutation = trpc.users.create.
|
|
119
|
+
const mutation = useMutation(trpc.users.create.mutationOptions());
|
|
119
120
|
|
|
120
121
|
const handleCreate = () => {
|
|
121
122
|
mutation.mutate({
|
|
@@ -126,7 +127,13 @@ function MyComponent() {
|
|
|
126
127
|
|
|
127
128
|
if (isLoading) return <div>Loading...</div>;
|
|
128
129
|
|
|
129
|
-
return
|
|
130
|
+
return (
|
|
131
|
+
<ul>
|
|
132
|
+
{data.map((user) => (
|
|
133
|
+
<li key={user.id}>{user.name}</li>
|
|
134
|
+
))}
|
|
135
|
+
</ul>
|
|
136
|
+
);
|
|
130
137
|
}
|
|
131
138
|
```
|
|
132
139
|
|
|
@@ -136,9 +143,9 @@ The integration includes built-in error handling that properly processes tRPC er
|
|
|
136
143
|
|
|
137
144
|
```tsx
|
|
138
145
|
function MyComponent() {
|
|
139
|
-
const trpc =
|
|
146
|
+
const trpc = useMyApi();
|
|
140
147
|
|
|
141
|
-
const { data, error } = trpc.users.list.
|
|
148
|
+
const { data, error } = useQuery(trpc.users.list.queryOptions());
|
|
142
149
|
|
|
143
150
|
if (error) {
|
|
144
151
|
return (
|
|
@@ -150,7 +157,13 @@ function MyComponent() {
|
|
|
150
157
|
);
|
|
151
158
|
}
|
|
152
159
|
|
|
153
|
-
return
|
|
160
|
+
return (
|
|
161
|
+
<ul>
|
|
162
|
+
{data.map((user) => (
|
|
163
|
+
<li key={user.id}>{user.name}</li>
|
|
164
|
+
))}
|
|
165
|
+
</ul>
|
|
166
|
+
);
|
|
154
167
|
}
|
|
155
168
|
```
|
|
156
169
|
|
|
@@ -158,11 +171,13 @@ function MyComponent() {
|
|
|
158
171
|
|
|
159
172
|
### 1. Handle Loading States
|
|
160
173
|
|
|
161
|
-
Always handle loading states for better user experience:
|
|
174
|
+
Always handle loading and error states for a better user experience:
|
|
162
175
|
|
|
163
176
|
```tsx
|
|
164
177
|
function UserList() {
|
|
165
|
-
const
|
|
178
|
+
const trpc = useMyApi();
|
|
179
|
+
|
|
180
|
+
const users = useQuery(trpc.users.list.queryOptions());
|
|
166
181
|
|
|
167
182
|
if (users.isLoading) {
|
|
168
183
|
return <LoadingSpinner />;
|
|
@@ -184,31 +199,36 @@ function UserList() {
|
|
|
184
199
|
|
|
185
200
|
### 2. Optimistic Updates
|
|
186
201
|
|
|
187
|
-
Use optimistic updates for better user experience:
|
|
202
|
+
Use optimistic updates for a better user experience:
|
|
188
203
|
|
|
189
204
|
```tsx
|
|
190
|
-
|
|
191
|
-
const trpc = useUsers();
|
|
192
|
-
const utils = trpc.useUtils();
|
|
193
|
-
|
|
194
|
-
const deleteMutation = trpc.users.delete.useMutation({
|
|
195
|
-
onMutate: async (userId) => {
|
|
196
|
-
// Cancel outgoing fetches
|
|
197
|
-
await utils.users.list.cancel();
|
|
198
|
-
|
|
199
|
-
// Get snapshot of current data
|
|
200
|
-
const previousUsers = utils.users.list.getData();
|
|
205
|
+
import { useQueryClient, useQuery, useMutation } from '@tanstack/react-query';
|
|
201
206
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
207
|
+
function UserList() {
|
|
208
|
+
const trpc = useMyApi();
|
|
209
|
+
const users = useQuery(trpc.users.list.queryOptions());
|
|
210
|
+
const queryClient = useQueryClient();
|
|
211
|
+
|
|
212
|
+
const deleteMutation = useMutation(
|
|
213
|
+
trpc.users.delete.mutationOptions({
|
|
214
|
+
onMutate: async (userId) => {
|
|
215
|
+
// Cancel outgoing fetches
|
|
216
|
+
await queryClient.cancelQueries(trpc.users.list.queryFilter());
|
|
217
|
+
|
|
218
|
+
// Get snapshot of current data
|
|
219
|
+
const previousUsers = queryClient.getQueryData(trpc.users.list.queryKey());
|
|
220
|
+
|
|
221
|
+
// Optimistically remove the user
|
|
222
|
+
queryClient.setQueryData(trpc.users.list.queryKey(), (old) => old?.filter((user) => user.id !== userId));
|
|
223
|
+
|
|
224
|
+
return { previousUsers };
|
|
225
|
+
},
|
|
226
|
+
onError: (err, userId, context) => {
|
|
227
|
+
// Restore previous data on error
|
|
228
|
+
queryClient.setQueryData(trpc.users.list.queryKey(), context?.previousUsers);
|
|
229
|
+
},
|
|
230
|
+
}),
|
|
231
|
+
);
|
|
212
232
|
|
|
213
233
|
return (
|
|
214
234
|
<ul>
|
|
@@ -229,11 +249,13 @@ Prefetch data for better performance:
|
|
|
229
249
|
|
|
230
250
|
```tsx
|
|
231
251
|
function UserList() {
|
|
232
|
-
const trpc =
|
|
252
|
+
const trpc = useMyApi();
|
|
253
|
+
const users = useQuery(trpc.users.list.queryOptions());
|
|
254
|
+
const queryClient = useQueryClient();
|
|
233
255
|
|
|
234
256
|
// Prefetch user details on hover
|
|
235
257
|
const prefetchUser = async (userId: string) => {
|
|
236
|
-
await trpc.users.getById.
|
|
258
|
+
await queryClient.prefetchQuery(trpc.users.getById.queryOptions(userId));
|
|
237
259
|
};
|
|
238
260
|
|
|
239
261
|
return (
|
|
@@ -254,13 +276,15 @@ Handle pagination with infinite queries:
|
|
|
254
276
|
|
|
255
277
|
```tsx
|
|
256
278
|
function UserList() {
|
|
257
|
-
const trpc =
|
|
279
|
+
const trpc = useMyApi();
|
|
258
280
|
|
|
259
|
-
const { data, fetchNextPage, hasNextPage, isFetchingNextPage } =
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
281
|
+
const { data, fetchNextPage, hasNextPage, isFetchingNextPage } = useInfiniteQuery(
|
|
282
|
+
trpc.users.list.infiniteQueryOptions(
|
|
283
|
+
{ limit: 10 },
|
|
284
|
+
{
|
|
285
|
+
getNextPageParam: (lastPage) => lastPage.nextCursor,
|
|
286
|
+
},
|
|
287
|
+
),
|
|
264
288
|
);
|
|
265
289
|
|
|
266
290
|
return (
|
|
@@ -277,13 +301,15 @@ function UserList() {
|
|
|
277
301
|
}
|
|
278
302
|
```
|
|
279
303
|
|
|
304
|
+
It is important to note that infinite queries can only be used for procedures with an input property named `cursor`.
|
|
305
|
+
|
|
280
306
|
## Type Safety
|
|
281
307
|
|
|
282
308
|
The integration provides complete end-to-end type safety. Your IDE will provide full autocompletion and type checking for all your API calls:
|
|
283
309
|
|
|
284
310
|
```tsx
|
|
285
311
|
function UserForm() {
|
|
286
|
-
const trpc =
|
|
312
|
+
const trpc = useMyApi();
|
|
287
313
|
|
|
288
314
|
// ✅ Input is fully typed
|
|
289
315
|
const createUser = trpc.users.create.useMutation();
|
|
@@ -298,3 +324,7 @@ function UserForm() {
|
|
|
298
324
|
```
|
|
299
325
|
|
|
300
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,45 +1,70 @@
|
|
|
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 {
|
|
5
|
-
|
|
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';
|
|
33
|
+
import { createTRPCContext } from '@trpc/tanstack-react-query';
|
|
6
34
|
import {
|
|
7
35
|
httpBatchLink,
|
|
8
36
|
httpLink,
|
|
9
37
|
HTTPBatchLinkOptions,
|
|
10
38
|
HTTPLinkOptions,
|
|
11
39
|
splitLink,
|
|
40
|
+
createTRPCClient,
|
|
12
41
|
} from '@trpc/client';
|
|
13
|
-
import {
|
|
42
|
+
import { FC, useMemo, PropsWithChildren } from 'react';
|
|
14
43
|
|
|
15
44
|
import { AnyTRPCRouter } from '@trpc/server';
|
|
16
45
|
|
|
17
|
-
export interface
|
|
46
|
+
export interface TrpcClientProviderProps extends PropsWithChildren {
|
|
18
47
|
readonly apiUrl: string;
|
|
19
48
|
}
|
|
20
49
|
|
|
21
|
-
export const
|
|
50
|
+
export const createTrpcClientProvider = <
|
|
22
51
|
TAppRouter extends AnyTRPCRouter,
|
|
23
52
|
TContext,
|
|
24
53
|
>() => {
|
|
25
|
-
const
|
|
26
|
-
const trpc = createTRPCReact<TAppRouter, TContext>({
|
|
27
|
-
context: isolatedTrpcContext,
|
|
28
|
-
});
|
|
54
|
+
const { TRPCProvider, useTRPC } = createTRPCContext<TAppRouter>();
|
|
29
55
|
|
|
30
|
-
const
|
|
56
|
+
const TrpcClientProvider: FC<TrpcClientProviderProps> = ({
|
|
31
57
|
apiUrl,
|
|
32
58
|
children,
|
|
33
59
|
}) => {
|
|
34
|
-
const
|
|
60
|
+
const queryClient = useQueryClient();
|
|
35
61
|
|
|
36
62
|
const trpcClient = useMemo(() => {
|
|
37
63
|
const linkOptions: HTTPLinkOptions<any> & HTTPBatchLinkOptions<any> = {
|
|
38
64
|
url: apiUrl,
|
|
39
65
|
};
|
|
40
66
|
|
|
41
|
-
|
|
42
|
-
return trpc.createClient({
|
|
67
|
+
return createTRPCClient({
|
|
43
68
|
links: [
|
|
44
69
|
splitLink({
|
|
45
70
|
condition(op) {
|
|
@@ -53,52 +78,20 @@ export const createIsolatedTrpcClientProvider = <
|
|
|
53
78
|
}, [apiUrl]);
|
|
54
79
|
|
|
55
80
|
return (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
{children}
|
|
60
|
-
</QueryClientProvider>
|
|
61
|
-
{/* @ts-expect-error type errors due to unknown concrete AppRouter */}
|
|
62
|
-
</trpc.Provider>
|
|
81
|
+
<TRPCProvider trpcClient={trpcClient} queryClient={queryClient}>
|
|
82
|
+
{children}
|
|
83
|
+
</TRPCProvider>
|
|
63
84
|
);
|
|
64
85
|
};
|
|
65
86
|
|
|
66
87
|
return {
|
|
67
|
-
|
|
88
|
+
useTRPC,
|
|
68
89
|
Provider: IsolatedTrpcClientProvider,
|
|
69
90
|
};
|
|
70
91
|
};
|
|
71
92
|
"
|
|
72
93
|
`;
|
|
73
94
|
|
|
74
|
-
exports[`trpc react generator > should generate trpc react files > TrpcClients-TrpcApis.tsx 1`] = `
|
|
75
|
-
"import {
|
|
76
|
-
AppRouter as TestApiAppRouter,
|
|
77
|
-
Context as TestApiContext,
|
|
78
|
-
} from 'backend';
|
|
79
|
-
import { createIsolatedTrpcClientProvider } from './IsolatedTrpcProvider';
|
|
80
|
-
export default {
|
|
81
|
-
TestApi: createIsolatedTrpcClientProvider<TestApiAppRouter, TestApiContext>(),
|
|
82
|
-
};
|
|
83
|
-
"
|
|
84
|
-
`;
|
|
85
|
-
|
|
86
|
-
exports[`trpc react generator > should generate trpc react files > TrpcClients-TrpcClientProviders.tsx 1`] = `
|
|
87
|
-
"import TrpcApis from './TrpcApis';
|
|
88
|
-
import { useRuntimeConfig } from '../../hooks/useRuntimeConfig';
|
|
89
|
-
import { FC, PropsWithChildren } from 'react';
|
|
90
|
-
const TrpcClientProviders: FC<PropsWithChildren> = ({ children }) => {
|
|
91
|
-
const runtimeConfig = useRuntimeConfig();
|
|
92
|
-
return (
|
|
93
|
-
<TrpcApis.TestApi.Provider apiUrl={runtimeConfig.httpApis.TestApi}>
|
|
94
|
-
{children}
|
|
95
|
-
</TrpcApis.TestApi.Provider>
|
|
96
|
-
);
|
|
97
|
-
};
|
|
98
|
-
export default TrpcClientProviders;
|
|
99
|
-
"
|
|
100
|
-
`;
|
|
101
|
-
|
|
102
95
|
exports[`trpc react generator > should generate trpc react files > TrpcClients-index.tsx 1`] = `
|
|
103
96
|
"import TrpcClientProviders from './TrpcClientProviders';
|
|
104
97
|
import _TrpcApis from './TrpcApis';
|
|
@@ -111,7 +104,7 @@ export default TrpcClientProviders;
|
|
|
111
104
|
exports[`trpc react generator > should generate trpc react files > useTestApi.tsx 1`] = `
|
|
112
105
|
"import { TrpcApis } from '../components/TrpcClients';
|
|
113
106
|
|
|
114
|
-
export const useTestApi = () => TrpcApis.TestApi.
|
|
107
|
+
export const useTestApi = () => TrpcApis.TestApi.useTRPC();
|
|
115
108
|
"
|
|
116
109
|
`;
|
|
117
110
|
|
|
@@ -119,15 +112,18 @@ exports[`trpc react generator > should handle IAM auth option > TRPCClientProvid
|
|
|
119
112
|
|
|
120
113
|
exports[`trpc react generator > should modify main.tsx correctly > main.tsx 1`] = `
|
|
121
114
|
"import TrpcClientProviders from './components/TrpcClients';
|
|
115
|
+
import QueryClientProvider from './components/QueryClientProvider';
|
|
122
116
|
import RuntimeConfigProvider from './components/RuntimeConfig';
|
|
123
117
|
import { App } from './app';
|
|
124
118
|
import { RouterProvider } from '@tanstack/react-router';
|
|
125
119
|
export function Main() {
|
|
126
120
|
return (
|
|
127
121
|
<RuntimeConfigProvider>
|
|
128
|
-
<
|
|
129
|
-
<
|
|
130
|
-
|
|
122
|
+
<QueryClientProvider>
|
|
123
|
+
<TrpcClientProviders>
|
|
124
|
+
<RouterProvider router={router} />
|
|
125
|
+
</TrpcClientProviders>
|
|
126
|
+
</QueryClientProvider>
|
|
131
127
|
</RuntimeConfigProvider>
|
|
132
128
|
);
|
|
133
129
|
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
2
|
+
import { createTRPCContext } from '@trpc/tanstack-react-query';
|
|
3
|
+
import {
|
|
4
|
+
httpBatchLink,
|
|
5
|
+
httpLink,
|
|
6
|
+
HTTPBatchLinkOptions,
|
|
7
|
+
HTTPLinkOptions,
|
|
8
|
+
splitLink,
|
|
9
|
+
createTRPCClient,
|
|
10
|
+
} from '@trpc/client';
|
|
11
|
+
import {
|
|
12
|
+
FC,
|
|
13
|
+
useMemo,
|
|
14
|
+
PropsWithChildren,
|
|
15
|
+
} from 'react';
|
|
16
|
+
<% if(auth === 'IAM') { %> import { useSigV4 } from '../../hooks/useSigV4'; <% } %>
|
|
17
|
+
import { AnyTRPCRouter } from '@trpc/server';
|
|
18
|
+
|
|
19
|
+
export interface TrpcClientProviderProps extends PropsWithChildren {
|
|
20
|
+
readonly apiUrl: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const createTrpcClientProvider = <
|
|
24
|
+
TAppRouter extends AnyTRPCRouter,
|
|
25
|
+
TContext
|
|
26
|
+
>() => {
|
|
27
|
+
const { TRPCProvider, useTRPC } = createTRPCContext<TAppRouter>();
|
|
28
|
+
|
|
29
|
+
const TrpcClientProvider: FC<TrpcClientProviderProps> = ({
|
|
30
|
+
apiUrl,
|
|
31
|
+
children,
|
|
32
|
+
}) => {
|
|
33
|
+
const queryClient = useQueryClient();
|
|
34
|
+
<% if(auth === 'IAM') { %> const sigv4Client = useSigV4(); <% } %>
|
|
35
|
+
|
|
36
|
+
const trpcClient = useMemo(() => {
|
|
37
|
+
const linkOptions: HTTPLinkOptions<any> & HTTPBatchLinkOptions<any> = {
|
|
38
|
+
url: apiUrl,
|
|
39
|
+
<% if(auth === 'IAM') { %> fetch: sigv4Client <% } %>
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return createTRPCClient({
|
|
43
|
+
links: [
|
|
44
|
+
splitLink({
|
|
45
|
+
condition(op) {
|
|
46
|
+
return op.context.skipBatch === true;
|
|
47
|
+
},
|
|
48
|
+
true: httpLink(linkOptions),
|
|
49
|
+
false: httpBatchLink(linkOptions),
|
|
50
|
+
}),
|
|
51
|
+
],
|
|
52
|
+
});
|
|
53
|
+
}, [apiUrl<% if(auth === 'IAM') { %>, sigv4Client<% } %>]);
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<TRPCProvider trpcClient={trpcClient} queryClient={queryClient}>
|
|
57
|
+
{children}
|
|
58
|
+
</TRPCProvider>
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
return {
|
|
63
|
+
useTRPC,
|
|
64
|
+
Provider: IsolatedTrpcClientProvider,
|
|
65
|
+
};
|
|
66
|
+
};
|
|
@@ -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
|
], []));
|
|
@@ -109,7 +119,7 @@ function reactGenerator(tree, options) {
|
|
|
109
119
|
}
|
|
110
120
|
(0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)([
|
|
111
121
|
'@trpc/client',
|
|
112
|
-
'@trpc/react-query',
|
|
122
|
+
'@trpc/tanstack-react-query',
|
|
113
123
|
'@tanstack/react-query',
|
|
114
124
|
...(options.auth === 'IAM'
|
|
115
125
|
? [
|
|
@@ -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;
|