@aws/nx-plugin 0.44.0 → 0.45.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/nx-plugin",
3
- "version": "0.44.0",
3
+ "version": "0.45.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/awslabs/nx-plugin-for-aws.git",
@@ -285,7 +285,7 @@ exports[`infra generator > should generate consistent file content across runs >
285
285
  }
286
286
  }
287
287
  ",
288
- "src/main.ts": "import { ApplicationStack } from './stacks/application-stack.js';
288
+ "src/main.ts": "import { ApplicationStage } from './stages/application-stage.js';
289
289
  import { App, CfnGuardValidator, RuleSet } from ':proj/common-constructs';
290
290
 
291
291
  const app = new App({
@@ -293,36 +293,52 @@ const app = new App({
293
293
  });
294
294
 
295
295
  // Use this to deploy your own sandbox environment (assumes your CLI credentials)
296
- new ApplicationStack(app, 'proj-infra-sandbox', {
296
+ new ApplicationStage(app, 'proj-test-sandbox', {
297
297
  env: {
298
298
  account: process.env.CDK_DEFAULT_ACCOUNT,
299
299
  region: process.env.CDK_DEFAULT_REGION,
300
300
  },
301
- crossRegionReferences: true,
302
301
  });
303
302
 
304
303
  app.synth();
305
304
  ",
306
- "src/stacks/application-stack.ts": "import * as cdk from 'aws-cdk-lib';
305
+ "src/stacks/application-stack.ts": "import { Stack, StackProps } from 'aws-cdk-lib';
307
306
  import { Construct } from 'constructs';
308
307
 
309
- export class ApplicationStack extends cdk.Stack {
310
- constructor(scope: Construct, id: string, props?: cdk.StackProps) {
308
+ export class ApplicationStack extends Stack {
309
+ constructor(scope: Construct, id: string, props?: StackProps) {
311
310
  super(scope, id, props);
312
311
 
313
312
  // The code that defines your stack goes here
314
313
  }
315
314
  }
315
+ ",
316
+ "src/stages/application-stage.ts": "import { Stage, StageProps } from 'aws-cdk-lib';
317
+ import { Construct } from 'constructs';
318
+ import { ApplicationStack } from '../stacks/application-stack.js';
319
+
320
+ /**
321
+ * Defines a collection of CDK Stacks which make up your application
322
+ */
323
+ export class ApplicationStage extends Stage {
324
+ constructor(scope: Construct, id: string, props?: StageProps) {
325
+ super(scope, id, props);
326
+
327
+ new ApplicationStack(this, 'Application', {
328
+ crossRegionReferences: true,
329
+ });
330
+ }
331
+ }
316
332
  ",
317
333
  }
318
334
  `;
319
335
 
320
336
  exports[`infra generator > should generate files with correct content > application-stack-ts 1`] = `
321
- "import * as cdk from 'aws-cdk-lib';
337
+ "import { Stack, StackProps } from 'aws-cdk-lib';
322
338
  import { Construct } from 'constructs';
323
339
 
324
- export class ApplicationStack extends cdk.Stack {
325
- constructor(scope: Construct, id: string, props?: cdk.StackProps) {
340
+ export class ApplicationStack extends Stack {
341
+ constructor(scope: Construct, id: string, props?: StackProps) {
326
342
  super(scope, id, props);
327
343
 
328
344
  // The code that defines your stack goes here
@@ -331,6 +347,26 @@ export class ApplicationStack extends cdk.Stack {
331
347
  "
332
348
  `;
333
349
 
350
+ exports[`infra generator > should generate files with correct content > application-stage-ts 1`] = `
351
+ "import { Stage, StageProps } from 'aws-cdk-lib';
352
+ import { Construct } from 'constructs';
353
+ import { ApplicationStack } from '../stacks/application-stack.js';
354
+
355
+ /**
356
+ * Defines a collection of CDK Stacks which make up your application
357
+ */
358
+ export class ApplicationStage extends Stage {
359
+ constructor(scope: Construct, id: string, props?: StageProps) {
360
+ super(scope, id, props);
361
+
362
+ new ApplicationStack(this, 'Application', {
363
+ crossRegionReferences: true,
364
+ });
365
+ }
366
+ }
367
+ "
368
+ `;
369
+
334
370
  exports[`infra generator > should generate files with correct content > cdk-json 1`] = `
335
371
  "{
336
372
  "app": "tsx src/main.ts",
@@ -403,7 +439,7 @@ exports[`infra generator > should generate files with correct content > cdk-json
403
439
  `;
404
440
 
405
441
  exports[`infra generator > should generate files with correct content > main-ts 1`] = `
406
- "import { ApplicationStack } from './stacks/application-stack.js';
442
+ "import { ApplicationStage } from './stages/application-stage.js';
407
443
  import { App, CfnGuardValidator, RuleSet } from ':proj/common-constructs';
408
444
 
409
445
  const app = new App({
@@ -411,23 +447,22 @@ const app = new App({
411
447
  });
412
448
 
413
449
  // Use this to deploy your own sandbox environment (assumes your CLI credentials)
414
- new ApplicationStack(app, 'proj-infra-sandbox', {
450
+ new ApplicationStage(app, 'proj-test-sandbox', {
415
451
  env: {
416
452
  account: process.env.CDK_DEFAULT_ACCOUNT,
417
453
  region: process.env.CDK_DEFAULT_REGION,
418
454
  },
419
- crossRegionReferences: true,
420
455
  });
421
456
 
422
457
  app.synth();
423
458
  "
424
459
  `;
425
460
 
426
- exports[`infra generator > should generate files with correct content > project-structure 1`] = `
461
+ exports[`infra generator > should handle custom project names correctly > custom-name-files 1`] = `
427
462
  {
428
463
  "cdk.json": "{
429
464
  "app": "tsx src/main.ts",
430
- "output": "../../dist/packages/test/cdk.out",
465
+ "output": "../../dist/packages/custom-infra/cdk.out",
431
466
  "watch": {
432
467
  "include": ["**"],
433
468
  "exclude": [
@@ -493,91 +528,7 @@ exports[`infra generator > should generate files with correct content > project-
493
528
  }
494
529
  }
495
530
  ",
496
- "project.json": "{
497
- "name": "@proj/test",
498
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
499
- "sourceRoot": "packages/test/src",
500
- "projectType": "application",
501
- "tags": [],
502
- "metadata": {
503
- "generator": "ts#infra"
504
- },
505
- "targets": {
506
- "bootstrap": {
507
- "executor": "nx:run-commands",
508
- "options": {
509
- "cwd": "packages/test",
510
- "command": "cdk bootstrap"
511
- }
512
- },
513
- "build": {
514
- "dependsOn": ["lint", "compile", "test", "synth"]
515
- },
516
- "cdk": {
517
- "executor": "nx:run-commands",
518
- "options": {
519
- "cwd": "packages/test",
520
- "command": "cdk"
521
- }
522
- },
523
- "compile": {
524
- "executor": "nx:run-commands",
525
- "outputs": ["{workspaceRoot}/dist/packages/test/tsc"],
526
- "options": {
527
- "command": "tsc --build tsconfig.lib.json",
528
- "cwd": "{projectRoot}"
529
- }
530
- },
531
- "deploy": {
532
- "executor": "nx:run-commands",
533
- "options": {
534
- "cwd": "packages/test",
535
- "command": "cdk deploy --require-approval=never"
536
- }
537
- },
538
- "deploy-ci": {
539
- "executor": "nx:run-commands",
540
- "options": {
541
- "cwd": "packages/test",
542
- "command": "cdk deploy --require-approval=never --app ../../dist/packages/test/cdk.out"
543
- }
544
- },
545
- "destroy": {
546
- "executor": "nx:run-commands",
547
- "options": {
548
- "cwd": "packages/test",
549
- "command": "cdk destroy --require-approval=never"
550
- }
551
- },
552
- "destroy-ci": {
553
- "executor": "nx:run-commands",
554
- "options": {
555
- "cwd": "packages/test",
556
- "command": "cdk destroy --require-approval=never --app ../../dist/packages/test/cdk.out"
557
- }
558
- },
559
- "synth": {
560
- "cache": true,
561
- "executor": "nx:run-commands",
562
- "inputs": ["default"],
563
- "outputs": ["{workspaceRoot}/dist/packages/test/cdk.out"],
564
- "dependsOn": ["^build", "compile"],
565
- "options": {
566
- "cwd": "packages/test",
567
- "command": "cdk synth"
568
- }
569
- },
570
- "test": {
571
- "executor": "@nx/vite:test",
572
- "outputs": ["{options.reportsDirectory}"],
573
- "options": {
574
- "reportsDirectory": "../../coverage/packages/test"
575
- }
576
- }
577
- }
578
- }
579
- ",
580
- "src/main.ts": "import { ApplicationStack } from './stacks/application-stack.js';
531
+ "src/main.ts": "import { ApplicationStage } from './stages/application-stage.js';
581
532
  import { App, CfnGuardValidator, RuleSet } from ':proj/common-constructs';
582
533
 
583
534
  const app = new App({
@@ -585,236 +536,40 @@ const app = new App({
585
536
  });
586
537
 
587
538
  // Use this to deploy your own sandbox environment (assumes your CLI credentials)
588
- new ApplicationStack(app, 'proj-infra-sandbox', {
539
+ new ApplicationStage(app, 'proj-custom-infra-sandbox', {
589
540
  env: {
590
541
  account: process.env.CDK_DEFAULT_ACCOUNT,
591
542
  region: process.env.CDK_DEFAULT_REGION,
592
543
  },
593
- crossRegionReferences: true,
594
544
  });
595
545
 
596
546
  app.synth();
597
547
  ",
598
- "src/stacks/application-stack.ts": "import * as cdk from 'aws-cdk-lib';
599
- import { Construct } from 'constructs';
600
-
601
- export class ApplicationStack extends cdk.Stack {
602
- constructor(scope: Construct, id: string, props?: cdk.StackProps) {
603
- super(scope, id, props);
604
-
605
- // The code that defines your stack goes here
606
- }
607
- }
608
- ",
609
- }
610
- `;
611
-
612
- exports[`infra generator > should generate valid CDK application code > cdk-json-content 1`] = `
613
- {
614
- "app": "tsx src/main.ts",
615
- "context": {
616
- "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true,
617
- "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true,
618
- "@aws-cdk/aws-apigateway:disableCloudWatchRole": true,
619
- "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true,
620
- "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
621
- "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true,
622
- "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
623
- "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true,
624
- "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
625
- "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true,
626
- "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
627
- "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
628
- "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
629
- "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true,
630
- "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true,
631
- "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true,
632
- "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true,
633
- "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
634
- "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
635
- "@aws-cdk/aws-efs:denyAnonymousAccess": true,
636
- "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true,
637
- "@aws-cdk/aws-eks:nodegroupNameAttribute": true,
638
- "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
639
- "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
640
- "@aws-cdk/aws-iam:minimizePolicies": true,
641
- "@aws-cdk/aws-kms:aliasNameRef": true,
642
- "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
643
- "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true,
644
- "@aws-cdk/aws-lambda:recognizeLayerVersion": true,
645
- "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true,
646
- "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
647
- "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true,
648
- "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
649
- "@aws-cdk/aws-redshift:columnId": true,
650
- "@aws-cdk/aws-route53-patters:useCertificate": true,
651
- "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true,
652
- "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
653
- "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true,
654
- "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true,
655
- "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true,
656
- "@aws-cdk/core:checkSecretUsage": true,
657
- "@aws-cdk/core:enablePartitionLiterals": true,
658
- "@aws-cdk/core:includePrefixInUniqueNameGeneration": true,
659
- "@aws-cdk/core:target-partitions": [
660
- "aws",
661
- "aws-cn",
662
- ],
663
- "@aws-cdk/core:validateSnapshotRemovalPolicy": true,
664
- "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
665
- "@aws-cdk/customresources:installLatestAwsSdkDefault": false,
666
- },
667
- "output": "../../dist/packages/test/cdk.out",
668
- "watch": {
669
- "exclude": [
670
- "README.md",
671
- "cdk*.json",
672
- "**/*.d.ts",
673
- "**/*.js",
674
- "tsconfig.json",
675
- "package*.json",
676
- "yarn.lock",
677
- "node_modules",
678
- "test",
679
- ],
680
- "include": [
681
- "**",
682
- ],
683
- },
684
- }
685
- `;
686
-
687
- exports[`infra generator > should generate valid CDK application code > main-ts-content 1`] = `
688
- "import { ApplicationStack } from './stacks/application-stack.js';
689
- import { App, CfnGuardValidator, RuleSet } from ':proj/common-constructs';
690
-
691
- const app = new App({
692
- policyValidationBeta1: [new CfnGuardValidator(RuleSet.AWS_PROTOTYPING)],
693
- });
694
-
695
- // Use this to deploy your own sandbox environment (assumes your CLI credentials)
696
- new ApplicationStack(app, 'proj-infra-sandbox', {
697
- env: {
698
- account: process.env.CDK_DEFAULT_ACCOUNT,
699
- region: process.env.CDK_DEFAULT_REGION,
700
- },
701
- crossRegionReferences: true,
702
- });
703
-
704
- app.synth();
705
- "
706
- `;
707
-
708
- exports[`infra generator > should generate valid CDK application code > stack-ts-content 1`] = `
709
- "import * as cdk from 'aws-cdk-lib';
548
+ "src/stacks/application-stack.ts": "import { Stack, StackProps } from 'aws-cdk-lib';
710
549
  import { Construct } from 'constructs';
711
550
 
712
- export class ApplicationStack extends cdk.Stack {
713
- constructor(scope: Construct, id: string, props?: cdk.StackProps) {
551
+ export class ApplicationStack extends Stack {
552
+ constructor(scope: Construct, id: string, props?: StackProps) {
714
553
  super(scope, id, props);
715
554
 
716
555
  // The code that defines your stack goes here
717
556
  }
718
557
  }
719
- "
720
- `;
721
-
722
- exports[`infra generator > should handle custom project names correctly > custom-name-files 1`] = `
723
- {
724
- "cdk.json": "{
725
- "app": "tsx src/main.ts",
726
- "output": "../../dist/packages/custom-infra/cdk.out",
727
- "watch": {
728
- "include": ["**"],
729
- "exclude": [
730
- "README.md",
731
- "cdk*.json",
732
- "**/*.d.ts",
733
- "**/*.js",
734
- "tsconfig.json",
735
- "package*.json",
736
- "yarn.lock",
737
- "node_modules",
738
- "test"
739
- ]
740
- },
741
- "context": {
742
- "@aws-cdk/aws-lambda:recognizeLayerVersion": true,
743
- "@aws-cdk/core:checkSecretUsage": true,
744
- "@aws-cdk/core:target-partitions": ["aws", "aws-cn"],
745
- "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true,
746
- "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true,
747
- "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true,
748
- "@aws-cdk/aws-iam:minimizePolicies": true,
749
- "@aws-cdk/core:validateSnapshotRemovalPolicy": true,
750
- "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true,
751
- "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true,
752
- "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true,
753
- "@aws-cdk/aws-apigateway:disableCloudWatchRole": true,
754
- "@aws-cdk/core:enablePartitionLiterals": true,
755
- "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
756
- "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
757
- "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
758
- "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
759
- "@aws-cdk/aws-route53-patters:useCertificate": true,
760
- "@aws-cdk/customresources:installLatestAwsSdkDefault": false,
761
- "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true,
762
- "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true,
763
- "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true,
764
- "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true,
765
- "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true,
766
- "@aws-cdk/aws-redshift:columnId": true,
767
- "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true,
768
- "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true,
769
- "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true,
770
- "@aws-cdk/aws-kms:aliasNameRef": true,
771
- "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true,
772
- "@aws-cdk/core:includePrefixInUniqueNameGeneration": true,
773
- "@aws-cdk/aws-efs:denyAnonymousAccess": true,
774
- "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true,
775
- "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true,
776
- "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true,
777
- "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
778
- "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
779
- "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
780
- "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
781
- "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
782
- "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
783
- "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
784
- "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
785
- "@aws-cdk/aws-eks:nodegroupNameAttribute": true,
786
- "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
787
- "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
788
- "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false
789
- }
790
- }
791
558
  ",
792
- "src/main.ts": "import { ApplicationStack } from './stacks/application-stack.js';
793
- import { App, CfnGuardValidator, RuleSet } from ':proj/common-constructs';
794
-
795
- const app = new App({
796
- policyValidationBeta1: [new CfnGuardValidator(RuleSet.AWS_PROTOTYPING)],
797
- });
798
-
799
- // Use this to deploy your own sandbox environment (assumes your CLI credentials)
800
- new ApplicationStack(app, 'proj-infra-sandbox', {
801
- env: {
802
- account: process.env.CDK_DEFAULT_ACCOUNT,
803
- region: process.env.CDK_DEFAULT_REGION,
804
- },
805
- crossRegionReferences: true,
806
- });
807
-
808
- app.synth();
809
- ",
810
- "src/stacks/application-stack.ts": "import * as cdk from 'aws-cdk-lib';
559
+ "src/stages/application-stage.ts": "import { Stage, StageProps } from 'aws-cdk-lib';
811
560
  import { Construct } from 'constructs';
561
+ import { ApplicationStack } from '../stacks/application-stack.js';
812
562
 
813
- export class ApplicationStack extends cdk.Stack {
814
- constructor(scope: Construct, id: string, props?: cdk.StackProps) {
563
+ /**
564
+ * Defines a collection of CDK Stacks which make up your application
565
+ */
566
+ export class ApplicationStage extends Stage {
567
+ constructor(scope: Construct, id: string, props?: StageProps) {
815
568
  super(scope, id, props);
816
569
 
817
- // The code that defines your stack goes here
570
+ new ApplicationStack(this, 'Application', {
571
+ crossRegionReferences: true,
572
+ });
818
573
  }
819
574
  }
820
575
  ",
@@ -72,5 +72,5 @@ suppressRule(construct, 'RULE_NAME', (construct) => construct instanceof Bucket)
72
72
 
73
73
  ## Useful links
74
74
 
75
- - [Infra reference docs](TODO)
75
+ - [Infra reference docs](https://awslabs.github.io/nx-plugin-for-aws/en/guides/typescript-infrastructure/)
76
76
  - [Learn more about NX](https://nx.dev/getting-started/intro)
@@ -1,4 +1,4 @@
1
- import { ApplicationStack } from './stacks/application-stack.js';
1
+ import { ApplicationStage } from './stages/application-stage.js';
2
2
  import { App, CfnGuardValidator, RuleSet } from '<%= scopeAlias %>common-constructs';
3
3
 
4
4
  const app = new App({
@@ -6,12 +6,11 @@ const app = new App({
6
6
  });
7
7
 
8
8
  // Use this to deploy your own sandbox environment (assumes your CLI credentials)
9
- new ApplicationStack(app, '<%= namespace %>-infra-sandbox', {
9
+ new ApplicationStage(app, '<%= namespace %>-sandbox', {
10
10
  env: {
11
11
  account: process.env.CDK_DEFAULT_ACCOUNT,
12
12
  region: process.env.CDK_DEFAULT_REGION,
13
13
  },
14
- crossRegionReferences: true
15
14
  });
16
15
 
17
16
  app.synth();
@@ -1,8 +1,8 @@
1
- import * as cdk from 'aws-cdk-lib';
1
+ import { Stack, StackProps } from 'aws-cdk-lib';
2
2
  import { Construct } from 'constructs';
3
3
 
4
- export class ApplicationStack extends cdk.Stack {
5
- constructor(scope: Construct, id: string, props?: cdk.StackProps) {
4
+ export class ApplicationStack extends Stack {
5
+ constructor(scope: Construct, id: string, props?: StackProps) {
6
6
  super(scope, id, props);
7
7
 
8
8
  // The code that defines your stack goes here
@@ -0,0 +1,16 @@
1
+ import { Stage, StageProps } from 'aws-cdk-lib';
2
+ import { Construct } from 'constructs';
3
+ import { ApplicationStack } from '../stacks/application-stack.js';
4
+
5
+ /**
6
+ * Defines a collection of CDK Stacks which make up your application
7
+ */
8
+ export class ApplicationStage extends Stage {
9
+ constructor(scope: Construct, id: string, props?: StageProps) {
10
+ super(scope, id, props);
11
+
12
+ new ApplicationStack(this, 'Application', {
13
+ crossRegionReferences: true,
14
+ });
15
+ }
16
+ }
@@ -40,7 +40,7 @@ function tsInfraGenerator(tree, schema) {
40
40
  tree.delete((0, devkit_1.joinPathFragments)(libraryRoot, 'src'));
41
41
  (0, devkit_1.generateFiles)(tree, // the virtual file system
42
42
  (0, devkit_1.joinPathFragments)(__dirname, './files/app'), // path to the file templates
43
- libraryRoot, Object.assign(Object.assign({ synthDir: synthDirFromProject, scopeAlias: scopeAlias, namespace: (0, names_1.kebabCase)(npmScopePrefix), fullyQualifiedName, pkgMgrCmd: (0, devkit_1.getPackageManagerCommand)().exec }, schema), { ruleSet: schema.ruleSet.toUpperCase() }), {
43
+ libraryRoot, Object.assign(Object.assign({ synthDir: synthDirFromProject, scopeAlias: scopeAlias, namespace: (0, names_1.kebabCase)(fullyQualifiedName), fullyQualifiedName, pkgMgrCmd: (0, devkit_1.getPackageManagerCommand)().exec }, schema), { ruleSet: schema.ruleSet.toUpperCase() }), {
44
44
  overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
45
45
  });
46
46
  (0, devkit_1.generateFiles)(tree, // the virtual file system
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/infra/app/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/infra/app/generator.ts"],"names":[],"mappings":"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"}
@@ -464,6 +464,7 @@ import { StaticWebsite } from '../../core/index.js';
464
464
  export class TestApp extends StaticWebsite {
465
465
  constructor(scope: Construct, id: string) {
466
466
  super(scope, id, {
467
+ websiteName: 'TestApp',
467
468
  websiteFilePath: url.fileURLToPath(
468
469
  new URL('../../../../../../dist/test-app/bundle', import.meta.url),
469
470
  ),
@@ -510,7 +511,7 @@ export * from './runtime-config.js';
510
511
  `;
511
512
 
512
513
  exports[`react-website generator > Tanstack router integration > should generate website with no router correctly > packages/common/constructs/src/core/runtime-config.ts 1`] = `
513
- "import { Stack } from 'aws-cdk-lib';
514
+ "import { Stack, Stage } from 'aws-cdk-lib';
514
515
  import { Construct } from 'constructs';
515
516
 
516
517
  const RuntimeConfigKey = '__RuntimeConfig__';
@@ -519,15 +520,15 @@ export class RuntimeConfig extends Construct {
519
520
  private readonly _runtimeConfig: any = {};
520
521
 
521
522
  static ensure(scope: Construct): RuntimeConfig {
522
- const stack = Stack.of(scope);
523
+ const parent = Stage.of(scope) ?? Stack.of(scope);
523
524
  return (
524
- RuntimeConfig.of(scope) ?? new RuntimeConfig(stack, RuntimeConfigKey)
525
+ RuntimeConfig.of(scope) ?? new RuntimeConfig(parent, RuntimeConfigKey)
525
526
  );
526
527
  }
527
528
 
528
529
  static of(scope: Construct): RuntimeConfig | undefined {
529
- const stack = Stack.of(scope);
530
- return stack.node.tryFindChild(RuntimeConfigKey) as
530
+ const parent = Stage.of(scope) ?? Stack.of(scope);
531
+ return parent.node.tryFindChild(RuntimeConfigKey) as
531
532
  | RuntimeConfig
532
533
  | undefined;
533
534
  }
@@ -562,6 +563,7 @@ import { CfnWebACL } from 'aws-cdk-lib/aws-wafv2';
562
563
  const DEFAULT_RUNTIME_CONFIG_FILENAME = 'runtime-config.json';
563
564
 
564
565
  export interface StaticWebsiteProps {
566
+ readonly websiteName: string;
565
567
  readonly websiteFilePath: string;
566
568
  }
567
569
 
@@ -581,7 +583,7 @@ export class StaticWebsite extends Construct {
581
583
  constructor(
582
584
  scope: Construct,
583
585
  id: string,
584
- { websiteFilePath }: StaticWebsiteProps,
586
+ { websiteFilePath, websiteName }: StaticWebsiteProps,
585
587
  ) {
586
588
  super(scope, id);
587
589
  this.node.setContext(
@@ -678,7 +680,7 @@ export class StaticWebsite extends Construct {
678
680
  new CfnOutput(this, 'DistributionDomainName', {
679
681
  value: this.cloudFrontDistribution.domainName,
680
682
  });
681
- new CfnOutput(this, 'WebsiteBucketName', {
683
+ new CfnOutput(this, \`\${websiteName}WebsiteBucketName\`, {
682
684
  value: this.websiteBucket.bucketName,
683
685
  });
684
686
  }
@@ -994,7 +996,7 @@ exports[`react-website generator > Tanstack router integration > should generate
994
996
  "description": "Load runtime config from your deployed stack for dev purposes. You must set your AWS CLI credentials whilst calling 'pnpm exec nx run @proj/test-app:load:runtime-config'"
995
997
  },
996
998
  "options": {
997
- "command": "aws s3 cp s3://\`aws cloudformation describe-stacks --query \\"Stacks[?StackName=='proj-infra-sandbox'][].Outputs[?contains(OutputKey, 'WebsiteBucketName')].OutputValue\\" --output text\`/runtime-config.json './test-app/public/runtime-config.json'"
999
+ "command": "aws s3 cp s3://\`aws cloudformation describe-stacks --query \\"Stacks[?starts_with(StackName, 'proj-')][].Outputs[] | [?contains(OutputKey, 'TestAppWebsiteBucketName')].OutputValue\\" --output text\`/runtime-config.json './test-app/public/runtime-config.json'"
998
1000
  }
999
1001
  },
1000
1002
  "preview": {
@@ -1764,6 +1766,7 @@ import { StaticWebsite } from '../../core/index.js';
1764
1766
  export class TestApp extends StaticWebsite {
1765
1767
  constructor(scope: Construct, id: string) {
1766
1768
  super(scope, id, {
1769
+ websiteName: 'TestApp',
1767
1770
  websiteFilePath: url.fileURLToPath(
1768
1771
  new URL('../../../../../../dist/test-app/bundle', import.meta.url),
1769
1772
  ),
@@ -1810,7 +1813,7 @@ export * from './runtime-config.js';
1810
1813
  `;
1811
1814
 
1812
1815
  exports[`react-website generator > Tanstack router integration > should generate website with router correctly > packages/common/constructs/src/core/runtime-config.ts 1`] = `
1813
- "import { Stack } from 'aws-cdk-lib';
1816
+ "import { Stack, Stage } from 'aws-cdk-lib';
1814
1817
  import { Construct } from 'constructs';
1815
1818
 
1816
1819
  const RuntimeConfigKey = '__RuntimeConfig__';
@@ -1819,15 +1822,15 @@ export class RuntimeConfig extends Construct {
1819
1822
  private readonly _runtimeConfig: any = {};
1820
1823
 
1821
1824
  static ensure(scope: Construct): RuntimeConfig {
1822
- const stack = Stack.of(scope);
1825
+ const parent = Stage.of(scope) ?? Stack.of(scope);
1823
1826
  return (
1824
- RuntimeConfig.of(scope) ?? new RuntimeConfig(stack, RuntimeConfigKey)
1827
+ RuntimeConfig.of(scope) ?? new RuntimeConfig(parent, RuntimeConfigKey)
1825
1828
  );
1826
1829
  }
1827
1830
 
1828
1831
  static of(scope: Construct): RuntimeConfig | undefined {
1829
- const stack = Stack.of(scope);
1830
- return stack.node.tryFindChild(RuntimeConfigKey) as
1832
+ const parent = Stage.of(scope) ?? Stack.of(scope);
1833
+ return parent.node.tryFindChild(RuntimeConfigKey) as
1831
1834
  | RuntimeConfig
1832
1835
  | undefined;
1833
1836
  }
@@ -1862,6 +1865,7 @@ import { CfnWebACL } from 'aws-cdk-lib/aws-wafv2';
1862
1865
  const DEFAULT_RUNTIME_CONFIG_FILENAME = 'runtime-config.json';
1863
1866
 
1864
1867
  export interface StaticWebsiteProps {
1868
+ readonly websiteName: string;
1865
1869
  readonly websiteFilePath: string;
1866
1870
  }
1867
1871
 
@@ -1881,7 +1885,7 @@ export class StaticWebsite extends Construct {
1881
1885
  constructor(
1882
1886
  scope: Construct,
1883
1887
  id: string,
1884
- { websiteFilePath }: StaticWebsiteProps,
1888
+ { websiteFilePath, websiteName }: StaticWebsiteProps,
1885
1889
  ) {
1886
1890
  super(scope, id);
1887
1891
  this.node.setContext(
@@ -1978,7 +1982,7 @@ export class StaticWebsite extends Construct {
1978
1982
  new CfnOutput(this, 'DistributionDomainName', {
1979
1983
  value: this.cloudFrontDistribution.domainName,
1980
1984
  });
1981
- new CfnOutput(this, 'WebsiteBucketName', {
1985
+ new CfnOutput(this, \`\${websiteName}WebsiteBucketName\`, {
1982
1986
  value: this.websiteBucket.bucketName,
1983
1987
  });
1984
1988
  }
@@ -2294,7 +2298,7 @@ exports[`react-website generator > Tanstack router integration > should generate
2294
2298
  "description": "Load runtime config from your deployed stack for dev purposes. You must set your AWS CLI credentials whilst calling 'pnpm exec nx run @proj/test-app:load:runtime-config'"
2295
2299
  },
2296
2300
  "options": {
2297
- "command": "aws s3 cp s3://\`aws cloudformation describe-stacks --query \\"Stacks[?StackName=='proj-infra-sandbox'][].Outputs[?contains(OutputKey, 'WebsiteBucketName')].OutputValue\\" --output text\`/runtime-config.json './test-app/public/runtime-config.json'"
2301
+ "command": "aws s3 cp s3://\`aws cloudformation describe-stacks --query \\"Stacks[?starts_with(StackName, 'proj-')][].Outputs[] | [?contains(OutputKey, 'TestAppWebsiteBucketName')].OutputValue\\" --output text\`/runtime-config.json './test-app/public/runtime-config.json'"
2298
2302
  }
2299
2303
  },
2300
2304
  "preview": {
@@ -3288,6 +3292,7 @@ import { CfnWebACL } from 'aws-cdk-lib/aws-wafv2';
3288
3292
  const DEFAULT_RUNTIME_CONFIG_FILENAME = 'runtime-config.json';
3289
3293
 
3290
3294
  export interface StaticWebsiteProps {
3295
+ readonly websiteName: string;
3291
3296
  readonly websiteFilePath: string;
3292
3297
  }
3293
3298
 
@@ -3307,7 +3312,7 @@ export class StaticWebsite extends Construct {
3307
3312
  constructor(
3308
3313
  scope: Construct,
3309
3314
  id: string,
3310
- { websiteFilePath }: StaticWebsiteProps,
3315
+ { websiteFilePath, websiteName }: StaticWebsiteProps,
3311
3316
  ) {
3312
3317
  super(scope, id);
3313
3318
  this.node.setContext(
@@ -3404,7 +3409,7 @@ export class StaticWebsite extends Construct {
3404
3409
  new CfnOutput(this, 'DistributionDomainName', {
3405
3410
  value: this.cloudFrontDistribution.domainName,
3406
3411
  });
3407
- new CfnOutput(this, 'WebsiteBucketName', {
3412
+ new CfnOutput(this, \`\${websiteName}WebsiteBucketName\`, {
3408
3413
  value: this.websiteBucket.bucketName,
3409
3414
  });
3410
3415
  }
@@ -3463,6 +3468,7 @@ import { StaticWebsite } from '../../core/index.js';
3463
3468
  export class TestApp extends StaticWebsite {
3464
3469
  constructor(scope: Construct, id: string) {
3465
3470
  super(scope, id, {
3471
+ websiteName: 'TestApp',
3466
3472
  websiteFilePath: url.fileURLToPath(
3467
3473
  new URL('../../../../../../dist/test-app/bundle', import.meta.url),
3468
3474
  ),
@@ -5,6 +5,7 @@ import { StaticWebsite } from '../../core/index.js';
5
5
  export class <%= websiteNameClassName %> extends StaticWebsite {
6
6
  constructor(scope: Construct, id: string) {
7
7
  super(scope, id, {
8
+ websiteName: '<%= websiteNameClassName %>',
8
9
  websiteFilePath: url.fileURLToPath(
9
10
  new URL('../../../../../../<%= websiteContentPath %>/bundle', import.meta.url)
10
11
  ),
@@ -16,6 +16,7 @@ import { CfnWebACL } from 'aws-cdk-lib/aws-wafv2';
16
16
  const DEFAULT_RUNTIME_CONFIG_FILENAME = 'runtime-config.json';
17
17
 
18
18
  export interface StaticWebsiteProps {
19
+ readonly websiteName: string;
19
20
  readonly websiteFilePath: string;
20
21
  }
21
22
 
@@ -35,7 +36,7 @@ export class StaticWebsite extends Construct {
35
36
  constructor(
36
37
  scope: Construct,
37
38
  id: string,
38
- { websiteFilePath }: StaticWebsiteProps
39
+ { websiteFilePath, websiteName }: StaticWebsiteProps
39
40
  ) {
40
41
  super(scope, id);
41
42
  this.node.setContext(
@@ -132,7 +133,7 @@ export class StaticWebsite extends Construct {
132
133
  new CfnOutput(this, 'DistributionDomainName', {
133
134
  value: this.cloudFrontDistribution.domainName,
134
135
  });
135
- new CfnOutput(this, 'WebsiteBucketName', {
136
+ new CfnOutput(this, `${websiteName}WebsiteBucketName`, {
136
137
  value: this.websiteBucket.bucketName,
137
138
  });
138
139
  }
@@ -47,7 +47,7 @@ function tsReactWebsiteGenerator(tree, schema) {
47
47
  description: `Load runtime config from your deployed stack for dev purposes. You must set your AWS CLI credentials whilst calling 'pnpm exec nx run ${fullyQualifiedName}:load:runtime-config'`,
48
48
  },
49
49
  options: {
50
- command: `aws s3 cp s3://\`aws cloudformation describe-stacks --query "Stacks[?StackName=='${(0, names_1.kebabCase)(npmScopePrefix)}-infra-sandbox'][].Outputs[?contains(OutputKey, 'WebsiteBucketName')].OutputValue" --output text\`/runtime-config.json './${websiteContentPath}/public/runtime-config.json'`,
50
+ command: `aws s3 cp s3://\`aws cloudformation describe-stacks --query "Stacks[?starts_with(StackName, '${(0, names_1.kebabCase)(npmScopePrefix)}-')][].Outputs[] | [?contains(OutputKey, '${websiteNameClassName}WebsiteBucketName')].OutputValue" --output text\`/runtime-config.json './${websiteContentPath}/public/runtime-config.json'`,
51
51
  },
52
52
  };
53
53
  const buildTarget = targets['build'];
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/app/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/app/generator.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ export * from './runtime-config.js';
71
71
  `;
72
72
 
73
73
  exports[`runtime-config generator > should generate shared constructs > runtime-config.ts 1`] = `
74
- "import { Stack } from 'aws-cdk-lib';
74
+ "import { Stack, Stage } from 'aws-cdk-lib';
75
75
  import { Construct } from 'constructs';
76
76
 
77
77
  const RuntimeConfigKey = '__RuntimeConfig__';
@@ -80,15 +80,15 @@ export class RuntimeConfig extends Construct {
80
80
  private readonly _runtimeConfig: any = {};
81
81
 
82
82
  static ensure(scope: Construct): RuntimeConfig {
83
- const stack = Stack.of(scope);
83
+ const parent = Stage.of(scope) ?? Stack.of(scope);
84
84
  return (
85
- RuntimeConfig.of(scope) ?? new RuntimeConfig(stack, RuntimeConfigKey)
85
+ RuntimeConfig.of(scope) ?? new RuntimeConfig(parent, RuntimeConfigKey)
86
86
  );
87
87
  }
88
88
 
89
89
  static of(scope: Construct): RuntimeConfig | undefined {
90
- const stack = Stack.of(scope);
91
- return stack.node.tryFindChild(RuntimeConfigKey) as
90
+ const parent = Stage.of(scope) ?? Stack.of(scope);
91
+ return parent.node.tryFindChild(RuntimeConfigKey) as
92
92
  | RuntimeConfig
93
93
  | undefined;
94
94
  }
@@ -38,7 +38,7 @@ export * from './runtime-config.js';
38
38
  `;
39
39
 
40
40
  exports[`shared-constructs utils > sharedConstructsGenerator > should generate shared constructs when they do not exist > packages/common/constructs/src/core/runtime-config.ts 1`] = `
41
- "import { Stack } from 'aws-cdk-lib';
41
+ "import { Stack, Stage } from 'aws-cdk-lib';
42
42
  import { Construct } from 'constructs';
43
43
 
44
44
  const RuntimeConfigKey = '__RuntimeConfig__';
@@ -47,15 +47,15 @@ export class RuntimeConfig extends Construct {
47
47
  private readonly _runtimeConfig: any = {};
48
48
 
49
49
  static ensure(scope: Construct): RuntimeConfig {
50
- const stack = Stack.of(scope);
50
+ const parent = Stage.of(scope) ?? Stack.of(scope);
51
51
  return (
52
- RuntimeConfig.of(scope) ?? new RuntimeConfig(stack, RuntimeConfigKey)
52
+ RuntimeConfig.of(scope) ?? new RuntimeConfig(parent, RuntimeConfigKey)
53
53
  );
54
54
  }
55
55
 
56
56
  static of(scope: Construct): RuntimeConfig | undefined {
57
- const stack = Stack.of(scope);
58
- return stack.node.tryFindChild(RuntimeConfigKey) as
57
+ const parent = Stage.of(scope) ?? Stack.of(scope);
58
+ return parent.node.tryFindChild(RuntimeConfigKey) as
59
59
  | RuntimeConfig
60
60
  | undefined;
61
61
  }
@@ -1,4 +1,4 @@
1
- import { Stack } from 'aws-cdk-lib';
1
+ import { Stack, Stage } from 'aws-cdk-lib';
2
2
  import { Construct } from 'constructs';
3
3
 
4
4
  const RuntimeConfigKey = '__RuntimeConfig__';
@@ -7,15 +7,15 @@ export class RuntimeConfig extends Construct {
7
7
  private readonly _runtimeConfig: any = {};
8
8
 
9
9
  static ensure(scope: Construct): RuntimeConfig {
10
- const stack = Stack.of(scope);
10
+ const parent = Stage.of(scope) ?? Stack.of(scope);
11
11
  return (
12
- RuntimeConfig.of(scope) ?? new RuntimeConfig(stack, RuntimeConfigKey)
12
+ RuntimeConfig.of(scope) ?? new RuntimeConfig(parent, RuntimeConfigKey)
13
13
  );
14
14
  }
15
15
 
16
16
  static of(scope: Construct): RuntimeConfig | undefined {
17
- const stack = Stack.of(scope);
18
- return stack.node.tryFindChild(RuntimeConfigKey) as
17
+ const parent = Stage.of(scope) ?? Stack.of(scope);
18
+ return parent.node.tryFindChild(RuntimeConfigKey) as
19
19
  | RuntimeConfig
20
20
  | undefined;
21
21
  }