@aws/nx-plugin 0.82.1 → 0.82.2
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/infra/app/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +66 -38
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +56 -42
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +158 -110
- package/src/ts/lib/vitest.js +2 -0
- package/src/ts/lib/vitest.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/ts/react-website/app/generator.js +5 -1
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +15 -17
- package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +24 -21
- package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +20 -2
- package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +4 -1
- package/src/utils/versions.d.ts +4 -1
- package/src/utils/versions.js +3 -0
- package/src/utils/versions.js.map +1 -1
|
@@ -206,23 +206,25 @@ export class <%= apiNameClassName %><
|
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
/**
|
|
209
|
-
* Restricts CORS to the
|
|
209
|
+
* Restricts CORS to the provided origins
|
|
210
210
|
*
|
|
211
|
-
* Configures the CloudFront distribution domains
|
|
212
|
-
*
|
|
213
|
-
* The CORS origins are not configured within the AWS Lambda
|
|
214
|
-
* the associated header is controlled by API Gateway v2
|
|
211
|
+
* Configures the provided CloudFront distribution domains or origin strings
|
|
212
|
+
* as the only permitted CORS origins
|
|
213
|
+
* in the API gateway. The CORS origins are not configured within the AWS Lambda
|
|
214
|
+
* integrations since the associated header is controlled by API Gateway v2.
|
|
215
215
|
*
|
|
216
|
-
* @param
|
|
216
|
+
* @param origins - The origin strings, CloudFront distributions, or objects containing a CloudFront distribution to grant CORS from
|
|
217
217
|
*/
|
|
218
218
|
public restrictCorsTo(
|
|
219
|
-
...
|
|
219
|
+
...origins: (string | Distribution | { cloudFrontDistribution: Distribution })[]
|
|
220
220
|
) {
|
|
221
|
-
const allowedOrigins =
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
221
|
+
const allowedOrigins = origins.map((origin) =>
|
|
222
|
+
typeof origin === 'string'
|
|
223
|
+
? origin
|
|
224
|
+
: 'cloudFrontDistribution' in origin
|
|
225
|
+
? `https://${origin.cloudFrontDistribution.distributionDomainName}`
|
|
226
|
+
: `https://${origin.distributionDomainName}`,
|
|
227
|
+
);
|
|
226
228
|
|
|
227
229
|
const cfnApi = this.api.node.defaultChild;
|
|
228
230
|
if (!(cfnApi instanceof CfnApi)) {
|
|
@@ -232,11 +234,7 @@ export class <%= apiNameClassName %><
|
|
|
232
234
|
}
|
|
233
235
|
|
|
234
236
|
cfnApi.corsConfiguration = {
|
|
235
|
-
allowOrigins:
|
|
236
|
-
'http://localhost:4200',
|
|
237
|
-
'http://localhost:4300',
|
|
238
|
-
...allowedOrigins,
|
|
239
|
-
],
|
|
237
|
+
allowOrigins: allowedOrigins,
|
|
240
238
|
allowMethods: [CorsHttpMethod.ANY],
|
|
241
239
|
allowHeaders: [
|
|
242
240
|
'authorization',
|
|
@@ -14,7 +14,6 @@ import {
|
|
|
14
14
|
} from 'aws-cdk-lib/aws-lambda';
|
|
15
15
|
import {
|
|
16
16
|
AuthorizationType,
|
|
17
|
-
Cors,
|
|
18
17
|
LambdaIntegration,
|
|
19
18
|
<%_ if (['trpc', 'fastapi'].includes(backend.type)) { _%>
|
|
20
19
|
ResponseTransferMode,
|
|
@@ -23,7 +22,7 @@ import {
|
|
|
23
22
|
CognitoUserPoolsAuthorizer,
|
|
24
23
|
<%_ } _%>
|
|
25
24
|
} from 'aws-cdk-lib/aws-apigateway';
|
|
26
|
-
import { Duration<%_ if (backend.type === 'fastapi') { _%>, Stack<%_ } _%> } from 'aws-cdk-lib';
|
|
25
|
+
import { Aspects, Duration<%_ if (backend.type === 'fastapi') { _%>, Stack<%_ } _%> } from 'aws-cdk-lib';
|
|
27
26
|
import {
|
|
28
27
|
PolicyDocument,
|
|
29
28
|
PolicyStatement,
|
|
@@ -42,7 +41,7 @@ import {
|
|
|
42
41
|
IntegrationBuilder,
|
|
43
42
|
RestApiIntegration,
|
|
44
43
|
} from '../../core/api/utils.js';
|
|
45
|
-
import { RestApi } from '../../core/api/rest-api.js';
|
|
44
|
+
import { AddCorsPreflightAspect, RestApi } from '../../core/api/rest-api.js';
|
|
46
45
|
<%_ if (backend.type === 'trpc') { _%>
|
|
47
46
|
import { Procedures, routerToOperations } from '../../core/api/trpc-utils.js';
|
|
48
47
|
import { AppRouter, appRouter } from '<%= backend.projectAlias %>';
|
|
@@ -86,6 +85,8 @@ export interface <%= apiNameClassName %>Props<
|
|
|
86
85
|
export class <%= apiNameClassName %><
|
|
87
86
|
TIntegrations extends ApiIntegrations<Operations, RestApiIntegration>,
|
|
88
87
|
> extends RestApi<Operations, TIntegrations> {
|
|
88
|
+
private allowedOrigins: readonly string[] = ['*'];
|
|
89
|
+
|
|
89
90
|
/**
|
|
90
91
|
<%_ if (backend.integrationPattern === 'shared') { _%>
|
|
91
92
|
* Creates default integrations for all operations using a single shared
|
|
@@ -198,10 +199,6 @@ export class <%= apiNameClassName %><
|
|
|
198
199
|
authorizationType: AuthorizationType.NONE,
|
|
199
200
|
<%_ } _%>
|
|
200
201
|
},
|
|
201
|
-
defaultCorsPreflightOptions: {
|
|
202
|
-
allowOrigins: Cors.ALL_ORIGINS,
|
|
203
|
-
allowMethods: Cors.ALL_METHODS,
|
|
204
|
-
},
|
|
205
202
|
deployOptions: {
|
|
206
203
|
tracingEnabled: true,
|
|
207
204
|
},
|
|
@@ -233,32 +230,38 @@ export class <%= apiNameClassName %><
|
|
|
233
230
|
<%_ } _%>
|
|
234
231
|
...props,
|
|
235
232
|
});
|
|
233
|
+
Aspects.of(this).add(new AddCorsPreflightAspect(() => this.allowedOrigins));
|
|
236
234
|
}
|
|
237
235
|
|
|
238
236
|
/**
|
|
239
|
-
* Restricts CORS to the
|
|
237
|
+
* Restricts CORS to the provided origins
|
|
240
238
|
*
|
|
241
|
-
* Configures the CloudFront distribution domains
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
* Note that this restriction is not applied to preflight OPTIONS
|
|
239
|
+
* Configures the provided CloudFront distribution domains or origin strings
|
|
240
|
+
* as the only permitted CORS origins in API Gateway preflight responses and the
|
|
241
|
+
* AWS Lambda integrations.
|
|
245
242
|
*
|
|
246
|
-
* @param
|
|
243
|
+
* @param origins - The origin strings, CloudFront distributions, or objects containing a CloudFront distribution to grant CORS from
|
|
247
244
|
*/
|
|
248
245
|
public restrictCorsTo(
|
|
249
|
-
...
|
|
246
|
+
...origins: (string | Distribution | { cloudFrontDistribution: Distribution })[]
|
|
250
247
|
) {
|
|
251
|
-
const allowedOrigins =
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
248
|
+
const allowedOrigins = origins.map((origin) =>
|
|
249
|
+
typeof origin === 'string'
|
|
250
|
+
? origin
|
|
251
|
+
: 'cloudFrontDistribution' in origin
|
|
252
|
+
? `https://${origin.cloudFrontDistribution.distributionDomainName}`
|
|
253
|
+
: `https://${origin.distributionDomainName}`,
|
|
254
|
+
);
|
|
255
|
+
|
|
256
|
+
this.allowedOrigins = allowedOrigins;
|
|
257
257
|
|
|
258
258
|
// Set ALLOWED_ORIGINS environment variable for all Lambda integrations
|
|
259
259
|
Object.values(this.integrations).forEach((integration) => {
|
|
260
260
|
if ('handler' in integration && integration.handler instanceof Function) {
|
|
261
|
-
integration.handler.addEnvironment(
|
|
261
|
+
integration.handler.addEnvironment(
|
|
262
|
+
'ALLOWED_ORIGINS',
|
|
263
|
+
allowedOrigins.join(','),
|
|
264
|
+
);
|
|
262
265
|
}
|
|
263
266
|
});
|
|
264
267
|
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { Construct } from 'constructs';
|
|
1
|
+
import { Construct, IConstruct } from 'constructs';
|
|
2
2
|
import {
|
|
3
|
+
Cors,
|
|
4
|
+
Resource,
|
|
3
5
|
RestApi as _RestApi,
|
|
4
6
|
RestApiProps as _RestApiProps,
|
|
5
7
|
IResource,
|
|
6
8
|
Stage,
|
|
7
9
|
} from 'aws-cdk-lib/aws-apigateway';
|
|
10
|
+
import { IAspect } from 'aws-cdk-lib';
|
|
8
11
|
import { RuntimeConfig } from '../runtime-config.js';
|
|
9
12
|
import {
|
|
10
13
|
ApiIntegrations,
|
|
@@ -103,7 +106,7 @@ export class RestApi<
|
|
|
103
106
|
};
|
|
104
107
|
|
|
105
108
|
// Create API resources and methods for each operation
|
|
106
|
-
(Object.entries(operations) as [TOperation, OperationDetails][]).
|
|
109
|
+
(Object.entries(operations) as [TOperation, OperationDetails][]).forEach(
|
|
107
110
|
([op, details]) => {
|
|
108
111
|
const integration = resolveIntegration(op);
|
|
109
112
|
const resource = this.getOrCreateResource(
|
|
@@ -147,3 +150,18 @@ export class RestApi<
|
|
|
147
150
|
return this.getOrCreateResource(childResource, pathParts);
|
|
148
151
|
}
|
|
149
152
|
}
|
|
153
|
+
|
|
154
|
+
export class AddCorsPreflightAspect implements IAspect {
|
|
155
|
+
private getAllowedOrigins: () => readonly string[];
|
|
156
|
+
constructor(getAllowedOrigins: () => readonly string[]) {
|
|
157
|
+
this.getAllowedOrigins = getAllowedOrigins;
|
|
158
|
+
}
|
|
159
|
+
public visit(node: IConstruct): void {
|
|
160
|
+
if (node instanceof Resource) {
|
|
161
|
+
node.addCorsPreflight({
|
|
162
|
+
allowOrigins: [...this.getAllowedOrigins()],
|
|
163
|
+
allowMethods: Cors.ALL_METHODS,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ export declare const TS_VERSIONS: {
|
|
|
43
43
|
readonly '@types/ws': "8.18.1";
|
|
44
44
|
readonly '@types/express': "5.0.6";
|
|
45
45
|
readonly '@smithy/types': "4.13.0";
|
|
46
|
+
readonly '@vitest/coverage-v8': "4.0.18";
|
|
47
|
+
readonly '@vitest/ui': "4.0.18";
|
|
46
48
|
readonly aws4fetch: "1.0.20";
|
|
47
49
|
readonly 'aws-cdk': "2.1108.0";
|
|
48
50
|
readonly 'aws-cdk-lib': "2.241.0";
|
|
@@ -78,6 +80,7 @@ export declare const TS_VERSIONS: {
|
|
|
78
80
|
readonly shadcn: "3.8.5";
|
|
79
81
|
readonly 'tw-animate-css': "1.4.0";
|
|
80
82
|
readonly 'tailwind-merge': "3.5.0";
|
|
83
|
+
readonly vitest: "4.0.18";
|
|
81
84
|
readonly 'vite-tsconfig-paths': "5.1.4";
|
|
82
85
|
readonly zod: "4.3.6";
|
|
83
86
|
readonly ws: "8.19.0";
|
|
@@ -87,7 +90,7 @@ export type ITsDepVersion = keyof typeof TS_VERSIONS;
|
|
|
87
90
|
* Add versions to the given dependencies
|
|
88
91
|
*/
|
|
89
92
|
export declare const withVersions: (deps: ITsDepVersion[]) => {
|
|
90
|
-
[k: string]: "22.5.3" | "3.8.1" | "1.27.1" | "22.1.1" | "4.3.6" | "3.1004.0" | "1.0.0-alpha.10" | "2.31.0" | "6.4.5" | "9.0.1" | "0.19.0" | "0.4.0" | "1.163.3" | "1.164.0" | "1.161.4" | "3.0.150" | "3.0.1217" | "1.0.51" | "5.90.21" | "5.91.3" | "11.11.0" | "22.19.13" | "8.10.161" | "2.8.19" | "8.18.1" | "5.0.6" | "4.13.0" | "1.0.20" | "2.1108.0" | "2.241.0" | "2.241.0-alpha.0" | "3.12.0" | "10.5.1" | "2.8.6" | "0.7.1" | "2.1.1" | "3.7.0" | "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.6.3" | "3.4.1" | "3.3.0" | "19.2.4" | "6.1.3" | "1.0.0-rc.1" | "0.5.21" | "4.2.1" | "4.21.0" | "0.576.0" | "1.4.3" | "3.8.5" | "1.4.0" | "3.5.0" | "5.1.4" | "8.19.0";
|
|
93
|
+
[k: string]: "22.5.3" | "3.8.1" | "1.27.1" | "22.1.1" | "4.0.18" | "4.3.6" | "3.1004.0" | "1.0.0-alpha.10" | "2.31.0" | "6.4.5" | "9.0.1" | "0.19.0" | "0.4.0" | "1.163.3" | "1.164.0" | "1.161.4" | "3.0.150" | "3.0.1217" | "1.0.51" | "5.90.21" | "5.91.3" | "11.11.0" | "22.19.13" | "8.10.161" | "2.8.19" | "8.18.1" | "5.0.6" | "4.13.0" | "1.0.20" | "2.1108.0" | "2.241.0" | "2.241.0-alpha.0" | "3.12.0" | "10.5.1" | "2.8.6" | "0.7.1" | "2.1.1" | "3.7.0" | "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.6.3" | "3.4.1" | "3.3.0" | "19.2.4" | "6.1.3" | "1.0.0-rc.1" | "0.5.21" | "4.2.1" | "4.21.0" | "0.576.0" | "1.4.3" | "3.8.5" | "1.4.0" | "3.5.0" | "5.1.4" | "8.19.0";
|
|
91
94
|
};
|
|
92
95
|
/**
|
|
93
96
|
* Versions for Python dependencies added by generators
|
package/src/utils/versions.js
CHANGED
|
@@ -46,6 +46,8 @@ exports.TS_VERSIONS = {
|
|
|
46
46
|
'@types/ws': '8.18.1',
|
|
47
47
|
'@types/express': '5.0.6',
|
|
48
48
|
'@smithy/types': '4.13.0',
|
|
49
|
+
'@vitest/coverage-v8': '4.0.18',
|
|
50
|
+
'@vitest/ui': '4.0.18',
|
|
49
51
|
aws4fetch: '1.0.20',
|
|
50
52
|
'aws-cdk': '2.1108.0',
|
|
51
53
|
'aws-cdk-lib': '2.241.0',
|
|
@@ -81,6 +83,7 @@ exports.TS_VERSIONS = {
|
|
|
81
83
|
shadcn: '3.8.5',
|
|
82
84
|
'tw-animate-css': '1.4.0',
|
|
83
85
|
'tailwind-merge': '3.5.0',
|
|
86
|
+
vitest: '4.0.18',
|
|
84
87
|
'vite-tsconfig-paths': '5.1.4',
|
|
85
88
|
zod: '4.3.6',
|
|
86
89
|
ws: '8.19.0',
|
|
@@ -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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"}
|