@aws/nx-plugin 0.46.0 → 0.48.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 (104) hide show
  1. package/package.json +1 -1
  2. package/src/infra/app/generator.js +4 -1
  3. package/src/infra/app/generator.js.map +1 -1
  4. package/src/mcp-server/tools/create-workspace-command.js +4 -0
  5. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  6. package/src/mcp-server/tools/general-guidance.js +3 -1
  7. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  8. package/src/preset/__snapshots__/generator.spec.ts.snap +9 -0
  9. package/src/preset/generator.d.ts +1 -1
  10. package/src/preset/generator.js +4 -1
  11. package/src/preset/generator.js.map +1 -1
  12. package/src/preset/schema.d.ts +3 -0
  13. package/src/preset/schema.json +9 -1
  14. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +60 -0
  15. package/src/py/fast-api/generator.js +5 -3
  16. package/src/py/fast-api/generator.js.map +1 -1
  17. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +1 -0
  18. package/src/py/fast-api/schema.d.ts +3 -1
  19. package/src/py/fast-api/schema.json +4 -4
  20. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +310 -0
  21. package/src/py/lambda-function/generator.js +17 -25
  22. package/src/py/lambda-function/generator.js.map +1 -1
  23. package/src/py/lambda-function/schema.d.ts +3 -0
  24. package/src/py/lambda-function/schema.json +8 -0
  25. package/src/py/mcp-server/generator.js +4 -2
  26. package/src/py/mcp-server/generator.js.map +1 -1
  27. package/src/py/mcp-server/schema.d.ts +4 -1
  28. package/src/py/mcp-server/schema.json +4 -4
  29. package/src/py/strands-agent/generator.js +4 -2
  30. package/src/py/strands-agent/generator.js.map +1 -1
  31. package/src/py/strands-agent/schema.d.ts +3 -1
  32. package/src/py/strands-agent/schema.json +4 -4
  33. package/src/terraform/project/generator.js +2 -1
  34. package/src/terraform/project/generator.js.map +1 -1
  35. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +60 -0
  36. package/src/trpc/backend/generator.js +4 -2
  37. package/src/trpc/backend/generator.js.map +1 -1
  38. package/src/trpc/backend/schema.d.ts +2 -1
  39. package/src/trpc/backend/schema.json +4 -4
  40. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -0
  41. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +310 -0
  42. package/src/ts/lambda-function/generator.js +17 -27
  43. package/src/ts/lambda-function/generator.js.map +1 -1
  44. package/src/ts/lambda-function/schema.d.ts +3 -0
  45. package/src/ts/lambda-function/schema.json +8 -0
  46. package/src/ts/mcp-server/generator.js +4 -2
  47. package/src/ts/mcp-server/generator.js.map +1 -1
  48. package/src/ts/mcp-server/schema.d.ts +3 -1
  49. package/src/ts/mcp-server/schema.json +4 -4
  50. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +27 -1
  51. package/src/ts/nx-generator/files/nx-plugin-for-aws/docs/__nameKebabCase__.mdx.template +31 -0
  52. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.spec.ts.template +1 -1
  53. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +756 -0
  54. package/src/ts/react-website/app/generator.js +44 -43
  55. package/src/ts/react-website/app/generator.js.map +1 -1
  56. package/src/ts/react-website/app/schema.d.ts +2 -0
  57. package/src/ts/react-website/app/schema.json +8 -0
  58. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +259 -0
  59. package/src/ts/react-website/cognito-auth/generator.js +12 -13
  60. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  61. package/src/ts/react-website/cognito-auth/schema.d.ts +4 -0
  62. package/src/ts/react-website/cognito-auth/schema.json +8 -0
  63. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +0 -40
  64. package/src/ts/react-website/runtime-config/generator.js +0 -2
  65. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  66. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +4 -2
  67. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  68. package/src/utils/api-constructs/api-constructs.d.ts +2 -1
  69. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  70. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +10 -0
  71. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +10 -0
  72. package/src/utils/config/index.d.ts +6 -0
  73. package/src/utils/config/index.js.map +1 -1
  74. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +119 -0
  75. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +28 -0
  76. package/src/utils/files/terraform/src/metrics/metrics.tf.template +7 -1
  77. package/src/{py/lambda-function/files/common/constructs/src/app/lambda-functions/__constructFunctionKebabCase__.ts.template → utils/function-constructs/files/cdk/app/lambda-functions/__functionNameKebabCase__.ts.template} +5 -5
  78. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__functionNameKebabCase__/__functionNameKebabCase__.tf.template +150 -0
  79. package/src/utils/function-constructs/function-constructs.d.ts +20 -0
  80. package/src/utils/function-constructs/function-constructs.js +57 -0
  81. package/src/utils/function-constructs/function-constructs.js.map +1 -0
  82. package/src/utils/iac.d.ts +21 -0
  83. package/src/utils/iac.js +25 -0
  84. package/src/utils/iac.js.map +1 -0
  85. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +123 -0
  86. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +421 -0
  87. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +47 -0
  88. package/src/utils/identity-constructs/identity-constructs.d.ts +16 -0
  89. package/src/utils/identity-constructs/identity-constructs.js +84 -0
  90. package/src/utils/identity-constructs/identity-constructs.js.map +1 -0
  91. package/src/utils/metrics.js +1 -1
  92. package/src/utils/metrics.js.map +1 -1
  93. package/src/utils/shared-constructs.d.ts +3 -2
  94. package/src/utils/shared-constructs.js +27 -3
  95. package/src/utils/shared-constructs.js.map +1 -1
  96. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +42 -0
  97. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +709 -0
  98. package/src/utils/website-constructs/website-constructs.d.ts +19 -0
  99. package/src/utils/website-constructs/website-constructs.js +61 -0
  100. package/src/utils/website-constructs/website-constructs.js.map +1 -0
  101. package/src/ts/lambda-function/files/common/constructs/src/app/lambda-functions/__constructFunctionNameKebabCase__.ts.template +0 -24
  102. /package/src/{ts/react-website/cognito-auth/files/common/constructs/src → utils/identity-constructs/files/cdk}/core/user-identity.ts.template +0 -0
  103. /package/src/{ts/react-website/app/files/common/constructs/src → utils/website-constructs/files/cdk}/app/static-websites/__websiteNameKebabCase__.ts.template +0 -0
  104. /package/src/{ts/react-website/app/files/common/constructs/src → utils/website-constructs/files/cdk}/core/static-website.ts.template +0 -0
@@ -17,7 +17,7 @@ exports.METRIC_ID = 'uksb-4wk0bqpg5s';
17
17
  // File in which the MetricsAspect may exist (CDK)
18
18
  exports.METRICS_ASPECT_FILE_PATH = (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'core', 'app.ts');
19
19
  // File in which the Terraform metrics CloudFormation stack may exist
20
- exports.TERRAFORM_METRICS_FILE_PATH = (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, 'common', 'terraform', 'src', 'metrics', 'metrics.tf');
20
+ exports.TERRAFORM_METRICS_FILE_PATH = (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'src', 'metrics', 'metrics.tf');
21
21
  // Query to find a particular metrics aspect variable
22
22
  const metricsAspectVariableQuery = (variableName, valueQuery) => `ClassDeclaration[name.name="MetricsAspect"] MethodDeclaration[name.name="visit"] VariableDeclaration:has(Identifier[name="${variableName}"]) ${valueQuery}`;
23
23
  exports.metricsAspectVariableQuery = metricsAspectVariableQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/metrics.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { Tree } from '@nx/devkit';
6
+ import { IacProvider } from './iac';
6
7
  export interface SharedConstructsGeneratorOptions {
7
- iacProvider?: 'CDK' | 'Terraform';
8
+ iacProvider: IacProvider;
8
9
  }
9
- export declare function sharedConstructsGenerator(tree: Tree, options?: SharedConstructsGeneratorOptions): Promise<void>;
10
+ export declare function sharedConstructsGenerator(tree: Tree, options: SharedConstructsGeneratorOptions): Promise<void>;
@@ -14,10 +14,10 @@ const versions_1 = require("./versions");
14
14
  const format_1 = require("./format");
15
15
  const shared_constructs_constants_1 = require("./shared-constructs-constants");
16
16
  const utils_1 = require("./config/utils");
17
- function sharedConstructsGenerator(tree_1) {
18
- return tslib_1.__awaiter(this, arguments, void 0, function* (tree, options = {}) {
17
+ function sharedConstructsGenerator(tree, options) {
18
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
19
19
  var _a, _b;
20
- const { iacProvider = 'CDK' } = options;
20
+ const { iacProvider } = options;
21
21
  const npmScopePrefix = (0, npm_scope_1.getNpmScopePrefix)(tree);
22
22
  updateGitignore(tree);
23
23
  if (iacProvider === 'CDK') {
@@ -55,6 +55,30 @@ function sharedConstructsGenerator(tree_1) {
55
55
  directory: (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, 'common'),
56
56
  type: 'library',
57
57
  });
58
+ // Add target to reset runtime config as part of the build, ensuring any plan/apply target
59
+ // which depends on shared terraform will build runtime-config.json from scratch, meaning no old
60
+ // values will remain when resources are removed.
61
+ // NB: runtime-config.json starts as an empty object to keep the reader terraform module simple
62
+ (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (projectConfig) => {
63
+ var _a, _b, _c;
64
+ var _d;
65
+ (_a = projectConfig.targets) !== null && _a !== void 0 ? _a : (projectConfig.targets = {});
66
+ projectConfig.targets['reset-runtime-config'] = {
67
+ executor: 'nx:run-commands',
68
+ options: {
69
+ command: "node -e \"const fs=require('fs');fs.mkdirSync(process.env.DIST_DIR,{recursive:true});fs.writeFileSync(process.env.DIST_DIR+'/runtime-config.json','{}');\"",
70
+ env: {
71
+ DIST_DIR: 'dist/{projectRoot}',
72
+ },
73
+ },
74
+ };
75
+ (_b = (_d = projectConfig.targets).build) !== null && _b !== void 0 ? _b : (_d.build = {});
76
+ projectConfig.targets.build.dependsOn = [
77
+ ...((_c = projectConfig.targets.build.dependsOn) !== null && _c !== void 0 ? _c : []).filter((t) => t !== 'reset-runtime-config'),
78
+ 'reset-runtime-config',
79
+ ];
80
+ return projectConfig;
81
+ });
58
82
  tree.delete((0, devkit_1.joinPathFragments)(terraformLibPath, 'src', 'main.tf'));
59
83
  // Create the metrics.tf file with empty initial values
60
84
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'terraform'), terraformLibPath, {
@@ -1 +1 @@
1
- {"version":3,"file":"shared-constructs.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/shared-constructs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-constructs.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/shared-constructs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ terraform {
2
+ required_providers {
3
+ aws = {
4
+ source = "hashicorp/aws"
5
+ version = "~> 6.0"
6
+ configuration_aliases = [aws.us_east_1]
7
+ }
8
+ }
9
+ }
10
+
11
+ # Static website module configured for the web package
12
+ module "static_website" {
13
+ source = "../../../core/static-website"
14
+
15
+ website_name = "<%= websiteNameKebabCase %>"
16
+ website_file_path = "${path.module}/../../../../../../../<%= websiteContentPath %>/bundle"
17
+
18
+ providers = {
19
+ aws.us_east_1 = aws.us_east_1
20
+ }
21
+ }
22
+
23
+ # Outputs
24
+ output "website_url" {
25
+ description = "URL of the deployed website"
26
+ value = "https://${module.static_website.cloudfront_domain_name}"
27
+ }
28
+
29
+ output "website_bucket_name" {
30
+ description = "Name of the S3 bucket hosting the website"
31
+ value = module.static_website.website_bucket_name
32
+ }
33
+
34
+ output "cloudfront_distribution_id" {
35
+ description = "ID of the CloudFront distribution"
36
+ value = module.static_website.cloudfront_distribution_id
37
+ }
38
+
39
+ output "cloudfront_domain_name" {
40
+ description = "Domain name of the CloudFront distribution"
41
+ value = module.static_website.cloudfront_domain_name
42
+ }