@aws/nx-plugin 0.77.0 → 0.78.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.
Files changed (26) hide show
  1. package/LICENSE-THIRD-PARTY +36 -8
  2. package/package.json +1 -1
  3. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +16 -13
  4. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +1 -1
  5. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +2 -2
  6. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +23 -17
  7. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +60 -34
  8. package/src/trpc/backend/files/src/handler.ts.template +48 -0
  9. package/src/trpc/backend/files/src/index.ts.template +1 -1
  10. package/src/trpc/backend/files/src/router.ts.template +0 -38
  11. package/src/trpc/backend/files/src/schema/z-async-iterable.ts.template +115 -0
  12. package/src/trpc/backend/generator.js +6 -2
  13. package/src/trpc/backend/generator.js.map +1 -1
  14. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +274 -27
  15. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +57 -1
  16. package/src/trpc/react/generator.js +11 -1
  17. package/src/trpc/react/generator.js.map +1 -1
  18. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +13 -1
  19. package/src/utils/api-constructs/files/cdk/core/api/trpc/trpc-utils.ts.template +3 -3
  20. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +8 -3
  21. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +1 -1
  22. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
  23. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +81 -33
  24. package/src/utils/versions.d.ts +3 -1
  25. package/src/utils/versions.js +2 -0
  26. package/src/utils/versions.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,9 @@ import {
12
12
  AuthorizationType,
13
13
  Cors,
14
14
  LambdaIntegration,
15
+ <%_ if (backend.type === 'trpc') { _%>
16
+ ResponseTransferMode,
17
+ <%_ } _%>
15
18
  <%_ if (auth === 'Cognito') { _%>
16
19
  CognitoUserPoolsAuthorizer,
17
20
  <%_ } _%>
@@ -124,7 +127,16 @@ export class <%= apiNameClassName %><
124
127
  } satisfies FunctionProps,
125
128
  buildDefaultIntegration: (op, props: FunctionProps) => {
126
129
  const handler = new Function(scope, `<%= apiNameClassName %>${op}Handler`, props);
127
- return { handler, integration: new LambdaIntegration(handler) };
130
+ return {
131
+ handler,
132
+ <%_ if (backend.type === 'trpc') { _%>
133
+ integration: new LambdaIntegration(handler, {
134
+ responseTransferMode: ResponseTransferMode.STREAM,
135
+ }),
136
+ <%_ } else { _%>
137
+ integration: new LambdaIntegration(handler),
138
+ <%_ } _%>
139
+ };
128
140
  },
129
141
  });
130
142
  };
@@ -55,9 +55,9 @@ export const routerToOperations = <TRouter extends AnyTRPCRouter>(
55
55
  {
56
56
  path: fullPath,
57
57
  method:
58
- procedureOrRouter._def.type === 'query'
59
- ? HttpMethod.GET
60
- : HttpMethod.POST,
58
+ procedureOrRouter._def.type === 'mutation'
59
+ ? HttpMethod.POST
60
+ : HttpMethod.GET,
61
61
  },
62
62
  ],
63
63
  ];
@@ -4,7 +4,7 @@ terraform {
4
4
  required_providers {
5
5
  aws = {
6
6
  source = "hashicorp/aws"
7
- version = "~> 6.0"
7
+ version = "~> 6.33"
8
8
  }
9
9
  }
10
10
  }
@@ -210,8 +210,13 @@ resource "aws_api_gateway_integration" "lambda_integration" {
210
210
  http_method = aws_api_gateway_method.proxy_method.http_method
211
211
 
212
212
  integration_http_method = "POST"
213
- type = "AWS_PROXY"
214
- uri = aws_lambda_function.api_lambda.invoke_arn
213
+ type = "AWS_PROXY"
214
+ <%_ if (backend.type === 'trpc') { _%>
215
+ uri = aws_lambda_function.api_lambda.response_streaming_invoke_arn
216
+ response_transfer_mode = "STREAM"
217
+ <%_ } else { _%>
218
+ uri = aws_lambda_function.api_lambda.invoke_arn
219
+ <%_ } _%>
215
220
 
216
221
  depends_on = [aws_lambda_function.api_lambda]
217
222
  }
@@ -7,7 +7,7 @@ terraform {
7
7
  required_providers {
8
8
  aws = {
9
9
  source = "hashicorp/aws"
10
- version = "~> 6.0"
10
+ version = "~> 6.33"
11
11
  }
12
12
  }
13
13
  }
@@ -42,7 +42,7 @@ const useCreate<%- apiNameClassName %>Client = (): <%- apiNameClassName %> => {
42
42
  return useMemo(() => new <%- apiNameClassName %>({
43
43
  url: apiUrl,
44
44
  <%_ if(auth === 'IAM') { _%>
45
- fetch: sigv4Client,
45
+ fetch: sigv4Client.fetch,
46
46
  <%_ } else if(auth === 'Cognito') { _%>
47
47
  fetch: cognitoClient,
48
48
  <%_ } _%>
@@ -4,54 +4,102 @@ import { fromCognitoIdentityPool } from '@aws-sdk/credential-provider-cognito-id
4
4
  import { useCallback, useRef } from 'react';
5
5
  import { useAuth } from 'react-oidc-context';
6
6
  import { useRuntimeConfig } from './useRuntimeConfig';
7
- import { AwsCredentialIdentity, AwsCredentialIdentityProvider } from '@smithy/types';
7
+ import {
8
+ AwsCredentialIdentity,
9
+ AwsCredentialIdentityProvider,
10
+ } from '@smithy/types';
8
11
 
9
12
  // Credential expiration grace time before considering credentials as expired
10
13
  const CREDENTIAL_EXPIRY_OFFSET_MILLIS = 30 * 1000;
11
14
 
12
- export const useSigV4 = () => {
15
+ type AwsSignInput = Parameters<AwsClient['sign']>[0];
16
+ type AwsSignInit = Parameters<AwsClient['sign']>[1];
17
+
18
+ export interface SigV4Client {
19
+ /** A SigV4-signing fetch drop-in replacement. */
20
+ fetch: typeof globalThis.fetch;
21
+ /** Signs a request. Same parameters as AwsClient.sign(). Returns an unsigned Request when signing is skipped. */
22
+ sign: AwsClient['sign'];
23
+ }
24
+
25
+ export const useSigV4 = (): SigV4Client => {
13
26
  const { cognitoProps } = useRuntimeConfig();
14
27
  const auth = useAuth();
15
28
  const user = auth?.user;
16
29
 
17
- const cachedCredentials = useRef<{ [key: string]: AwsCredentialIdentity }>({});
30
+ const cachedCredentials = useRef<{ [key: string]: AwsCredentialIdentity }>(
31
+ {},
32
+ );
18
33
 
19
- const withCachedCredentials = useCallback(async (provider: AwsCredentialIdentityProvider, ...cacheKeys: string[]): Promise<AwsCredentialIdentity> => {
20
- const key = `sigv4/${cacheKeys.join('/')}`;
21
- const cachedCreds = cachedCredentials.current[key];
22
- if (cachedCreds && cachedCreds.expiration && cachedCreds.expiration.getTime() > Date.now() + CREDENTIAL_EXPIRY_OFFSET_MILLIS) {
23
- return cachedCreds;
34
+ const skipSigning = !cognitoProps && import.meta.env.MODE === 'serve-local';
35
+
36
+ const withCachedCredentials = useCallback(
37
+ async (
38
+ provider: AwsCredentialIdentityProvider,
39
+ ...cacheKeys: string[]
40
+ ): Promise<AwsCredentialIdentity> => {
41
+ const key = `sigv4/${cacheKeys.join('/')}`;
42
+ const cachedCreds = cachedCredentials.current[key];
43
+ if (
44
+ cachedCreds &&
45
+ cachedCreds.expiration &&
46
+ cachedCreds.expiration.getTime() >
47
+ Date.now() + CREDENTIAL_EXPIRY_OFFSET_MILLIS
48
+ ) {
49
+ return cachedCreds;
50
+ }
51
+ const credentials = await provider();
52
+ cachedCredentials.current[key] = credentials;
53
+ return credentials;
54
+ },
55
+ [],
56
+ );
57
+
58
+ const getAwsClient = useCallback(async (): Promise<AwsClient> => {
59
+ if (!cognitoProps) {
60
+ throw new Error('cognitoProps is undefined!');
61
+ }
62
+ if (!user?.id_token) {
63
+ throw new Error('user.id_token is undefined!');
24
64
  }
25
- const credentials = await provider();
26
- cachedCredentials.current[key] = credentials;
27
- return credentials;
28
- }, []);
29
65
 
30
- return useCallback(
66
+ const credentialsFromCognitoIdentityPool = fromCognitoIdentityPool({
67
+ client: new CognitoIdentityClient({ region: cognitoProps.region }),
68
+ identityPoolId: cognitoProps.identityPoolId,
69
+ logins: {
70
+ [`cognito-idp.${cognitoProps.region}.amazonaws.com/${cognitoProps.userPoolId}`]:
71
+ user.id_token,
72
+ },
73
+ });
74
+ const credential = await withCachedCredentials(
75
+ credentialsFromCognitoIdentityPool,
76
+ cognitoProps.identityPoolId,
77
+ user.profile.sub,
78
+ );
79
+ return new AwsClient(credential);
80
+ }, [cognitoProps, user?.id_token, user?.profile.sub, withCachedCredentials]);
81
+
82
+ const sigv4Fetch: typeof globalThis.fetch = useCallback(
31
83
  async (input: RequestInfo | URL, init?: RequestInit | undefined) => {
32
- if (!cognitoProps && import.meta.env.MODE === 'serve-local') {
33
- // Skip request signing in serve-local mode when cognitoProps are not set
84
+ if (skipSigning) {
34
85
  return fetch(input, init);
35
86
  }
36
- if (!cognitoProps) {
37
- throw new Error('cognitoProps is undefined!');
38
- }
39
- if (!user?.id_token) {
40
- throw new Error('user.id_token is undefined!');
41
- }
42
-
43
- const credentialsFromCognitoIdentityPool = fromCognitoIdentityPool({
44
- client: new CognitoIdentityClient({ region: cognitoProps.region }),
45
- identityPoolId: cognitoProps.identityPoolId,
46
- logins: {
47
- [`cognito-idp.${cognitoProps.region}.amazonaws.com/${cognitoProps.userPoolId}`]:
48
- user.id_token,
49
- },
50
- });
51
- const credential = await withCachedCredentials(credentialsFromCognitoIdentityPool, cognitoProps.identityPoolId, user.profile.sub);
52
- const awsClient = new AwsClient(credential);
87
+ const awsClient = await getAwsClient();
53
88
  return awsClient.fetch(input, init);
54
89
  },
55
- [cognitoProps, user?.id_token, user?.profile.sub, withCachedCredentials]
90
+ [skipSigning, getAwsClient],
56
91
  );
92
+
93
+ const sign = useCallback(
94
+ async (input: AwsSignInput, init?: AwsSignInit): Promise<Request> => {
95
+ if (skipSigning) {
96
+ return new Request(input.toString(), init ?? undefined);
97
+ }
98
+ const awsClient = await getAwsClient();
99
+ return awsClient.sign(input, init);
100
+ },
101
+ [skipSigning, getAwsClient],
102
+ );
103
+
104
+ return { fetch: sigv4Fetch, sign };
57
105
  };
@@ -56,6 +56,8 @@ export declare const TS_VERSIONS: {
56
56
  readonly clsx: "2.1.1";
57
57
  readonly electrodb: "3.5.3";
58
58
  readonly esbuild: "0.27.3";
59
+ readonly 'event-source-polyfill': "1.0.31";
60
+ readonly '@types/event-source-polyfill': "1.0.5";
59
61
  readonly 'eslint-plugin-prettier': "5.5.5";
60
62
  readonly express: "5.2.1";
61
63
  readonly 'jsonc-eslint-parser': "2.4.2";
@@ -87,7 +89,7 @@ export type ITsDepVersion = keyof typeof TS_VERSIONS;
87
89
  * Add versions to the given dependencies
88
90
  */
89
91
  export declare const withVersions: (deps: ITsDepVersion[]) => {
90
- [k: string]: "3.992.0" | "3.972.3" | "1.0.0-alpha.10" | "2.31.0" | "6.4.5" | "22.1.0" | "9.0.1" | "22.5.1" | "1.27.0" | "0.19.0" | "0.2.2" | "1.160.2" | "1.160.1" | "1.154.7" | "1.158.0" | "3.0.149" | "3.0.1204" | "1.0.50" | "5.90.21" | "5.91.3" | "11.10.0" | "22.19.11" | "8.10.160" | "2.8.19" | "8.18.1" | "5.0.6" | "4.12.0" | "1.0.20" | "2.1106.0" | "2.238.0" | "2.238.0-alpha.0" | "3.12.0" | "10.5.0" | "2.8.6" | "0.7.1" | "2.1.1" | "3.5.3" | "0.27.3" | "5.5.5" | "5.2.1" | "2.4.2" | "4.0.0" | "2.0.0" | "19.3.2" | "3.4.1" | "3.8.1" | "3.3.0" | "19.2.4" | "6.1.3" | "1.0.0-rc.1" | "0.5.21" | "4.1.18" | "4.21.0" | "0.574.0" | "1.4.3" | "3.8.5" | "1.4.0" | "5.1.4" | "4.3.6" | "8.19.0";
92
+ [k: string]: "3.992.0" | "3.972.3" | "1.0.0-alpha.10" | "2.31.0" | "6.4.5" | "22.1.0" | "9.0.1" | "22.5.1" | "1.27.0" | "0.19.0" | "0.2.2" | "1.160.2" | "1.160.1" | "1.154.7" | "1.158.0" | "3.0.149" | "3.0.1204" | "1.0.50" | "5.90.21" | "5.91.3" | "11.10.0" | "22.19.11" | "8.10.160" | "2.8.19" | "8.18.1" | "5.0.6" | "4.12.0" | "1.0.20" | "2.1106.0" | "2.238.0" | "2.238.0-alpha.0" | "3.12.0" | "10.5.0" | "2.8.6" | "0.7.1" | "2.1.1" | "3.5.3" | "0.27.3" | "1.0.31" | "1.0.5" | "5.5.5" | "5.2.1" | "2.4.2" | "4.0.0" | "2.0.0" | "19.3.2" | "3.4.1" | "3.8.1" | "3.3.0" | "19.2.4" | "6.1.3" | "1.0.0-rc.1" | "0.5.21" | "4.1.18" | "4.21.0" | "0.574.0" | "1.4.3" | "3.8.5" | "1.4.0" | "5.1.4" | "4.3.6" | "8.19.0";
91
93
  };
92
94
  /**
93
95
  * Versions for Python dependencies added by generators
@@ -59,6 +59,8 @@ exports.TS_VERSIONS = {
59
59
  clsx: '2.1.1',
60
60
  electrodb: '3.5.3',
61
61
  esbuild: '0.27.3',
62
+ 'event-source-polyfill': '1.0.31',
63
+ '@types/event-source-polyfill': '1.0.5',
62
64
  'eslint-plugin-prettier': '5.5.5',
63
65
  express: '5.2.1',
64
66
  'jsonc-eslint-parser': '2.4.2',
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"names":[],"mappings":"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"}