@aws/nx-plugin 1.0.0-rc.46 → 1.0.0-rc.48

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 (182) hide show
  1. package/LICENSE-THIRD-PARTY +3 -60
  2. package/generators.json +1 -1
  3. package/package.json +7 -6
  4. package/src/agentcore-gateway/generator.js +12 -2
  5. package/src/agentcore-gateway/generator.js.map +1 -1
  6. package/src/infra/app/__snapshots__/generator.spec.ts.snap +25 -31
  7. package/src/infra/app/generator.js +9 -6
  8. package/src/infra/app/generator.js.map +1 -1
  9. package/src/license/config.js +1 -1
  10. package/src/license/config.js.map +1 -1
  11. package/src/mcp-server/dev-server.d.ts +1 -0
  12. package/src/mcp-server/dev-server.js +18 -0
  13. package/src/mcp-server/dev-server.js.map +1 -0
  14. package/src/mcp-server/schema.d.ts +1 -1
  15. package/src/mcp-server/tools/general-guidance.js +5 -6
  16. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  17. package/src/preset/__snapshots__/generator.spec.ts.snap +42 -7
  18. package/src/preset/generator.d.ts +1 -1
  19. package/src/preset/generator.js +4 -2
  20. package/src/preset/generator.js.map +1 -1
  21. package/src/preset/schema.d.js.map +1 -1
  22. package/src/preset/schema.d.ts +1 -0
  23. package/src/preset/schema.json +5 -0
  24. package/src/py/agent/generator.js +2 -1
  25. package/src/py/agent/generator.js.map +1 -1
  26. package/src/py/mcp-server/generator.js +2 -1
  27. package/src/py/mcp-server/generator.js.map +1 -1
  28. package/src/py/project/generator.js +2 -1
  29. package/src/py/project/generator.js.map +1 -1
  30. package/src/py/rdb/generator.js +2 -1
  31. package/src/py/rdb/generator.js.map +1 -1
  32. package/src/smithy/ts/api/generator.js +5 -2
  33. package/src/smithy/ts/api/generator.js.map +1 -1
  34. package/src/terraform/project/generator.js +4 -1
  35. package/src/terraform/project/generator.js.map +1 -1
  36. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +6 -6
  37. package/src/trpc/backend/generator.js +7 -5
  38. package/src/trpc/backend/generator.js.map +1 -1
  39. package/src/trpc/react/generator.js +4 -4
  40. package/src/trpc/react/generator.js.map +1 -1
  41. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +9 -5
  42. package/src/ts/agent/a2a-connection/generator.js +3 -2
  43. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  44. package/src/ts/agent/files/deploy/Dockerfile.template +7 -3
  45. package/src/ts/agent/gateway-connection/generator.js +4 -3
  46. package/src/ts/agent/gateway-connection/generator.js.map +1 -1
  47. package/src/ts/agent/generator.js +10 -7
  48. package/src/ts/agent/generator.js.map +1 -1
  49. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +1 -1
  50. package/src/ts/agent/mcp-connection/generator.js +4 -3
  51. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  52. package/src/ts/agent/react-connection/generator.js +10 -19
  53. package/src/ts/agent/react-connection/generator.js.map +1 -1
  54. package/src/ts/astro-docs/generator.js +12 -3
  55. package/src/ts/astro-docs/generator.js.map +1 -1
  56. package/src/ts/dcr-proxy/generator.js +5 -5
  57. package/src/ts/dcr-proxy/generator.js.map +1 -1
  58. package/src/ts/dynamodb/generator.js +5 -2
  59. package/src/ts/dynamodb/generator.js.map +1 -1
  60. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -2
  61. package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +2 -1
  62. package/src/ts/lambda-function/generator.js +3 -2
  63. package/src/ts/lambda-function/generator.js.map +1 -1
  64. package/src/ts/lib/ts-project-utils.js +17 -10
  65. package/src/ts/lib/ts-project-utils.js.map +1 -1
  66. package/src/ts/lib/vitest.js +2 -1
  67. package/src/ts/lib/vitest.js.map +1 -1
  68. package/src/ts/mcp-server/files/Dockerfile.template +7 -3
  69. package/src/ts/mcp-server/generator.js +13 -13
  70. package/src/ts/mcp-server/generator.js.map +1 -1
  71. package/src/ts/nx-generator/generator.js +5 -0
  72. package/src/ts/nx-generator/generator.js.map +1 -1
  73. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +5 -6
  74. package/src/ts/nx-plugin/files/mcp-server/resources/GENERAL_GUIDANCE.md.template +5 -6
  75. package/src/ts/nx-plugin/utils.js +8 -10
  76. package/src/ts/nx-plugin/utils.js.map +1 -1
  77. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +11 -3
  78. package/src/ts/rdb/agent-connection/generator.js +1 -2
  79. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  80. package/src/ts/rdb/files/Dockerfile.template +5 -1
  81. package/src/ts/rdb/files/src/migration-handler.ts.template +3 -1
  82. package/src/ts/rdb/generator.js +12 -8
  83. package/src/ts/rdb/generator.js.map +1 -1
  84. package/src/ts/rdb/mcp-server-connection/generator.js +1 -2
  85. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  86. package/src/ts/rdb/smithy-connection/generator.js +1 -2
  87. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  88. package/src/ts/rdb/trpc-connection/generator.js +1 -2
  89. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  90. package/src/ts/react-website/agui/generator.js +5 -4
  91. package/src/ts/react-website/agui/generator.js.map +1 -1
  92. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +210 -79
  93. package/src/ts/react-website/app/generator.js +34 -14
  94. package/src/ts/react-website/app/generator.js.map +1 -1
  95. package/src/ts/react-website/cognito-auth/generator.js +3 -2
  96. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  97. package/src/ts/react-website/runtime-config/generator.js +2 -2
  98. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  99. package/src/ts/sync/generator.js +81 -3
  100. package/src/ts/sync/generator.js.map +1 -1
  101. package/src/utils/agent-connection/agent-connection.d.ts +1 -1
  102. package/src/utils/agent-connection/agent-connection.js +50 -1
  103. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  104. package/src/utils/agent-core-constructs/agent-core-constructs.js +10 -1
  105. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  106. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +19 -1
  107. package/src/utils/api-constructs/api-constructs.js +15 -1
  108. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  109. package/src/utils/bundle/bundle.js +2 -1
  110. package/src/utils/bundle/bundle.js.map +1 -1
  111. package/src/utils/commands.d.ts +5 -3
  112. package/src/utils/commands.js +24 -3
  113. package/src/utils/commands.js.map +1 -1
  114. package/src/utils/config/index.d.ts +16 -0
  115. package/src/utils/config/index.js.map +1 -1
  116. package/src/utils/config/utils.d.ts +3 -2
  117. package/src/utils/config/utils.js +4 -3
  118. package/src/utils/config/utils.js.map +1 -1
  119. package/src/utils/connection/open-api/react.js +3 -2
  120. package/src/utils/connection/open-api/react.js.map +1 -1
  121. package/src/utils/containers.js +1 -1
  122. package/src/utils/containers.js.map +1 -1
  123. package/src/utils/dependencies.d.ts +18 -0
  124. package/src/utils/dependencies.js +206 -0
  125. package/src/utils/dependencies.js.map +1 -0
  126. package/src/utils/docker.d.ts +8 -0
  127. package/src/utils/docker.js +8 -1
  128. package/src/utils/docker.js.map +1 -1
  129. package/src/utils/files/common/shadcn/readme/README.md.template +3 -3
  130. package/src/utils/files/shadcn/components.json.template +1 -1
  131. package/src/utils/format.d.ts +20 -1
  132. package/src/utils/format.js +137 -74
  133. package/src/utils/format.js.map +1 -1
  134. package/src/utils/fs.d.ts +1 -1
  135. package/src/utils/fs.js +1 -1
  136. package/src/utils/fs.js.map +1 -1
  137. package/src/utils/iac.js +1 -1
  138. package/src/utils/iac.js.map +1 -1
  139. package/src/utils/init.d.ts +7 -1
  140. package/src/utils/init.js +45 -19
  141. package/src/utils/init.js.map +1 -1
  142. package/src/utils/install.js +3 -1
  143. package/src/utils/install.js.map +1 -1
  144. package/src/utils/mcp.d.ts +9 -0
  145. package/src/utils/mcp.js +9 -1
  146. package/src/utils/mcp.js.map +1 -1
  147. package/src/utils/module-format.d.ts +5 -8
  148. package/src/utils/module-format.js +29 -12
  149. package/src/utils/module-format.js.map +1 -1
  150. package/src/utils/npm-scope.d.ts +0 -4
  151. package/src/utils/npm-scope.js +0 -5
  152. package/src/utils/npm-scope.js.map +1 -1
  153. package/src/utils/nx.d.ts +13 -0
  154. package/src/utils/nx.js +24 -1
  155. package/src/utils/nx.js.map +1 -1
  156. package/src/utils/pnpm-workspace.d.ts +1 -12
  157. package/src/utils/pnpm-workspace.js +3 -30
  158. package/src/utils/pnpm-workspace.js.map +1 -1
  159. package/src/utils/project-package-json.d.ts +39 -0
  160. package/src/utils/project-package-json.js +119 -0
  161. package/src/utils/project-package-json.js.map +1 -0
  162. package/src/utils/shared-constructs.js +6 -5
  163. package/src/utils/shared-constructs.js.map +1 -1
  164. package/src/utils/shared-dynamodb-scripts.js +4 -2
  165. package/src/utils/shared-dynamodb-scripts.js.map +1 -1
  166. package/src/utils/shared-infra-scripts.js +5 -4
  167. package/src/utils/shared-infra-scripts.js.map +1 -1
  168. package/src/utils/shared-rdb-scripts.js +14 -1
  169. package/src/utils/shared-rdb-scripts.js.map +1 -1
  170. package/src/utils/shared-shadcn.js +11 -8
  171. package/src/utils/shared-shadcn.js.map +1 -1
  172. package/src/utils/test-git.d.ts +39 -0
  173. package/src/utils/test-git.js +117 -0
  174. package/src/utils/test-git.js.map +1 -0
  175. package/src/utils/test.js +8 -3
  176. package/src/utils/test.js.map +1 -1
  177. package/src/utils/versions.d.ts +7 -1
  178. package/src/utils/versions.js +13 -2
  179. package/src/utils/versions.js.map +1 -1
  180. package/src/bin/aws-nx-mcp.d.ts +0 -2
  181. package/src/bin/aws-nx-mcp.js +0 -14
  182. package/src/bin/aws-nx-mcp.js.map +0 -1
@@ -1,16 +1,18 @@
1
1
  /**
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
- */ import { addDependenciesToPackageJson, generateFiles, joinPathFragments, OverwriteStrategy, updateJson } from "@nx/devkit";
4
+ */ import { generateFiles, joinPathFragments, OverwriteStrategy, updateJson } from "@nx/devkit";
5
5
  import tsProjectGenerator from "../ts/lib/generator.js";
6
6
  import { configureTsProject } from "../ts/lib/ts-project-utils.js";
7
+ import { addDependenciesToPackageJson } from "./dependencies.js";
7
8
  import { formatFilesInSubtree } from "./format.js";
8
9
  import { esmVars } from "./module-format.js";
9
- import { getNpmScopePrefix, toScopeAlias } from "./npm-scope.js";
10
- import { ensurePnpmIgnoresWorkspaceRootCheck } from "./pnpm-workspace.js";
10
+ import { getNpmScopePrefix } from "./npm-scope.js";
11
11
  import { PACKAGES_DIR, SHARED_SHADCN_DIR, SHARED_SHADCN_NAME } from "./shared-constructs-constants.js";
12
12
  import { withVersions } from "./versions.js";
13
13
  const SHADCN_DEPS = [
14
+ 'react',
15
+ 'react-dom',
14
16
  'class-variance-authority',
15
17
  'clsx',
16
18
  'tailwind-merge',
@@ -20,12 +22,11 @@ const SHADCN_DEPS = [
20
22
  ];
21
23
  export async function sharedShadcnGenerator(tree) {
22
24
  const npmScopePrefix = getNpmScopePrefix(tree);
23
- const scopeAlias = toScopeAlias(npmScopePrefix);
25
+ const scopeAlias = npmScopePrefix;
24
26
  const sharedShadcnAlias = `${scopeAlias}${SHARED_SHADCN_NAME}`;
25
27
  const fullyQualifiedName = `${npmScopePrefix}${SHARED_SHADCN_NAME}`;
26
28
  const libraryRoot = joinPathFragments(PACKAGES_DIR, SHARED_SHADCN_DIR);
27
29
  const shadcnSrcRoot = joinPathFragments(libraryRoot, 'src');
28
- ensurePnpmIgnoresWorkspaceRootCheck(tree);
29
30
  if (!tree.exists(joinPathFragments(libraryRoot, 'project.json'))) {
30
31
  await tsProjectGenerator(tree, {
31
32
  name: SHARED_SHADCN_NAME,
@@ -68,7 +69,7 @@ export async function sharedShadcnGenerator(tree) {
68
69
  }));
69
70
  addDependenciesToPackageJson(tree, withVersions([
70
71
  ...SHADCN_DEPS
71
- ]), {});
72
+ ]), {}, joinPathFragments(libraryRoot, 'package.json'));
72
73
  }
73
74
  updateJson(tree, 'tsconfig.base.json', (json)=>({
74
75
  ...json,
@@ -82,8 +83,10 @@ export async function sharedShadcnGenerator(tree) {
82
83
  }
83
84
  }
84
85
  }));
85
- if (!tree.exists('components.json')) {
86
- generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'shadcn'), '.', {
86
+ // components.json lives in the package so `shadcn add` runs there and
87
+ // installs component dependencies into the package's own manifest.
88
+ if (!tree.exists(joinPathFragments(libraryRoot, 'components.json'))) {
89
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'shadcn'), libraryRoot, {
87
90
  sharedShadcnAlias
88
91
  }, {
89
92
  overwriteStrategy: OverwriteStrategy.KeepExisting
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/shared-shadcn.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n addDependenciesToPackageJson,\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n updateJson,\n} from '@nx/devkit';\nimport tsProjectGenerator from '../ts/lib/generator';\nimport { configureTsProject } from '../ts/lib/ts-project-utils';\nimport { formatFilesInSubtree } from './format';\nimport { esmVars } from './module-format';\nimport { getNpmScopePrefix, toScopeAlias } from './npm-scope';\nimport { ensurePnpmIgnoresWorkspaceRootCheck } from './pnpm-workspace';\nimport {\n PACKAGES_DIR,\n SHARED_SHADCN_DIR,\n SHARED_SHADCN_NAME,\n} from './shared-constructs-constants';\nimport { type ITsDepVersion, withVersions } from './versions';\n\nconst SHADCN_DEPS = [\n 'class-variance-authority',\n 'clsx',\n 'tailwind-merge',\n 'lucide-react',\n 'tw-animate-css',\n 'radix-ui',\n] as const satisfies ITsDepVersion[];\n\nexport async function sharedShadcnGenerator(tree: Tree) {\n const npmScopePrefix = getNpmScopePrefix(tree);\n const scopeAlias = toScopeAlias(npmScopePrefix);\n const sharedShadcnAlias = `${scopeAlias}${SHARED_SHADCN_NAME}`;\n const fullyQualifiedName = `${npmScopePrefix}${SHARED_SHADCN_NAME}`;\n const libraryRoot = joinPathFragments(PACKAGES_DIR, SHARED_SHADCN_DIR);\n const shadcnSrcRoot = joinPathFragments(libraryRoot, 'src');\n ensurePnpmIgnoresWorkspaceRootCheck(tree);\n\n if (!tree.exists(joinPathFragments(libraryRoot, 'project.json'))) {\n await tsProjectGenerator(tree, {\n name: SHARED_SHADCN_NAME,\n directory: PACKAGES_DIR,\n subDirectory: SHARED_SHADCN_DIR,\n });\n\n tree.delete(shadcnSrcRoot);\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', SHARED_SHADCN_DIR, 'src'),\n shadcnSrcRoot,\n {\n scopeAlias,\n ...esmVars(tree),\n },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n 'files',\n SHARED_SHADCN_DIR,\n 'readme',\n ),\n libraryRoot,\n {\n fullyQualifiedName,\n scopeAlias,\n },\n {\n overwriteStrategy: OverwriteStrategy.Overwrite,\n },\n );\n\n await configureTsProject(tree, {\n dir: libraryRoot,\n fullyQualifiedName,\n });\n\n updateJson(\n tree,\n joinPathFragments(libraryRoot, 'tsconfig.lib.json'),\n (json) => ({\n ...json,\n compilerOptions: {\n ...json.compilerOptions,\n jsx: 'react-jsx',\n module: 'preserve',\n moduleResolution: 'bundler',\n lib: Array.from(\n new Set([...(json.compilerOptions?.lib ?? []), 'DOM']),\n ),\n },\n include: Array.from(new Set([...(json.include ?? []), 'src/**/*.tsx'])),\n }),\n );\n\n addDependenciesToPackageJson(tree, withVersions([...SHADCN_DEPS]), {});\n }\n\n updateJson(tree, 'tsconfig.base.json', (json) => ({\n ...json,\n compilerOptions: {\n ...json.compilerOptions,\n paths: {\n ...(json.compilerOptions?.paths ?? {}),\n [`${sharedShadcnAlias}/*`]: [\n `./${joinPathFragments(libraryRoot, 'src', '*')}`,\n ],\n },\n },\n }));\n\n if (!tree.exists('components.json')) {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'shadcn'),\n '.',\n {\n sharedShadcnAlias,\n },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n }\n\n await formatFilesInSubtree(tree);\n}\n"],"names":["addDependenciesToPackageJson","generateFiles","joinPathFragments","OverwriteStrategy","updateJson","tsProjectGenerator","configureTsProject","formatFilesInSubtree","esmVars","getNpmScopePrefix","toScopeAlias","ensurePnpmIgnoresWorkspaceRootCheck","PACKAGES_DIR","SHARED_SHADCN_DIR","SHARED_SHADCN_NAME","withVersions","SHADCN_DEPS","sharedShadcnGenerator","tree","npmScopePrefix","scopeAlias","sharedShadcnAlias","fullyQualifiedName","libraryRoot","shadcnSrcRoot","exists","name","directory","subDirectory","delete","dirname","overwriteStrategy","KeepExisting","Overwrite","dir","json","compilerOptions","jsx","module","moduleResolution","lib","Array","from","Set","include","paths"],"mappings":"AAAA;;;CAGC,GACD,SACEA,4BAA4B,EAC5BC,aAAa,EACbC,iBAAiB,EACjBC,iBAAiB,EAEjBC,UAAU,QACL,aAAa;AACpB,OAAOC,wBAAwB,yBAAsB;AACrD,SAASC,kBAAkB,QAAQ,gCAA6B;AAChE,SAASC,oBAAoB,QAAQ,cAAW;AAChD,SAASC,OAAO,QAAQ,qBAAkB;AAC1C,SAASC,iBAAiB,EAAEC,YAAY,QAAQ,iBAAc;AAC9D,SAASC,mCAAmC,QAAQ,sBAAmB;AACvE,SACEC,YAAY,EACZC,iBAAiB,EACjBC,kBAAkB,QACb,mCAAgC;AACvC,SAA6BC,YAAY,QAAQ,gBAAa;AAE9D,MAAMC,cAAc;IAClB;IACA;IACA;IACA;IACA;IACA;CACD;AAED,OAAO,eAAeC,sBAAsBC,IAAU;IACpD,MAAMC,iBAAiBV,kBAAkBS;IACzC,MAAME,aAAaV,aAAaS;IAChC,MAAME,oBAAoB,GAAGD,aAAaN,oBAAoB;IAC9D,MAAMQ,qBAAqB,GAAGH,iBAAiBL,oBAAoB;IACnE,MAAMS,cAAcrB,kBAAkBU,cAAcC;IACpD,MAAMW,gBAAgBtB,kBAAkBqB,aAAa;IACrDZ,oCAAoCO;IAEpC,IAAI,CAACA,KAAKO,MAAM,CAACvB,kBAAkBqB,aAAa,kBAAkB;QAChE,MAAMlB,mBAAmBa,MAAM;YAC7BQ,MAAMZ;YACNa,WAAWf;YACXgB,cAAcf;QAChB;QAEAK,KAAKW,MAAM,CAACL;QAEZvB,cACEiB,MACAhB,kBAAkB,YAAY4B,OAAO,EAAE,SAASjB,mBAAmB,QACnEW,eACA;YACEJ;YACA,GAAGZ,QAAQU,KAAK;QAClB,GACA;YACEa,mBAAmB5B,kBAAkB6B,YAAY;QACnD;QAGF/B,cACEiB,MACAhB,kBACE,YAAY4B,OAAO,EACnB,SACAjB,mBACA,WAEFU,aACA;YACED;YACAF;QACF,GACA;YACEW,mBAAmB5B,kBAAkB8B,SAAS;QAChD;QAGF,MAAM3B,mBAAmBY,MAAM;YAC7BgB,KAAKX;YACLD;QACF;QAEAlB,WACEc,MACAhB,kBAAkBqB,aAAa,sBAC/B,CAACY,OAAU,CAAA;gBACT,GAAGA,IAAI;gBACPC,iBAAiB;oBACf,GAAGD,KAAKC,eAAe;oBACvBC,KAAK;oBACLC,QAAQ;oBACRC,kBAAkB;oBAClBC,KAAKC,MAAMC,IAAI,CACb,IAAIC,IAAI;2BAAKR,KAAKC,eAAe,EAAEI,OAAO,EAAE;wBAAG;qBAAM;gBAEzD;gBACAI,SAASH,MAAMC,IAAI,CAAC,IAAIC,IAAI;uBAAKR,KAAKS,OAAO,IAAI,EAAE;oBAAG;iBAAe;YACvE,CAAA;QAGF5C,6BAA6BkB,MAAMH,aAAa;eAAIC;SAAY,GAAG,CAAC;IACtE;IAEAZ,WAAWc,MAAM,sBAAsB,CAACiB,OAAU,CAAA;YAChD,GAAGA,IAAI;YACPC,iBAAiB;gBACf,GAAGD,KAAKC,eAAe;gBACvBS,OAAO;oBACL,GAAIV,KAAKC,eAAe,EAAES,SAAS,CAAC,CAAC;oBACrC,CAAC,GAAGxB,kBAAkB,EAAE,CAAC,CAAC,EAAE;wBAC1B,CAAC,EAAE,EAAEnB,kBAAkBqB,aAAa,OAAO,MAAM;qBAClD;gBACH;YACF;QACF,CAAA;IAEA,IAAI,CAACL,KAAKO,MAAM,CAAC,oBAAoB;QACnCxB,cACEiB,MACAhB,kBAAkB,YAAY4B,OAAO,EAAE,SAAS,WAChD,KACA;YACET;QACF,GACA;YACEU,mBAAmB5B,kBAAkB6B,YAAY;QACnD;IAEJ;IAEA,MAAMzB,qBAAqBW;AAC7B"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/shared-shadcn.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n updateJson,\n} from '@nx/devkit';\nimport tsProjectGenerator from '../ts/lib/generator';\nimport { configureTsProject } from '../ts/lib/ts-project-utils';\nimport { addDependenciesToPackageJson } from './dependencies';\nimport { formatFilesInSubtree } from './format';\nimport { esmVars } from './module-format';\nimport { getNpmScopePrefix } from './npm-scope';\nimport {\n PACKAGES_DIR,\n SHARED_SHADCN_DIR,\n SHARED_SHADCN_NAME,\n} from './shared-constructs-constants';\nimport { type ITsDepVersion, withVersions } from './versions';\n\nconst SHADCN_DEPS = [\n 'react',\n 'react-dom',\n 'class-variance-authority',\n 'clsx',\n 'tailwind-merge',\n 'lucide-react',\n 'tw-animate-css',\n 'radix-ui',\n] as const satisfies ITsDepVersion[];\n\nexport async function sharedShadcnGenerator(tree: Tree) {\n const npmScopePrefix = getNpmScopePrefix(tree);\n const scopeAlias = npmScopePrefix;\n const sharedShadcnAlias = `${scopeAlias}${SHARED_SHADCN_NAME}`;\n const fullyQualifiedName = `${npmScopePrefix}${SHARED_SHADCN_NAME}`;\n const libraryRoot = joinPathFragments(PACKAGES_DIR, SHARED_SHADCN_DIR);\n const shadcnSrcRoot = joinPathFragments(libraryRoot, 'src');\n\n if (!tree.exists(joinPathFragments(libraryRoot, 'project.json'))) {\n await tsProjectGenerator(tree, {\n name: SHARED_SHADCN_NAME,\n directory: PACKAGES_DIR,\n subDirectory: SHARED_SHADCN_DIR,\n });\n\n tree.delete(shadcnSrcRoot);\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', SHARED_SHADCN_DIR, 'src'),\n shadcnSrcRoot,\n {\n scopeAlias,\n ...esmVars(tree),\n },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n 'files',\n SHARED_SHADCN_DIR,\n 'readme',\n ),\n libraryRoot,\n {\n fullyQualifiedName,\n scopeAlias,\n },\n {\n overwriteStrategy: OverwriteStrategy.Overwrite,\n },\n );\n\n await configureTsProject(tree, {\n dir: libraryRoot,\n fullyQualifiedName,\n });\n\n updateJson(\n tree,\n joinPathFragments(libraryRoot, 'tsconfig.lib.json'),\n (json) => ({\n ...json,\n compilerOptions: {\n ...json.compilerOptions,\n jsx: 'react-jsx',\n module: 'preserve',\n moduleResolution: 'bundler',\n lib: Array.from(\n new Set([...(json.compilerOptions?.lib ?? []), 'DOM']),\n ),\n },\n include: Array.from(new Set([...(json.include ?? []), 'src/**/*.tsx'])),\n }),\n );\n\n addDependenciesToPackageJson(\n tree,\n withVersions([...SHADCN_DEPS]),\n {},\n joinPathFragments(libraryRoot, 'package.json'),\n );\n }\n\n updateJson(tree, 'tsconfig.base.json', (json) => ({\n ...json,\n compilerOptions: {\n ...json.compilerOptions,\n paths: {\n ...(json.compilerOptions?.paths ?? {}),\n [`${sharedShadcnAlias}/*`]: [\n `./${joinPathFragments(libraryRoot, 'src', '*')}`,\n ],\n },\n },\n }));\n\n // components.json lives in the package so `shadcn add` runs there and\n // installs component dependencies into the package's own manifest.\n if (!tree.exists(joinPathFragments(libraryRoot, 'components.json'))) {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'shadcn'),\n libraryRoot,\n {\n sharedShadcnAlias,\n },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n }\n\n await formatFilesInSubtree(tree);\n}\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateJson","tsProjectGenerator","configureTsProject","addDependenciesToPackageJson","formatFilesInSubtree","esmVars","getNpmScopePrefix","PACKAGES_DIR","SHARED_SHADCN_DIR","SHARED_SHADCN_NAME","withVersions","SHADCN_DEPS","sharedShadcnGenerator","tree","npmScopePrefix","scopeAlias","sharedShadcnAlias","fullyQualifiedName","libraryRoot","shadcnSrcRoot","exists","name","directory","subDirectory","delete","dirname","overwriteStrategy","KeepExisting","Overwrite","dir","json","compilerOptions","jsx","module","moduleResolution","lib","Array","from","Set","include","paths"],"mappings":"AAAA;;;CAGC,GACD,SACEA,aAAa,EACbC,iBAAiB,EACjBC,iBAAiB,EAEjBC,UAAU,QACL,aAAa;AACpB,OAAOC,wBAAwB,yBAAsB;AACrD,SAASC,kBAAkB,QAAQ,gCAA6B;AAChE,SAASC,4BAA4B,QAAQ,oBAAiB;AAC9D,SAASC,oBAAoB,QAAQ,cAAW;AAChD,SAASC,OAAO,QAAQ,qBAAkB;AAC1C,SAASC,iBAAiB,QAAQ,iBAAc;AAChD,SACEC,YAAY,EACZC,iBAAiB,EACjBC,kBAAkB,QACb,mCAAgC;AACvC,SAA6BC,YAAY,QAAQ,gBAAa;AAE9D,MAAMC,cAAc;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,OAAO,eAAeC,sBAAsBC,IAAU;IACpD,MAAMC,iBAAiBR,kBAAkBO;IACzC,MAAME,aAAaD;IACnB,MAAME,oBAAoB,GAAGD,aAAaN,oBAAoB;IAC9D,MAAMQ,qBAAqB,GAAGH,iBAAiBL,oBAAoB;IACnE,MAAMS,cAAcpB,kBAAkBS,cAAcC;IACpD,MAAMW,gBAAgBrB,kBAAkBoB,aAAa;IAErD,IAAI,CAACL,KAAKO,MAAM,CAACtB,kBAAkBoB,aAAa,kBAAkB;QAChE,MAAMjB,mBAAmBY,MAAM;YAC7BQ,MAAMZ;YACNa,WAAWf;YACXgB,cAAcf;QAChB;QAEAK,KAAKW,MAAM,CAACL;QAEZtB,cACEgB,MACAf,kBAAkB,YAAY2B,OAAO,EAAE,SAASjB,mBAAmB,QACnEW,eACA;YACEJ;YACA,GAAGV,QAAQQ,KAAK;QAClB,GACA;YACEa,mBAAmB3B,kBAAkB4B,YAAY;QACnD;QAGF9B,cACEgB,MACAf,kBACE,YAAY2B,OAAO,EACnB,SACAjB,mBACA,WAEFU,aACA;YACED;YACAF;QACF,GACA;YACEW,mBAAmB3B,kBAAkB6B,SAAS;QAChD;QAGF,MAAM1B,mBAAmBW,MAAM;YAC7BgB,KAAKX;YACLD;QACF;QAEAjB,WACEa,MACAf,kBAAkBoB,aAAa,sBAC/B,CAACY,OAAU,CAAA;gBACT,GAAGA,IAAI;gBACPC,iBAAiB;oBACf,GAAGD,KAAKC,eAAe;oBACvBC,KAAK;oBACLC,QAAQ;oBACRC,kBAAkB;oBAClBC,KAAKC,MAAMC,IAAI,CACb,IAAIC,IAAI;2BAAKR,KAAKC,eAAe,EAAEI,OAAO,EAAE;wBAAG;qBAAM;gBAEzD;gBACAI,SAASH,MAAMC,IAAI,CAAC,IAAIC,IAAI;uBAAKR,KAAKS,OAAO,IAAI,EAAE;oBAAG;iBAAe;YACvE,CAAA;QAGFpC,6BACEU,MACAH,aAAa;eAAIC;SAAY,GAC7B,CAAC,GACDb,kBAAkBoB,aAAa;IAEnC;IAEAlB,WAAWa,MAAM,sBAAsB,CAACiB,OAAU,CAAA;YAChD,GAAGA,IAAI;YACPC,iBAAiB;gBACf,GAAGD,KAAKC,eAAe;gBACvBS,OAAO;oBACL,GAAIV,KAAKC,eAAe,EAAES,SAAS,CAAC,CAAC;oBACrC,CAAC,GAAGxB,kBAAkB,EAAE,CAAC,CAAC,EAAE;wBAC1B,CAAC,EAAE,EAAElB,kBAAkBoB,aAAa,OAAO,MAAM;qBAClD;gBACH;YACF;QACF,CAAA;IAEA,sEAAsE;IACtE,mEAAmE;IACnE,IAAI,CAACL,KAAKO,MAAM,CAACtB,kBAAkBoB,aAAa,qBAAqB;QACnErB,cACEgB,MACAf,kBAAkB,YAAY2B,OAAO,EAAE,SAAS,WAChDP,aACA;YACEF;QACF,GACA;YACEU,mBAAmB3B,kBAAkB4B,YAAY;QACnD;IAEJ;IAEA,MAAMvB,qBAAqBS;AAC7B"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * Isolate every git invocation in the surrounding tests from the machine's real
7
+ * git configuration, and point the test identity at a throwaway config file.
8
+ *
9
+ * Two leaks are prevented:
10
+ *
11
+ * 1. Inherited `GIT_*` variables. When the test suite runs from a git hook (the
12
+ * repo's `pre-commit` runs the unit tests), git exports `GIT_DIR` and
13
+ * `GIT_INDEX_FILE` pointing at the surrounding repository. Those take
14
+ * precedence over `cwd`, so `git init`/`git config`/`git commit` in a temp
15
+ * directory operate on the real repository instead — writing `user.*` into
16
+ * its `.git/config` and committing test fixtures.
17
+ * 2. Reads of, and writes to, the user's global and system config. Pointing
18
+ * `GIT_CONFIG_GLOBAL`/`GIT_CONFIG_SYSTEM` at files inside a temp directory
19
+ * means a stray `git config --global` lands there and is deleted with it,
20
+ * and the developer's real `user.email` can neither leak into assertions nor
21
+ * be overwritten.
22
+ *
23
+ * Both env vars are restored after each test.
24
+ */
25
+ export declare const useIsolatedGitEnv: () => void;
26
+ /**
27
+ * Run a git command in `cwd`, with the ambient `GIT_DIR`/`GIT_INDEX_FILE`
28
+ * cleared so it cannot escape to a surrounding repository even if
29
+ * `useIsolatedGitEnv` is not in effect. `execFileSync` (no shell) keeps
30
+ * arguments from being re-split.
31
+ */
32
+ export declare const runGit: (args: string[], cwd: string) => string;
33
+ /**
34
+ * Create a git repository in `dir` for a test to work in. The identity comes
35
+ * from the isolated global config set up by `useIsolatedGitEnv`, so nothing is
36
+ * written outside `dir`. Hooks are disabled — the repo under test has a
37
+ * `pre-commit` hook that runs the whole test suite.
38
+ */
39
+ export declare const initTestGitRepo: (dir: string) => void;
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { execFileSync } from "node:child_process";
5
+ import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
6
+ import { tmpdir } from "node:os";
7
+ import { join } from "node:path";
8
+ import { afterEach, beforeEach } from "vitest";
9
+ /**
10
+ * Identity used by the temp repositories these helpers create. Only ever
11
+ * written to a throwaway `GIT_CONFIG_GLOBAL` file, never to the developer's
12
+ * real config.
13
+ */ const TEST_GIT_USER_NAME = 'nx-plugin-for-aws-test';
14
+ const TEST_GIT_USER_EMAIL = 'nx-plugin-for-aws-test@example.invalid';
15
+ /**
16
+ * Isolate every git invocation in the surrounding tests from the machine's real
17
+ * git configuration, and point the test identity at a throwaway config file.
18
+ *
19
+ * Two leaks are prevented:
20
+ *
21
+ * 1. Inherited `GIT_*` variables. When the test suite runs from a git hook (the
22
+ * repo's `pre-commit` runs the unit tests), git exports `GIT_DIR` and
23
+ * `GIT_INDEX_FILE` pointing at the surrounding repository. Those take
24
+ * precedence over `cwd`, so `git init`/`git config`/`git commit` in a temp
25
+ * directory operate on the real repository instead — writing `user.*` into
26
+ * its `.git/config` and committing test fixtures.
27
+ * 2. Reads of, and writes to, the user's global and system config. Pointing
28
+ * `GIT_CONFIG_GLOBAL`/`GIT_CONFIG_SYSTEM` at files inside a temp directory
29
+ * means a stray `git config --global` lands there and is deleted with it,
30
+ * and the developer's real `user.email` can neither leak into assertions nor
31
+ * be overwritten.
32
+ *
33
+ * Both env vars are restored after each test.
34
+ */ export const useIsolatedGitEnv = ()=>{
35
+ const savedEnv = {};
36
+ let configDir;
37
+ beforeEach(()=>{
38
+ for (const key of Object.keys(process.env)){
39
+ if (key.startsWith('GIT_')) {
40
+ savedEnv[key] = process.env[key];
41
+ delete process.env[key];
42
+ }
43
+ }
44
+ configDir = mkdtempSync(join(tmpdir(), 'nx-plugin-gitconfig-'));
45
+ // Seed the identity here rather than per-repo, so temp repos need no
46
+ // `git config` call at all and cannot write to a real repository.
47
+ writeFileSync(join(configDir, 'global'), `[user]\n\tname = ${TEST_GIT_USER_NAME}\n\temail = ${TEST_GIT_USER_EMAIL}\n`);
48
+ // Empty, so system config (which may set user.* or hook paths) cannot leak.
49
+ writeFileSync(join(configDir, 'system'), '');
50
+ for (const key of [
51
+ 'GIT_CONFIG_GLOBAL',
52
+ 'GIT_CONFIG_SYSTEM'
53
+ ]){
54
+ savedEnv[key] ??= process.env[key];
55
+ }
56
+ process.env.GIT_CONFIG_GLOBAL = join(configDir, 'global');
57
+ process.env.GIT_CONFIG_SYSTEM = join(configDir, 'system');
58
+ });
59
+ afterEach(()=>{
60
+ // Clear every GIT_* variable first, so any set *during* the test (and
61
+ // therefore absent from savedEnv) cannot leak into the next one.
62
+ for (const key of Object.keys(process.env)){
63
+ if (key.startsWith('GIT_')) {
64
+ delete process.env[key];
65
+ }
66
+ }
67
+ for (const [key, value] of Object.entries(savedEnv)){
68
+ if (value !== undefined) {
69
+ process.env[key] = value;
70
+ }
71
+ }
72
+ for (const key of Object.keys(savedEnv)){
73
+ delete savedEnv[key];
74
+ }
75
+ if (configDir) {
76
+ rmSync(configDir, {
77
+ force: true,
78
+ recursive: true
79
+ });
80
+ configDir = undefined;
81
+ }
82
+ });
83
+ };
84
+ /**
85
+ * Run a git command in `cwd`, with the ambient `GIT_DIR`/`GIT_INDEX_FILE`
86
+ * cleared so it cannot escape to a surrounding repository even if
87
+ * `useIsolatedGitEnv` is not in effect. `execFileSync` (no shell) keeps
88
+ * arguments from being re-split.
89
+ */ export const runGit = (args, cwd)=>execFileSync('git', args, {
90
+ cwd,
91
+ encoding: 'utf-8',
92
+ stdio: 'pipe',
93
+ env: {
94
+ ...process.env,
95
+ GIT_DIR: undefined,
96
+ GIT_WORK_TREE: undefined,
97
+ GIT_INDEX_FILE: undefined,
98
+ GIT_COMMON_DIR: undefined
99
+ }
100
+ });
101
+ /**
102
+ * Create a git repository in `dir` for a test to work in. The identity comes
103
+ * from the isolated global config set up by `useIsolatedGitEnv`, so nothing is
104
+ * written outside `dir`. Hooks are disabled — the repo under test has a
105
+ * `pre-commit` hook that runs the whole test suite.
106
+ */ export const initTestGitRepo = (dir)=>{
107
+ runGit([
108
+ 'init'
109
+ ], dir);
110
+ runGit([
111
+ 'config',
112
+ 'core.hooksPath',
113
+ '/dev/null'
114
+ ], dir);
115
+ };
116
+
117
+ //# sourceMappingURL=test-git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/test-git.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { execFileSync } from 'node:child_process';\nimport { mkdtempSync, rmSync, writeFileSync } from 'node:fs';\nimport { tmpdir } from 'node:os';\nimport { join } from 'node:path';\nimport { afterEach, beforeEach } from 'vitest';\n\n/**\n * Identity used by the temp repositories these helpers create. Only ever\n * written to a throwaway `GIT_CONFIG_GLOBAL` file, never to the developer's\n * real config.\n */\nconst TEST_GIT_USER_NAME = 'nx-plugin-for-aws-test';\nconst TEST_GIT_USER_EMAIL = 'nx-plugin-for-aws-test@example.invalid';\n\n/**\n * Isolate every git invocation in the surrounding tests from the machine's real\n * git configuration, and point the test identity at a throwaway config file.\n *\n * Two leaks are prevented:\n *\n * 1. Inherited `GIT_*` variables. When the test suite runs from a git hook (the\n * repo's `pre-commit` runs the unit tests), git exports `GIT_DIR` and\n * `GIT_INDEX_FILE` pointing at the surrounding repository. Those take\n * precedence over `cwd`, so `git init`/`git config`/`git commit` in a temp\n * directory operate on the real repository instead — writing `user.*` into\n * its `.git/config` and committing test fixtures.\n * 2. Reads of, and writes to, the user's global and system config. Pointing\n * `GIT_CONFIG_GLOBAL`/`GIT_CONFIG_SYSTEM` at files inside a temp directory\n * means a stray `git config --global` lands there and is deleted with it,\n * and the developer's real `user.email` can neither leak into assertions nor\n * be overwritten.\n *\n * Both env vars are restored after each test.\n */\nexport const useIsolatedGitEnv = () => {\n const savedEnv: Record<string, string | undefined> = {};\n let configDir: string | undefined;\n\n beforeEach(() => {\n for (const key of Object.keys(process.env)) {\n if (key.startsWith('GIT_')) {\n savedEnv[key] = process.env[key];\n delete process.env[key];\n }\n }\n\n configDir = mkdtempSync(join(tmpdir(), 'nx-plugin-gitconfig-'));\n // Seed the identity here rather than per-repo, so temp repos need no\n // `git config` call at all and cannot write to a real repository.\n writeFileSync(\n join(configDir, 'global'),\n `[user]\\n\\tname = ${TEST_GIT_USER_NAME}\\n\\temail = ${TEST_GIT_USER_EMAIL}\\n`,\n );\n // Empty, so system config (which may set user.* or hook paths) cannot leak.\n writeFileSync(join(configDir, 'system'), '');\n\n for (const key of ['GIT_CONFIG_GLOBAL', 'GIT_CONFIG_SYSTEM'] as const) {\n savedEnv[key] ??= process.env[key];\n }\n process.env.GIT_CONFIG_GLOBAL = join(configDir, 'global');\n process.env.GIT_CONFIG_SYSTEM = join(configDir, 'system');\n });\n\n afterEach(() => {\n // Clear every GIT_* variable first, so any set *during* the test (and\n // therefore absent from savedEnv) cannot leak into the next one.\n for (const key of Object.keys(process.env)) {\n if (key.startsWith('GIT_')) {\n delete process.env[key];\n }\n }\n for (const [key, value] of Object.entries(savedEnv)) {\n if (value !== undefined) {\n process.env[key] = value;\n }\n }\n for (const key of Object.keys(savedEnv)) {\n delete savedEnv[key];\n }\n if (configDir) {\n rmSync(configDir, { force: true, recursive: true });\n configDir = undefined;\n }\n });\n};\n\n/**\n * Run a git command in `cwd`, with the ambient `GIT_DIR`/`GIT_INDEX_FILE`\n * cleared so it cannot escape to a surrounding repository even if\n * `useIsolatedGitEnv` is not in effect. `execFileSync` (no shell) keeps\n * arguments from being re-split.\n */\nexport const runGit = (args: string[], cwd: string): string =>\n execFileSync('git', args, {\n cwd,\n encoding: 'utf-8',\n stdio: 'pipe',\n env: {\n ...process.env,\n GIT_DIR: undefined,\n GIT_WORK_TREE: undefined,\n GIT_INDEX_FILE: undefined,\n GIT_COMMON_DIR: undefined,\n } as NodeJS.ProcessEnv,\n });\n\n/**\n * Create a git repository in `dir` for a test to work in. The identity comes\n * from the isolated global config set up by `useIsolatedGitEnv`, so nothing is\n * written outside `dir`. Hooks are disabled — the repo under test has a\n * `pre-commit` hook that runs the whole test suite.\n */\nexport const initTestGitRepo = (dir: string): void => {\n runGit(['init'], dir);\n runGit(['config', 'core.hooksPath', '/dev/null'], dir);\n};\n"],"names":["execFileSync","mkdtempSync","rmSync","writeFileSync","tmpdir","join","afterEach","beforeEach","TEST_GIT_USER_NAME","TEST_GIT_USER_EMAIL","useIsolatedGitEnv","savedEnv","configDir","key","Object","keys","process","env","startsWith","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","value","entries","undefined","force","recursive","runGit","args","cwd","encoding","stdio","GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_COMMON_DIR","initTestGitRepo","dir"],"mappings":"AAAA;;;CAGC,GAED,SAASA,YAAY,QAAQ,qBAAqB;AAClD,SAASC,WAAW,EAAEC,MAAM,EAAEC,aAAa,QAAQ,UAAU;AAC7D,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,IAAI,QAAQ,YAAY;AACjC,SAASC,SAAS,EAAEC,UAAU,QAAQ,SAAS;AAE/C;;;;CAIC,GACD,MAAMC,qBAAqB;AAC3B,MAAMC,sBAAsB;AAE5B;;;;;;;;;;;;;;;;;;;CAmBC,GACD,OAAO,MAAMC,oBAAoB;IAC/B,MAAMC,WAA+C,CAAC;IACtD,IAAIC;IAEJL,WAAW;QACT,KAAK,MAAMM,OAAOC,OAAOC,IAAI,CAACC,QAAQC,GAAG,EAAG;YAC1C,IAAIJ,IAAIK,UAAU,CAAC,SAAS;gBAC1BP,QAAQ,CAACE,IAAI,GAAGG,QAAQC,GAAG,CAACJ,IAAI;gBAChC,OAAOG,QAAQC,GAAG,CAACJ,IAAI;YACzB;QACF;QAEAD,YAAYX,YAAYI,KAAKD,UAAU;QACvC,qEAAqE;QACrE,kEAAkE;QAClED,cACEE,KAAKO,WAAW,WAChB,CAAC,iBAAiB,EAAEJ,mBAAmB,YAAY,EAAEC,oBAAoB,EAAE,CAAC;QAE9E,4EAA4E;QAC5EN,cAAcE,KAAKO,WAAW,WAAW;QAEzC,KAAK,MAAMC,OAAO;YAAC;YAAqB;SAAoB,CAAW;YACrEF,QAAQ,CAACE,IAAI,KAAKG,QAAQC,GAAG,CAACJ,IAAI;QACpC;QACAG,QAAQC,GAAG,CAACE,iBAAiB,GAAGd,KAAKO,WAAW;QAChDI,QAAQC,GAAG,CAACG,iBAAiB,GAAGf,KAAKO,WAAW;IAClD;IAEAN,UAAU;QACR,sEAAsE;QACtE,iEAAiE;QACjE,KAAK,MAAMO,OAAOC,OAAOC,IAAI,CAACC,QAAQC,GAAG,EAAG;YAC1C,IAAIJ,IAAIK,UAAU,CAAC,SAAS;gBAC1B,OAAOF,QAAQC,GAAG,CAACJ,IAAI;YACzB;QACF;QACA,KAAK,MAAM,CAACA,KAAKQ,MAAM,IAAIP,OAAOQ,OAAO,CAACX,UAAW;YACnD,IAAIU,UAAUE,WAAW;gBACvBP,QAAQC,GAAG,CAACJ,IAAI,GAAGQ;YACrB;QACF;QACA,KAAK,MAAMR,OAAOC,OAAOC,IAAI,CAACJ,UAAW;YACvC,OAAOA,QAAQ,CAACE,IAAI;QACtB;QACA,IAAID,WAAW;YACbV,OAAOU,WAAW;gBAAEY,OAAO;gBAAMC,WAAW;YAAK;YACjDb,YAAYW;QACd;IACF;AACF,EAAE;AAEF;;;;;CAKC,GACD,OAAO,MAAMG,SAAS,CAACC,MAAgBC,MACrC5B,aAAa,OAAO2B,MAAM;QACxBC;QACAC,UAAU;QACVC,OAAO;QACPb,KAAK;YACH,GAAGD,QAAQC,GAAG;YACdc,SAASR;YACTS,eAAeT;YACfU,gBAAgBV;YAChBW,gBAAgBX;QAClB;IACF,GAAG;AAEL;;;;;CAKC,GACD,OAAO,MAAMY,kBAAkB,CAACC;IAC9BV,OAAO;QAAC;KAAO,EAAEU;IACjBV,OAAO;QAAC;QAAU;QAAkB;KAAY,EAAEU;AACpD,EAAE"}
package/src/utils/test.js CHANGED
@@ -4,7 +4,7 @@
4
4
  */ import { joinPathFragments, readJson, updateJson, writeJson } from "@nx/devkit";
5
5
  import { createTreeWithEmptyWorkspace } from "@nx/devkit/testing";
6
6
  import { expect } from "vitest";
7
- import { DEFAULT_BIOME_CONFIG } from "./format.js";
7
+ import { getDefaultBiomeConfig } from "./format.js";
8
8
  /**
9
9
  * Create a workspace tree configured so that nx's `isUsingTsSolutionSetup`
10
10
  * reports `true`, matching the workspaces our preset generates. Rather than
@@ -17,9 +17,14 @@ import { DEFAULT_BIOME_CONFIG } from "./format.js";
17
17
  */ export const createTreeUsingTsSolutionSetup = ()=>{
18
18
  const tree = createTreeWithEmptyWorkspace();
19
19
  tree.write('pnpm-workspace.yaml', `packages:\n - packages/*`);
20
+ // Write both workspace markers so package-manager detection finds workspaces
21
+ // enabled whether tests run via pnpm or npm/npx.
20
22
  updateJson(tree, 'package.json', (json)=>({
21
23
  ...json,
22
- type: 'module'
24
+ type: 'module',
25
+ workspaces: [
26
+ 'packages/*'
27
+ ]
23
28
  }));
24
29
  const baseTsConfig = readJson(tree, 'tsconfig.base.json');
25
30
  writeJson(tree, 'tsconfig.base.json', {
@@ -37,7 +42,7 @@ import { DEFAULT_BIOME_CONFIG } from "./format.js";
37
42
  });
38
43
  // The preset always writes biome.json at the workspace root, so mirror that
39
44
  // here for realistic lint-target configuration.
40
- tree.write('biome.json', JSON.stringify(DEFAULT_BIOME_CONFIG, null, 2));
45
+ tree.write('biome.json', JSON.stringify(getDefaultBiomeConfig(tree), null, 2));
41
46
  return tree;
42
47
  };
43
48
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/test.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n joinPathFragments,\n readJson,\n type Tree,\n updateJson,\n writeJson,\n} from '@nx/devkit';\nimport { createTreeWithEmptyWorkspace } from '@nx/devkit/testing';\nimport { expect } from 'vitest';\nimport { DEFAULT_BIOME_CONFIG } from './format';\n\n/**\n * Create a workspace tree configured so that nx's `isUsingTsSolutionSetup`\n * reports `true`, matching the workspaces our preset generates. Rather than\n * mocking nx internals, we set up the real markers it checks for:\n * - package manager workspaces enabled (`pnpm-workspace.yaml` with `packages`)\n * - a root `tsconfig.json` extending `tsconfig.base.json` with empty `include`\n * - `composite: true` in `tsconfig.base.json`\n * - a root `package.json` with `type: module`, matching the ESM default the\n * preset establishes\n */\nexport const createTreeUsingTsSolutionSetup = (): Tree => {\n const tree = createTreeWithEmptyWorkspace();\n\n tree.write('pnpm-workspace.yaml', `packages:\\n - packages/*`);\n\n updateJson(tree, 'package.json', (json) => ({ ...json, type: 'module' }));\n\n const baseTsConfig = readJson(tree, 'tsconfig.base.json');\n writeJson(tree, 'tsconfig.base.json', {\n ...baseTsConfig,\n compilerOptions: { ...baseTsConfig.compilerOptions, composite: true },\n });\n writeJson(tree, 'tsconfig.json', {\n extends: './tsconfig.base.json',\n files: [],\n include: [],\n references: [],\n });\n\n // The preset always writes biome.json at the workspace root, so mirror that\n // here for realistic lint-target configuration.\n tree.write('biome.json', JSON.stringify(DEFAULT_BIOME_CONFIG, null, 2));\n return tree;\n};\n\n/**\n * Snapshot all files within a directory in the given tree\n */\nexport const snapshotTreeDir = (tree: Tree, dir: string) => {\n if (tree.isFile(dir)) {\n expect(tree.read(dir, 'utf-8')).toMatchSnapshot(dir);\n } else {\n tree\n .children(dir)\n .forEach((subDir) =>\n snapshotTreeDir(tree, joinPathFragments(dir, subDir)),\n );\n }\n};\n"],"names":["joinPathFragments","readJson","updateJson","writeJson","createTreeWithEmptyWorkspace","expect","DEFAULT_BIOME_CONFIG","createTreeUsingTsSolutionSetup","tree","write","json","type","baseTsConfig","compilerOptions","composite","extends","files","include","references","JSON","stringify","snapshotTreeDir","dir","isFile","read","toMatchSnapshot","children","forEach","subDir"],"mappings":"AAAA;;;CAGC,GAED,SACEA,iBAAiB,EACjBC,QAAQ,EAERC,UAAU,EACVC,SAAS,QACJ,aAAa;AACpB,SAASC,4BAA4B,QAAQ,qBAAqB;AAClE,SAASC,MAAM,QAAQ,SAAS;AAChC,SAASC,oBAAoB,QAAQ,cAAW;AAEhD;;;;;;;;;CASC,GACD,OAAO,MAAMC,iCAAiC;IAC5C,MAAMC,OAAOJ;IAEbI,KAAKC,KAAK,CAAC,uBAAuB,CAAC,yBAAyB,CAAC;IAE7DP,WAAWM,MAAM,gBAAgB,CAACE,OAAU,CAAA;YAAE,GAAGA,IAAI;YAAEC,MAAM;QAAS,CAAA;IAEtE,MAAMC,eAAeX,SAASO,MAAM;IACpCL,UAAUK,MAAM,sBAAsB;QACpC,GAAGI,YAAY;QACfC,iBAAiB;YAAE,GAAGD,aAAaC,eAAe;YAAEC,WAAW;QAAK;IACtE;IACAX,UAAUK,MAAM,iBAAiB;QAC/BO,SAAS;QACTC,OAAO,EAAE;QACTC,SAAS,EAAE;QACXC,YAAY,EAAE;IAChB;IAEA,4EAA4E;IAC5E,gDAAgD;IAChDV,KAAKC,KAAK,CAAC,cAAcU,KAAKC,SAAS,CAACd,sBAAsB,MAAM;IACpE,OAAOE;AACT,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMa,kBAAkB,CAACb,MAAYc;IAC1C,IAAId,KAAKe,MAAM,CAACD,MAAM;QACpBjB,OAAOG,KAAKgB,IAAI,CAACF,KAAK,UAAUG,eAAe,CAACH;IAClD,OAAO;QACLd,KACGkB,QAAQ,CAACJ,KACTK,OAAO,CAAC,CAACC,SACRP,gBAAgBb,MAAMR,kBAAkBsB,KAAKM;IAEnD;AACF,EAAE"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/test.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n joinPathFragments,\n readJson,\n type Tree,\n updateJson,\n writeJson,\n} from '@nx/devkit';\nimport { createTreeWithEmptyWorkspace } from '@nx/devkit/testing';\nimport { expect } from 'vitest';\nimport { getDefaultBiomeConfig } from './format';\n\n/**\n * Create a workspace tree configured so that nx's `isUsingTsSolutionSetup`\n * reports `true`, matching the workspaces our preset generates. Rather than\n * mocking nx internals, we set up the real markers it checks for:\n * - package manager workspaces enabled (`pnpm-workspace.yaml` with `packages`)\n * - a root `tsconfig.json` extending `tsconfig.base.json` with empty `include`\n * - `composite: true` in `tsconfig.base.json`\n * - a root `package.json` with `type: module`, matching the ESM default the\n * preset establishes\n */\nexport const createTreeUsingTsSolutionSetup = (): Tree => {\n const tree = createTreeWithEmptyWorkspace();\n\n tree.write('pnpm-workspace.yaml', `packages:\\n - packages/*`);\n\n // Write both workspace markers so package-manager detection finds workspaces\n // enabled whether tests run via pnpm or npm/npx.\n updateJson(tree, 'package.json', (json) => ({\n ...json,\n type: 'module',\n workspaces: ['packages/*'],\n }));\n\n const baseTsConfig = readJson(tree, 'tsconfig.base.json');\n writeJson(tree, 'tsconfig.base.json', {\n ...baseTsConfig,\n compilerOptions: { ...baseTsConfig.compilerOptions, composite: true },\n });\n writeJson(tree, 'tsconfig.json', {\n extends: './tsconfig.base.json',\n files: [],\n include: [],\n references: [],\n });\n\n // The preset always writes biome.json at the workspace root, so mirror that\n // here for realistic lint-target configuration.\n tree.write(\n 'biome.json',\n JSON.stringify(getDefaultBiomeConfig(tree), null, 2),\n );\n return tree;\n};\n\n/**\n * Snapshot all files within a directory in the given tree\n */\nexport const snapshotTreeDir = (tree: Tree, dir: string) => {\n if (tree.isFile(dir)) {\n expect(tree.read(dir, 'utf-8')).toMatchSnapshot(dir);\n } else {\n tree\n .children(dir)\n .forEach((subDir) =>\n snapshotTreeDir(tree, joinPathFragments(dir, subDir)),\n );\n }\n};\n"],"names":["joinPathFragments","readJson","updateJson","writeJson","createTreeWithEmptyWorkspace","expect","getDefaultBiomeConfig","createTreeUsingTsSolutionSetup","tree","write","json","type","workspaces","baseTsConfig","compilerOptions","composite","extends","files","include","references","JSON","stringify","snapshotTreeDir","dir","isFile","read","toMatchSnapshot","children","forEach","subDir"],"mappings":"AAAA;;;CAGC,GAED,SACEA,iBAAiB,EACjBC,QAAQ,EAERC,UAAU,EACVC,SAAS,QACJ,aAAa;AACpB,SAASC,4BAA4B,QAAQ,qBAAqB;AAClE,SAASC,MAAM,QAAQ,SAAS;AAChC,SAASC,qBAAqB,QAAQ,cAAW;AAEjD;;;;;;;;;CASC,GACD,OAAO,MAAMC,iCAAiC;IAC5C,MAAMC,OAAOJ;IAEbI,KAAKC,KAAK,CAAC,uBAAuB,CAAC,yBAAyB,CAAC;IAE7D,6EAA6E;IAC7E,iDAAiD;IACjDP,WAAWM,MAAM,gBAAgB,CAACE,OAAU,CAAA;YAC1C,GAAGA,IAAI;YACPC,MAAM;YACNC,YAAY;gBAAC;aAAa;QAC5B,CAAA;IAEA,MAAMC,eAAeZ,SAASO,MAAM;IACpCL,UAAUK,MAAM,sBAAsB;QACpC,GAAGK,YAAY;QACfC,iBAAiB;YAAE,GAAGD,aAAaC,eAAe;YAAEC,WAAW;QAAK;IACtE;IACAZ,UAAUK,MAAM,iBAAiB;QAC/BQ,SAAS;QACTC,OAAO,EAAE;QACTC,SAAS,EAAE;QACXC,YAAY,EAAE;IAChB;IAEA,4EAA4E;IAC5E,gDAAgD;IAChDX,KAAKC,KAAK,CACR,cACAW,KAAKC,SAAS,CAACf,sBAAsBE,OAAO,MAAM;IAEpD,OAAOA;AACT,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMc,kBAAkB,CAACd,MAAYe;IAC1C,IAAIf,KAAKgB,MAAM,CAACD,MAAM;QACpBlB,OAAOG,KAAKiB,IAAI,CAACF,KAAK,UAAUG,eAAe,CAACH;IAClD,OAAO;QACLf,KACGmB,QAAQ,CAACJ,KACTK,OAAO,CAAC,CAACC,SACRP,gBAAgBd,MAAMR,kBAAkBuB,KAAKM;IAEnD;AACF,EAAE"}
@@ -9,7 +9,11 @@ export declare const TS_VERSIONS: {
9
9
  readonly '@a2a-js/sdk': "0.3.14";
10
10
  readonly '@aws/aws-distro-opentelemetry-node-autoinstrumentation': "0.12.0";
11
11
  readonly '@opentelemetry/propagator-jaeger': "2.9.0";
12
+ readonly minimatch: "10.2.5";
12
13
  readonly '@aws-sdk/client-dynamodb': "3.1090.0";
14
+ readonly '@aws-sdk/client-api-gateway': "3.1090.0";
15
+ readonly '@aws-sdk/client-iam': "3.1090.0";
16
+ readonly '@aws-sdk/client-bedrock-agentcore': "3.1090.0";
13
17
  readonly '@aws-sdk/client-bedrock-runtime': "3.1090.0";
14
18
  readonly '@aws-sdk/client-s3': "3.1090.0";
15
19
  readonly '@aws-sdk/client-sts': "3.1090.0";
@@ -133,7 +137,7 @@ export type ITsDepVersion = keyof typeof TS_VERSIONS;
133
137
  * Add versions to the given dependencies
134
138
  */
135
139
  export declare const withVersions: (deps: ITsDepVersion[]) => {
136
- [k: string]: "0.3.14" | "0.12.0" | "2.9.0" | "3.1090.0" | "3.972.58" | "1.0.0-alpha.10" | "2.34.0" | "7.7.0" | "22.2.2" | "10.3.0" | "23.1.0" | "1.12.1" | "1.15.43" | "1.29.0" | "0.22.0" | "0.0.4" | "0.2.3" | "0.0.57" | "0.3.0" | "1.63.1" | "7.8.2" | "1.10.0" | "1.170.18" | "1.168.22" | "1.167.21" | "1.162.0" | "1.162.2" | "3.0.205" | "1.0.151" | "3.0.1330" | "1.0.62" | "5.101.2" | "11.18.0" | "26.1.1" | "8.10.162" | "2.8.19" | "8.20.0" | "8.18.1" | "5.0.6" | "4.6.10" | "4.5.10" | "4.9.7" | "4.16.1" | "4.1.10" | "6.0.1" | "0.41.3" | "7.1.1" | "1.0.20" | "2.1132.0" | "2.261.0" | "3.12.0" | "10.7.0" | "2.8.6" | "5.6.2" | "0.7.1" | "2.1.1" | "15.0.0" | "3.9.1" | "0.28.1" | "1.0.31" | "1.0.5" | "2.5.4" | "7.8.0" | "3.1.5" | "5.2.1" | "3.3.3" | "9.1.7" | "11.3.6" | "11.0.4" | "4.0.0" | "3.5.3" | "2.0.0" | "12.0.1" | "22.2.9" | "3.5.0" | "8.22.0" | "3.3.1" | "19.2.7" | "6.1.3" | "1.2.0" | "3.36.0" | "0.5.21" | "0.28.0" | "4.3.3" | "4.23.1" | "1.25.0" | "1.6.2" | "4.13.1" | "1.4.0" | "3.6.0" | "8.1.5" | "6.0.3" | "4.4.3" | "8.21.1";
140
+ [k: string]: "0.3.14" | "0.12.0" | "2.9.0" | "10.2.5" | "3.1090.0" | "3.972.58" | "1.0.0-alpha.10" | "2.34.0" | "7.7.0" | "22.2.2" | "10.3.0" | "23.1.0" | "1.12.1" | "1.15.43" | "1.29.0" | "0.22.0" | "0.0.4" | "0.2.3" | "0.0.57" | "0.3.0" | "1.63.1" | "7.8.2" | "1.10.0" | "1.170.18" | "1.168.22" | "1.167.21" | "1.162.0" | "1.162.2" | "3.0.205" | "1.0.151" | "3.0.1330" | "1.0.62" | "5.101.2" | "11.18.0" | "26.1.1" | "8.10.162" | "2.8.19" | "8.20.0" | "8.18.1" | "5.0.6" | "4.6.10" | "4.5.10" | "4.9.7" | "4.16.1" | "4.1.10" | "6.0.1" | "0.41.3" | "7.1.1" | "1.0.20" | "2.1132.0" | "2.261.0" | "3.12.0" | "10.7.0" | "2.8.6" | "5.6.2" | "0.7.1" | "2.1.1" | "15.0.0" | "3.9.1" | "0.28.1" | "1.0.31" | "1.0.5" | "2.5.4" | "7.8.0" | "3.1.5" | "5.2.1" | "3.3.3" | "9.1.7" | "11.3.6" | "11.0.4" | "4.0.0" | "3.5.3" | "2.0.0" | "12.0.1" | "22.2.9" | "3.5.0" | "8.22.0" | "3.3.1" | "19.2.7" | "6.1.3" | "1.2.0" | "3.36.0" | "0.5.21" | "0.28.0" | "4.3.3" | "4.23.1" | "1.25.0" | "1.6.2" | "4.13.1" | "1.4.0" | "3.6.0" | "8.1.5" | "6.0.3" | "4.4.3" | "8.21.1";
137
141
  };
138
142
  /**
139
143
  * Versions for Python dependencies added by generators
@@ -211,6 +215,7 @@ export declare const TERRAFORM_VERSIONS: {
211
215
  readonly archive: "2.8.0";
212
216
  readonly external: "2.4.0";
213
217
  readonly local: "2.9.0";
218
+ readonly time: "0.14.0";
214
219
  };
215
220
  export type ITerraformProviderVersion = keyof typeof TERRAFORM_VERSIONS;
216
221
  /**
@@ -224,4 +229,5 @@ export declare const terraformProviderVersions: () => {
224
229
  archiveProviderVersion: "2.8.0";
225
230
  externalProviderVersion: "2.4.0";
226
231
  localProviderVersion: "2.9.0";
232
+ timeProviderVersion: "0.14.0";
227
233
  };
@@ -9,7 +9,16 @@
9
9
  // Pinned above the version the ADOT autoinstrumentation package resolves
10
10
  // transitively (2.8.0) to clear CVE-2026-59892 (HIGH).
11
11
  '@opentelemetry/propagator-jaeger': '2.9.0',
12
+ // Overridden in the vended agent/MCP image builds to clear CVE-2026-14257
13
+ // (HIGH) in brace-expansion: minimatch 10 is the lowest major depending on
14
+ // brace-expansion 5.x, the only line Trivy's `< 5.0.8` advisory range treats
15
+ // as fixed. Overriding brace-expansion directly is not viable — 5.x drops the
16
+ // CommonJS default export that minimatch 9 calls.
17
+ minimatch: '10.2.5',
12
18
  '@aws-sdk/client-dynamodb': '3.1090.0',
19
+ '@aws-sdk/client-api-gateway': '3.1090.0',
20
+ '@aws-sdk/client-iam': '3.1090.0',
21
+ '@aws-sdk/client-bedrock-agentcore': '3.1090.0',
13
22
  '@aws-sdk/client-bedrock-runtime': '3.1090.0',
14
23
  '@aws-sdk/client-s3': '3.1090.0',
15
24
  '@aws-sdk/client-sts': '3.1090.0',
@@ -206,7 +215,8 @@
206
215
  null: '3.3.0',
207
216
  archive: '2.8.0',
208
217
  external: '2.4.0',
209
- local: '2.9.0'
218
+ local: '2.9.0',
219
+ time: '0.14.0'
210
220
  };
211
221
  /**
212
222
  * Substitution variables exposing Terraform provider version constraints to
@@ -217,7 +227,8 @@
217
227
  nullProviderVersion: TERRAFORM_VERSIONS.null,
218
228
  archiveProviderVersion: TERRAFORM_VERSIONS.archive,
219
229
  externalProviderVersion: TERRAFORM_VERSIONS.external,
220
- localProviderVersion: TERRAFORM_VERSIONS.local
230
+ localProviderVersion: TERRAFORM_VERSIONS.local,
231
+ timeProviderVersion: TERRAFORM_VERSIONS.time
221
232
  });
222
233
 
223
234
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Versons for TypeScript dependencies added by generators\n */\nexport const TS_VERSIONS = {\n '@a2a-js/sdk': '0.3.14',\n '@aws/aws-distro-opentelemetry-node-autoinstrumentation': '0.12.0',\n // Pinned above the version the ADOT autoinstrumentation package resolves\n // transitively (2.8.0) to clear CVE-2026-59892 (HIGH).\n '@opentelemetry/propagator-jaeger': '2.9.0',\n '@aws-sdk/client-dynamodb': '3.1090.0',\n '@aws-sdk/client-bedrock-runtime': '3.1090.0',\n '@aws-sdk/client-s3': '3.1090.0',\n '@aws-sdk/client-sts': '3.1090.0',\n '@aws-sdk/credential-providers': '3.1090.0',\n '@aws-sdk/credential-provider-cognito-identity': '3.972.58',\n '@aws-sdk/client-secrets-manager': '3.1090.0',\n '@aws-sdk/rds-signer': '3.1090.0',\n '@aws-smithy/server-apigateway': '1.0.0-alpha.10',\n '@aws-smithy/server-node': '1.0.0-alpha.10',\n '@aws-lambda-powertools/logger': '2.34.0',\n '@aws-lambda-powertools/metrics': '2.34.0',\n '@aws-lambda-powertools/parameters': '2.34.0',\n '@aws-lambda-powertools/tracer': '2.34.0',\n '@aws-lambda-powertools/parser': '2.34.0',\n '@aws-sdk/client-appconfigdata': '3.1090.0',\n '@middy/core': '7.7.0',\n '@nxlv/python': '22.2.2',\n '@nx-extend/terraform': '10.3.0',\n '@nx/devkit': '23.1.0',\n '@nx/react': '23.1.0',\n 'create-nx-workspace': '23.1.0',\n '@swc-node/register': '1.12.1',\n '@swc/core': '1.15.43',\n '@modelcontextprotocol/sdk': '1.29.0',\n '@modelcontextprotocol/inspector': '0.22.0',\n '@ag-ui/a2ui-toolkit': '0.0.4',\n '@ag-ui/aws-strands': '0.2.3',\n '@ag-ui/client': '0.0.57',\n '@ag-ui/core': '0.0.57',\n '@ag-ui/encoder': '0.0.57',\n 'agent-chat-cli': '0.3.0',\n '@copilotkit/react-core': '1.63.1',\n rxjs: '7.8.2',\n '@strands-agents/sdk': '1.10.0',\n '@tanstack/react-router': '1.170.18',\n '@tanstack/router-plugin': '1.168.22',\n '@tanstack/router-generator': '1.167.21',\n '@tanstack/virtual-file-routes': '1.162.0',\n '@tanstack/router-utils': '1.162.2',\n '@cloudscape-design/board-components': '3.0.205',\n '@cloudscape-design/chat-components': '1.0.151',\n '@cloudscape-design/components': '3.0.1330',\n '@cloudscape-design/global-styles': '1.0.62',\n '@tanstack/react-query': '5.101.2',\n '@tanstack/react-query-devtools': '5.101.2',\n '@trpc/tanstack-react-query': '11.18.0',\n '@trpc/client': '11.18.0',\n '@trpc/server': '11.18.0',\n '@types/node': '26.1.1',\n '@types/aws-lambda': '8.10.162',\n '@types/cors': '2.8.19',\n '@types/pg': '8.20.0',\n '@types/ws': '8.18.1',\n '@types/express': '5.0.6',\n '@smithy/config-resolver': '4.6.10',\n '@smithy/node-config-provider': '4.5.10',\n '@smithy/node-http-handler': '4.9.7',\n '@smithy/types': '4.16.1',\n '@vitest/coverage-v8': '4.1.10',\n '@vitest/ui': '4.1.10',\n '@astrojs/react': '6.0.1',\n '@astrojs/starlight': '0.41.3',\n astro: '7.1.1',\n aws4fetch: '1.0.20',\n 'aws-cdk': '2.1132.0',\n 'aws-cdk-lib': '2.261.0',\n 'aws-xray-sdk-core': '3.12.0',\n constructs: '10.7.0',\n cors: '2.8.6',\n chalk: '5.6.2',\n 'class-variance-authority': '0.7.1',\n clsx: '2.1.1',\n commander: '15.0.0',\n electrodb: '3.9.1',\n esbuild: '0.28.1',\n 'event-source-polyfill': '1.0.31',\n '@types/event-source-polyfill': '1.0.5',\n '@biomejs/biome': '2.5.4',\n '@prisma/adapter-mariadb': '7.8.0',\n '@prisma/adapter-pg': '7.8.0',\n '@prisma/client': '7.8.0',\n ejs: '6.0.1',\n '@types/ejs': '3.1.5',\n express: '5.2.1',\n 'fast-glob': '3.3.3',\n husky: '9.1.7',\n 'fs-extra': '11.3.6',\n '@types/fs-extra': '11.0.4',\n 'make-dir-cli': '4.0.0',\n mariadb: '3.5.3',\n ncp: '2.0.0',\n npm: '12.0.1',\n 'npm-check-updates': '22.2.9',\n 'oidc-client-ts': '3.5.0',\n pg: '8.22.0',\n prisma: '7.8.0',\n 'react-oidc-context': '3.3.1',\n react: '19.2.7',\n 'react-dom': '19.2.7',\n rimraf: '6.1.3',\n rolldown: '1.2.0',\n 'simple-git': '3.36.0',\n 'source-map-support': '0.5.21',\n 'starlight-blog': '0.28.0',\n tailwindcss: '4.3.3',\n '@tailwindcss/vite': '4.3.3',\n tsx: '4.23.1',\n 'lucide-react': '1.25.0',\n 'radix-ui': '1.6.2',\n shadcn: '4.13.1',\n 'tw-animate-css': '1.4.0',\n 'tailwind-merge': '3.6.0',\n vite: '8.1.5',\n typescript: '6.0.3',\n vitest: '4.1.10',\n zod: '4.4.3',\n ws: '8.21.1',\n} as const;\nexport type ITsDepVersion = keyof typeof TS_VERSIONS;\n\n/**\n * Add versions to the given dependencies\n */\nexport const withVersions = (deps: ITsDepVersion[]) =>\n Object.fromEntries(deps.map((dep) => [dep, TS_VERSIONS[dep]]));\n\n/**\n * Versions for Python dependencies added by generators\n */\nexport const PY_VERSIONS = {\n 'a2a-sdk': '==0.3.26',\n 'ag-ui-langgraph': '==0.0.42',\n 'ag-ui-protocol': '==0.1.19',\n 'ag-ui-strands': '==0.2.2',\n 'aws-lambda-powertools': '==3.31.1',\n 'aws-lambda-powertools[tracer]': '==3.31.1',\n 'aws-lambda-powertools[parser]': '==3.31.1',\n 'aws-opentelemetry-distro': '==0.18.0',\n 'bedrock-agentcore': '==1.18.1',\n boto3: '==1.43.51',\n checkov: '==3.3.8',\n fastapi: '==0.139.2',\n 'fastapi[standard]': '==0.139.2',\n httpx: '==0.28.1',\n langchain: '==1.3.14',\n 'langchain-aws': '==1.6.2',\n 'langchain-mcp-adapters': '==0.3.0',\n langgraph: '==1.2.9',\n mcp: '==1.28.1',\n 'pip-check-updates': '==0.29.0',\n 'pip-licenses': '==5.5.5',\n ruff: '==0.15.22',\n 'strands-agents': '==1.48.0',\n 'strands-agents[a2a]': '==1.48.0',\n 'strands-agents-tools': '==0.8.4',\n ty: '==0.0.61',\n pynamodb: '==6.1.0',\n uvicorn: '==0.51.0',\n sqlmodel: '==0.0.39',\n alembic: '==1.18.5',\n aiomysql: '==0.3.2',\n asyncpg: '==0.31.0',\n // Pinned explicitly: SQLAlchemy's async engine pulls greenlet transitively,\n // and leaving it unpinned lets uv resolve to a just-released version whose\n // platform wheels may not all be published yet (breaking aarch64 installs).\n greenlet: '==3.5.4',\n} as const;\nexport type IPyDepVersion = keyof typeof PY_VERSIONS;\n\n/**\n * Add versions to the given dependencies\n */\nexport const withPyVersions = (deps: IPyDepVersion[]) =>\n deps.map((dep) => `${dep}${PY_VERSIONS[dep]}`);\n\n/**\n * Versions for vendored tools\n */\nexport const VENDORED_VERSIONS = {\n 'git-secrets': '1.3.0',\n} as const;\n\n/**\n * Base container images used by generated Dockerfiles. Pinned exactly so\n * generated images are reproducible, and chosen to be free of known\n * HIGH/CRITICAL vulnerabilities at time of generation.\n */\nexport const BASE_IMAGES = {\n node: 'public.ecr.aws/docker/library/node:lts-slim',\n python: 'public.ecr.aws/docker/library/python:3.14-slim',\n} as const;\n\n/**\n * Versions for container tooling used by generated image build/scan targets.\n * Pinned exactly so generated images are reproducible.\n */\nexport const CONTAINER_VERSIONS = {\n // ECR-hosted Trivy image used to scan built images during the build.\n trivy: '0.72.0',\n} as const;\n\n/**\n * Exact versions for Terraform providers used by generated `.tf` modules.\n * Pinned exactly (no range operator) so generated infrastructure is reproducible.\n */\nexport const TERRAFORM_VERSIONS = {\n aws: '6.55.0',\n random: '3.9.0',\n null: '3.3.0',\n archive: '2.8.0',\n external: '2.4.0',\n local: '2.9.0',\n} as const;\nexport type ITerraformProviderVersion = keyof typeof TERRAFORM_VERSIONS;\n\n/**\n * Substitution variables exposing Terraform provider version constraints to\n * generated `.tf` templates (e.g. `version = \"<%- awsProviderVersion %>\"`)\n */\nexport const terraformProviderVersions = () => ({\n awsProviderVersion: TERRAFORM_VERSIONS.aws,\n randomProviderVersion: TERRAFORM_VERSIONS.random,\n nullProviderVersion: TERRAFORM_VERSIONS.null,\n archiveProviderVersion: TERRAFORM_VERSIONS.archive,\n externalProviderVersion: TERRAFORM_VERSIONS.external,\n localProviderVersion: TERRAFORM_VERSIONS.local,\n});\n"],"names":["TS_VERSIONS","rxjs","astro","aws4fetch","constructs","cors","chalk","clsx","commander","electrodb","esbuild","ejs","express","husky","mariadb","ncp","npm","pg","prisma","react","rimraf","rolldown","tailwindcss","tsx","shadcn","vite","typescript","vitest","zod","ws","withVersions","deps","Object","fromEntries","map","dep","PY_VERSIONS","boto3","checkov","fastapi","httpx","langchain","langgraph","mcp","ruff","ty","pynamodb","uvicorn","sqlmodel","alembic","aiomysql","asyncpg","greenlet","withPyVersions","VENDORED_VERSIONS","BASE_IMAGES","node","python","CONTAINER_VERSIONS","trivy","TERRAFORM_VERSIONS","aws","random","null","archive","external","local","terraformProviderVersions","awsProviderVersion","randomProviderVersion","nullProviderVersion","archiveProviderVersion","externalProviderVersion","localProviderVersion"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Versons for TypeScript dependencies added by generators\n */\nexport const TS_VERSIONS = {\n '@a2a-js/sdk': '0.3.14',\n '@aws/aws-distro-opentelemetry-node-autoinstrumentation': '0.12.0',\n // Pinned above the version the ADOT autoinstrumentation package resolves\n // transitively (2.8.0) to clear CVE-2026-59892 (HIGH).\n '@opentelemetry/propagator-jaeger': '2.9.0',\n // Overridden in the vended agent/MCP image builds to clear CVE-2026-14257\n // (HIGH) in brace-expansion: minimatch 10 is the lowest major depending on\n // brace-expansion 5.x, the only line Trivy's `< 5.0.8` advisory range treats\n // as fixed. Overriding brace-expansion directly is not viable — 5.x drops the\n // CommonJS default export that minimatch 9 calls.\n minimatch: '10.2.5',\n '@aws-sdk/client-dynamodb': '3.1090.0',\n '@aws-sdk/client-api-gateway': '3.1090.0',\n '@aws-sdk/client-iam': '3.1090.0',\n '@aws-sdk/client-bedrock-agentcore': '3.1090.0',\n '@aws-sdk/client-bedrock-runtime': '3.1090.0',\n '@aws-sdk/client-s3': '3.1090.0',\n '@aws-sdk/client-sts': '3.1090.0',\n '@aws-sdk/credential-providers': '3.1090.0',\n '@aws-sdk/credential-provider-cognito-identity': '3.972.58',\n '@aws-sdk/client-secrets-manager': '3.1090.0',\n '@aws-sdk/rds-signer': '3.1090.0',\n '@aws-smithy/server-apigateway': '1.0.0-alpha.10',\n '@aws-smithy/server-node': '1.0.0-alpha.10',\n '@aws-lambda-powertools/logger': '2.34.0',\n '@aws-lambda-powertools/metrics': '2.34.0',\n '@aws-lambda-powertools/parameters': '2.34.0',\n '@aws-lambda-powertools/tracer': '2.34.0',\n '@aws-lambda-powertools/parser': '2.34.0',\n '@aws-sdk/client-appconfigdata': '3.1090.0',\n '@middy/core': '7.7.0',\n '@nxlv/python': '22.2.2',\n '@nx-extend/terraform': '10.3.0',\n '@nx/devkit': '23.1.0',\n '@nx/react': '23.1.0',\n 'create-nx-workspace': '23.1.0',\n '@swc-node/register': '1.12.1',\n '@swc/core': '1.15.43',\n '@modelcontextprotocol/sdk': '1.29.0',\n '@modelcontextprotocol/inspector': '0.22.0',\n '@ag-ui/a2ui-toolkit': '0.0.4',\n '@ag-ui/aws-strands': '0.2.3',\n '@ag-ui/client': '0.0.57',\n '@ag-ui/core': '0.0.57',\n '@ag-ui/encoder': '0.0.57',\n 'agent-chat-cli': '0.3.0',\n '@copilotkit/react-core': '1.63.1',\n rxjs: '7.8.2',\n '@strands-agents/sdk': '1.10.0',\n '@tanstack/react-router': '1.170.18',\n '@tanstack/router-plugin': '1.168.22',\n '@tanstack/router-generator': '1.167.21',\n '@tanstack/virtual-file-routes': '1.162.0',\n '@tanstack/router-utils': '1.162.2',\n '@cloudscape-design/board-components': '3.0.205',\n '@cloudscape-design/chat-components': '1.0.151',\n '@cloudscape-design/components': '3.0.1330',\n '@cloudscape-design/global-styles': '1.0.62',\n '@tanstack/react-query': '5.101.2',\n '@tanstack/react-query-devtools': '5.101.2',\n '@trpc/tanstack-react-query': '11.18.0',\n '@trpc/client': '11.18.0',\n '@trpc/server': '11.18.0',\n '@types/node': '26.1.1',\n '@types/aws-lambda': '8.10.162',\n '@types/cors': '2.8.19',\n '@types/pg': '8.20.0',\n '@types/ws': '8.18.1',\n '@types/express': '5.0.6',\n '@smithy/config-resolver': '4.6.10',\n '@smithy/node-config-provider': '4.5.10',\n '@smithy/node-http-handler': '4.9.7',\n '@smithy/types': '4.16.1',\n '@vitest/coverage-v8': '4.1.10',\n '@vitest/ui': '4.1.10',\n '@astrojs/react': '6.0.1',\n '@astrojs/starlight': '0.41.3',\n astro: '7.1.1',\n aws4fetch: '1.0.20',\n 'aws-cdk': '2.1132.0',\n 'aws-cdk-lib': '2.261.0',\n 'aws-xray-sdk-core': '3.12.0',\n constructs: '10.7.0',\n cors: '2.8.6',\n chalk: '5.6.2',\n 'class-variance-authority': '0.7.1',\n clsx: '2.1.1',\n commander: '15.0.0',\n electrodb: '3.9.1',\n esbuild: '0.28.1',\n 'event-source-polyfill': '1.0.31',\n '@types/event-source-polyfill': '1.0.5',\n '@biomejs/biome': '2.5.4',\n '@prisma/adapter-mariadb': '7.8.0',\n '@prisma/adapter-pg': '7.8.0',\n '@prisma/client': '7.8.0',\n ejs: '6.0.1',\n '@types/ejs': '3.1.5',\n express: '5.2.1',\n 'fast-glob': '3.3.3',\n husky: '9.1.7',\n 'fs-extra': '11.3.6',\n '@types/fs-extra': '11.0.4',\n 'make-dir-cli': '4.0.0',\n mariadb: '3.5.3',\n ncp: '2.0.0',\n npm: '12.0.1',\n 'npm-check-updates': '22.2.9',\n 'oidc-client-ts': '3.5.0',\n pg: '8.22.0',\n prisma: '7.8.0',\n 'react-oidc-context': '3.3.1',\n react: '19.2.7',\n 'react-dom': '19.2.7',\n rimraf: '6.1.3',\n rolldown: '1.2.0',\n 'simple-git': '3.36.0',\n 'source-map-support': '0.5.21',\n 'starlight-blog': '0.28.0',\n tailwindcss: '4.3.3',\n '@tailwindcss/vite': '4.3.3',\n tsx: '4.23.1',\n 'lucide-react': '1.25.0',\n 'radix-ui': '1.6.2',\n shadcn: '4.13.1',\n 'tw-animate-css': '1.4.0',\n 'tailwind-merge': '3.6.0',\n vite: '8.1.5',\n typescript: '6.0.3',\n vitest: '4.1.10',\n zod: '4.4.3',\n ws: '8.21.1',\n} as const;\nexport type ITsDepVersion = keyof typeof TS_VERSIONS;\n\n/**\n * Add versions to the given dependencies\n */\nexport const withVersions = (deps: ITsDepVersion[]) =>\n Object.fromEntries(deps.map((dep) => [dep, TS_VERSIONS[dep]]));\n\n/**\n * Versions for Python dependencies added by generators\n */\nexport const PY_VERSIONS = {\n 'a2a-sdk': '==0.3.26',\n 'ag-ui-langgraph': '==0.0.42',\n 'ag-ui-protocol': '==0.1.19',\n 'ag-ui-strands': '==0.2.2',\n 'aws-lambda-powertools': '==3.31.1',\n 'aws-lambda-powertools[tracer]': '==3.31.1',\n 'aws-lambda-powertools[parser]': '==3.31.1',\n 'aws-opentelemetry-distro': '==0.18.0',\n 'bedrock-agentcore': '==1.18.1',\n boto3: '==1.43.51',\n checkov: '==3.3.8',\n fastapi: '==0.139.2',\n 'fastapi[standard]': '==0.139.2',\n httpx: '==0.28.1',\n langchain: '==1.3.14',\n 'langchain-aws': '==1.6.2',\n 'langchain-mcp-adapters': '==0.3.0',\n langgraph: '==1.2.9',\n mcp: '==1.28.1',\n 'pip-check-updates': '==0.29.0',\n 'pip-licenses': '==5.5.5',\n ruff: '==0.15.22',\n 'strands-agents': '==1.48.0',\n 'strands-agents[a2a]': '==1.48.0',\n 'strands-agents-tools': '==0.8.4',\n ty: '==0.0.61',\n pynamodb: '==6.1.0',\n uvicorn: '==0.51.0',\n sqlmodel: '==0.0.39',\n alembic: '==1.18.5',\n aiomysql: '==0.3.2',\n asyncpg: '==0.31.0',\n // Pinned explicitly: SQLAlchemy's async engine pulls greenlet transitively,\n // and leaving it unpinned lets uv resolve to a just-released version whose\n // platform wheels may not all be published yet (breaking aarch64 installs).\n greenlet: '==3.5.4',\n} as const;\nexport type IPyDepVersion = keyof typeof PY_VERSIONS;\n\n/**\n * Add versions to the given dependencies\n */\nexport const withPyVersions = (deps: IPyDepVersion[]) =>\n deps.map((dep) => `${dep}${PY_VERSIONS[dep]}`);\n\n/**\n * Versions for vendored tools\n */\nexport const VENDORED_VERSIONS = {\n 'git-secrets': '1.3.0',\n} as const;\n\n/**\n * Base container images used by generated Dockerfiles. Pinned exactly so\n * generated images are reproducible, and chosen to be free of known\n * HIGH/CRITICAL vulnerabilities at time of generation.\n */\nexport const BASE_IMAGES = {\n node: 'public.ecr.aws/docker/library/node:lts-slim',\n python: 'public.ecr.aws/docker/library/python:3.14-slim',\n} as const;\n\n/**\n * Versions for container tooling used by generated image build/scan targets.\n * Pinned exactly so generated images are reproducible.\n */\nexport const CONTAINER_VERSIONS = {\n // ECR-hosted Trivy image used to scan built images during the build.\n trivy: '0.72.0',\n} as const;\n\n/**\n * Exact versions for Terraform providers used by generated `.tf` modules.\n * Pinned exactly (no range operator) so generated infrastructure is reproducible.\n */\nexport const TERRAFORM_VERSIONS = {\n aws: '6.55.0',\n random: '3.9.0',\n null: '3.3.0',\n archive: '2.8.0',\n external: '2.4.0',\n local: '2.9.0',\n time: '0.14.0',\n} as const;\nexport type ITerraformProviderVersion = keyof typeof TERRAFORM_VERSIONS;\n\n/**\n * Substitution variables exposing Terraform provider version constraints to\n * generated `.tf` templates (e.g. `version = \"<%- awsProviderVersion %>\"`)\n */\nexport const terraformProviderVersions = () => ({\n awsProviderVersion: TERRAFORM_VERSIONS.aws,\n randomProviderVersion: TERRAFORM_VERSIONS.random,\n nullProviderVersion: TERRAFORM_VERSIONS.null,\n archiveProviderVersion: TERRAFORM_VERSIONS.archive,\n externalProviderVersion: TERRAFORM_VERSIONS.external,\n localProviderVersion: TERRAFORM_VERSIONS.local,\n timeProviderVersion: TERRAFORM_VERSIONS.time,\n});\n"],"names":["TS_VERSIONS","minimatch","rxjs","astro","aws4fetch","constructs","cors","chalk","clsx","commander","electrodb","esbuild","ejs","express","husky","mariadb","ncp","npm","pg","prisma","react","rimraf","rolldown","tailwindcss","tsx","shadcn","vite","typescript","vitest","zod","ws","withVersions","deps","Object","fromEntries","map","dep","PY_VERSIONS","boto3","checkov","fastapi","httpx","langchain","langgraph","mcp","ruff","ty","pynamodb","uvicorn","sqlmodel","alembic","aiomysql","asyncpg","greenlet","withPyVersions","VENDORED_VERSIONS","BASE_IMAGES","node","python","CONTAINER_VERSIONS","trivy","TERRAFORM_VERSIONS","aws","random","null","archive","external","local","time","terraformProviderVersions","awsProviderVersion","randomProviderVersion","nullProviderVersion","archiveProviderVersion","externalProviderVersion","localProviderVersion","timeProviderVersion"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
- * SPDX-License-Identifier: Apache-2.0
5
- */ import { startMcpServer } from "../mcp-server/index.js";
6
- void (async ()=>{
7
- try {
8
- await startMcpServer();
9
- } catch (e) {
10
- console.error(e);
11
- }
12
- })();
13
-
14
- //# sourceMappingURL=aws-nx-mcp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../packages/nx-plugin/src/bin/aws-nx-mcp.ts"],"sourcesContent":["#!/usr/bin/env node\n/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { startMcpServer } from '../mcp-server';\n\nvoid (async () => {\n try {\n await startMcpServer();\n } catch (e) {\n console.error(e);\n }\n})();\n"],"names":["startMcpServer","e","console","error"],"mappings":";AACA;;;CAGC,GACD,SAASA,cAAc,QAAQ,yBAAgB;AAE/C,KAAK,AAAC,CAAA;IACJ,IAAI;QACF,MAAMA;IACR,EAAE,OAAOC,GAAG;QACVC,QAAQC,KAAK,CAACF;IAChB;AACF,CAAA"}