@aws/nx-plugin 1.0.0-rc.22 → 1.0.0-rc.24

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 (657) hide show
  1. package/LICENSE-THIRD-PARTY +2088 -971
  2. package/package.json +25 -10
  3. package/src/agentcore-gateway/attach-upstream.d.ts +7 -7
  4. package/src/agentcore-gateway/attach-upstream.js +19 -22
  5. package/src/agentcore-gateway/attach-upstream.js.map +1 -1
  6. package/src/agentcore-gateway/gateway-connection/generator.d.ts +3 -3
  7. package/src/agentcore-gateway/gateway-connection/generator.js +42 -45
  8. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -1
  9. package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
  10. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
  11. package/src/agentcore-gateway/generator.js +89 -72
  12. package/src/agentcore-gateway/generator.js.map +1 -1
  13. package/src/agentcore-gateway/mcp-connection/generator.d.ts +2 -2
  14. package/src/agentcore-gateway/mcp-connection/generator.js +24 -30
  15. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -1
  16. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  17. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  18. package/src/agentcore-gateway/schema.d.js +6 -0
  19. package/src/agentcore-gateway/schema.d.js.map +1 -0
  20. package/src/bin/aws-nx-mcp.js +14 -0
  21. package/src/bin/aws-nx-mcp.js.map +1 -0
  22. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +5 -5
  23. package/src/connection/agent-local-dev.js +42 -0
  24. package/src/connection/agent-local-dev.js.map +1 -0
  25. package/src/connection/agent-runtime-config.js +9 -14
  26. package/src/connection/agent-runtime-config.js.map +1 -1
  27. package/src/connection/generator.js +262 -207
  28. package/src/connection/generator.js.map +1 -1
  29. package/src/connection/{serve-local.d.ts → local-dev.d.ts} +3 -3
  30. package/src/connection/local-dev.js +37 -0
  31. package/src/connection/local-dev.js.map +1 -0
  32. package/src/connection/schema.d.js +6 -0
  33. package/src/connection/schema.d.js.map +1 -0
  34. package/src/index.js +2 -5
  35. package/src/index.js.map +1 -1
  36. package/src/infra/app/__snapshots__/generator.spec.ts.snap +4 -26
  37. package/src/infra/app/generator.js +133 -123
  38. package/src/infra/app/generator.js.map +1 -1
  39. package/src/infra/app/schema.d.js +6 -0
  40. package/src/infra/app/schema.d.js.map +1 -0
  41. package/src/license/config-types.js +5 -3
  42. package/src/license/config-types.js.map +1 -1
  43. package/src/license/config.d.ts +1 -1
  44. package/src/license/config.js +267 -242
  45. package/src/license/config.js.map +1 -1
  46. package/src/license/dependency-check/check.js +51 -46
  47. package/src/license/dependency-check/check.js.map +1 -1
  48. package/src/license/dependency-check/collectors/collector.js +41 -71
  49. package/src/license/dependency-check/collectors/collector.js.map +1 -1
  50. package/src/license/dependency-check/collectors/npm-collector.js +34 -41
  51. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -1
  52. package/src/license/dependency-check/collectors/python-collector.js +55 -62
  53. package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
  54. package/src/license/dependency-check/evaluator.js +40 -68
  55. package/src/license/dependency-check/evaluator.js.map +1 -1
  56. package/src/license/dependency-check/executor.js +30 -22
  57. package/src/license/dependency-check/executor.js.map +1 -1
  58. package/src/license/dependency-check/pre-approved.js +949 -336
  59. package/src/license/dependency-check/pre-approved.js.map +1 -1
  60. package/src/license/dependency-check/types.js +2 -3
  61. package/src/license/dependency-check/types.js.map +1 -1
  62. package/src/license/generator.js +55 -60
  63. package/src/license/generator.js.map +1 -1
  64. package/src/license/index.js +3 -9
  65. package/src/license/index.js.map +1 -1
  66. package/src/license/known-exceptions.js +14 -13
  67. package/src/license/known-exceptions.js.map +1 -1
  68. package/src/license/schema.d.js +6 -0
  69. package/src/license/schema.d.js.map +1 -0
  70. package/src/license/sync/generator.js +94 -119
  71. package/src/license/sync/generator.js.map +1 -1
  72. package/src/license/sync/project-file-sync.js +28 -35
  73. package/src/license/sync/project-file-sync.js.map +1 -1
  74. package/src/mcp-server/generator-info.js +130 -160
  75. package/src/mcp-server/generator-info.js.map +1 -1
  76. package/src/mcp-server/guide-pipeline.js +184 -206
  77. package/src/mcp-server/guide-pipeline.js.map +1 -1
  78. package/src/mcp-server/guide-render.js +10 -25
  79. package/src/mcp-server/guide-render.js.map +1 -1
  80. package/src/mcp-server/index.js +6 -10
  81. package/src/mcp-server/index.js.map +1 -1
  82. package/src/mcp-server/mdx-ast.js +39 -57
  83. package/src/mcp-server/mdx-ast.js.map +1 -1
  84. package/src/mcp-server/option-filter.js +33 -47
  85. package/src/mcp-server/option-filter.js.map +1 -1
  86. package/src/mcp-server/schema-registry.js +27 -40
  87. package/src/mcp-server/schema-registry.js.map +1 -1
  88. package/src/mcp-server/schema.js +9 -7
  89. package/src/mcp-server/schema.js.map +1 -1
  90. package/src/mcp-server/server.js +20 -24
  91. package/src/mcp-server/server.js.map +1 -1
  92. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  93. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  94. package/src/mcp-server/tools/general-guidance.js +28 -25
  95. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  96. package/src/mcp-server/tools/generator-guide.js +29 -37
  97. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  98. package/src/mcp-server/tools/list-generators.js +19 -25
  99. package/src/mcp-server/tools/list-generators.js.map +1 -1
  100. package/src/open-api/ts-client/generator.js +16 -26
  101. package/src/open-api/ts-client/generator.js.map +1 -1
  102. package/src/open-api/ts-client/schema.d.js +6 -0
  103. package/src/open-api/ts-client/schema.d.js.map +1 -0
  104. package/src/open-api/ts-hooks/generator.js +13 -21
  105. package/src/open-api/ts-hooks/generator.js.map +1 -1
  106. package/src/open-api/ts-hooks/schema.d.js +6 -0
  107. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  108. package/src/open-api/ts-metadata/generator.js +12 -20
  109. package/src/open-api/ts-metadata/generator.js.map +1 -1
  110. package/src/open-api/ts-metadata/schema.d.js +6 -0
  111. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  112. package/src/open-api/utils/codegen-data/languages.js +42 -60
  113. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  114. package/src/open-api/utils/codegen-data/types.js +31 -30
  115. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  116. package/src/open-api/utils/codegen-data.js +253 -269
  117. package/src/open-api/utils/codegen-data.js.map +1 -1
  118. package/src/open-api/utils/normalise.js +242 -241
  119. package/src/open-api/utils/normalise.js.map +1 -1
  120. package/src/open-api/utils/parse.js +8 -14
  121. package/src/open-api/utils/parse.js.map +1 -1
  122. package/src/open-api/utils/refs.js +12 -22
  123. package/src/open-api/utils/refs.js.map +1 -1
  124. package/src/open-api/utils/types.js +5 -2
  125. package/src/open-api/utils/types.js.map +1 -1
  126. package/src/preset/__snapshots__/generator.spec.ts.snap +31 -6
  127. package/src/preset/generator.d.ts +1 -1
  128. package/src/preset/generator.js +130 -112
  129. package/src/preset/generator.js.map +1 -1
  130. package/src/preset/schema.d.js +6 -0
  131. package/src/preset/schema.d.js.map +1 -0
  132. package/src/preset/schema.d.ts +0 -1
  133. package/src/preset/schema.json +0 -5
  134. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
  135. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.frameworks.spec.ts.snap} +18 -845
  136. package/src/py/agent/__snapshots__/generator.protocols.spec.ts.snap +535 -0
  137. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -2
  138. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +1 -1
  139. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +1 -1
  140. package/src/py/agent/a2a-connection/generator.js +70 -75
  141. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  142. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  143. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  144. package/src/py/agent/files/ag-ui-langchain/main.py.template +10 -0
  145. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +6 -8
  146. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +3 -3
  147. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +3 -3
  148. package/src/py/agent/gateway-connection/generator.js +61 -58
  149. package/src/py/agent/gateway-connection/generator.js.map +1 -1
  150. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  151. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  152. package/src/py/agent/generator.js +227 -194
  153. package/src/py/agent/generator.js.map +1 -1
  154. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +5 -12
  155. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +1 -1
  156. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +1 -1
  157. package/src/py/agent/mcp-connection/generator.js +53 -52
  158. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  159. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  160. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  161. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -2
  162. package/src/py/agent/react-connection/generator.js +51 -58
  163. package/src/py/agent/react-connection/generator.js.map +1 -1
  164. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +4 -4
  165. package/src/py/agent/react-connection/local-dev.js +36 -0
  166. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  167. package/src/py/agent/react-connection/schema.d.js +8 -0
  168. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  169. package/src/py/agent/schema.d.js +6 -0
  170. package/src/py/agent/schema.d.js.map +1 -0
  171. package/src/py/api/generator.js +12 -12
  172. package/src/py/api/generator.js.map +1 -1
  173. package/src/py/api/schema.d.js +6 -0
  174. package/src/py/api/schema.d.js.map +1 -0
  175. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +68 -28
  176. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  177. package/src/py/dynamodb/agent-connection/generator.js +27 -29
  178. package/src/py/dynamodb/agent-connection/generator.js.map +1 -1
  179. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  180. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  181. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +3 -3
  182. package/src/py/dynamodb/fast-api-connection/generator.js +26 -28
  183. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -1
  184. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  185. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  186. package/src/py/dynamodb/files/__name__/client.py.template +5 -5
  187. package/src/py/dynamodb/files/__name__/entities/base.py.template +2 -2
  188. package/src/py/dynamodb/files/config.json.template +1 -1
  189. package/src/py/dynamodb/generator.js +63 -62
  190. package/src/py/dynamodb/generator.js.map +1 -1
  191. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  192. package/src/py/dynamodb/mcp-server-connection/generator.js +27 -29
  193. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -1
  194. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  195. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  196. package/src/py/dynamodb/schema.d.js +6 -0
  197. package/src/py/dynamodb/schema.d.js.map +1 -0
  198. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +45 -4632
  199. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
  200. package/src/py/fast-api/generator.js +79 -85
  201. package/src/py/fast-api/generator.js.map +1 -1
  202. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +3 -2
  203. package/src/py/fast-api/react/generator.js +22 -24
  204. package/src/py/fast-api/react/generator.js.map +1 -1
  205. package/src/py/fast-api/react/open-api.js +28 -29
  206. package/src/py/fast-api/react/open-api.js.map +1 -1
  207. package/src/py/fast-api/react/schema.d.js +6 -0
  208. package/src/py/fast-api/react/schema.d.js.map +1 -0
  209. package/src/py/fast-api/schema.d.js +6 -0
  210. package/src/py/fast-api/schema.d.js.map +1 -0
  211. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  212. package/src/py/lambda-function/generator.js +57 -58
  213. package/src/py/lambda-function/generator.js.map +1 -1
  214. package/src/py/lambda-function/schema.d.js +6 -0
  215. package/src/py/lambda-function/schema.d.js.map +1 -0
  216. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
  217. package/src/py/mcp-server/generator.js +149 -131
  218. package/src/py/mcp-server/generator.js.map +1 -1
  219. package/src/py/mcp-server/schema.d.js +6 -0
  220. package/src/py/mcp-server/schema.d.js.map +1 -0
  221. package/src/py/project/generator.d.ts +14 -1
  222. package/src/py/project/generator.js +137 -88
  223. package/src/py/project/generator.js.map +1 -1
  224. package/src/py/project/schema.d.js +6 -0
  225. package/src/py/project/schema.d.js.map +1 -0
  226. package/src/sdk/agentcore-gateway.d.ts +6 -0
  227. package/src/sdk/agentcore-gateway.js +7 -0
  228. package/src/sdk/agentcore-gateway.js.map +1 -0
  229. package/src/sdk/connection.d.ts +6 -0
  230. package/src/sdk/connection.js +6 -0
  231. package/src/sdk/connection.js.map +1 -0
  232. package/{sdk → src/sdk}/license.d.ts +4 -4
  233. package/src/sdk/license.js +7 -0
  234. package/src/sdk/license.js.map +1 -0
  235. package/src/sdk/open-api.d.ts +10 -0
  236. package/src/sdk/open-api.js +8 -0
  237. package/src/sdk/open-api.js.map +1 -0
  238. package/src/sdk/py.d.ts +14 -0
  239. package/src/sdk/py.js +10 -0
  240. package/src/sdk/py.js.map +1 -0
  241. package/src/sdk/terraform.d.ts +6 -0
  242. package/src/sdk/terraform.js +7 -0
  243. package/src/sdk/terraform.js.map +1 -0
  244. package/src/sdk/ts.d.ts +33 -0
  245. package/src/sdk/ts.js +35 -0
  246. package/src/sdk/ts.js.map +1 -0
  247. package/{sdk → src/sdk}/utils/ast.d.ts +2 -2
  248. package/src/sdk/utils/ast.js +7 -0
  249. package/src/sdk/utils/ast.js.map +1 -0
  250. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  251. package/src/sdk/utils/format.js +6 -0
  252. package/src/sdk/utils/format.js.map +1 -0
  253. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  254. package/src/sdk/utils/test.js +6 -0
  255. package/src/sdk/utils/test.js.map +1 -0
  256. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +2 -8
  257. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  258. package/src/smithy/project/generator.js +44 -42
  259. package/src/smithy/project/generator.js.map +1 -1
  260. package/src/smithy/project/schema.d.js +6 -0
  261. package/src/smithy/project/schema.d.js.map +1 -0
  262. package/src/smithy/react-connection/generator.js +35 -46
  263. package/src/smithy/react-connection/generator.js.map +1 -1
  264. package/src/smithy/react-connection/schema.d.js +6 -0
  265. package/src/smithy/react-connection/schema.d.js.map +1 -0
  266. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +395 -72
  267. package/src/smithy/ts/api/generator.js +121 -111
  268. package/src/smithy/ts/api/generator.js.map +1 -1
  269. package/src/smithy/ts/api/schema.d.js +6 -0
  270. package/src/smithy/ts/api/schema.d.js.map +1 -0
  271. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  272. package/src/terraform/project/generator.js +141 -103
  273. package/src/terraform/project/generator.js.map +1 -1
  274. package/src/terraform/project/schema.d.js +9 -0
  275. package/src/terraform/project/schema.d.js.map +1 -0
  276. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +336 -92
  277. package/src/trpc/backend/generator.js +93 -86
  278. package/src/trpc/backend/generator.js.map +1 -1
  279. package/src/trpc/backend/schema.d.js +6 -0
  280. package/src/trpc/backend/schema.d.js.map +1 -0
  281. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -1
  282. package/src/trpc/react/generator.js +59 -58
  283. package/src/trpc/react/generator.js.map +1 -1
  284. package/src/trpc/react/schema.d.js +6 -0
  285. package/src/trpc/react/schema.d.js.map +1 -0
  286. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +11 -11
  287. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -1
  288. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +1 -1
  289. package/src/ts/agent/a2a-connection/generator.js +58 -54
  290. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  291. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  292. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  293. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +5 -5
  294. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +3 -3
  295. package/src/ts/agent/gateway-connection/generator.js +57 -52
  296. package/src/ts/agent/gateway-connection/generator.js.map +1 -1
  297. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  298. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  299. package/src/ts/agent/generator.js +165 -136
  300. package/src/ts/agent/generator.js.map +1 -1
  301. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +1 -1
  302. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +1 -1
  303. package/src/ts/agent/mcp-connection/generator.js +48 -46
  304. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  305. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  306. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  307. package/src/ts/agent/react-connection/generator.js +79 -79
  308. package/src/ts/agent/react-connection/generator.js.map +1 -1
  309. package/src/ts/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +2 -2
  310. package/src/ts/agent/react-connection/local-dev.js +17 -0
  311. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  312. package/src/ts/agent/react-connection/schema.d.js +8 -0
  313. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  314. package/src/ts/agent/schema.d.js +6 -0
  315. package/src/ts/agent/schema.d.js.map +1 -0
  316. package/src/ts/api/generator.js +16 -18
  317. package/src/ts/api/generator.js.map +1 -1
  318. package/src/ts/api/schema.d.js +6 -0
  319. package/src/ts/api/schema.d.js.map +1 -0
  320. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +8 -8
  321. package/src/ts/astro-docs/generator.js +59 -48
  322. package/src/ts/astro-docs/generator.js.map +1 -1
  323. package/src/ts/astro-docs/schema.d.js +6 -0
  324. package/src/ts/astro-docs/schema.d.js.map +1 -0
  325. package/src/ts/docs/generator.js +10 -10
  326. package/src/ts/docs/generator.js.map +1 -1
  327. package/src/ts/docs/schema.d.js +6 -0
  328. package/src/ts/docs/schema.d.js.map +1 -0
  329. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +68 -30
  330. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  331. package/src/ts/dynamodb/agent-connection/generator.js +21 -23
  332. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  333. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  334. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  335. package/src/ts/dynamodb/files/config.json.template +1 -1
  336. package/src/ts/dynamodb/files/src/client.ts.template +7 -7
  337. package/src/ts/dynamodb/generator.js +64 -63
  338. package/src/ts/dynamodb/generator.js.map +1 -1
  339. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  340. package/src/ts/dynamodb/mcp-server-connection/generator.js +21 -23
  341. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  342. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  343. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  344. package/src/ts/dynamodb/schema.d.js +6 -0
  345. package/src/ts/dynamodb/schema.d.js.map +1 -0
  346. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  347. package/src/ts/dynamodb/smithy-connection/generator.js +20 -22
  348. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  349. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  350. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  351. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  352. package/src/ts/dynamodb/trpc-connection/generator.js +20 -22
  353. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  354. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  355. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  356. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  357. package/src/ts/lambda-function/generator.js +55 -55
  358. package/src/ts/lambda-function/generator.js.map +1 -1
  359. package/src/ts/lambda-function/io.js +83 -52
  360. package/src/ts/lambda-function/io.js.map +1 -1
  361. package/src/ts/lambda-function/schema.d.js +6 -0
  362. package/src/ts/lambda-function/schema.d.js.map +1 -0
  363. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +23 -36
  364. package/src/ts/lib/biome.js +37 -37
  365. package/src/ts/lib/biome.js.map +1 -1
  366. package/src/ts/lib/generator.js +75 -77
  367. package/src/ts/lib/generator.js.map +1 -1
  368. package/src/ts/lib/schema.d.js +6 -0
  369. package/src/ts/lib/schema.d.js.map +1 -0
  370. package/src/ts/lib/ts-project-utils.js +65 -70
  371. package/src/ts/lib/ts-project-utils.js.map +1 -1
  372. package/src/ts/lib/types.js +5 -2
  373. package/src/ts/lib/types.js.map +1 -1
  374. package/src/ts/lib/vitest.js +29 -26
  375. package/src/ts/lib/vitest.js.map +1 -1
  376. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
  377. package/src/ts/mcp-server/generator.js +157 -138
  378. package/src/ts/mcp-server/generator.js.map +1 -1
  379. package/src/ts/mcp-server/schema.d.js +6 -0
  380. package/src/ts/mcp-server/schema.d.js.map +1 -0
  381. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +14 -9
  382. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  383. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +4 -4
  384. package/src/ts/nx-generator/generator.js +84 -83
  385. package/src/ts/nx-generator/generator.js.map +1 -1
  386. package/src/ts/nx-generator/schema.d.js +6 -0
  387. package/src/ts/nx-generator/schema.d.js.map +1 -0
  388. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  389. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  390. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  391. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  392. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  393. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  394. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  395. package/src/ts/nx-plugin/generator.js +49 -48
  396. package/src/ts/nx-plugin/generator.js.map +1 -1
  397. package/src/ts/nx-plugin/schema.d.js +9 -0
  398. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  399. package/src/ts/nx-plugin/utils.js +32 -44
  400. package/src/ts/nx-plugin/utils.js.map +1 -1
  401. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +34 -30
  402. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  403. package/src/ts/rdb/agent-connection/generator.js +38 -39
  404. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  405. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  406. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  407. package/src/ts/rdb/files/config.json.template +1 -1
  408. package/src/ts/rdb/files/prisma.config.ts.template +2 -2
  409. package/src/ts/rdb/files/src/prisma.ts.template +7 -7
  410. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  411. package/src/ts/rdb/generator.js +130 -117
  412. package/src/ts/rdb/generator.js.map +1 -1
  413. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  414. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  415. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  416. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  417. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  418. package/src/ts/rdb/schema.d.js +6 -0
  419. package/src/ts/rdb/schema.d.js.map +1 -0
  420. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  421. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  422. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  423. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  424. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  425. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  426. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  427. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  428. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  429. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  430. package/src/ts/rdb/utils.js +9 -11
  431. package/src/ts/rdb/utils.js.map +1 -1
  432. package/src/ts/react-website/agui/generator.js +69 -61
  433. package/src/ts/react-website/agui/generator.js.map +1 -1
  434. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +179 -332
  435. package/src/ts/react-website/app/generator.js +197 -188
  436. package/src/ts/react-website/app/generator.js.map +1 -1
  437. package/src/ts/react-website/app/schema.d.js +6 -0
  438. package/src/ts/react-website/app/schema.d.js.map +1 -0
  439. package/src/ts/react-website/app/schema.json +6 -6
  440. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +118 -4
  441. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +27 -7
  442. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  443. package/src/ts/react-website/cognito-auth/generator.js +60 -60
  444. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  445. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  446. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  447. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  448. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  449. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  450. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  451. package/src/ts/react-website/runtime-config/generator.js +29 -31
  452. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  453. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  454. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  455. package/src/ts/sync/generator.js +60 -59
  456. package/src/ts/sync/generator.js.map +1 -1
  457. package/src/ts/website/app/generator.js +10 -10
  458. package/src/ts/website/app/generator.js.map +1 -1
  459. package/src/ts/website/app/schema.d.js +6 -0
  460. package/src/ts/website/app/schema.d.js.map +1 -0
  461. package/src/ts/website/app/schema.json +6 -6
  462. package/src/ts/website/auth/generator.js +11 -11
  463. package/src/ts/website/auth/generator.js.map +1 -1
  464. package/src/ts/website/auth/schema.d.js +6 -0
  465. package/src/ts/website/auth/schema.d.js.map +1 -0
  466. package/src/utils/agent-chat/agent-chat.d.ts +1 -1
  467. package/src/utils/agent-chat/agent-chat.js +11 -12
  468. package/src/utils/agent-chat/agent-chat.js.map +1 -1
  469. package/src/utils/agent-chat/files/a2a/chat.ts.template +1 -1
  470. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +1 -1
  471. package/src/utils/agent-chat/files/http-py/chat.ts.template +1 -1
  472. package/src/utils/agent-chat/files/http-ts/chat.ts.template +1 -1
  473. package/src/utils/agent-connection/agent-connection.d.ts +9 -3
  474. package/src/utils/agent-connection/agent-connection.js +133 -147
  475. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  476. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +1 -1
  477. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +1 -1
  478. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +1 -1
  479. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +1 -1
  480. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +1 -1
  481. package/src/utils/agent-core-constructs/agent-core-constructs.js +53 -50
  482. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  483. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  484. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +5 -5
  485. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +2 -2
  486. package/src/utils/api-constructs/api-constructs.js +30 -31
  487. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  488. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +14 -6
  489. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
  490. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  491. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +28 -14
  492. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
  493. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +91 -4
  494. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  495. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  496. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  497. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  498. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  499. package/src/utils/ast/website.js +17 -19
  500. package/src/utils/ast/website.js.map +1 -1
  501. package/src/utils/ast.js +72 -97
  502. package/src/utils/ast.js.map +1 -1
  503. package/src/utils/bundle/bundle.js +50 -47
  504. package/src/utils/bundle/bundle.js.map +1 -1
  505. package/src/utils/commands.js +47 -26
  506. package/src/utils/commands.js.map +1 -1
  507. package/src/utils/config/index.d.ts +2 -2
  508. package/src/utils/config/index.js +5 -4
  509. package/src/utils/config/index.js.map +1 -1
  510. package/src/utils/config/utils.js +48 -58
  511. package/src/utils/config/utils.js.map +1 -1
  512. package/src/utils/connection/open-api/react.d.ts +5 -5
  513. package/src/utils/connection/open-api/react.js +81 -77
  514. package/src/utils/connection/open-api/react.js.map +1 -1
  515. package/src/utils/containers.js +22 -23
  516. package/src/utils/containers.js.map +1 -1
  517. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +32 -33
  518. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  519. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +12 -2
  520. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  521. package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +2 -2
  522. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +1 -1
  523. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +17 -2
  524. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  525. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  526. package/src/utils/files/common/scripts/src/rdb/{pull-image.ts.template → shared/pull-image.ts.template} +1 -1
  527. package/src/utils/files/common/scripts/src/rdb/{start-container.ts.template → shared/start-container.ts.template} +16 -1
  528. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
  529. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  530. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +3 -3
  531. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  532. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +2 -2
  533. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  534. package/src/utils/format.js +153 -99
  535. package/src/utils/format.js.map +1 -1
  536. package/src/utils/fs.js +14 -13
  537. package/src/utils/fs.js.map +1 -1
  538. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  539. package/src/utils/function-constructs/function-constructs.js +21 -26
  540. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  541. package/src/utils/generators.js +18 -20
  542. package/src/utils/generators.js.map +1 -1
  543. package/src/utils/git.js +19 -34
  544. package/src/utils/git.js.map +1 -1
  545. package/src/utils/iac-providers.js +5 -5
  546. package/src/utils/iac-providers.js.map +1 -1
  547. package/src/utils/iac.js +12 -14
  548. package/src/utils/iac.js.map +1 -1
  549. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +112 -2
  550. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +19 -6
  551. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +104 -2
  552. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  553. package/src/utils/identity-constructs/identity-constructs.js +24 -28
  554. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  555. package/src/utils/js.js +27 -20
  556. package/src/utils/js.js.map +1 -1
  557. package/src/utils/mcp.js +34 -41
  558. package/src/utils/mcp.js.map +1 -1
  559. package/src/utils/metrics.js +30 -45
  560. package/src/utils/metrics.js.map +1 -1
  561. package/src/utils/mock-project-graph.js +8 -12
  562. package/src/utils/mock-project-graph.js.map +1 -1
  563. package/src/utils/names.d.ts +16 -0
  564. package/src/utils/names.js +39 -48
  565. package/src/utils/names.js.map +1 -1
  566. package/src/utils/npm-scope.js +9 -17
  567. package/src/utils/npm-scope.js.map +1 -1
  568. package/src/utils/nx.d.ts +18 -2
  569. package/src/utils/nx.js +111 -74
  570. package/src/utils/nx.js.map +1 -1
  571. package/src/utils/nxlv-python.js +27 -15
  572. package/src/utils/nxlv-python.js.map +1 -1
  573. package/src/utils/object.js +5 -11
  574. package/src/utils/object.js.map +1 -1
  575. package/src/utils/paths.js +11 -15
  576. package/src/utils/paths.js.map +1 -1
  577. package/src/utils/pkg-manager.js +4 -9
  578. package/src/utils/pkg-manager.js.map +1 -1
  579. package/src/utils/pnpm-workspace.js +22 -22
  580. package/src/utils/pnpm-workspace.js.map +1 -1
  581. package/src/utils/port.js +26 -36
  582. package/src/utils/port.js.map +1 -1
  583. package/src/utils/py.d.ts +14 -1
  584. package/src/utils/py.js +63 -45
  585. package/src/utils/py.js.map +1 -1
  586. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  587. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +3 -3
  588. package/src/utils/rdb-constructs/rdb-constructs.js +31 -33
  589. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  590. package/src/utils/shared-constructs-constants.js +16 -16
  591. package/src/utils/shared-constructs-constants.js.map +1 -1
  592. package/src/utils/shared-constructs.js +57 -54
  593. package/src/utils/shared-constructs.js.map +1 -1
  594. package/src/utils/shared-dynamodb-scripts.js +16 -14
  595. package/src/utils/shared-dynamodb-scripts.js.map +1 -1
  596. package/src/utils/shared-infra-config.js +30 -31
  597. package/src/utils/shared-infra-config.js.map +1 -1
  598. package/src/utils/shared-infra-scripts.js +30 -25
  599. package/src/utils/shared-infra-scripts.js.map +1 -1
  600. package/src/utils/shared-rdb-scripts.d.ts +8 -3
  601. package/src/utils/shared-rdb-scripts.js +21 -13
  602. package/src/utils/shared-rdb-scripts.js.map +1 -1
  603. package/src/utils/shared-scripts.js +12 -17
  604. package/src/utils/shared-scripts.js.map +1 -1
  605. package/src/utils/shared-shadcn.js +64 -60
  606. package/src/utils/shared-shadcn.js.map +1 -1
  607. package/src/utils/test.d.ts +8 -0
  608. package/src/utils/test.js +33 -25
  609. package/src/utils/test.js.map +1 -1
  610. package/src/utils/toml.js +7 -15
  611. package/src/utils/toml.js.map +1 -1
  612. package/src/utils/versions.d.ts +31 -4
  613. package/src/utils/versions.js +40 -23
  614. package/src/utils/versions.js.map +1 -1
  615. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  616. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +4 -4
  617. package/src/utils/website-constructs/website-constructs.js +31 -30
  618. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  619. package/bin/aws-nx-mcp.js +0 -17
  620. package/bin/aws-nx-mcp.js.map +0 -1
  621. package/sdk/agentcore-gateway.d.ts +0 -6
  622. package/sdk/agentcore-gateway.js +0 -11
  623. package/sdk/agentcore-gateway.js.map +0 -1
  624. package/sdk/connection.d.ts +0 -6
  625. package/sdk/connection.js +0 -10
  626. package/sdk/connection.js.map +0 -1
  627. package/sdk/license.js +0 -14
  628. package/sdk/license.js.map +0 -1
  629. package/sdk/open-api.d.ts +0 -10
  630. package/sdk/open-api.js +0 -15
  631. package/sdk/open-api.js.map +0 -1
  632. package/sdk/py.d.ts +0 -14
  633. package/sdk/py.js +0 -18
  634. package/sdk/py.js.map +0 -1
  635. package/sdk/terraform.d.ts +0 -6
  636. package/sdk/terraform.js +0 -11
  637. package/sdk/terraform.js.map +0 -1
  638. package/sdk/ts.d.ts +0 -33
  639. package/sdk/ts.js +0 -53
  640. package/sdk/ts.js.map +0 -1
  641. package/sdk/utils/ast.js +0 -12
  642. package/sdk/utils/ast.js.map +0 -1
  643. package/sdk/utils/format.js +0 -10
  644. package/sdk/utils/format.js.map +0 -1
  645. package/sdk/utils/test.js +0 -10
  646. package/sdk/utils/test.js.map +0 -1
  647. package/src/connection/agent-serve-local.js +0 -48
  648. package/src/connection/agent-serve-local.js.map +0 -1
  649. package/src/connection/serve-local.js +0 -41
  650. package/src/connection/serve-local.js.map +0 -1
  651. package/src/py/agent/react-connection/serve-local.js +0 -38
  652. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  653. package/src/ts/agent/react-connection/serve-local.js +0 -19
  654. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  655. package/src/utils/files/common/scripts/src/rdb/wait-for-db.ts.template +0 -59
  656. /package/src/agentcore-gateway/files/project/{serve-local.ts.template → local-dev.ts.template} +0 -0
  657. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/connection/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/connection/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n joinPathFragments,\n type ProjectConfiguration,\n type Tree,\n} from '@nx/devkit';\nimport agentcoreGatewayGatewayConnectionGenerator from '../agentcore-gateway/gateway-connection/generator';\nimport { AGENTCORE_GATEWAY_GENERATOR_INFO } from '../agentcore-gateway/generator';\nimport agentcoreGatewayMcpConnectionGenerator from '../agentcore-gateway/mcp-connection/generator';\nimport pyAgentA2aConnectionGenerator from '../py/agent/a2a-connection/generator';\nimport pyAgentGatewayConnectionGenerator from '../py/agent/gateway-connection/generator';\nimport pyAgentMcpConnectionGenerator from '../py/agent/mcp-connection/generator';\nimport pyAgentReactConnectionGenerator from '../py/agent/react-connection/generator';\nimport pyDynamoDBAgentConnectionGenerator from '../py/dynamodb/agent-connection/generator';\nimport pyDynamoDBFastApiConnectionGenerator from '../py/dynamodb/fast-api-connection/generator';\nimport { PY_DYNAMODB_GENERATOR_INFO } from '../py/dynamodb/generator';\nimport pyDynamoDBMcpServerConnectionGenerator from '../py/dynamodb/mcp-server-connection/generator';\nimport fastApiReactGenerator from '../py/fast-api/react/generator';\nimport { SMITHY_PROJECT_GENERATOR_INFO } from '../smithy/project/generator';\nimport smithyReactConnectionGenerator from '../smithy/react-connection/generator';\nimport { TS_SMITHY_API_GENERATOR_INFO } from '../smithy/ts/api/generator';\nimport trpcReactGenerator from '../trpc/react/generator';\nimport tsAgentA2aConnectionGenerator from '../ts/agent/a2a-connection/generator';\nimport tsAgentGatewayConnectionGenerator from '../ts/agent/gateway-connection/generator';\nimport tsAgentMcpConnectionGenerator from '../ts/agent/mcp-connection/generator';\nimport tsAgentReactConnectionGenerator from '../ts/agent/react-connection/generator';\nimport tsDynamoDBAgentConnectionGenerator from '../ts/dynamodb/agent-connection/generator';\nimport { TS_DYNAMODB_GENERATOR_INFO } from '../ts/dynamodb/generator';\nimport tsDynamoDBMcpServerConnectionGenerator from '../ts/dynamodb/mcp-server-connection/generator';\nimport tsDynamoDBSmithyConnectionGenerator from '../ts/dynamodb/smithy-connection/generator';\nimport tsDynamoDBTrpcConnectionGenerator from '../ts/dynamodb/trpc-connection/generator';\nimport tsRdbAgentConnectionGenerator from '../ts/rdb/agent-connection/generator';\nimport { TS_RDB_GENERATOR_INFO } from '../ts/rdb/generator';\nimport tsRdbMcpServerConnectionGenerator from '../ts/rdb/mcp-server-connection/generator';\nimport tsRdbSmithyConnectionGenerator from '../ts/rdb/smithy-connection/generator';\nimport tsRdbTrpcConnectionGenerator from '../ts/rdb/trpc-connection/generator';\nimport { hasExportDeclaration } from '../utils/ast';\nimport {\n type ComponentMetadata,\n readProjectConfigurationUnqualified,\n} from '../utils/nx';\nimport { readToml } from '../utils/toml';\nimport type { ConnectionGeneratorSchema } from './schema';\n\n/**\n * List of supported source and target project types for connections.\n * These can be project-level types (determined by introspection) or\n * component generator ids (from component metadata).\n */\nconst SUPPORTED_PROJECT_TYPES = [\n 'ts#trpc-api',\n 'py#fast-api',\n 'react',\n 'smithy',\n 'ts#rdb',\n 'ts#dynamodb',\n 'py#dynamodb',\n 'agentcore-gateway',\n] as const;\n\ntype ProjectType = (typeof SUPPORTED_PROJECT_TYPES)[number];\n\nexport type Connection = { source: string; target: string };\n\n/**\n * Sentinel value for sourceComponent/targetComponent that means\n * \"use the project-level connection, not a component\".\n */\nexport const PROJECT_COMPONENT_SENTINEL = '.';\n\n/**\n * The result of resolving a connection, including the matched connection\n * and any resolved source/target component metadata.\n */\nexport interface ResolvedConnection {\n readonly connection: Connection;\n readonly sourceComponent?: ComponentMetadata;\n readonly targetComponent?: ComponentMetadata;\n}\n\n/**\n * Enumerates the supported project connections.\n * Source and target can be project-level types or component generator ids.\n */\nconst SUPPORTED_CONNECTIONS = [\n { source: 'ts#trpc-api', target: 'ts#rdb' },\n { source: 'ts#trpc-api', target: 'ts#dynamodb' },\n { source: 'ts#agent', target: 'ts#rdb' },\n { source: 'smithy', target: 'ts#rdb' },\n { source: 'smithy', target: 'ts#dynamodb' },\n { source: 'ts#mcp-server', target: 'ts#rdb' },\n { source: 'ts#mcp-server', target: 'ts#dynamodb' },\n { source: 'react', target: 'ts#trpc-api' },\n { source: 'react', target: 'py#fast-api' },\n { source: 'react', target: 'smithy' },\n { source: 'react', target: 'ts#agent' },\n { source: 'react', target: 'py#agent' },\n { source: 'ts#agent', target: 'ts#mcp-server' },\n { source: 'ts#agent', target: 'py#mcp-server' },\n { source: 'ts#agent', target: 'ts#dynamodb' },\n { source: 'py#agent', target: 'ts#mcp-server' },\n { source: 'py#agent', target: 'py#mcp-server' },\n { source: 'ts#agent', target: 'ts#agent' },\n { source: 'ts#agent', target: 'py#agent' },\n { source: 'py#agent', target: 'ts#agent' },\n { source: 'py#agent', target: 'py#agent' },\n { source: 'ts#agent', target: 'agentcore-gateway' },\n { source: 'py#agent', target: 'agentcore-gateway' },\n { source: 'agentcore-gateway', target: 'ts#mcp-server' },\n { source: 'agentcore-gateway', target: 'py#mcp-server' },\n { source: 'agentcore-gateway', target: 'agentcore-gateway' },\n { source: 'py#fast-api', target: 'py#dynamodb' },\n { source: 'py#agent', target: 'py#dynamodb' },\n { source: 'py#mcp-server', target: 'py#dynamodb' },\n] as const satisfies readonly Connection[];\n\ntype ConnectionKey = (typeof SUPPORTED_CONNECTIONS)[number] extends infer C\n ? C extends Connection\n ? `${C['source']} -> ${C['target']}`\n : never\n : never;\n\n/**\n * Generators for each connection type\n */\n/**\n * Options passed to connection generators, including resolved component metadata.\n */\nexport interface ResolvedConnectionOptions {\n sourceProject: string;\n targetProject: string;\n sourceComponent?: ComponentMetadata;\n targetComponent?: ComponentMetadata;\n}\n\nconst CONNECTION_GENERATORS = {\n 'ts#trpc-api -> ts#rdb': (tree, options) =>\n tsRdbTrpcConnectionGenerator(tree, options),\n 'ts#agent -> ts#rdb': (tree, options) =>\n tsRdbAgentConnectionGenerator(tree, options),\n 'smithy -> ts#rdb': (tree, options) =>\n tsRdbSmithyConnectionGenerator(tree, options),\n 'ts#mcp-server -> ts#rdb': (tree, options) =>\n tsRdbMcpServerConnectionGenerator(tree, options),\n 'ts#trpc-api -> ts#dynamodb': (tree, options) =>\n tsDynamoDBTrpcConnectionGenerator(tree, options),\n 'ts#agent -> ts#dynamodb': (tree, options) =>\n tsDynamoDBAgentConnectionGenerator(tree, options),\n 'smithy -> ts#dynamodb': (tree, options) =>\n tsDynamoDBSmithyConnectionGenerator(tree, options),\n 'ts#mcp-server -> ts#dynamodb': (tree, options) =>\n tsDynamoDBMcpServerConnectionGenerator(tree, options),\n 'react -> ts#trpc-api': (tree, options) =>\n trpcReactGenerator(tree, {\n frontendProjectName: options.sourceProject,\n backendProjectName: options.targetProject,\n }),\n 'react -> py#fast-api': (tree, options) =>\n fastApiReactGenerator(tree, {\n frontendProjectName: options.sourceProject,\n fastApiProjectName: options.targetProject,\n }),\n 'react -> smithy': (tree, options) =>\n smithyReactConnectionGenerator(tree, {\n frontendProjectName: options.sourceProject,\n smithyModelOrBackendProjectName: options.targetProject,\n }),\n 'react -> ts#agent': (tree, options) =>\n tsAgentReactConnectionGenerator(tree, options),\n 'react -> py#agent': (tree, options) =>\n pyAgentReactConnectionGenerator(tree, options),\n 'ts#agent -> ts#mcp-server': (tree, options) =>\n tsAgentMcpConnectionGenerator(tree, options),\n 'ts#agent -> py#mcp-server': (tree, options) =>\n tsAgentMcpConnectionGenerator(tree, options),\n 'py#agent -> ts#mcp-server': (tree, options) =>\n pyAgentMcpConnectionGenerator(tree, options),\n 'py#agent -> py#mcp-server': (tree, options) =>\n pyAgentMcpConnectionGenerator(tree, options),\n 'ts#agent -> ts#agent': (tree, options) =>\n tsAgentA2aConnectionGenerator(tree, options),\n 'ts#agent -> py#agent': (tree, options) =>\n tsAgentA2aConnectionGenerator(tree, options),\n 'py#agent -> ts#agent': (tree, options) =>\n pyAgentA2aConnectionGenerator(tree, options),\n 'py#agent -> py#agent': (tree, options) =>\n pyAgentA2aConnectionGenerator(tree, options),\n 'ts#agent -> agentcore-gateway': (tree, options) =>\n tsAgentGatewayConnectionGenerator(tree, options),\n 'py#agent -> agentcore-gateway': (tree, options) =>\n pyAgentGatewayConnectionGenerator(tree, options),\n 'agentcore-gateway -> ts#mcp-server': (tree, options) =>\n agentcoreGatewayMcpConnectionGenerator(tree, options),\n 'agentcore-gateway -> py#mcp-server': (tree, options) =>\n agentcoreGatewayMcpConnectionGenerator(tree, options),\n 'agentcore-gateway -> agentcore-gateway': (tree, options) =>\n agentcoreGatewayGatewayConnectionGenerator(tree, options),\n 'py#fast-api -> py#dynamodb': (tree, options) =>\n pyDynamoDBFastApiConnectionGenerator(tree, options),\n 'py#agent -> py#dynamodb': (tree, options) =>\n pyDynamoDBAgentConnectionGenerator(tree, options),\n 'py#mcp-server -> py#dynamodb': (tree, options) =>\n pyDynamoDBMcpServerConnectionGenerator(tree, options),\n} satisfies Record<\n ConnectionKey,\n (tree: Tree, options: ResolvedConnectionOptions) => Promise<any>\n>;\n\n/**\n * Generator for a connection between two projects\n */\nexport const connectionGenerator = async (\n tree: Tree,\n options: ConnectionGeneratorSchema,\n) => {\n const resolved = await resolveConnection(tree, options);\n\n const connectionKey =\n `${resolved.connection.source} -> ${resolved.connection.target}` as ConnectionKey;\n\n return await CONNECTION_GENERATORS[connectionKey](tree, {\n sourceProject: options.sourceProject,\n targetProject: options.targetProject,\n sourceComponent: resolved.sourceComponent,\n targetComponent: resolved.targetComponent,\n });\n};\n\n/**\n * Find a component in project metadata matching the given reference.\n * Checks by name first, then by path, then by generator.\n */\nexport const findComponentInMetadata = (\n projectConfiguration: ProjectConfiguration,\n componentRef: string,\n): ComponentMetadata | undefined => {\n const components: ComponentMetadata[] =\n (projectConfiguration.metadata as any)?.components ?? [];\n\n return (\n components.find((c) => c.name === componentRef) ??\n components.find((c) => c.path === componentRef) ??\n components.find((c) => c.generator === componentRef)\n );\n};\n\n/**\n * Represents a candidate source or target for a connection, which may be\n * the project itself or a specific component within the project.\n */\ninterface ConnectionCandidate {\n readonly type: string;\n readonly component?: ComponentMetadata;\n}\n\n/**\n * A matched connection between source and target candidates.\n */\ninterface ConnectionMatch {\n readonly connection: Connection;\n readonly sourceComponent?: ComponentMetadata;\n readonly targetComponent?: ComponentMetadata;\n}\n\n/**\n * Gather all connection candidates for a project configuration. This includes:\n * - The project-level type (if it's a supported type)\n * - Each component's generator id as a candidate type\n */\nconst gatherCandidates = async (\n tree: Tree,\n projectConfig: ProjectConfiguration,\n): Promise<ConnectionCandidate[]> => {\n const type = await determineProjectTypeFromConfig(tree, projectConfig);\n const components: ComponentMetadata[] =\n (projectConfig.metadata as any)?.components ?? [];\n\n return [\n ...(type ? [{ type: type }] : []),\n ...components.map((component) => ({\n type: component.generator,\n component,\n })),\n ];\n};\n\n/**\n * Validate that a specified component exists in the project metadata.\n * Skips validation for undefined refs and the project sentinel '.'.\n */\nconst validateComponent = (\n componentRef: string | undefined,\n projectConfig: ProjectConfiguration,\n side: 'source' | 'target',\n) => {\n if (!componentRef || componentRef === PROJECT_COMPONENT_SENTINEL) return;\n const found = findComponentInMetadata(projectConfig, componentRef);\n if (!found) {\n const components: ComponentMetadata[] =\n (projectConfig.metadata as any)?.components ?? [];\n throw new Error(\n `Component '${componentRef}' not found in ${side} project ${projectConfig.name}. ` +\n `Available components: ${components.length > 0 ? components.map((c) => c.name ?? c.generator).join(', ') : 'none'}`,\n );\n }\n};\n\n/**\n * Narrow candidates based on the user's specified component reference.\n */\nconst filterConnectionCandidatesForComponentReference = (\n componentRef: string | undefined,\n projectConfig: ProjectConfiguration,\n candidates: ConnectionCandidate[],\n supportedConnections: readonly Connection[],\n side: 'source' | 'target',\n): ConnectionCandidate[] => {\n if (!componentRef) return candidates;\n if (componentRef === PROJECT_COMPONENT_SENTINEL) {\n return candidates.filter((c) => !c.component);\n }\n const component = findComponentInMetadata(projectConfig, componentRef);\n if (!component) return candidates;\n const isConnectionParticipant = supportedConnections.some(\n (c) => c[side] === component.generator,\n );\n if (!isConnectionParticipant) return candidates;\n // Filter to the specific matched component, not all components with the same generator\n return candidates.filter((c) => c.component === component);\n};\n\n/**\n * Resolve the connection to use, considering source/target projects and components.\n */\nexport const resolveConnection = async (\n tree: Tree,\n options: ConnectionGeneratorSchema,\n supportedConnections: readonly Connection[] = SUPPORTED_CONNECTIONS,\n): Promise<ResolvedConnection> => {\n const sourceConfig = readProjectConfigurationUnqualified(\n tree,\n options.sourceProject,\n );\n const targetConfig = readProjectConfigurationUnqualified(\n tree,\n options.targetProject,\n );\n\n // Validate explicitly specified components exist\n validateComponent(options.sourceComponent, sourceConfig, 'source');\n validateComponent(options.targetComponent, targetConfig, 'target');\n\n // Gather and narrow candidates\n const sourceCandidates = filterConnectionCandidatesForComponentReference(\n options.sourceComponent,\n sourceConfig,\n await gatherCandidates(tree, sourceConfig),\n supportedConnections,\n 'source',\n );\n const targetCandidates = filterConnectionCandidatesForComponentReference(\n options.targetComponent,\n targetConfig,\n await gatherCandidates(tree, targetConfig),\n supportedConnections,\n 'target',\n );\n\n // Cross-product candidates and find supported connections\n const matches: ConnectionMatch[] = [];\n for (const source of sourceCandidates) {\n for (const target of targetCandidates) {\n const match = supportedConnections.find(\n (c) => c.source === source.type && c.target === target.type,\n );\n if (match) {\n matches.push({\n connection: match,\n sourceComponent: source.component,\n targetComponent: target.component,\n });\n }\n }\n }\n\n if (matches.length === 0) {\n const sourceTypes = [...new Set(sourceCandidates.map((c) => c.type))];\n const targetTypes = [...new Set(targetCandidates.map((c) => c.type))];\n throw new Error(\n `This generator does not support a connection from ${options.sourceProject}${sourceTypes.length > 0 ? ` (${sourceTypes.join(', ')})` : ''} to ${options.targetProject}${targetTypes.length > 0 ? ` (${targetTypes.join(', ')})` : ''}`,\n );\n }\n\n if (matches.length > 1) {\n const connectionDescriptions = matches\n .map((m) => {\n const sourceName = m.sourceComponent?.name;\n const targetName = m.targetComponent?.name;\n const sourceLabel = sourceName\n ? `${sourceName} (${m.connection.source})`\n : m.connection.source;\n const targetLabel = targetName\n ? `${targetName} (${m.connection.target})`\n : m.connection.target;\n return `${sourceLabel} -> ${targetLabel}`;\n })\n .join(', ');\n throw new Error(\n `Ambiguous connection from ${options.sourceProject} to ${options.targetProject}. ` +\n `Multiple supported connections found: ${connectionDescriptions}. ` +\n `Please specify sourceComponent and/or targetComponent to disambiguate.`,\n );\n }\n\n return {\n connection: matches[0].connection,\n sourceComponent: matches[0].sourceComponent,\n targetComponent: matches[0].targetComponent,\n };\n};\n\n/**\n * Determine whether the given project is of a known project type\n */\nexport const determineProjectType = async (\n tree: Tree,\n projectName: string,\n): Promise<ProjectType | undefined> => {\n const projectConfiguration = readProjectConfigurationUnqualified(\n tree,\n projectName,\n );\n return await determineProjectTypeFromConfig(tree, projectConfiguration);\n};\n\n/**\n * Determine whether the given project configuration is of a known project type\n */\nconst determineProjectTypeFromConfig = async (\n tree: Tree,\n projectConfiguration: ProjectConfiguration,\n): Promise<ProjectType | undefined> => {\n // NB: if adding new checks, ensure these go from most to least specific\n // eg. react website is more specific than typescript project\n\n if (await isTrpcApi(tree, projectConfiguration)) {\n return 'ts#trpc-api';\n }\n\n if (isFastApi(tree, projectConfiguration)) {\n return 'py#fast-api';\n }\n\n if (isSmithyApi(tree, projectConfiguration)) {\n return 'smithy';\n }\n\n if (isReact(tree, projectConfiguration)) {\n return 'react';\n }\n\n if (isRdb(projectConfiguration)) {\n return 'ts#rdb';\n }\n\n if (isTsDynamoDB(projectConfiguration)) {\n return 'ts#dynamodb';\n }\n\n if (isPyDynamoDB(projectConfiguration)) {\n return 'py#dynamodb';\n }\n\n if (isAgentCoreGateway(projectConfiguration)) {\n return 'agentcore-gateway';\n }\n\n return undefined;\n};\n\nconst sourceRoot = (projectConfiguration: ProjectConfiguration) =>\n projectConfiguration.sourceRoot ??\n joinPathFragments(projectConfiguration.root, 'src');\n\nconst isTrpcApi = async (\n tree: Tree,\n projectConfiguration: ProjectConfiguration,\n): Promise<boolean> => {\n // If the project.json says it's a trpc api, there's no need for introspection\n if ((projectConfiguration.metadata as any)?.apiType === 'trpc') {\n return true;\n }\n\n // Find the src/index.ts\n const indexTs = tree.read(\n joinPathFragments(sourceRoot(projectConfiguration), 'index.ts'),\n 'utf-8',\n );\n if (indexTs === null) {\n return false;\n }\n\n // If the index file exports an AppRouter, it's a trpc api\n if (await hasExportDeclaration(tree, indexTs, 'AppRouter')) {\n return true;\n }\n\n // If there's a src/router.ts or src/lambdas/router.ts which exports an AppRouter, it's a trpc api\n const trpcRouter =\n tree.read(\n joinPathFragments(sourceRoot(projectConfiguration), 'router.ts'),\n 'utf-8',\n ) ??\n tree.read(\n joinPathFragments(\n sourceRoot(projectConfiguration),\n 'lambdas',\n 'router.ts',\n ),\n 'utf-8',\n );\n\n if (trpcRouter === null) {\n return false;\n }\n\n if (await hasExportDeclaration(tree, trpcRouter, 'AppRouter')) {\n return true;\n }\n\n return false;\n};\n\nconst isReact = (\n tree: Tree,\n projectConfiguration: ProjectConfiguration,\n): boolean => {\n // if there's a main.tsx, it's a react app\n return tree.exists(\n joinPathFragments(sourceRoot(projectConfiguration), 'main.tsx'),\n );\n};\n\nconst isFastApi = (\n tree: Tree,\n projectConfiguration: ProjectConfiguration,\n): boolean => {\n // If the project.json says it's a fast api, there's no need for introspection\n if ((projectConfiguration.metadata as any)?.apiType === 'fast-api') {\n return true;\n }\n\n const pyProjectPath = joinPathFragments(\n projectConfiguration.root,\n 'pyproject.toml',\n );\n if (tree.exists(pyProjectPath)) {\n const pyProject = readToml(tree, pyProjectPath);\n if (((pyProject as any)?.project?.dependencies ?? []).includes('fastapi')) {\n return true;\n }\n }\n\n return false;\n};\n\nconst isSmithyApi = (\n _tree: Tree,\n projectConfiguration: ProjectConfiguration,\n): boolean => {\n // Support selecting either the smithy model or backend project\n return [\n SMITHY_PROJECT_GENERATOR_INFO.id,\n TS_SMITHY_API_GENERATOR_INFO.id,\n ].includes(((projectConfiguration.metadata as any) ?? {}).generator);\n};\n\nconst isRdb = (projectConfiguration: ProjectConfiguration): boolean =>\n ((projectConfiguration.metadata as any) ?? {}).generator ===\n TS_RDB_GENERATOR_INFO.id;\n\nconst isTsDynamoDB = (projectConfiguration: ProjectConfiguration): boolean =>\n ((projectConfiguration.metadata as any) ?? {}).generator ===\n TS_DYNAMODB_GENERATOR_INFO.id;\n\nconst isPyDynamoDB = (projectConfiguration: ProjectConfiguration): boolean =>\n ((projectConfiguration.metadata as any) ?? {}).generator ===\n PY_DYNAMODB_GENERATOR_INFO.id;\n\nconst isAgentCoreGateway = (\n projectConfiguration: ProjectConfiguration,\n): boolean =>\n ((projectConfiguration.metadata as any) ?? {}).generator ===\n AGENTCORE_GATEWAY_GENERATOR_INFO.id;\n\nexport default connectionGenerator;\n"],"names":["joinPathFragments","agentcoreGatewayGatewayConnectionGenerator","AGENTCORE_GATEWAY_GENERATOR_INFO","agentcoreGatewayMcpConnectionGenerator","pyAgentA2aConnectionGenerator","pyAgentGatewayConnectionGenerator","pyAgentMcpConnectionGenerator","pyAgentReactConnectionGenerator","pyDynamoDBAgentConnectionGenerator","pyDynamoDBFastApiConnectionGenerator","PY_DYNAMODB_GENERATOR_INFO","pyDynamoDBMcpServerConnectionGenerator","fastApiReactGenerator","SMITHY_PROJECT_GENERATOR_INFO","smithyReactConnectionGenerator","TS_SMITHY_API_GENERATOR_INFO","trpcReactGenerator","tsAgentA2aConnectionGenerator","tsAgentGatewayConnectionGenerator","tsAgentMcpConnectionGenerator","tsAgentReactConnectionGenerator","tsDynamoDBAgentConnectionGenerator","TS_DYNAMODB_GENERATOR_INFO","tsDynamoDBMcpServerConnectionGenerator","tsDynamoDBSmithyConnectionGenerator","tsDynamoDBTrpcConnectionGenerator","tsRdbAgentConnectionGenerator","TS_RDB_GENERATOR_INFO","tsRdbMcpServerConnectionGenerator","tsRdbSmithyConnectionGenerator","tsRdbTrpcConnectionGenerator","hasExportDeclaration","readProjectConfigurationUnqualified","readToml","SUPPORTED_PROJECT_TYPES","PROJECT_COMPONENT_SENTINEL","SUPPORTED_CONNECTIONS","source","target","CONNECTION_GENERATORS","tree","options","frontendProjectName","sourceProject","backendProjectName","targetProject","fastApiProjectName","smithyModelOrBackendProjectName","connectionGenerator","resolved","resolveConnection","connectionKey","connection","sourceComponent","targetComponent","findComponentInMetadata","projectConfiguration","componentRef","components","metadata","find","c","name","path","generator","gatherCandidates","projectConfig","type","determineProjectTypeFromConfig","map","component","validateComponent","side","found","Error","length","join","filterConnectionCandidatesForComponentReference","candidates","supportedConnections","filter","isConnectionParticipant","some","sourceConfig","targetConfig","sourceCandidates","targetCandidates","matches","match","push","sourceTypes","Set","targetTypes","connectionDescriptions","m","sourceName","targetName","sourceLabel","targetLabel","determineProjectType","projectName","isTrpcApi","isFastApi","isSmithyApi","isReact","isRdb","isTsDynamoDB","isPyDynamoDB","isAgentCoreGateway","undefined","sourceRoot","root","apiType","indexTs","read","trpcRouter","exists","pyProjectPath","pyProject","project","dependencies","includes","_tree","id"],"mappings":"AAAA;;;CAGC,GACD,SACEA,iBAAiB,QAGZ,aAAa;AACpB,OAAOC,gDAAgD,uDAAoD;AAC3G,SAASC,gCAAgC,QAAQ,oCAAiC;AAClF,OAAOC,4CAA4C,mDAAgD;AACnG,OAAOC,mCAAmC,0CAAuC;AACjF,OAAOC,uCAAuC,8CAA2C;AACzF,OAAOC,mCAAmC,0CAAuC;AACjF,OAAOC,qCAAqC,4CAAyC;AACrF,OAAOC,wCAAwC,+CAA4C;AAC3F,OAAOC,0CAA0C,kDAA+C;AAChG,SAASC,0BAA0B,QAAQ,8BAA2B;AACtE,OAAOC,4CAA4C,oDAAiD;AACpG,OAAOC,2BAA2B,oCAAiC;AACnE,SAASC,6BAA6B,QAAQ,iCAA8B;AAC5E,OAAOC,oCAAoC,0CAAuC;AAClF,SAASC,4BAA4B,QAAQ,gCAA6B;AAC1E,OAAOC,wBAAwB,6BAA0B;AACzD,OAAOC,mCAAmC,0CAAuC;AACjF,OAAOC,uCAAuC,8CAA2C;AACzF,OAAOC,mCAAmC,0CAAuC;AACjF,OAAOC,qCAAqC,4CAAyC;AACrF,OAAOC,wCAAwC,+CAA4C;AAC3F,SAASC,0BAA0B,QAAQ,8BAA2B;AACtE,OAAOC,4CAA4C,oDAAiD;AACpG,OAAOC,yCAAyC,gDAA6C;AAC7F,OAAOC,uCAAuC,8CAA2C;AACzF,OAAOC,mCAAmC,0CAAuC;AACjF,SAASC,qBAAqB,QAAQ,yBAAsB;AAC5D,OAAOC,uCAAuC,+CAA4C;AAC1F,OAAOC,oCAAoC,2CAAwC;AACnF,OAAOC,kCAAkC,yCAAsC;AAC/E,SAASC,oBAAoB,QAAQ,kBAAe;AACpD,SAEEC,mCAAmC,QAC9B,iBAAc;AACrB,SAASC,QAAQ,QAAQ,mBAAgB;AAGzC;;;;CAIC,GACD,MAAMC,0BAA0B;IAC9B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAMD;;;CAGC,GACD,OAAO,MAAMC,6BAA6B,IAAI;AAY9C;;;CAGC,GACD,MAAMC,wBAAwB;IAC5B;QAAEC,QAAQ;QAAeC,QAAQ;IAAS;IAC1C;QAAED,QAAQ;QAAeC,QAAQ;IAAc;IAC/C;QAAED,QAAQ;QAAYC,QAAQ;IAAS;IACvC;QAAED,QAAQ;QAAUC,QAAQ;IAAS;IACrC;QAAED,QAAQ;QAAUC,QAAQ;IAAc;IAC1C;QAAED,QAAQ;QAAiBC,QAAQ;IAAS;IAC5C;QAAED,QAAQ;QAAiBC,QAAQ;IAAc;IACjD;QAAED,QAAQ;QAASC,QAAQ;IAAc;IACzC;QAAED,QAAQ;QAASC,QAAQ;IAAc;IACzC;QAAED,QAAQ;QAASC,QAAQ;IAAS;IACpC;QAAED,QAAQ;QAASC,QAAQ;IAAW;IACtC;QAAED,QAAQ;QAASC,QAAQ;IAAW;IACtC;QAAED,QAAQ;QAAYC,QAAQ;IAAgB;IAC9C;QAAED,QAAQ;QAAYC,QAAQ;IAAgB;IAC9C;QAAED,QAAQ;QAAYC,QAAQ;IAAc;IAC5C;QAAED,QAAQ;QAAYC,QAAQ;IAAgB;IAC9C;QAAED,QAAQ;QAAYC,QAAQ;IAAgB;IAC9C;QAAED,QAAQ;QAAYC,QAAQ;IAAW;IACzC;QAAED,QAAQ;QAAYC,QAAQ;IAAW;IACzC;QAAED,QAAQ;QAAYC,QAAQ;IAAW;IACzC;QAAED,QAAQ;QAAYC,QAAQ;IAAW;IACzC;QAAED,QAAQ;QAAYC,QAAQ;IAAoB;IAClD;QAAED,QAAQ;QAAYC,QAAQ;IAAoB;IAClD;QAAED,QAAQ;QAAqBC,QAAQ;IAAgB;IACvD;QAAED,QAAQ;QAAqBC,QAAQ;IAAgB;IACvD;QAAED,QAAQ;QAAqBC,QAAQ;IAAoB;IAC3D;QAAED,QAAQ;QAAeC,QAAQ;IAAc;IAC/C;QAAED,QAAQ;QAAYC,QAAQ;IAAc;IAC5C;QAAED,QAAQ;QAAiBC,QAAQ;IAAc;CAClD;AAqBD,MAAMC,wBAAwB;IAC5B,yBAAyB,CAACC,MAAMC,UAC9BX,6BAA6BU,MAAMC;IACrC,sBAAsB,CAACD,MAAMC,UAC3Bf,8BAA8Bc,MAAMC;IACtC,oBAAoB,CAACD,MAAMC,UACzBZ,+BAA+BW,MAAMC;IACvC,2BAA2B,CAACD,MAAMC,UAChCb,kCAAkCY,MAAMC;IAC1C,8BAA8B,CAACD,MAAMC,UACnChB,kCAAkCe,MAAMC;IAC1C,2BAA2B,CAACD,MAAMC,UAChCpB,mCAAmCmB,MAAMC;IAC3C,yBAAyB,CAACD,MAAMC,UAC9BjB,oCAAoCgB,MAAMC;IAC5C,gCAAgC,CAACD,MAAMC,UACrClB,uCAAuCiB,MAAMC;IAC/C,wBAAwB,CAACD,MAAMC,UAC7BzB,mBAAmBwB,MAAM;YACvBE,qBAAqBD,QAAQE,aAAa;YAC1CC,oBAAoBH,QAAQI,aAAa;QAC3C;IACF,wBAAwB,CAACL,MAAMC,UAC7B7B,sBAAsB4B,MAAM;YAC1BE,qBAAqBD,QAAQE,aAAa;YAC1CG,oBAAoBL,QAAQI,aAAa;QAC3C;IACF,mBAAmB,CAACL,MAAMC,UACxB3B,+BAA+B0B,MAAM;YACnCE,qBAAqBD,QAAQE,aAAa;YAC1CI,iCAAiCN,QAAQI,aAAa;QACxD;IACF,qBAAqB,CAACL,MAAMC,UAC1BrB,gCAAgCoB,MAAMC;IACxC,qBAAqB,CAACD,MAAMC,UAC1BlC,gCAAgCiC,MAAMC;IACxC,6BAA6B,CAACD,MAAMC,UAClCtB,8BAA8BqB,MAAMC;IACtC,6BAA6B,CAACD,MAAMC,UAClCtB,8BAA8BqB,MAAMC;IACtC,6BAA6B,CAACD,MAAMC,UAClCnC,8BAA8BkC,MAAMC;IACtC,6BAA6B,CAACD,MAAMC,UAClCnC,8BAA8BkC,MAAMC;IACtC,wBAAwB,CAACD,MAAMC,UAC7BxB,8BAA8BuB,MAAMC;IACtC,wBAAwB,CAACD,MAAMC,UAC7BxB,8BAA8BuB,MAAMC;IACtC,wBAAwB,CAACD,MAAMC,UAC7BrC,8BAA8BoC,MAAMC;IACtC,wBAAwB,CAACD,MAAMC,UAC7BrC,8BAA8BoC,MAAMC;IACtC,iCAAiC,CAACD,MAAMC,UACtCvB,kCAAkCsB,MAAMC;IAC1C,iCAAiC,CAACD,MAAMC,UACtCpC,kCAAkCmC,MAAMC;IAC1C,sCAAsC,CAACD,MAAMC,UAC3CtC,uCAAuCqC,MAAMC;IAC/C,sCAAsC,CAACD,MAAMC,UAC3CtC,uCAAuCqC,MAAMC;IAC/C,0CAA0C,CAACD,MAAMC,UAC/CxC,2CAA2CuC,MAAMC;IACnD,8BAA8B,CAACD,MAAMC,UACnChC,qCAAqC+B,MAAMC;IAC7C,2BAA2B,CAACD,MAAMC,UAChCjC,mCAAmCgC,MAAMC;IAC3C,gCAAgC,CAACD,MAAMC,UACrC9B,uCAAuC6B,MAAMC;AACjD;AAKA;;CAEC,GACD,OAAO,MAAMO,sBAAsB,OACjCR,MACAC;IAEA,MAAMQ,WAAW,MAAMC,kBAAkBV,MAAMC;IAE/C,MAAMU,gBACJ,GAAGF,SAASG,UAAU,CAACf,MAAM,CAAC,IAAI,EAAEY,SAASG,UAAU,CAACd,MAAM,EAAE;IAElE,OAAO,MAAMC,qBAAqB,CAACY,cAAc,CAACX,MAAM;QACtDG,eAAeF,QAAQE,aAAa;QACpCE,eAAeJ,QAAQI,aAAa;QACpCQ,iBAAiBJ,SAASI,eAAe;QACzCC,iBAAiBL,SAASK,eAAe;IAC3C;AACF,EAAE;AAEF;;;CAGC,GACD,OAAO,MAAMC,0BAA0B,CACrCC,sBACAC;IAEA,MAAMC,aACJ,AAACF,qBAAqBG,QAAQ,EAAUD,cAAc,EAAE;IAE1D,OACEA,WAAWE,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKL,iBAClCC,WAAWE,IAAI,CAAC,CAACC,IAAMA,EAAEE,IAAI,KAAKN,iBAClCC,WAAWE,IAAI,CAAC,CAACC,IAAMA,EAAEG,SAAS,KAAKP;AAE3C,EAAE;AAoBF;;;;CAIC,GACD,MAAMQ,mBAAmB,OACvBzB,MACA0B;IAEA,MAAMC,OAAO,MAAMC,+BAA+B5B,MAAM0B;IACxD,MAAMR,aACJ,AAACQ,cAAcP,QAAQ,EAAUD,cAAc,EAAE;IAEnD,OAAO;WACDS,OAAO;YAAC;gBAAEA,MAAMA;YAAK;SAAE,GAAG,EAAE;WAC7BT,WAAWW,GAAG,CAAC,CAACC,YAAe,CAAA;gBAChCH,MAAMG,UAAUN,SAAS;gBACzBM;YACF,CAAA;KACD;AACH;AAEA;;;CAGC,GACD,MAAMC,oBAAoB,CACxBd,cACAS,eACAM;IAEA,IAAI,CAACf,gBAAgBA,iBAAiBtB,4BAA4B;IAClE,MAAMsC,QAAQlB,wBAAwBW,eAAeT;IACrD,IAAI,CAACgB,OAAO;QACV,MAAMf,aACJ,AAACQ,cAAcP,QAAQ,EAAUD,cAAc,EAAE;QACnD,MAAM,IAAIgB,MACR,CAAC,WAAW,EAAEjB,aAAa,eAAe,EAAEe,KAAK,SAAS,EAAEN,cAAcJ,IAAI,CAAC,EAAE,CAAC,GAChF,CAAC,sBAAsB,EAAEJ,WAAWiB,MAAM,GAAG,IAAIjB,WAAWW,GAAG,CAAC,CAACR,IAAMA,EAAEC,IAAI,IAAID,EAAEG,SAAS,EAAEY,IAAI,CAAC,QAAQ,QAAQ;IAEzH;AACF;AAEA;;CAEC,GACD,MAAMC,kDAAkD,CACtDpB,cACAS,eACAY,YACAC,sBACAP;IAEA,IAAI,CAACf,cAAc,OAAOqB;IAC1B,IAAIrB,iBAAiBtB,4BAA4B;QAC/C,OAAO2C,WAAWE,MAAM,CAAC,CAACnB,IAAM,CAACA,EAAES,SAAS;IAC9C;IACA,MAAMA,YAAYf,wBAAwBW,eAAeT;IACzD,IAAI,CAACa,WAAW,OAAOQ;IACvB,MAAMG,0BAA0BF,qBAAqBG,IAAI,CACvD,CAACrB,IAAMA,CAAC,CAACW,KAAK,KAAKF,UAAUN,SAAS;IAExC,IAAI,CAACiB,yBAAyB,OAAOH;IACrC,uFAAuF;IACvF,OAAOA,WAAWE,MAAM,CAAC,CAACnB,IAAMA,EAAES,SAAS,KAAKA;AAClD;AAEA;;CAEC,GACD,OAAO,MAAMpB,oBAAoB,OAC/BV,MACAC,SACAsC,uBAA8C3C,qBAAqB;IAEnE,MAAM+C,eAAenD,oCACnBQ,MACAC,QAAQE,aAAa;IAEvB,MAAMyC,eAAepD,oCACnBQ,MACAC,QAAQI,aAAa;IAGvB,iDAAiD;IACjD0B,kBAAkB9B,QAAQY,eAAe,EAAE8B,cAAc;IACzDZ,kBAAkB9B,QAAQa,eAAe,EAAE8B,cAAc;IAEzD,+BAA+B;IAC/B,MAAMC,mBAAmBR,gDACvBpC,QAAQY,eAAe,EACvB8B,cACA,MAAMlB,iBAAiBzB,MAAM2C,eAC7BJ,sBACA;IAEF,MAAMO,mBAAmBT,gDACvBpC,QAAQa,eAAe,EACvB8B,cACA,MAAMnB,iBAAiBzB,MAAM4C,eAC7BL,sBACA;IAGF,0DAA0D;IAC1D,MAAMQ,UAA6B,EAAE;IACrC,KAAK,MAAMlD,UAAUgD,iBAAkB;QACrC,KAAK,MAAM/C,UAAUgD,iBAAkB;YACrC,MAAME,QAAQT,qBAAqBnB,IAAI,CACrC,CAACC,IAAMA,EAAExB,MAAM,KAAKA,OAAO8B,IAAI,IAAIN,EAAEvB,MAAM,KAAKA,OAAO6B,IAAI;YAE7D,IAAIqB,OAAO;gBACTD,QAAQE,IAAI,CAAC;oBACXrC,YAAYoC;oBACZnC,iBAAiBhB,OAAOiC,SAAS;oBACjChB,iBAAiBhB,OAAOgC,SAAS;gBACnC;YACF;QACF;IACF;IAEA,IAAIiB,QAAQZ,MAAM,KAAK,GAAG;QACxB,MAAMe,cAAc;eAAI,IAAIC,IAAIN,iBAAiBhB,GAAG,CAAC,CAACR,IAAMA,EAAEM,IAAI;SAAG;QACrE,MAAMyB,cAAc;eAAI,IAAID,IAAIL,iBAAiBjB,GAAG,CAAC,CAACR,IAAMA,EAAEM,IAAI;SAAG;QACrE,MAAM,IAAIO,MACR,CAAC,kDAAkD,EAAEjC,QAAQE,aAAa,GAAG+C,YAAYf,MAAM,GAAG,IAAI,CAAC,EAAE,EAAEe,YAAYd,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,EAAEnC,QAAQI,aAAa,GAAG+C,YAAYjB,MAAM,GAAG,IAAI,CAAC,EAAE,EAAEiB,YAAYhB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAE1O;IAEA,IAAIW,QAAQZ,MAAM,GAAG,GAAG;QACtB,MAAMkB,yBAAyBN,QAC5BlB,GAAG,CAAC,CAACyB;YACJ,MAAMC,aAAaD,EAAEzC,eAAe,EAAES;YACtC,MAAMkC,aAAaF,EAAExC,eAAe,EAAEQ;YACtC,MAAMmC,cAAcF,aAChB,GAAGA,WAAW,EAAE,EAAED,EAAE1C,UAAU,CAACf,MAAM,CAAC,CAAC,CAAC,GACxCyD,EAAE1C,UAAU,CAACf,MAAM;YACvB,MAAM6D,cAAcF,aAChB,GAAGA,WAAW,EAAE,EAAEF,EAAE1C,UAAU,CAACd,MAAM,CAAC,CAAC,CAAC,GACxCwD,EAAE1C,UAAU,CAACd,MAAM;YACvB,OAAO,GAAG2D,YAAY,IAAI,EAAEC,aAAa;QAC3C,GACCtB,IAAI,CAAC;QACR,MAAM,IAAIF,MACR,CAAC,0BAA0B,EAAEjC,QAAQE,aAAa,CAAC,IAAI,EAAEF,QAAQI,aAAa,CAAC,EAAE,CAAC,GAChF,CAAC,sCAAsC,EAAEgD,uBAAuB,EAAE,CAAC,GACnE,CAAC,sEAAsE,CAAC;IAE9E;IAEA,OAAO;QACLzC,YAAYmC,OAAO,CAAC,EAAE,CAACnC,UAAU;QACjCC,iBAAiBkC,OAAO,CAAC,EAAE,CAAClC,eAAe;QAC3CC,iBAAiBiC,OAAO,CAAC,EAAE,CAACjC,eAAe;IAC7C;AACF,EAAE;AAEF;;CAEC,GACD,OAAO,MAAM6C,uBAAuB,OAClC3D,MACA4D;IAEA,MAAM5C,uBAAuBxB,oCAC3BQ,MACA4D;IAEF,OAAO,MAAMhC,+BAA+B5B,MAAMgB;AACpD,EAAE;AAEF;;CAEC,GACD,MAAMY,iCAAiC,OACrC5B,MACAgB;IAEA,wEAAwE;IACxE,6DAA6D;IAE7D,IAAI,MAAM6C,UAAU7D,MAAMgB,uBAAuB;QAC/C,OAAO;IACT;IAEA,IAAI8C,UAAU9D,MAAMgB,uBAAuB;QACzC,OAAO;IACT;IAEA,IAAI+C,YAAY/D,MAAMgB,uBAAuB;QAC3C,OAAO;IACT;IAEA,IAAIgD,QAAQhE,MAAMgB,uBAAuB;QACvC,OAAO;IACT;IAEA,IAAIiD,MAAMjD,uBAAuB;QAC/B,OAAO;IACT;IAEA,IAAIkD,aAAalD,uBAAuB;QACtC,OAAO;IACT;IAEA,IAAImD,aAAanD,uBAAuB;QACtC,OAAO;IACT;IAEA,IAAIoD,mBAAmBpD,uBAAuB;QAC5C,OAAO;IACT;IAEA,OAAOqD;AACT;AAEA,MAAMC,aAAa,CAACtD,uBAClBA,qBAAqBsD,UAAU,IAC/B9G,kBAAkBwD,qBAAqBuD,IAAI,EAAE;AAE/C,MAAMV,YAAY,OAChB7D,MACAgB;IAEA,8EAA8E;IAC9E,IAAI,AAACA,qBAAqBG,QAAQ,EAAUqD,YAAY,QAAQ;QAC9D,OAAO;IACT;IAEA,wBAAwB;IACxB,MAAMC,UAAUzE,KAAK0E,IAAI,CACvBlH,kBAAkB8G,WAAWtD,uBAAuB,aACpD;IAEF,IAAIyD,YAAY,MAAM;QACpB,OAAO;IACT;IAEA,0DAA0D;IAC1D,IAAI,MAAMlF,qBAAqBS,MAAMyE,SAAS,cAAc;QAC1D,OAAO;IACT;IAEA,kGAAkG;IAClG,MAAME,aACJ3E,KAAK0E,IAAI,CACPlH,kBAAkB8G,WAAWtD,uBAAuB,cACpD,YAEFhB,KAAK0E,IAAI,CACPlH,kBACE8G,WAAWtD,uBACX,WACA,cAEF;IAGJ,IAAI2D,eAAe,MAAM;QACvB,OAAO;IACT;IAEA,IAAI,MAAMpF,qBAAqBS,MAAM2E,YAAY,cAAc;QAC7D,OAAO;IACT;IAEA,OAAO;AACT;AAEA,MAAMX,UAAU,CACdhE,MACAgB;IAEA,0CAA0C;IAC1C,OAAOhB,KAAK4E,MAAM,CAChBpH,kBAAkB8G,WAAWtD,uBAAuB;AAExD;AAEA,MAAM8C,YAAY,CAChB9D,MACAgB;IAEA,8EAA8E;IAC9E,IAAI,AAACA,qBAAqBG,QAAQ,EAAUqD,YAAY,YAAY;QAClE,OAAO;IACT;IAEA,MAAMK,gBAAgBrH,kBACpBwD,qBAAqBuD,IAAI,EACzB;IAEF,IAAIvE,KAAK4E,MAAM,CAACC,gBAAgB;QAC9B,MAAMC,YAAYrF,SAASO,MAAM6E;QACjC,IAAI,AAAC,CAAA,AAACC,WAAmBC,SAASC,gBAAgB,EAAE,AAAD,EAAGC,QAAQ,CAAC,YAAY;YACzE,OAAO;QACT;IACF;IAEA,OAAO;AACT;AAEA,MAAMlB,cAAc,CAClBmB,OACAlE;IAEA,+DAA+D;IAC/D,OAAO;QACL3C,8BAA8B8G,EAAE;QAChC5G,6BAA6B4G,EAAE;KAChC,CAACF,QAAQ,CAAC,AAAC,CAAA,AAACjE,qBAAqBG,QAAQ,IAAY,CAAC,CAAA,EAAGK,SAAS;AACrE;AAEA,MAAMyC,QAAQ,CAACjD,uBACb,AAAC,CAAA,AAACA,qBAAqBG,QAAQ,IAAY,CAAC,CAAA,EAAGK,SAAS,KACxDrC,sBAAsBgG,EAAE;AAE1B,MAAMjB,eAAe,CAAClD,uBACpB,AAAC,CAAA,AAACA,qBAAqBG,QAAQ,IAAY,CAAC,CAAA,EAAGK,SAAS,KACxD1C,2BAA2BqG,EAAE;AAE/B,MAAMhB,eAAe,CAACnD,uBACpB,AAAC,CAAA,AAACA,qBAAqBG,QAAQ,IAAY,CAAC,CAAA,EAAGK,SAAS,KACxDtD,2BAA2BiH,EAAE;AAE/B,MAAMf,qBAAqB,CACzBpD,uBAEA,AAAC,CAAA,AAACA,qBAAqBG,QAAQ,IAAY,CAAC,CAAA,EAAGK,SAAS,KACxD9D,iCAAiCyH,EAAE;AAErC,eAAe3E,oBAAoB"}
@@ -3,13 +3,13 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { type Tree } from '@nx/devkit';
6
- export interface ServeLocalOptions {
6
+ export interface LocalDevOptions {
7
7
  apiName: string;
8
8
  url: string;
9
9
  additionalDependencyTargets?: string[];
10
10
  }
11
11
  /**
12
- * Adds the given target project to the source project's serve-local target
12
+ * Adds the given target project to the source project's dev target
13
13
  * Updates the runtime config provider (if it exists)
14
14
  */
15
- export declare const addTargetToServeLocal: (tree: Tree, sourceProjectName: string, targetProjectName: string, options: ServeLocalOptions) => Promise<void>;
15
+ export declare const addTargetToLocalDev: (tree: Tree, sourceProjectName: string, targetProjectName: string, options: LocalDevOptions) => Promise<void>;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { joinPathFragments, updateProjectConfiguration } from "@nx/devkit";
5
+ import { applyGritQL } from "../utils/ast.js";
6
+ import { toClassName } from "../utils/names.js";
7
+ import { addDependencyToTargetIfNotPresent, readProjectConfigurationUnqualified } from "../utils/nx.js";
8
+ /**
9
+ * Adds the given target project to the source project's dev target
10
+ * Updates the runtime config provider (if it exists)
11
+ */ export const addTargetToLocalDev = async (tree, sourceProjectName, targetProjectName, options)=>{
12
+ const sourceProject = readProjectConfigurationUnqualified(tree, sourceProjectName);
13
+ const targetProject = readProjectConfigurationUnqualified(tree, targetProjectName);
14
+ // Target project must have a dev target which is continuous
15
+ if (!(targetProject.targets?.['dev']?.continuous && sourceProject.targets?.['dev'])) {
16
+ return;
17
+ }
18
+ // Add a dependency on the dev target
19
+ addDependencyToTargetIfNotPresent(sourceProject, 'dev', {
20
+ projects: [
21
+ targetProject.name
22
+ ],
23
+ target: 'dev'
24
+ });
25
+ for (const additional of options.additionalDependencyTargets ?? []){
26
+ addDependencyToTargetIfNotPresent(sourceProject, 'dev', additional);
27
+ }
28
+ updateProjectConfiguration(tree, sourceProject.name, sourceProject);
29
+ // Add an override to runtime-config.json for the dev target to use the local url
30
+ const runtimeConfigProvider = joinPathFragments(sourceProject.root, 'src', 'components', 'RuntimeConfig', 'index.tsx');
31
+ if (tree.exists(runtimeConfigProvider)) {
32
+ const className = toClassName(options.apiName);
33
+ await applyGritQL(tree, runtimeConfigProvider, `\`if ($cond) { $stmts }\` => raw\`if ($cond) {\n $stmts\n runtimeConfig.apis.${className} = '${options.url}';\n }\` where { $cond <: contains \`'local-dev'\`, $stmts <: within \`const applyOverrides = $_\`, $stmts <: not contains \`runtimeConfig.apis.${className}\` }`);
34
+ }
35
+ };
36
+
37
+ //# sourceMappingURL=local-dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/connection/local-dev.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n joinPathFragments,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { applyGritQL } from '../utils/ast';\nimport { toClassName } from '../utils/names';\nimport {\n addDependencyToTargetIfNotPresent,\n readProjectConfigurationUnqualified,\n} from '../utils/nx';\n\nexport interface LocalDevOptions {\n apiName: string;\n url: string;\n additionalDependencyTargets?: string[];\n}\n\n/**\n * Adds the given target project to the source project's dev target\n * Updates the runtime config provider (if it exists)\n */\nexport const addTargetToLocalDev = async (\n tree: Tree,\n sourceProjectName: string,\n targetProjectName: string,\n options: LocalDevOptions,\n) => {\n const sourceProject = readProjectConfigurationUnqualified(\n tree,\n sourceProjectName,\n );\n const targetProject = readProjectConfigurationUnqualified(\n tree,\n targetProjectName,\n );\n\n // Target project must have a dev target which is continuous\n if (\n !(\n targetProject.targets?.['dev']?.continuous &&\n sourceProject.targets?.['dev']\n )\n ) {\n return;\n }\n\n // Add a dependency on the dev target\n addDependencyToTargetIfNotPresent(sourceProject, 'dev', {\n projects: [targetProject.name],\n target: 'dev',\n });\n for (const additional of options.additionalDependencyTargets ?? []) {\n addDependencyToTargetIfNotPresent(sourceProject, 'dev', additional);\n }\n updateProjectConfiguration(tree, sourceProject.name, sourceProject);\n\n // Add an override to runtime-config.json for the dev target to use the local url\n const runtimeConfigProvider = joinPathFragments(\n sourceProject.root,\n 'src',\n 'components',\n 'RuntimeConfig',\n 'index.tsx',\n );\n if (tree.exists(runtimeConfigProvider)) {\n const className = toClassName(options.apiName);\n await applyGritQL(\n tree,\n runtimeConfigProvider,\n `\\`if ($cond) { $stmts }\\` => raw\\`if ($cond) {\\n $stmts\\n runtimeConfig.apis.${className} = '${options.url}';\\n }\\` where { $cond <: contains \\`'local-dev'\\`, $stmts <: within \\`const applyOverrides = $_\\`, $stmts <: not contains \\`runtimeConfig.apis.${className}\\` }`,\n );\n }\n};\n"],"names":["joinPathFragments","updateProjectConfiguration","applyGritQL","toClassName","addDependencyToTargetIfNotPresent","readProjectConfigurationUnqualified","addTargetToLocalDev","tree","sourceProjectName","targetProjectName","options","sourceProject","targetProject","targets","continuous","projects","name","target","additional","additionalDependencyTargets","runtimeConfigProvider","root","exists","className","apiName","url"],"mappings":"AAAA;;;CAGC,GACD,SACEA,iBAAiB,EAEjBC,0BAA0B,QACrB,aAAa;AACpB,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,WAAW,QAAQ,oBAAiB;AAC7C,SACEC,iCAAiC,EACjCC,mCAAmC,QAC9B,iBAAc;AAQrB;;;CAGC,GACD,OAAO,MAAMC,sBAAsB,OACjCC,MACAC,mBACAC,mBACAC;IAEA,MAAMC,gBAAgBN,oCACpBE,MACAC;IAEF,MAAMI,gBAAgBP,oCACpBE,MACAE;IAGF,4DAA4D;IAC5D,IACE,CACEG,CAAAA,cAAcC,OAAO,EAAE,CAAC,MAAM,EAAEC,cAChCH,cAAcE,OAAO,EAAE,CAAC,MAAM,AAAD,GAE/B;QACA;IACF;IAEA,qCAAqC;IACrCT,kCAAkCO,eAAe,OAAO;QACtDI,UAAU;YAACH,cAAcI,IAAI;SAAC;QAC9BC,QAAQ;IACV;IACA,KAAK,MAAMC,cAAcR,QAAQS,2BAA2B,IAAI,EAAE,CAAE;QAClEf,kCAAkCO,eAAe,OAAOO;IAC1D;IACAjB,2BAA2BM,MAAMI,cAAcK,IAAI,EAAEL;IAErD,iFAAiF;IACjF,MAAMS,wBAAwBpB,kBAC5BW,cAAcU,IAAI,EAClB,OACA,cACA,iBACA;IAEF,IAAId,KAAKe,MAAM,CAACF,wBAAwB;QACtC,MAAMG,YAAYpB,YAAYO,QAAQc,OAAO;QAC7C,MAAMtB,YACJK,MACAa,uBACA,CAAC,mFAAmF,EAAEG,UAAU,IAAI,EAAEb,QAAQe,GAAG,CAAC,iJAAiJ,EAAEF,UAAU,IAAI,CAAC;IAExR;AACF,EAAE"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ export { };
5
+
6
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/connection/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport interface ConnectionGeneratorSchema {\n sourceProject: string;\n targetProject: string;\n sourceComponent?: string;\n targetComponent?: string;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAED,WAKC"}
package/src/index.js CHANGED
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
1
  /**
5
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
3
  * SPDX-License-Identifier: Apache-2.0
7
- */
8
- tslib_1.__exportStar(require("./utils/config"), exports);
4
+ */ export * from "./utils/config/index.js";
5
+
9
6
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/nx-plugin/src/index.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,yDAA+B"}
1
+ {"version":3,"sources":["../../../../packages/nx-plugin/src/index.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nexport * from './utils/config';\n"],"names":[],"mappings":"AAAA;;;CAGC,GACD,cAAc,0BAAiB"}
@@ -12,10 +12,8 @@ exports[`infra generator > should add required dependencies to package.json > de
12
12
 
13
13
  exports[`infra generator > should add required dependencies to package.json > dev-dependencies 1`] = `
14
14
  {
15
- "@nx/js": "22.7.5",
16
- "@nx/vitest": "22.7.5",
17
- "@swc-node/register": "~1.11.1",
18
- "@swc/core": "~1.15.5",
15
+ "@nx/js": "23.0.1",
16
+ "@nx/vitest": "23.0.1",
19
17
  "@swc/helpers": "~0.5.18",
20
18
  "@types/node": "25.9.3",
21
19
  "@vitest/coverage-v8": "4.1.8",
@@ -37,10 +35,8 @@ exports[`infra generator > should add required dependencies to package.json > pa
37
35
  "source-map-support": "0.5.21",
38
36
  },
39
37
  "devDependencies": {
40
- "@nx/js": "22.7.5",
41
- "@nx/vitest": "22.7.5",
42
- "@swc-node/register": "~1.11.1",
43
- "@swc/core": "~1.15.5",
38
+ "@nx/js": "23.0.1",
39
+ "@nx/vitest": "23.0.1",
44
40
  "@swc/helpers": "~0.5.18",
45
41
  "@types/node": "25.9.3",
46
42
  "@vitest/coverage-v8": "4.1.8",
@@ -247,15 +243,6 @@ exports[`infra generator > should configure project.json with correct targets >
247
243
  "{workspaceRoot}/dist/{projectRoot}/cdk.out",
248
244
  ],
249
245
  },
250
- "test": {
251
- "executor": "@nx/vitest:test",
252
- "options": {
253
- "reportsDirectory": "{workspaceRoot}/coverage/{projectRoot}",
254
- },
255
- "outputs": [
256
- "{options.reportsDirectory}",
257
- ],
258
- },
259
246
  },
260
247
  }
261
248
  `;
@@ -812,15 +799,6 @@ exports[`infra generator > should handle custom project names correctly > custom
812
799
  "{workspaceRoot}/dist/{projectRoot}/cdk.out",
813
800
  ],
814
801
  },
815
- "test": {
816
- "executor": "@nx/vitest:test",
817
- "options": {
818
- "reportsDirectory": "{workspaceRoot}/coverage/{projectRoot}",
819
- },
820
- "outputs": [
821
- "{options.reportsDirectory}",
822
- ],
823
- },
824
802
  },
825
803
  }
826
804
  `;
@@ -1,198 +1,208 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.INFRA_APP_GENERATOR_INFO = void 0;
4
- exports.tsInfraGenerator = tsInfraGenerator;
5
- const tslib_1 = require("tslib");
6
1
  /**
7
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
8
3
  * SPDX-License-Identifier: Apache-2.0
9
- */
10
- const devkit_1 = require("@nx/devkit");
11
- const path_1 = tslib_1.__importDefault(require("path"));
12
- const generator_1 = tslib_1.__importStar(require("../../ts/lib/generator"));
13
- const ts_project_utils_1 = require("../../ts/lib/ts-project-utils");
14
- const containers_1 = require("../../utils/containers");
15
- const format_1 = require("../../utils/format");
16
- const metrics_1 = require("../../utils/metrics");
17
- const names_1 = require("../../utils/names");
18
- const npm_scope_1 = require("../../utils/npm-scope");
19
- const nx_1 = require("../../utils/nx");
20
- const object_1 = require("../../utils/object");
21
- const pkg_manager_1 = require("../../utils/pkg-manager");
22
- const py_1 = require("../../utils/py");
23
- const shared_constructs_1 = require("../../utils/shared-constructs");
24
- const shared_constructs_constants_1 = require("../../utils/shared-constructs-constants");
25
- const shared_infra_config_1 = require("../../utils/shared-infra-config");
26
- const shared_infra_scripts_1 = require("../../utils/shared-infra-scripts");
27
- const versions_1 = require("../../utils/versions");
28
- exports.INFRA_APP_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
29
- async function tsInfraGenerator(tree, schema) {
30
- const lib = (0, generator_1.getTsLibDetails)(tree, schema);
31
- if (!(0, nx_1.projectExists)(tree, lib.fullyQualifiedName)) {
32
- await (0, generator_1.default)(tree, schema);
4
+ */ import { addDependenciesToPackageJson, generateFiles, installPackagesTask, joinPathFragments, OverwriteStrategy, readProjectConfiguration, updateJson } from "@nx/devkit";
5
+ import path from "path";
6
+ import tsProjectGenerator, { getTsLibDetails } from "../../ts/lib/generator.js";
7
+ import { mergeTsReferences } from "../../ts/lib/ts-project-utils.js";
8
+ import { resolveContainers } from "../../utils/containers.js";
9
+ import { formatFilesInSubtree } from "../../utils/format.js";
10
+ import { addGeneratorMetricsIfApplicable } from "../../utils/metrics.js";
11
+ import { kebabCase } from "../../utils/names.js";
12
+ import { getNpmScopePrefix, toScopeAlias } from "../../utils/npm-scope.js";
13
+ import { addDependencyToTargetIfNotPresent, addGeneratorMetadata, getGeneratorInfo, projectExists } from "../../utils/nx.js";
14
+ import { sortObjectKeys } from "../../utils/object.js";
15
+ import { getPackageManagerDisplayCommands } from "../../utils/pkg-manager.js";
16
+ import { uvxCommand } from "../../utils/py.js";
17
+ import { sharedConstructsGenerator } from "../../utils/shared-constructs.js";
18
+ import { PACKAGES_DIR, SHARED_CONSTRUCTS_DIR, SHARED_INFRA_CONFIG_DIR } from "../../utils/shared-constructs-constants.js";
19
+ import { sharedInfraConfigGenerator } from "../../utils/shared-infra-config.js";
20
+ import { sharedInfraScriptsGenerator } from "../../utils/shared-infra-scripts.js";
21
+ import { withVersions } from "../../utils/versions.js";
22
+ export const INFRA_APP_GENERATOR_INFO = getGeneratorInfo(import.meta.filename);
23
+ export async function tsInfraGenerator(tree, schema) {
24
+ const lib = getTsLibDetails(tree, schema);
25
+ if (!projectExists(tree, lib.fullyQualifiedName)) {
26
+ await tsProjectGenerator(tree, schema);
33
27
  }
34
28
  // CDK shells out to a container engine to build image assets. Default
35
29
  // (docker) needs no env override; finch is set via CDK_DOCKER per
36
30
  // https://docs.aws.amazon.com/cdk/v2/guide/build-containers.html#build-container-replace.
37
- const containers = await (0, containers_1.resolveContainers)(tree, 'inherit');
38
- const cdkEnv = containers === 'docker' ? undefined : { CDK_DOCKER: containers };
39
- const withCdkEnv = (opts) => {
40
- if (!cdkEnv)
41
- return opts;
31
+ const containers = await resolveContainers(tree, 'inherit');
32
+ const cdkEnv = containers === 'docker' ? undefined : {
33
+ CDK_DOCKER: containers
34
+ };
35
+ const withCdkEnv = (opts)=>{
36
+ if (!cdkEnv) return opts;
42
37
  const existingEnv = opts.env ?? {};
43
- return { ...opts, env: { ...existingEnv, ...cdkEnv } };
38
+ return {
39
+ ...opts,
40
+ env: {
41
+ ...existingEnv,
42
+ ...cdkEnv
43
+ }
44
+ };
44
45
  };
45
- (0, nx_1.addGeneratorMetadata)(tree, lib.fullyQualifiedName, exports.INFRA_APP_GENERATOR_INFO);
46
+ addGeneratorMetadata(tree, lib.fullyQualifiedName, INFRA_APP_GENERATOR_INFO);
46
47
  // Shared constructs always in CDK for typescript infra generator
47
- await (0, shared_constructs_1.sharedConstructsGenerator)(tree, {
48
- iac: 'cdk',
48
+ await sharedConstructsGenerator(tree, {
49
+ iac: 'cdk'
49
50
  });
50
51
  // Shared infra-config and infra-scripts packages (lazy creation, only when enabled)
51
52
  const stageConfig = schema.stageConfig ?? false;
52
53
  if (stageConfig) {
53
- await (0, shared_infra_config_1.sharedInfraConfigGenerator)(tree);
54
- await (0, shared_infra_scripts_1.sharedInfraScriptsGenerator)(tree);
54
+ await sharedInfraConfigGenerator(tree);
55
+ await sharedInfraScriptsGenerator(tree);
55
56
  }
56
57
  const synthDirFromRoot = `/dist/${lib.dir}/cdk.out`;
57
- const synthDirFromProject = lib.dir
58
- .split('/')
59
- .map(() => '..')
60
- .join('/') + `/dist/${lib.dir}/cdk.out`;
61
- const distDirFromProjectRoot = lib.dir
62
- .split('/')
63
- .map(() => '..')
64
- .join('/') + '/dist/{projectRoot}/cdk.out';
65
- const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, lib.fullyQualifiedName);
58
+ const synthDirFromProject = lib.dir.split('/').map(()=>'..').join('/') + `/dist/${lib.dir}/cdk.out`;
59
+ const distDirFromProjectRoot = lib.dir.split('/').map(()=>'..').join('/') + '/dist/{projectRoot}/cdk.out';
60
+ const projectConfig = readProjectConfiguration(tree, lib.fullyQualifiedName);
66
61
  const libraryRoot = projectConfig.root;
67
- const npmScopePrefix = (0, npm_scope_1.getNpmScopePrefix)(tree);
68
- const scopeAlias = (0, npm_scope_1.toScopeAlias)(npmScopePrefix);
62
+ const npmScopePrefix = getNpmScopePrefix(tree);
63
+ const scopeAlias = toScopeAlias(npmScopePrefix);
69
64
  const fullyQualifiedName = `${npmScopePrefix}${schema.name}`;
70
- tree.delete((0, devkit_1.joinPathFragments)(libraryRoot, 'src'));
71
- (0, devkit_1.generateFiles)(tree, // the virtual file system
72
- (0, devkit_1.joinPathFragments)(__dirname, './files/app'), // path to the file templates
73
- libraryRoot, // destination path of the files
74
- {
65
+ tree.delete(joinPathFragments(libraryRoot, 'src'));
66
+ generateFiles(tree, joinPathFragments(import.meta.dirname, './files/app'), libraryRoot, {
75
67
  synthDir: synthDirFromProject,
76
68
  scopeAlias: scopeAlias,
77
- namespace: (0, names_1.kebabCase)(fullyQualifiedName),
69
+ namespace: kebabCase(fullyQualifiedName),
78
70
  fullyQualifiedName,
79
- pkgMgrCmd: (0, pkg_manager_1.getPackageManagerDisplayCommands)().exec,
71
+ pkgMgrCmd: getPackageManagerDisplayCommands().exec,
80
72
  dir: lib.dir,
81
73
  stageConfig,
82
- ...schema,
74
+ ...schema
83
75
  }, {
84
- overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
76
+ overwriteStrategy: OverwriteStrategy.Overwrite
85
77
  });
86
- (0, devkit_1.updateJson)(tree, `${libraryRoot}/project.json`, (config) => {
78
+ updateJson(tree, `${libraryRoot}/project.json`, (config)=>{
87
79
  config.projectType = 'application';
88
- (0, nx_1.addDependencyToTargetIfNotPresent)(config, 'build', 'synth');
89
- (0, nx_1.addDependencyToTargetIfNotPresent)(config, 'build', 'checkov');
80
+ addDependencyToTargetIfNotPresent(config, 'build', 'synth');
81
+ addDependencyToTargetIfNotPresent(config, 'build', 'checkov');
90
82
  config.targets.compile.outputs = [
91
- '{workspaceRoot}/dist/{projectRoot}/tsc',
83
+ '{workspaceRoot}/dist/{projectRoot}/tsc'
92
84
  ];
93
85
  config.targets.synth = {
94
86
  cache: true,
95
87
  executor: 'nx:run-commands',
96
- inputs: ['default'],
97
- outputs: ['{workspaceRoot}/dist/{projectRoot}/cdk.out'],
98
- dependsOn: ['^build', 'compile'], // compile clobbers dist directory, so ensure synth runs afterwards
88
+ inputs: [
89
+ 'default'
90
+ ],
91
+ outputs: [
92
+ '{workspaceRoot}/dist/{projectRoot}/cdk.out'
93
+ ],
94
+ dependsOn: [
95
+ '^build',
96
+ 'compile'
97
+ ],
99
98
  options: withCdkEnv({
100
99
  cwd: '{projectRoot}',
101
- command: 'cdk synth',
102
- }),
100
+ command: 'cdk synth'
101
+ })
103
102
  };
104
103
  config.targets.checkov = {
105
104
  cache: true,
106
105
  executor: 'nx:run-commands',
107
- inputs: ['{workspaceRoot}/dist/{projectRoot}/cdk.out'],
108
- outputs: ['{workspaceRoot}/dist/{projectRoot}/checkov'],
109
- dependsOn: ['synth'],
106
+ inputs: [
107
+ '{workspaceRoot}/dist/{projectRoot}/cdk.out'
108
+ ],
109
+ outputs: [
110
+ '{workspaceRoot}/dist/{projectRoot}/checkov'
111
+ ],
112
+ dependsOn: [
113
+ 'synth'
114
+ ],
110
115
  options: {
111
- command: (0, py_1.uvxCommand)('checkov', '--config-file {projectRoot}/checkov.yml --directory dist/{projectRoot}/cdk.out --framework cloudformation'),
112
- },
116
+ command: uvxCommand('checkov', '--config-file {projectRoot}/checkov.yml --directory dist/{projectRoot}/cdk.out --framework cloudformation')
117
+ }
113
118
  };
114
119
  config.targets.deploy = {
115
120
  executor: 'nx:run-commands',
116
- dependsOn: ['^build', 'compile'],
117
- options: stageConfig
118
- ? withCdkEnv({
119
- command: `tsx packages/common/scripts/src/infra/infra-deploy.ts ${libraryRoot}`,
120
- })
121
- : withCdkEnv({
122
- cwd: '{projectRoot}',
123
- command: 'cdk deploy --require-approval=never',
124
- }),
121
+ dependsOn: [
122
+ '^build',
123
+ 'compile'
124
+ ],
125
+ options: stageConfig ? withCdkEnv({
126
+ command: `tsx packages/common/scripts/src/infra/infra-deploy.ts ${libraryRoot}`
127
+ }) : withCdkEnv({
128
+ cwd: '{projectRoot}',
129
+ command: 'cdk deploy --require-approval=never'
130
+ })
125
131
  };
126
132
  config.targets['deploy-ci'] = {
127
133
  executor: 'nx:run-commands',
128
134
  options: withCdkEnv({
129
135
  cwd: '{projectRoot}',
130
- command: `cdk deploy --require-approval=never --app ${distDirFromProjectRoot}`,
131
- }),
136
+ command: `cdk deploy --require-approval=never --app ${distDirFromProjectRoot}`
137
+ })
132
138
  };
133
139
  config.targets.destroy = {
134
140
  executor: 'nx:run-commands',
135
- dependsOn: ['^build', 'compile'],
136
- options: stageConfig
137
- ? withCdkEnv({
138
- command: `tsx packages/common/scripts/src/infra/infra-destroy.ts ${libraryRoot}`,
139
- })
140
- : withCdkEnv({
141
- cwd: '{projectRoot}',
142
- command: 'cdk destroy --require-approval=never',
143
- }),
141
+ dependsOn: [
142
+ '^build',
143
+ 'compile'
144
+ ],
145
+ options: stageConfig ? withCdkEnv({
146
+ command: `tsx packages/common/scripts/src/infra/infra-destroy.ts ${libraryRoot}`
147
+ }) : withCdkEnv({
148
+ cwd: '{projectRoot}',
149
+ command: 'cdk destroy --require-approval=never'
150
+ })
144
151
  };
145
152
  config.targets['destroy-ci'] = {
146
153
  executor: 'nx:run-commands',
147
154
  options: withCdkEnv({
148
155
  cwd: '{projectRoot}',
149
- command: `cdk destroy --require-approval=never --app ${distDirFromProjectRoot}`,
150
- }),
156
+ command: `cdk destroy --require-approval=never --app ${distDirFromProjectRoot}`
157
+ })
151
158
  };
152
159
  config.targets.cdk = {
153
160
  executor: 'nx:run-commands',
154
161
  options: withCdkEnv({
155
162
  cwd: '{projectRoot}',
156
- command: 'cdk',
157
- }),
163
+ command: 'cdk'
164
+ })
158
165
  };
159
166
  config.targets.bootstrap = {
160
167
  executor: 'nx:run-commands',
161
168
  options: withCdkEnv({
162
169
  cwd: '{projectRoot}',
163
- command: 'cdk bootstrap',
164
- }),
170
+ command: 'cdk bootstrap'
171
+ })
165
172
  };
166
- config.targets = (0, object_1.sortObjectKeys)(config.targets);
173
+ config.targets = sortObjectKeys(config.targets);
167
174
  return config;
168
175
  });
169
- (0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)([
176
+ addDependenciesToPackageJson(tree, withVersions([
170
177
  'aws-cdk-lib',
171
178
  'aws-cdk',
172
179
  'esbuild',
173
180
  'constructs',
174
- 'source-map-support',
175
- ]), (0, versions_1.withVersions)(['tsx']));
176
- (0, devkit_1.updateJson)(tree, `${libraryRoot}/tsconfig.lib.json`, (tsConfig) => ({
177
- ...tsConfig,
178
- references: (0, ts_project_utils_1.mergeTsReferences)(tsConfig.references, [
179
- {
180
- path: `${path_1.default.relative(libraryRoot, `${tree.root}/${shared_constructs_constants_1.PACKAGES_DIR}`)}/${shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR}/tsconfig.lib.json`,
181
- },
182
- ...(stageConfig
183
- ? [
181
+ 'source-map-support'
182
+ ]), withVersions([
183
+ 'tsx'
184
+ ]));
185
+ updateJson(tree, `${libraryRoot}/tsconfig.lib.json`, (tsConfig)=>({
186
+ ...tsConfig,
187
+ references: mergeTsReferences(tsConfig.references, [
188
+ {
189
+ path: `${path.relative(libraryRoot, `${tree.root}/${PACKAGES_DIR}`)}/${SHARED_CONSTRUCTS_DIR}/tsconfig.lib.json`
190
+ },
191
+ ...stageConfig ? [
184
192
  {
185
- path: `${path_1.default.relative(libraryRoot, `${tree.root}/${shared_constructs_constants_1.PACKAGES_DIR}`)}/${shared_constructs_constants_1.SHARED_INFRA_CONFIG_DIR}/tsconfig.json`,
186
- },
187
- ]
188
- : []),
189
- ]),
190
- }));
191
- await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.INFRA_APP_GENERATOR_INFO]);
192
- await (0, format_1.formatFilesInSubtree)(tree);
193
- return () => {
194
- (0, devkit_1.installPackagesTask)(tree);
193
+ path: `${path.relative(libraryRoot, `${tree.root}/${PACKAGES_DIR}`)}/${SHARED_INFRA_CONFIG_DIR}/tsconfig.json`
194
+ }
195
+ ] : []
196
+ ])
197
+ }));
198
+ await addGeneratorMetricsIfApplicable(tree, [
199
+ INFRA_APP_GENERATOR_INFO
200
+ ]);
201
+ await formatFilesInSubtree(tree);
202
+ return ()=>{
203
+ installPackagesTask(tree);
195
204
  };
196
205
  }
197
- exports.default = tsInfraGenerator;
206
+ export default tsInfraGenerator;
207
+
198
208
  //# sourceMappingURL=generator.js.map