@aws/nx-plugin 1.0.0-rc.8 → 1.0.0-rc.9

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 (95) hide show
  1. package/LICENSE-THIRD-PARTY +0 -27
  2. package/README.md +8 -8
  3. package/package.json +1 -1
  4. package/src/connection/agent-serve-local.js +1 -1
  5. package/src/connection/agent-serve-local.js.map +1 -1
  6. package/src/infra/app/generator.js +6 -4
  7. package/src/infra/app/generator.js.map +1 -1
  8. package/src/mcp-server/tools/create-workspace-command.js +2 -2
  9. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  10. package/src/py/agent/__snapshots__/generator.spec.ts.snap +2 -0
  11. package/src/py/agent/files/common/agent.py.template +2 -0
  12. package/src/py/agent/generator.js +3 -1
  13. package/src/py/agent/generator.js.map +1 -1
  14. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +4 -0
  15. package/src/py/fast-api/generator.js +11 -5
  16. package/src/py/fast-api/generator.js.map +1 -1
  17. package/src/py/fast-api/react/open-api.js +4 -1
  18. package/src/py/fast-api/react/open-api.js.map +1 -1
  19. package/src/py/mcp-server/generator.js +5 -15
  20. package/src/py/mcp-server/generator.js.map +1 -1
  21. package/src/py/project/generator.js +74 -62
  22. package/src/py/project/generator.js.map +1 -1
  23. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +16 -16
  24. package/src/smithy/project/generator.js +25 -23
  25. package/src/smithy/project/generator.js.map +1 -1
  26. package/src/smithy/ts/api/generator.js +8 -0
  27. package/src/smithy/ts/api/generator.js.map +1 -1
  28. package/src/terraform/project/generator.js +7 -2
  29. package/src/terraform/project/generator.js.map +1 -1
  30. package/src/trpc/backend/generator.js +1 -0
  31. package/src/trpc/backend/generator.js.map +1 -1
  32. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +6 -2
  33. package/src/ts/agent/files/common/agent.ts.template +6 -2
  34. package/src/ts/agent/generator.js +8 -3
  35. package/src/ts/agent/generator.js.map +1 -1
  36. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +1 -0
  37. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +6 -6
  38. package/src/ts/astro-docs/generator.js +10 -7
  39. package/src/ts/astro-docs/generator.js.map +1 -1
  40. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +9 -9
  41. package/src/ts/lib/biome.js +5 -2
  42. package/src/ts/lib/biome.js.map +1 -1
  43. package/src/ts/lib/generator.js +21 -17
  44. package/src/ts/lib/generator.js.map +1 -1
  45. package/src/ts/lib/ts-project-utils.d.ts +10 -0
  46. package/src/ts/lib/ts-project-utils.js +22 -8
  47. package/src/ts/lib/ts-project-utils.js.map +1 -1
  48. package/src/ts/mcp-server/generator.js +8 -3
  49. package/src/ts/mcp-server/generator.js.map +1 -1
  50. package/src/ts/nx-generator/generator.js +16 -11
  51. package/src/ts/nx-generator/generator.js.map +1 -1
  52. package/src/ts/nx-plugin/generator.js +7 -6
  53. package/src/ts/nx-plugin/generator.js.map +1 -1
  54. package/src/ts/nx-plugin/utils.js +9 -3
  55. package/src/ts/nx-plugin/utils.js.map +1 -1
  56. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +36 -18
  57. package/src/ts/rdb/generator.js +19 -14
  58. package/src/ts/rdb/generator.js.map +1 -1
  59. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +38 -38
  60. package/src/ts/react-website/app/generator.js +8 -4
  61. package/src/ts/react-website/app/generator.js.map +1 -1
  62. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +0 -2
  63. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  64. package/src/ts/react-website/cognito-auth/generator.js +0 -3
  65. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  66. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +3 -1
  67. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  68. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  69. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  70. package/src/utils/agent-connection/agent-connection.js +8 -2
  71. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  72. package/src/utils/agent-connection/files/core-runtime-config/model-errors.ts.template +36 -0
  73. package/src/utils/agent-connection/files/py-core-runtime-config/model_errors.py.template +40 -0
  74. package/src/utils/agent-core-constructs/agent-core-constructs.js +2 -10
  75. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  76. package/src/utils/ast/website.js +1 -1
  77. package/src/utils/ast.d.ts +4 -0
  78. package/src/utils/ast.js +24 -1
  79. package/src/utils/ast.js.map +1 -1
  80. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +2 -10
  81. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  82. package/src/utils/metrics.d.ts +7 -1
  83. package/src/utils/metrics.js +58 -28
  84. package/src/utils/metrics.js.map +1 -1
  85. package/src/utils/nx.d.ts +5 -0
  86. package/src/utils/nx.js +44 -12
  87. package/src/utils/nx.js.map +1 -1
  88. package/src/utils/port.d.ts +25 -4
  89. package/src/utils/port.js +56 -9
  90. package/src/utils/port.js.map +1 -1
  91. package/src/utils/py.js +12 -5
  92. package/src/utils/py.js.map +1 -1
  93. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +18 -9
  94. package/src/utils/rdb-constructs/rdb-constructs.js +2 -10
  95. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
package/src/utils/port.js CHANGED
@@ -6,30 +6,77 @@ exports.assignPort = exports.assignSharedPort = void 0;
6
6
  * SPDX-License-Identifier: Apache-2.0
7
7
  */
8
8
  const devkit_1 = require("@nx/devkit");
9
+ /**
10
+ * Return the first port already registered in a project's own metadata, if any.
11
+ * Supports both the metadata.ports array and the legacy metadata.port.
12
+ */
13
+ const getExistingProjectPort = (project) => {
14
+ const metadata = project.metadata;
15
+ if (Array.isArray(metadata?.ports) && typeof metadata.ports[0] === 'number') {
16
+ return metadata.ports[0];
17
+ }
18
+ if (typeof metadata?.port === 'number') {
19
+ return metadata.port;
20
+ }
21
+ return undefined;
22
+ };
23
+ /**
24
+ * Return the port previously assigned to a particular component within a
25
+ * project, if any. Projects which host multiple components (e.g. one agent or
26
+ * MCP server per component) record a port per component in metadata.components.
27
+ */
28
+ const getExistingComponentPort = (project, component) => {
29
+ const components = project.metadata?.components ?? [];
30
+ const match = components.find((c) => c.generator === component.info.id && c.name === component.name);
31
+ return typeof match?.port === 'number' ? match.port : undefined;
32
+ };
9
33
  /**
10
34
  * Assign a port shared across all projects created by the same generator.
11
- * If a sibling project already has a port assigned, reuse it; otherwise assign a fresh one.
12
- * Mutates the project to register the port in its metadata.ports.
35
+ * If this project already has a port, or a sibling project created by the same
36
+ * generator has one, reuse it; otherwise assign a fresh one. Mutates the
37
+ * project to register the port in its metadata.ports.
13
38
  */
14
39
  const assignSharedPort = (tree, project, generatorId, startPort) => {
15
- const existingPort = [...(0, devkit_1.getProjects)(tree).values()].find((p) => p.metadata?.generator === generatorId)?.metadata;
16
- if (existingPort?.ports?.[0] !== undefined) {
17
- const port = existingPort.ports[0];
40
+ // Reuse this project's own port if it already has one (idempotent on re-run)
41
+ const ownPort = getExistingProjectPort(project);
42
+ if (ownPort !== undefined) {
43
+ return ownPort;
44
+ }
45
+ // Otherwise reuse a sibling project's shared port if one exists
46
+ const siblingPort = [...(0, devkit_1.getProjects)(tree).values()]
47
+ .filter((p) => p.name !== project.name)
48
+ .map((p) => ({
49
+ generator: p.metadata?.generator,
50
+ port: getExistingProjectPort(p),
51
+ }))
52
+ .find((p) => p.generator === generatorId && p.port !== undefined)?.port;
53
+ if (siblingPort !== undefined) {
18
54
  project.metadata ??= {};
19
55
  project.metadata.ports = [
20
56
  ...(project.metadata.ports ?? []),
21
- port,
57
+ siblingPort,
22
58
  ];
23
- return port;
59
+ return siblingPort;
24
60
  }
25
61
  return (0, exports.assignPort)(tree, project, startPort);
26
62
  };
27
63
  exports.assignSharedPort = assignSharedPort;
28
64
  /**
29
65
  * Assign a port for a particular target within a project.
30
- * Mutates the project to add/update its metadata.ports with the newly assigned port
66
+ * Mutates the project to add/update its metadata.ports with the newly assigned port.
67
+ *
68
+ * Re-runs are idempotent: a port previously assigned to this project (or, when
69
+ * `options.component` is provided, to this component) is returned as-is without
70
+ * registering a duplicate.
31
71
  */
32
- const assignPort = (tree, project, startPort) => {
72
+ const assignPort = (tree, project, startPort, options) => {
73
+ // Reuse a port already assigned to this project/component on re-run
74
+ const existingPort = options?.component
75
+ ? getExistingComponentPort(project, options.component)
76
+ : getExistingProjectPort(project);
77
+ if (existingPort !== undefined) {
78
+ return existingPort;
79
+ }
33
80
  // Find all existing ports
34
81
  const allPorts = new Set([...(0, devkit_1.getProjects)(tree).values()].flatMap((p) => {
35
82
  const metadata = p.metadata;
@@ -1 +1 @@
1
- {"version":3,"file":"port.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/port.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAA+E;AAE/E;;;;GAIG;AACI,MAAM,gBAAgB,GAAG,CAC9B,IAAU,EACV,OAA6B,EAC7B,WAAmB,EACnB,SAAiB,EACT,EAAE;IACV,MAAM,YAAY,GAAG,CAAC,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACvD,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,QAAgB,EAAE,SAAS,KAAK,WAAW,CACtD,EAAE,QAAe,CAAC;IAEnB,IAAI,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;QAC7C,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,QAAgB,CAAC,KAAK,GAAG;YAChC,GAAG,CAAE,OAAO,CAAC,QAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI;SACL,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAA,kBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC,CAAC;AArBW,QAAA,gBAAgB,oBAqB3B;AAEF;;;GAGG;AACI,MAAM,UAAU,GAAG,CACxB,IAAU,EACV,OAA6B,EAC7B,SAAiB,EACjB,EAAE;IACF,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAe,CAAC;QACnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,0EAA0E;QAC1E,IAAI,QAAQ,EAAE,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,IACE,QAAQ,EAAE,KAAK;YACf,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAClC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC7B,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH,CAAC;IAEF,0DAA0D;IAC1D,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,OAAO,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,aAAa,EAAE,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC;IACvB,OAAO,CAAC,QAAgB,CAAC,KAAK,KAAK,EAAE,CAAC;IACtC,OAAO,CAAC,QAAgB,CAAC,KAAK,GAAG;QAChC,GAAI,OAAO,CAAC,QAAgB,CAAC,KAAK;QAClC,aAAa;KACd,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAvCW,QAAA,UAAU,cAuCrB"}
1
+ {"version":3,"file":"port.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/port.ts"],"names":[],"mappings":"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"}
package/src/utils/py.js CHANGED
@@ -22,11 +22,18 @@ const depKey = (dep) => {
22
22
  return extras ? `${parsed.name}[${extras}]` : parsed.name;
23
23
  };
24
24
  const mergeDeps = (existing, deps) => {
25
- const incomingKeys = new Set(deps.map(depKey));
26
- return [
27
- ...(existing ?? []).filter((dep) => !incomingKeys.has(depKey(dep))),
28
- ...(0, versions_1.withPyVersions)(deps),
29
- ];
25
+ // Update deps in place by key so re-running does not reorder the list:
26
+ // existing deps keep their position (with their version refreshed), and only
27
+ // genuinely-new deps are appended.
28
+ const incoming = new Map((0, versions_1.withPyVersions)(deps).map((d) => [depKey(d), d]));
29
+ const merged = (existing ?? []).map((dep) => incoming.get(depKey(dep)) ?? dep);
30
+ const existingKeys = new Set((existing ?? []).map(depKey));
31
+ for (const [key, dep] of incoming) {
32
+ if (!existingKeys.has(key)) {
33
+ merged.push(dep);
34
+ }
35
+ }
36
+ return merged;
30
37
  };
31
38
  /**
32
39
  * Add dependencies to a pyproject.toml file
@@ -1 +1 @@
1
- {"version":3,"file":"py.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/py.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"py.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/py.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,sCAA+C;AAC/C,uCAA0D;AAC1D,6DAA+D;AAE/D,iCAAoC;AACpC,yCAAgE;AAEhE,wEAAwE;AACxE,yEAAyE;AACzE,wCAAwC;AACxC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAU,EAAE;IACrC,MAAM,MAAM,GAAG,IAAA,8CAAwB,EAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,MAAM,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAChB,QAAuC,EACvC,IAAqB,EACX,EAAE;IACZ,uEAAuE;IACvE,6EAA6E;IAC7E,mCAAmC;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CACjC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAC1C,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;GAEG;AACI,MAAM,8BAA8B,GAAG,CAC5C,IAAU,EACV,WAAmB,EACnB,IAAqB,EACrB,EAAE;IACF,MAAM,WAAW,GAAG,IAAA,YAAK,EACvB,IAAI,CAAC,IAAI,CAAC,IAAA,0BAAiB,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CACjD,CAAC;IACrB,WAAW,CAAC,OAAO,CAAC,YAAY,GAAG,SAAS,CAC1C,WAAW,CAAC,OAAO,EAAE,YAAY,EACjC,IAAI,CACL,CAAC;IACF,IAAI,CAAC,KAAK,CACR,IAAA,0BAAiB,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAChD,IAAA,gBAAS,EAAC,WAAW,CAAC,CACvB,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,8BAA8B,kCAgBzC;AAEK,MAAM,+CAA+C,GAAG,CAC7D,IAAU,EACV,WAAmB,EACnB,KAAa,EACb,IAAqB,EACrB,EAAE;IACF,MAAM,WAAW,GAAG,IAAA,YAAK,EACvB,IAAI,CAAC,IAAI,CAAC,IAAA,0BAAiB,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CACjD,CAAC;IACrB,WAAW,CAAC,mBAAmB,CAAC,GAAG;QACjC,GAAG,WAAW,CAAC,mBAAmB,CAAC;QACnC,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;KACpE,CAAC;IACF,IAAI,CAAC,KAAK,CACR,IAAA,0BAAiB,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAChD,IAAA,gBAAS,EAAC,WAAW,CAAC,CACvB,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,+CAA+C,mDAiB1D;AAQF;;;;GAIG;AACI,MAAM,UAAU,GAAG,CACxB,GAAkB,EAClB,IAAa,EACb,QAAuB,EACf,EAAE;IACV,OAAO,cAAc,IAAA,yBAAc,EAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAC3C,QAAQ;QACN,CAAC,CAAC,GAAG,QAAQ;aACR,GAAG,CACF,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAC9B,UAAU,GAAG,GAAG,SAAS,IAAI,IAAI,GAAG,OAAO,EAAE,CAChD;aACA,IAAI,CAAC,GAAG,CAAC,GAAG;QACjB,CAAC,CAAC,EACN,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACpC,CAAC,CAAC;AAfW,QAAA,UAAU,cAerB;AAEF;;;GAGG;AACI,MAAM,iCAAiC,GAAG,CAC/C,IAAU,EACV,WAAmB,EACnB,qBAA6B,EACvB,EAAE;IACR,MAAM,aAAa,GAAG,IAAA,0BAAiB,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACvE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAA,iBAAU,EAAC,IAAI,EAAE,aAAa,EAAE,CAAC,IAAqB,EAAE,EAAE;QACxD,uDAAuD;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;QAC9C,IACE,CAAC,IAAI,CAAC,IAAI,CACR,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,KAAK,qBAAqB;YAC3B,CAAC,CAAC,UAAU,CAAC,GAAG,qBAAqB,IAAI,CAAC;YAC1C,CAAC,CAAC,UAAU,CAAC,GAAG,qBAAqB,IAAI,CAAC,CAC7C,EACD,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC,CAAC;QAC/D,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAY,CAAC,EAAE,GAAI,IAAI,CAAC,IAAY,CAAC,EAAE,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,IAAY,CAAC,EAAE,CAAC,OAAO,GAAI,IAAI,CAAC,IAAY,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,IAAY,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG;YACrD,SAAS,EAAE,IAAI;SAChB,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAlCW,QAAA,iCAAiC,qCAkC5C"}
@@ -159,10 +159,19 @@ variable "tags" {
159
159
  default = {}
160
160
  }
161
161
 
162
+ # Suffix appended to physical resource names so that multiple deployments
163
+ # (e.g. separate environments in the same account and region) don't collide.
164
+ resource "random_string" "suffix" {
165
+ length = 8
166
+ special = false
167
+ upper = false
168
+ }
169
+
162
170
  locals {
163
171
  default_port = var.engine == "aurora-mysql" ? 3306 : 5432
164
172
  default_engine_version = var.engine == "aurora-mysql" ? "8.0.mysql_aurora.3.12.0" : "17.7"
165
173
  parameter_group_family = var.engine == "aurora-mysql" ? "aurora-mysql8.0" : "aurora-postgresql${split(".", coalesce(var.engine_version, local.default_engine_version))[0]}"
174
+ cluster_name = "${var.name}-aurora-${random_string.suffix.result}"
166
175
  }
167
176
 
168
177
  resource "aws_rds_cluster_parameter_group" "database" {
@@ -260,7 +269,7 @@ resource "aws_security_group" "database" {
260
269
  }
261
270
 
262
271
  resource "aws_db_subnet_group" "database" {
263
- name = "${var.name}-aurora"
272
+ name = local.cluster_name
264
273
  subnet_ids = var.subnet_ids
265
274
 
266
275
  tags = merge(var.tags, {
@@ -300,7 +309,7 @@ resource "aws_secretsmanager_secret_version" "credentials" {
300
309
  resource "aws_rds_cluster" "database" {
301
310
  #checkov:skip=CKV2_AWS_27:Query logging can be enabled with enable_cloudwatch_logs; this module defaults to CDK-equivalent behavior unless logging is requested
302
311
  #checkov:skip=CKV_AWS_139:Deletion protection is enabled but checkov is unable to detect it correctly
303
- cluster_identifier = "${var.name}-aurora"
312
+ cluster_identifier = local.cluster_name
304
313
  engine = var.engine
305
314
  engine_version = coalesce(var.engine_version, local.default_engine_version)
306
315
  database_name = var.database_name
@@ -314,7 +323,7 @@ resource "aws_rds_cluster" "database" {
314
323
  kms_key_id = aws_kms_key.database.arn
315
324
  deletion_protection = var.deletion_protection
316
325
  skip_final_snapshot = var.skip_final_snapshot
317
- final_snapshot_identifier = var.skip_final_snapshot ? null : "${var.name}-aurora-final-snapshot"
326
+ final_snapshot_identifier = var.skip_final_snapshot ? null : "${local.cluster_name}-final-snapshot"
318
327
  iam_database_authentication_enabled = true
319
328
  monitoring_interval = 5
320
329
  monitoring_role_arn = aws_iam_role.enhanced_monitoring.arn
@@ -334,7 +343,7 @@ resource "aws_rds_cluster" "database" {
334
343
  resource "aws_rds_cluster_instance" "database" {
335
344
  count = var.instance_count
336
345
 
337
- identifier = "${var.name}-aurora-${count.index + 1}"
346
+ identifier = "${local.cluster_name}-${count.index + 1}"
338
347
  cluster_identifier = aws_rds_cluster.database.id
339
348
  instance_class = "db.serverless"
340
349
  engine = aws_rds_cluster.database.engine
@@ -388,7 +397,7 @@ resource "aws_vpc_security_group_ingress_rule" "rotation_to_database" {
388
397
  resource "aws_cloudformation_stack" "credentials_rotation" {
389
398
  #checkov:skip=CKV_AWS_124:SNS event notifications are not required for the credentials rotation stack
390
399
  count = var.enable_credential_rotation ? 1 : 0
391
- name = "${var.name}-aurora-credentials-rotation"
400
+ name = "${local.cluster_name}-credentials-rotation"
392
401
 
393
402
  capabilities = ["CAPABILITY_IAM", "CAPABILITY_AUTO_EXPAND"]
394
403
 
@@ -402,7 +411,7 @@ resource "aws_cloudformation_stack" "credentials_rotation" {
402
411
  SecretId = aws_secretsmanager_secret.credentials.arn
403
412
  HostedRotationLambda = {
404
413
  RotationType = var.engine == "aurora-mysql" ? "MySQLSingleUser" : "PostgreSQLSingleUser"
405
- RotationLambdaName = "${var.name}-aurora-credentials-rotation"
414
+ RotationLambdaName = "${local.cluster_name}-credentials-rotation"
406
415
  VpcSecurityGroupIds = aws_security_group.rotation[0].id
407
416
  VpcSubnetIds = join(",", var.lambda_subnet_ids)
408
417
  }
@@ -482,7 +491,7 @@ resource "aws_security_group" "proxy" {
482
491
  resource "aws_db_proxy" "aurora" {
483
492
  count = var.enable_rds_proxy ? 1 : 0
484
493
 
485
- name = "${var.name}-proxy"
494
+ name = "${var.name}-proxy-${random_string.suffix.result}"
486
495
  default_auth_scheme = "IAM_AUTH"
487
496
  engine_family = var.engine == "aurora-mysql" ? "MYSQL" : "POSTGRESQL"
488
497
  role_arn = aws_iam_role.proxy[0].arn
@@ -628,7 +637,7 @@ resource "aws_iam_role_policy_attachment" "backup" {
628
637
  resource "aws_backup_vault" "database" {
629
638
  count = var.enable_backup ? 1 : 0
630
639
 
631
- name = "${var.name}-aurora-backup"
640
+ name = "${local.cluster_name}-backup"
632
641
  kms_key_arn = aws_kms_key.database.arn
633
642
  tags = var.tags
634
643
  }
@@ -636,7 +645,7 @@ resource "aws_backup_vault" "database" {
636
645
  resource "aws_backup_plan" "database" {
637
646
  count = var.enable_backup ? 1 : 0
638
647
 
639
- name = "${var.name}-aurora-backup"
648
+ name = "${local.cluster_name}-backup"
640
649
 
641
650
  rule {
642
651
  rule_name = "daily-backup"
@@ -7,6 +7,7 @@ exports.addRdbTerraformModules = exports.addRdbCdkConstructs = exports.addRdbInf
7
7
  */
8
8
  const devkit_1 = require("@nx/devkit");
9
9
  const ast_1 = require("../ast");
10
+ const nx_1 = require("../nx");
10
11
  const shared_constructs_constants_1 = require("../shared-constructs-constants");
11
12
  const addRdbInfra = async (tree, options) => {
12
13
  if (options.iac === 'cdk') {
@@ -19,16 +20,7 @@ const addRdbInfra = async (tree, options) => {
19
20
  throw new Error(`Unsupported iac ${options.iac}`);
20
21
  }
21
22
  (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.iac === 'cdk' ? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR : shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
22
- if (!config.targets) {
23
- config.targets = {};
24
- }
25
- if (!config.targets.build) {
26
- config.targets.build = {};
27
- }
28
- config.targets.build.dependsOn = [
29
- ...(config.targets.build.dependsOn ?? []),
30
- `${options.projectName}:build`,
31
- ];
23
+ (0, nx_1.addDependencyToTargetIfNotPresent)(config, 'build', `${options.projectName}:build`);
32
24
  return config;
33
25
  });
34
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"rdb-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/rdb-constructs/rdb-constructs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rdb-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/rdb-constructs/rdb-constructs.ts"],"names":[],"mappings":"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"}