@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,52 +1,51 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tsRdbAgentConnectionGenerator = exports.TS_RDB_AGENT_CONNECTION_GENERATOR_INFO = void 0;
4
- const tslib_1 = require("tslib");
5
1
  /**
6
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
3
  * SPDX-License-Identifier: Apache-2.0
8
- */
9
- const devkit_1 = require("@nx/devkit");
10
- const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
11
- const ast_1 = require("../../../utils/ast");
12
- const format_1 = require("../../../utils/format");
13
- const metrics_1 = require("../../../utils/metrics");
14
- const names_1 = require("../../../utils/names");
15
- const npm_scope_1 = require("../../../utils/npm-scope");
16
- const nx_1 = require("../../../utils/nx");
17
- const utils_1 = require("../utils");
18
- exports.TS_RDB_AGENT_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
19
- const tsRdbAgentConnectionGenerator = async (tree, options) => {
20
- const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
21
- const targetProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.targetProject);
4
+ */ import { joinPathFragments, updateProjectConfiguration } from "@nx/devkit";
5
+ import camelCase from "lodash.camelcase";
6
+ import { addDestructuredImport, applyGritQL } from "../../../utils/ast.js";
7
+ import { formatFilesInSubtree } from "../../../utils/format.js";
8
+ import { addGeneratorMetricsIfApplicable } from "../../../utils/metrics.js";
9
+ import { pascalCase } from "../../../utils/names.js";
10
+ import { toScopeAlias } from "../../../utils/npm-scope.js";
11
+ import { addDependencyToTargetIfNotPresent, getGeneratorInfo, readProjectConfigurationUnqualified } from "../../../utils/nx.js";
12
+ import { injectRdsCaBundleIntoDockerfile } from "../utils.js";
13
+ export const TS_RDB_AGENT_CONNECTION_GENERATOR_INFO = getGeneratorInfo(import.meta.filename);
14
+ export const tsRdbAgentConnectionGenerator = async (tree, options)=>{
15
+ const sourceProject = readProjectConfigurationUnqualified(tree, options.sourceProject);
16
+ const targetProject = readProjectConfigurationUnqualified(tree, options.targetProject);
22
17
  const agentName = options.sourceComponent?.name ?? 'agent';
23
- const serveLocalTarget = `${agentName}-serve-local`;
24
- if (sourceProject.targets?.[serveLocalTarget]) {
25
- (0, nx_1.addDependencyToTargetIfNotPresent)(sourceProject, serveLocalTarget, {
26
- projects: [targetProject.name],
27
- target: 'serve-local',
18
+ const devTarget = `${agentName}-dev`;
19
+ if (sourceProject.targets?.[devTarget]) {
20
+ addDependencyToTargetIfNotPresent(sourceProject, devTarget, {
21
+ projects: [
22
+ targetProject.name
23
+ ],
24
+ target: 'dev'
28
25
  });
29
- (0, devkit_1.updateProjectConfiguration)(tree, sourceProject.name, sourceProject);
26
+ updateProjectConfiguration(tree, sourceProject.name, sourceProject);
30
27
  }
31
28
  const rdbBaseName = targetProject.name.split('/').pop();
32
- const rdbNameCamel = (0, lodash_camelcase_1.default)(rdbBaseName);
33
- const rdbNamePascal = (0, names_1.pascalCase)(rdbBaseName);
34
- const rdbPackageAlias = (0, npm_scope_1.toScopeAlias)(targetProject.name);
29
+ const rdbNameCamel = camelCase(rdbBaseName);
30
+ const rdbNamePascal = pascalCase(rdbBaseName);
31
+ const rdbPackageAlias = toScopeAlias(targetProject.name);
35
32
  const getterAlias = `getPrisma as get${rdbNamePascal}`;
36
- const agentSourceDir = (0, devkit_1.joinPathFragments)(sourceProject.root, 'src', agentName);
37
- const agentPath = (0, devkit_1.joinPathFragments)(agentSourceDir, 'agent.ts');
33
+ const agentSourceDir = joinPathFragments(sourceProject.root, 'src', agentName);
34
+ const agentPath = joinPathFragments(agentSourceDir, 'agent.ts');
38
35
  // Dockerfile: install RDS CA bundle for direct Aurora SSL connections
39
- const dockerfilePath = (0, devkit_1.joinPathFragments)(agentSourceDir, 'Dockerfile');
40
- (0, utils_1.injectRdsCaBundleIntoDockerfile)(tree, dockerfilePath);
36
+ const dockerfilePath = joinPathFragments(agentSourceDir, 'Dockerfile');
37
+ injectRdsCaBundleIntoDockerfile(tree, dockerfilePath);
41
38
  if (tree.exists(agentPath)) {
42
- await (0, ast_1.addDestructuredImport)(tree, agentPath, [getterAlias], rdbPackageAlias);
39
+ await addDestructuredImport(tree, agentPath, [
40
+ getterAlias
41
+ ], rdbPackageAlias);
43
42
  // Block body form: export const getAgent = async () => { ... }
44
- await (0, ast_1.applyGritQL)(tree, agentPath, `\`export const getAgent = async () => { $body }\` => raw\`export const getAgent = async () => {
43
+ await applyGritQL(tree, agentPath, `\`export const getAgent = async () => { $body }\` => raw\`export const getAgent = async () => {
45
44
  const ${rdbNameCamel} = await get${rdbNamePascal}();
46
45
  $body
47
46
  }\` where { $body <: not some \`const ${rdbNameCamel} = await get${rdbNamePascal}()\` }`);
48
47
  // Expression body form: export const getAgent = async () => expr
49
- await (0, ast_1.applyGritQL)(tree, agentPath, `\`export const getAgent = async () => $expr\` => raw\`export const getAgent = async () => {
48
+ await applyGritQL(tree, agentPath, `\`export const getAgent = async () => $expr\` => raw\`export const getAgent = async () => {
50
49
  const ${rdbNameCamel} = await get${rdbNamePascal}();
51
50
  return $expr;
52
51
  }\` where { $expr <: not \`{ $_ }\` }`);
@@ -59,11 +58,11 @@ const tsRdbAgentConnectionGenerator = async (tree, options) => {
59
58
  tree.write(agentPath, content.replace(dbDecl, `${dbDecl}\n ${onCall}`));
60
59
  }
61
60
  }
62
- await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
63
- exports.TS_RDB_AGENT_CONNECTION_GENERATOR_INFO,
61
+ await addGeneratorMetricsIfApplicable(tree, [
62
+ TS_RDB_AGENT_CONNECTION_GENERATOR_INFO
64
63
  ]);
65
- await (0, format_1.formatFilesInSubtree)(tree);
64
+ await formatFilesInSubtree(tree);
66
65
  };
67
- exports.tsRdbAgentConnectionGenerator = tsRdbAgentConnectionGenerator;
68
- exports.default = exports.tsRdbAgentConnectionGenerator;
66
+ export default tsRdbAgentConnectionGenerator;
67
+
69
68
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/agent-connection/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAIoB;AACpB,gFAAyC;AACzC,4CAAwE;AACxE,kDAA6D;AAC7D,oDAAyE;AACzE,gDAAkD;AAClD,wDAAwD;AACxD,0CAK2B;AAC3B,oCAA2D;AAG9C,QAAA,sCAAsC,GACjD,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,6BAA6B,GAAG,KAAK,EAChD,IAAU,EACV,OAA4C,EAC7B,EAAE;IACjB,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,EAAE,IAAI,IAAI,OAAO,CAAC;IAC3D,MAAM,gBAAgB,GAAG,GAAG,SAAS,cAAc,CAAC;IAEpD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9C,IAAA,sCAAiC,EAAC,aAAa,EAAE,gBAAgB,EAAE;YACjE,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;YAC9B,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,IAAA,mCAA0B,EAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,IAAA,0BAAS,EAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAA,wBAAY,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,mBAAmB,aAAa,EAAE,CAAC;IAEvD,MAAM,cAAc,GAAG,IAAA,0BAAiB,EACtC,aAAa,CAAC,IAAI,EAClB,KAAK,EACL,SAAS,CACV,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,0BAAiB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAEhE,sEAAsE;IACtE,MAAM,cAAc,GAAG,IAAA,0BAAiB,EAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvE,IAAA,uCAA+B,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEtD,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAA,2BAAqB,EACzB,IAAI,EACJ,SAAS,EACT,CAAC,WAAW,CAAC,EACb,eAAe,CAChB,CAAC;QAEF,+DAA+D;QAC/D,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,SAAS,EACT;UACI,YAAY,eAAe,aAAa;;wCAEV,YAAY,eAAe,aAAa,QAAQ,CACnF,CAAC;QAEF,iEAAiE;QACjE,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,SAAS,EACT;UACI,YAAY,eAAe,aAAa;;sCAEZ,CACjC,CAAC;QAEF,kDAAkD;QAClD,2EAA2E;QAC3E,MAAM,MAAM,GAAG,SAAS,YAAY,eAAe,aAAa,KAAK,CAAC;QACtE,MAAM,MAAM,GAAG,GAAG,YAAY,+BAA+B,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,YAAY,MAAM,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE;QAC1C,8CAAsC;KACvC,CAAC,CAAC;IACH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAnFW,QAAA,6BAA6B,iCAmFxC;AAEF,kBAAe,qCAA6B,CAAC"}
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/agent-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 Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport camelCase from 'lodash.camelcase';\nimport { addDestructuredImport, applyGritQL } from '../../../utils/ast';\nimport { formatFilesInSubtree } from '../../../utils/format';\nimport { addGeneratorMetricsIfApplicable } from '../../../utils/metrics';\nimport { pascalCase } from '../../../utils/names';\nimport { toScopeAlias } from '../../../utils/npm-scope';\nimport {\n addDependencyToTargetIfNotPresent,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../../utils/nx';\nimport { injectRdsCaBundleIntoDockerfile } from '../utils';\nimport type { TsRdbAgentConnectionGeneratorSchema } from './schema';\n\nexport const TS_RDB_AGENT_CONNECTION_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\nexport const tsRdbAgentConnectionGenerator = async (\n tree: Tree,\n options: TsRdbAgentConnectionGeneratorSchema,\n): Promise<void> => {\n const sourceProject = readProjectConfigurationUnqualified(\n tree,\n options.sourceProject,\n );\n const targetProject = readProjectConfigurationUnqualified(\n tree,\n options.targetProject,\n );\n\n const agentName = options.sourceComponent?.name ?? 'agent';\n const devTarget = `${agentName}-dev`;\n\n if (sourceProject.targets?.[devTarget]) {\n addDependencyToTargetIfNotPresent(sourceProject, devTarget, {\n projects: [targetProject.name],\n target: 'dev',\n });\n updateProjectConfiguration(tree, sourceProject.name, sourceProject);\n }\n\n const rdbBaseName = targetProject.name.split('/').pop();\n const rdbNameCamel = camelCase(rdbBaseName);\n const rdbNamePascal = pascalCase(rdbBaseName);\n const rdbPackageAlias = toScopeAlias(targetProject.name);\n const getterAlias = `getPrisma as get${rdbNamePascal}`;\n\n const agentSourceDir = joinPathFragments(\n sourceProject.root,\n 'src',\n agentName,\n );\n const agentPath = joinPathFragments(agentSourceDir, 'agent.ts');\n\n // Dockerfile: install RDS CA bundle for direct Aurora SSL connections\n const dockerfilePath = joinPathFragments(agentSourceDir, 'Dockerfile');\n injectRdsCaBundleIntoDockerfile(tree, dockerfilePath);\n\n if (tree.exists(agentPath)) {\n await addDestructuredImport(\n tree,\n agentPath,\n [getterAlias],\n rdbPackageAlias,\n );\n\n // Block body form: export const getAgent = async () => { ... }\n await applyGritQL(\n tree,\n agentPath,\n `\\`export const getAgent = async () => { $body }\\` => raw\\`export const getAgent = async () => {\n const ${rdbNameCamel} = await get${rdbNamePascal}();\n $body\n}\\` where { $body <: not some \\`const ${rdbNameCamel} = await get${rdbNamePascal}()\\` }`,\n );\n\n // Expression body form: export const getAgent = async () => expr\n await applyGritQL(\n tree,\n agentPath,\n `\\`export const getAgent = async () => $expr\\` => raw\\`export const getAgent = async () => {\n const ${rdbNameCamel} = await get${rdbNamePascal}();\n return $expr;\n}\\` where { $expr <: not \\`{ $_ }\\` }`,\n );\n\n // Add $on error handler after the db declaration.\n // Done via string replacement because GritQL treats $on as a metavariable.\n const dbDecl = `const ${rdbNameCamel} = await get${rdbNamePascal}();`;\n const onCall = `${rdbNameCamel}.$on('error', console.error);`;\n const content = tree.read(agentPath, 'utf-8')!;\n if (content.includes(dbDecl) && !content.includes(`${rdbNameCamel}.$on`)) {\n tree.write(agentPath, content.replace(dbDecl, `${dbDecl}\\n ${onCall}`));\n }\n }\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_RDB_AGENT_CONNECTION_GENERATOR_INFO,\n ]);\n await formatFilesInSubtree(tree);\n};\n\nexport default tsRdbAgentConnectionGenerator;\n"],"names":["joinPathFragments","updateProjectConfiguration","camelCase","addDestructuredImport","applyGritQL","formatFilesInSubtree","addGeneratorMetricsIfApplicable","pascalCase","toScopeAlias","addDependencyToTargetIfNotPresent","getGeneratorInfo","readProjectConfigurationUnqualified","injectRdsCaBundleIntoDockerfile","TS_RDB_AGENT_CONNECTION_GENERATOR_INFO","filename","tsRdbAgentConnectionGenerator","tree","options","sourceProject","targetProject","agentName","sourceComponent","name","devTarget","targets","projects","target","rdbBaseName","split","pop","rdbNameCamel","rdbNamePascal","rdbPackageAlias","getterAlias","agentSourceDir","root","agentPath","dockerfilePath","exists","dbDecl","onCall","content","read","includes","write","replace"],"mappings":"AAAA;;;CAGC,GACD,SACEA,iBAAiB,EAEjBC,0BAA0B,QACrB,aAAa;AACpB,OAAOC,eAAe,mBAAmB;AACzC,SAASC,qBAAqB,EAAEC,WAAW,QAAQ,wBAAqB;AACxE,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,+BAA+B,QAAQ,4BAAyB;AACzE,SAASC,UAAU,QAAQ,0BAAuB;AAClD,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SACEC,iCAAiC,EACjCC,gBAAgB,EAEhBC,mCAAmC,QAC9B,uBAAoB;AAC3B,SAASC,+BAA+B,QAAQ,cAAW;AAG3D,OAAO,MAAMC,yCACXH,iBAAiB,YAAYI,QAAQ,EAAE;AAEzC,OAAO,MAAMC,gCAAgC,OAC3CC,MACAC;IAEA,MAAMC,gBAAgBP,oCACpBK,MACAC,QAAQC,aAAa;IAEvB,MAAMC,gBAAgBR,oCACpBK,MACAC,QAAQE,aAAa;IAGvB,MAAMC,YAAYH,QAAQI,eAAe,EAAEC,QAAQ;IACnD,MAAMC,YAAY,GAAGH,UAAU,IAAI,CAAC;IAEpC,IAAIF,cAAcM,OAAO,EAAE,CAACD,UAAU,EAAE;QACtCd,kCAAkCS,eAAeK,WAAW;YAC1DE,UAAU;gBAACN,cAAcG,IAAI;aAAC;YAC9BI,QAAQ;QACV;QACAzB,2BAA2Be,MAAME,cAAcI,IAAI,EAAEJ;IACvD;IAEA,MAAMS,cAAcR,cAAcG,IAAI,CAACM,KAAK,CAAC,KAAKC,GAAG;IACrD,MAAMC,eAAe5B,UAAUyB;IAC/B,MAAMI,gBAAgBxB,WAAWoB;IACjC,MAAMK,kBAAkBxB,aAAaW,cAAcG,IAAI;IACvD,MAAMW,cAAc,CAAC,gBAAgB,EAAEF,eAAe;IAEtD,MAAMG,iBAAiBlC,kBACrBkB,cAAciB,IAAI,EAClB,OACAf;IAEF,MAAMgB,YAAYpC,kBAAkBkC,gBAAgB;IAEpD,sEAAsE;IACtE,MAAMG,iBAAiBrC,kBAAkBkC,gBAAgB;IACzDtB,gCAAgCI,MAAMqB;IAEtC,IAAIrB,KAAKsB,MAAM,CAACF,YAAY;QAC1B,MAAMjC,sBACJa,MACAoB,WACA;YAACH;SAAY,EACbD;QAGF,+DAA+D;QAC/D,MAAM5B,YACJY,MACAoB,WACA,CAAC;QACC,EAAEN,aAAa,YAAY,EAAEC,cAAc;;sCAEb,EAAED,aAAa,YAAY,EAAEC,cAAc,MAAM,CAAC;QAGpF,iEAAiE;QACjE,MAAM3B,YACJY,MACAoB,WACA,CAAC;QACC,EAAEN,aAAa,YAAY,EAAEC,cAAc;;qCAEd,CAAC;QAGlC,kDAAkD;QAClD,2EAA2E;QAC3E,MAAMQ,SAAS,CAAC,MAAM,EAAET,aAAa,YAAY,EAAEC,cAAc,GAAG,CAAC;QACrE,MAAMS,SAAS,GAAGV,aAAa,6BAA6B,CAAC;QAC7D,MAAMW,UAAUzB,KAAK0B,IAAI,CAACN,WAAW;QACrC,IAAIK,QAAQE,QAAQ,CAACJ,WAAW,CAACE,QAAQE,QAAQ,CAAC,GAAGb,aAAa,IAAI,CAAC,GAAG;YACxEd,KAAK4B,KAAK,CAACR,WAAWK,QAAQI,OAAO,CAACN,QAAQ,GAAGA,OAAO,IAAI,EAAEC,QAAQ;QACxE;IACF;IAEA,MAAMlC,gCAAgCU,MAAM;QAC1CH;KACD;IACD,MAAMR,qBAAqBW;AAC7B,EAAE;AAEF,eAAeD,8BAA8B"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ /**
5
+ * TypeScript types for options defined in schema.json
6
+ */ export { };
7
+
8
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/agent-connection/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ComponentMetadata } from '../../../utils/nx';\n\n/**\n * TypeScript types for options defined in schema.json\n */\nexport interface TsRdbAgentConnectionGeneratorSchema {\n sourceProject: string;\n targetProject: string;\n sourceComponent?: ComponentMetadata;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAGD;;CAEC,GACD,WAIC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "runtimeConfigKey": "<%= runtimeConfigKey %>",
3
- "serveLocal": {
3
+ "localDev": {
4
4
  "containerEngine": "<%= containerEngine %>",
5
5
  "containerName": "<%= containerName %>",
6
6
  "image": "<%= dockerImage %>",
@@ -2,9 +2,9 @@ import { defineConfig } from 'prisma/config';
2
2
  import { readFileSync } from 'fs';
3
3
 
4
4
  const getDatabaseUrl = async () => {
5
- if (process.env.SERVE_LOCAL === 'true') {
5
+ if (process.env.LOCAL_DEV === 'true') {
6
6
  const { host, port, dbName, dbUser, dbPassword } =
7
- JSON.parse(readFileSync('config.json', 'utf-8')).serveLocal;
7
+ JSON.parse(readFileSync('config.json', 'utf-8')).localDev;
8
8
  <%_ if (engine === 'mysql') { _%>
9
9
  return `mysql://${dbUser}:${dbPassword}@${host}:${port}/${dbName}`;
10
10
  <%_ } else { _%>
@@ -13,16 +13,16 @@ import { getDatabaseConfig } from './utils.js';
13
13
  const runtimeConfigKey = '<%= runtimeConfigKey %>';
14
14
 
15
15
  const __dirname = dirname(fileURLToPath(import.meta.url));
16
- // config.json is only present in local dev (not included in the deployed bundle); guard with SERVE_LOCAL check
17
- const serveLocal = () =>
18
- JSON.parse(readFileSync(join(__dirname, '../config.json'), 'utf-8')).serveLocal;
16
+ // config.json is only present in local dev (not included in the deployed bundle); guard with LOCAL_DEV check
17
+ const localDev = () =>
18
+ JSON.parse(readFileSync(join(__dirname, '../config.json'), 'utf-8')).localDev;
19
19
 
20
20
  <%_ if (engine === 'mysql') { _%>
21
21
  export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
22
22
  log: LogOpts[] = ['warn', 'error'] as LogOpts[],
23
23
  ): Promise<PrismaClient<LogOpts>> => {
24
- if (process.env.SERVE_LOCAL === 'true') {
25
- const { host, port, dbName, dbUser, dbPassword } = serveLocal();
24
+ if (process.env.LOCAL_DEV === 'true') {
25
+ const { host, port, dbName, dbUser, dbPassword } = localDev();
26
26
  const adapter = new PrismaMariaDb({
27
27
  host,
28
28
  port,
@@ -71,8 +71,8 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
71
71
  ): Promise<PrismaClient<LogOpts>> => {
72
72
  if (prismaClient) return prismaClient;
73
73
 
74
- if (process.env.SERVE_LOCAL === 'true') {
75
- const { host, port, dbName, dbUser, dbPassword } = serveLocal();
74
+ if (process.env.LOCAL_DEV === 'true') {
75
+ const { host, port, dbName, dbUser, dbPassword } = localDev();
76
76
  const adapter = new PrismaPg(
77
77
  new Pool({
78
78
  host,
@@ -95,6 +95,9 @@ const transientErrorPatterns = [
95
95
  'ECONNREFUSED',
96
96
  'ENOTFOUND',
97
97
  'P1000', // Prisma: authentication failed
98
+ 'P1001', // Prisma: can't reach database server
99
+ 'P1002', // Prisma: database server reached but timed out
100
+ 'P1010', // Prisma: user denied access (IAM auth grant not yet propagated)
98
101
  'ER_ACCESS_DENIED_ERROR', // MySQL: access denied
99
102
  ];
100
103
 
@@ -1,80 +1,73 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tsRdbGenerator = exports.TS_RDB_GENERATOR_INFO = void 0;
4
- const tslib_1 = require("tslib");
5
1
  /**
6
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
3
  * SPDX-License-Identifier: Apache-2.0
8
- */
9
- const node_path_1 = require("node:path");
10
- const devkit_1 = require("@nx/devkit");
11
- const bundle_1 = require("../../utils/bundle/bundle");
12
- const containers_1 = require("../../utils/containers");
13
- const format_1 = require("../../utils/format");
14
- const fs_1 = require("../../utils/fs");
15
- const git_1 = require("../../utils/git");
16
- const iac_1 = require("../../utils/iac");
17
- const metrics_1 = require("../../utils/metrics");
18
- const names_1 = require("../../utils/names");
19
- const npm_scope_1 = require("../../utils/npm-scope");
20
- const nx_1 = require("../../utils/nx");
21
- const paths_1 = require("../../utils/paths");
22
- const pnpm_workspace_1 = require("../../utils/pnpm-workspace");
23
- const port_1 = require("../../utils/port");
24
- const rdb_constructs_1 = require("../../utils/rdb-constructs/rdb-constructs");
25
- const shared_constructs_1 = require("../../utils/shared-constructs");
26
- const shared_constructs_constants_1 = require("../../utils/shared-constructs-constants");
27
- const shared_rdb_scripts_1 = require("../../utils/shared-rdb-scripts");
28
- const versions_1 = require("../../utils/versions");
29
- const generator_1 = tslib_1.__importStar(require("../lib/generator"));
30
- exports.TS_RDB_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
31
- const tsRdbGenerator = async (tree, options) => {
32
- const nameKebabCase = (0, names_1.kebabCase)(options.name);
33
- const nameClassName = (0, names_1.toClassName)(options.name);
4
+ */ import { relative } from "node:path";
5
+ import { addDependenciesToPackageJson, generateFiles, installPackagesTask, joinPathFragments, readProjectConfiguration, updateJson, updateProjectConfiguration } from "@nx/devkit";
6
+ import { addTypeScriptBundleTarget } from "../../utils/bundle/bundle.js";
7
+ import { resolveContainers } from "../../utils/containers.js";
8
+ import { formatFilesInSubtree } from "../../utils/format.js";
9
+ import { FsCommands } from "../../utils/fs.js";
10
+ import { updateGitIgnore } from "../../utils/git.js";
11
+ import { resolveIac } from "../../utils/iac.js";
12
+ import { addGeneratorMetricsIfApplicable } from "../../utils/metrics.js";
13
+ import { kebabCase, snakeCase, toClassName } from "../../utils/names.js";
14
+ import { getNpmScope, toScopeAlias } from "../../utils/npm-scope.js";
15
+ import { addDependencyToTargetIfNotPresent, addGeneratorMetadata, getGeneratorInfo } from "../../utils/nx.js";
16
+ import { getRelativePathToRootByDirectory } from "../../utils/paths.js";
17
+ import { registerPnpmBuiltDependencies } from "../../utils/pnpm-workspace.js";
18
+ import { assignPort } from "../../utils/port.js";
19
+ import { addRdbInfra } from "../../utils/rdb-constructs/rdb-constructs.js";
20
+ import { sharedConstructsGenerator } from "../../utils/shared-constructs.js";
21
+ import { PACKAGES_DIR, SHARED_SCRIPTS_DIR } from "../../utils/shared-constructs-constants.js";
22
+ import { sharedRdbScriptsGenerator } from "../../utils/shared-rdb-scripts.js";
23
+ import { TS_VERSIONS, withVersions } from "../../utils/versions.js";
24
+ import tsProjectGenerator, { getTsLibDetails } from "../lib/generator.js";
25
+ export const TS_RDB_GENERATOR_INFO = getGeneratorInfo(import.meta.filename);
26
+ export const tsRdbGenerator = async (tree, options)=>{
27
+ const nameKebabCase = kebabCase(options.name);
28
+ const nameClassName = toClassName(options.name);
34
29
  const databaseUser = options.databaseUser ?? 'dbadmin';
35
- const databaseName = (0, names_1.snakeCase)(options.databaseName ?? options.name);
36
- const containerEngine = await (0, containers_1.resolveContainers)(tree, 'inherit');
37
- const { fullyQualifiedName, dir } = (0, generator_1.getTsLibDetails)(tree, {
30
+ const databaseName = snakeCase(options.databaseName ?? options.name);
31
+ const containerEngine = await resolveContainers(tree, 'inherit');
32
+ const { fullyQualifiedName, dir } = getTsLibDetails(tree, {
38
33
  name: options.name,
39
34
  directory: options.directory,
40
- subDirectory: options.subDirectory,
35
+ subDirectory: options.subDirectory
41
36
  });
42
37
  let projectExists;
43
38
  try {
44
- (0, devkit_1.readProjectConfiguration)(tree, fullyQualifiedName);
39
+ readProjectConfiguration(tree, fullyQualifiedName);
45
40
  projectExists = true;
46
- }
47
- catch {
41
+ } catch {
48
42
  projectExists = false;
49
43
  }
50
44
  if (!projectExists) {
51
- await (0, generator_1.default)(tree, {
45
+ await tsProjectGenerator(tree, {
52
46
  name: options.name,
53
- directory: options.directory,
47
+ directory: options.directory
54
48
  });
55
49
  }
56
- (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(dir, 'tsconfig.lib.json'), (tsConfig) => ({
57
- ...tsConfig,
58
- include: ['src/**/*.ts', 'generated/prisma/**/*.ts'],
59
- }));
60
- const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, fullyQualifiedName);
61
- const localDbPort = (0, port_1.assignPort)(tree, projectConfig, options.engine === 'mysql' ? 3306 : 5432);
50
+ updateJson(tree, joinPathFragments(dir, 'tsconfig.lib.json'), (tsConfig)=>({
51
+ ...tsConfig,
52
+ include: [
53
+ 'src/**/*.ts',
54
+ 'generated/prisma/**/*.ts'
55
+ ]
56
+ }));
57
+ const projectConfig = readProjectConfiguration(tree, fullyQualifiedName);
58
+ const localDbPort = assignPort(tree, projectConfig, options.engine === 'mysql' ? 3306 : 5432);
62
59
  const localDbHost = 'localhost';
63
60
  const localDbUser = options.engine === 'mysql' ? 'root' : 'dbadmin';
64
61
  const localDbPassword = 'password';
65
- const containerName = `${(0, npm_scope_1.getNpmScope)(tree)}-${databaseName}`;
66
- const dockerImage = options.engine === 'mysql'
67
- ? 'public.ecr.aws/docker/library/mysql:8.0.44'
68
- : 'public.ecr.aws/docker/library/postgres:17.7';
62
+ const containerName = `${getNpmScope(tree)}-${databaseName}`;
63
+ const dockerImage = options.engine === 'mysql' ? 'public.ecr.aws/docker/library/mysql:8.0.44' : 'public.ecr.aws/docker/library/postgres:17.7';
69
64
  const templateOptions = {
70
65
  engine: options.engine,
71
66
  runtimeConfigKey: nameClassName,
72
- databasePackageAlias: (0, npm_scope_1.toScopeAlias)(fullyQualifiedName),
67
+ databasePackageAlias: toScopeAlias(fullyQualifiedName),
73
68
  databaseProvider: options.engine === 'mysql' ? 'mysql' : 'postgresql',
74
- prismaVersion: versions_1.TS_VERSIONS.prisma,
75
- prismaAdapterPackage: options.engine === 'mysql'
76
- ? '@prisma/adapter-mariadb'
77
- : '@prisma/adapter-pg',
69
+ prismaVersion: TS_VERSIONS.prisma,
70
+ prismaAdapterPackage: options.engine === 'mysql' ? '@prisma/adapter-mariadb' : '@prisma/adapter-pg',
78
71
  prismaAdapterClassName: options.engine === 'mysql' ? 'PrismaMariaDb' : 'PrismaPg',
79
72
  localDbPort,
80
73
  localDbHost,
@@ -83,24 +76,28 @@ const tsRdbGenerator = async (tree, options) => {
83
76
  localDbPassword,
84
77
  containerEngine,
85
78
  containerName,
86
- dockerImage,
79
+ dockerImage
87
80
  };
88
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files'), dir, templateOptions);
89
- (0, git_1.updateGitIgnore)(tree, dir, (patterns) => [...patterns, 'generated/prisma']);
90
- await (0, shared_rdb_scripts_1.sharedRdbScriptsGenerator)(tree);
91
- const scriptsDir = (0, node_path_1.relative)(dir, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_SCRIPTS_DIR, 'src', 'rdb'));
92
- const relativePathToRoot = (0, paths_1.getRelativePathToRootByDirectory)(projectConfig.root);
93
- const fs = new fs_1.FsCommands(tree);
94
- const migrationBundleDir = (0, devkit_1.joinPathFragments)('dist', projectConfig.root, 'bundle', 'migration');
95
- const dockerImageTag = `${(0, npm_scope_1.getNpmScope)(tree)}-${(0, names_1.kebabCase)(options.name)}-migration:latest`;
81
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files'), dir, templateOptions);
82
+ updateGitIgnore(tree, dir, (patterns)=>[
83
+ ...patterns,
84
+ 'generated/prisma'
85
+ ]);
86
+ await sharedRdbScriptsGenerator(tree, options.engine === 'mysql' ? 'mysql' : 'postgres');
87
+ const waitForDbScript = options.engine === 'mysql' ? 'wait-for-mysql-db.ts' : 'wait-for-postgres-db.ts';
88
+ const scriptsDir = relative(dir, joinPathFragments(PACKAGES_DIR, SHARED_SCRIPTS_DIR, 'src', 'rdb'));
89
+ const relativePathToRoot = getRelativePathToRootByDirectory(projectConfig.root);
90
+ const fs = new FsCommands(tree);
91
+ const migrationBundleDir = joinPathFragments('dist', projectConfig.root, 'bundle', 'migration');
92
+ const dockerImageTag = `${getNpmScope(tree)}-${kebabCase(options.name)}-migration:latest`;
96
93
  if (options.infra !== 'none') {
97
- await (0, bundle_1.addTypeScriptBundleTarget)(tree, projectConfig, {
94
+ await addTypeScriptBundleTarget(tree, projectConfig, {
98
95
  targetFilePath: 'src/migration-handler.ts',
99
- bundleOutputDir: 'migration',
96
+ bundleOutputDir: 'migration'
100
97
  });
101
- await (0, bundle_1.addTypeScriptBundleTarget)(tree, projectConfig, {
98
+ await addTypeScriptBundleTarget(tree, projectConfig, {
102
99
  targetFilePath: 'src/create-db-user-handler.ts',
103
- bundleOutputDir: 'create-db-user',
100
+ bundleOutputDir: 'create-db-user'
104
101
  });
105
102
  const bundleTarget = projectConfig.targets['bundle'];
106
103
  // The bundle target starts with a single rolldown `command`. Wrap it with
@@ -117,121 +114,137 @@ const tsRdbGenerator = async (tree, options) => {
117
114
  fs.cp('prisma', `${relativePathToRoot}dist/{projectRoot}/bundle/migration/prisma`),
118
115
  fs.cp('prisma.config.ts', `${relativePathToRoot}dist/{projectRoot}/bundle/migration/prisma.config.ts`),
119
116
  fs.cp('Dockerfile', `${relativePathToRoot}dist/{projectRoot}/bundle/migration/Dockerfile`),
120
- rolldownCommand,
117
+ rolldownCommand
121
118
  ],
122
- parallel: false,
119
+ parallel: false
123
120
  };
124
121
  }
125
122
  }
126
123
  projectConfig.targets.generate = {
127
124
  executor: 'nx:run-commands',
128
- outputs: ['{projectRoot}/generated/prisma'],
125
+ outputs: [
126
+ '{projectRoot}/generated/prisma'
127
+ ],
129
128
  options: {
130
129
  command: 'prisma generate',
131
- cwd: '{projectRoot}',
132
- },
130
+ cwd: '{projectRoot}'
131
+ }
133
132
  };
134
133
  projectConfig.targets['pull-image'] = {
135
134
  executor: 'nx:run-commands',
136
135
  options: {
137
136
  command: `tsx ${scriptsDir}/pull-image.ts`,
138
- cwd: '{projectRoot}',
139
- },
137
+ cwd: '{projectRoot}'
138
+ }
140
139
  };
141
- projectConfig.targets['serve-local'] = {
140
+ projectConfig.targets['dev'] = {
142
141
  executor: 'nx:run-commands',
143
142
  options: {
144
143
  command: `tsx ${scriptsDir}/start-container.ts`,
145
- cwd: '{projectRoot}',
144
+ cwd: '{projectRoot}'
146
145
  },
147
- continuous: true,
148
- dependsOn: ['pull-image'],
146
+ continuous: true
149
147
  };
150
148
  projectConfig.targets['wait-for-db'] = {
151
149
  executor: 'nx:run-commands',
152
- dependsOn: ['serve-local'],
150
+ dependsOn: [
151
+ 'dev'
152
+ ],
153
153
  options: {
154
- command: `tsx ${scriptsDir}/wait-for-db.ts`,
155
- cwd: '{projectRoot}',
156
- },
154
+ command: `tsx ${scriptsDir}/${waitForDbScript}`,
155
+ cwd: '{projectRoot}'
156
+ }
157
157
  };
158
158
  projectConfig.targets.prisma = {
159
159
  executor: 'nx:run-commands',
160
- dependsOn: ['serve-local', 'wait-for-db'],
160
+ dependsOn: [
161
+ 'dev',
162
+ 'wait-for-db'
163
+ ],
161
164
  options: {
162
165
  cwd: '{projectRoot}',
163
166
  command: 'prisma',
164
167
  env: {
165
- SERVE_LOCAL: 'true',
166
- },
167
- },
168
+ LOCAL_DEV: 'true'
169
+ }
170
+ }
168
171
  };
169
172
  if (options.infra !== 'none') {
170
- const iac = await (0, iac_1.resolveIac)(tree, options.iac);
173
+ const iac = await resolveIac(tree, options.iac);
171
174
  if (iac === 'terraform') {
172
175
  projectConfig.targets['docker'] = {
173
176
  cache: true,
174
177
  executor: 'nx:run-commands',
175
178
  options: {
176
- command: `${containerEngine} build --platform linux/arm64 --provenance=false -t ${dockerImageTag} ${migrationBundleDir}`,
179
+ command: `${containerEngine} build --platform linux/arm64 --provenance=false -t ${dockerImageTag} ${migrationBundleDir}`
177
180
  },
178
- dependsOn: ['bundle'],
181
+ dependsOn: [
182
+ 'bundle'
183
+ ]
179
184
  };
180
- (0, nx_1.addDependencyToTargetIfNotPresent)(projectConfig, 'build', 'docker');
185
+ addDependencyToTargetIfNotPresent(projectConfig, 'build', 'docker');
181
186
  }
182
- (0, nx_1.addDependencyToTargetIfNotPresent)(projectConfig, 'build', 'bundle');
187
+ addDependencyToTargetIfNotPresent(projectConfig, 'build', 'bundle');
183
188
  }
184
- (0, nx_1.addDependencyToTargetIfNotPresent)(projectConfig, 'compile', 'generate');
185
- (0, devkit_1.updateProjectConfiguration)(tree, fullyQualifiedName, projectConfig);
186
- (0, nx_1.addGeneratorMetadata)(tree, fullyQualifiedName, exports.TS_RDB_GENERATOR_INFO, {
187
- engine: options.engine,
189
+ addDependencyToTargetIfNotPresent(projectConfig, 'compile', 'generate');
190
+ updateProjectConfiguration(tree, fullyQualifiedName, projectConfig);
191
+ addGeneratorMetadata(tree, fullyQualifiedName, TS_RDB_GENERATOR_INFO, {
192
+ engine: options.engine
188
193
  });
189
194
  if (options.infra !== 'none') {
190
- const iac = await (0, iac_1.resolveIac)(tree, options.iac);
191
- await (0, shared_constructs_1.sharedConstructsGenerator)(tree, { iac });
192
- await (0, rdb_constructs_1.addRdbInfra)(tree, {
195
+ const iac = await resolveIac(tree, options.iac);
196
+ await sharedConstructsGenerator(tree, {
197
+ iac
198
+ });
199
+ await addRdbInfra(tree, {
193
200
  iac,
194
201
  projectName: fullyQualifiedName,
195
202
  projectRoot: dir,
196
203
  nameClassName,
197
204
  nameKebabCase,
198
- databasePackageAlias: (0, npm_scope_1.toScopeAlias)(fullyQualifiedName),
205
+ databasePackageAlias: toScopeAlias(fullyQualifiedName),
199
206
  databaseName,
200
207
  adminUser: databaseUser,
201
208
  engine: options.engine === 'mysql' ? 'mysql' : 'postgres',
202
209
  migrationBundleDir,
203
- createDbUserBundleDir: (0, devkit_1.joinPathFragments)('dist', projectConfig.root, 'bundle', 'create-db-user'),
210
+ createDbUserBundleDir: joinPathFragments('dist', projectConfig.root, 'bundle', 'create-db-user'),
204
211
  dockerImageTag,
205
- containerEngine,
212
+ containerEngine
206
213
  });
207
214
  }
208
- (0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)([
215
+ addDependenciesToPackageJson(tree, withVersions([
209
216
  '@aws-lambda-powertools/parameters',
210
217
  '@aws-sdk/client-appconfigdata',
211
218
  '@aws-sdk/client-secrets-manager',
212
219
  '@aws-sdk/rds-signer',
213
220
  '@prisma/client',
214
- ...(options.engine === 'mysql'
215
- ? ['@prisma/adapter-mariadb', 'mariadb']
216
- : ['@prisma/adapter-pg', 'pg']),
217
- ]), (0, versions_1.withVersions)([
221
+ ...options.engine === 'mysql' ? [
222
+ '@prisma/adapter-mariadb',
223
+ 'mariadb'
224
+ ] : [
225
+ '@prisma/adapter-pg',
226
+ 'pg'
227
+ ]
228
+ ]), withVersions([
218
229
  'prisma',
219
230
  'tsx',
220
231
  '@types/aws-lambda',
221
- ...(options.engine === 'mysql'
222
- ? []
223
- : ['@types/pg']),
232
+ ...options.engine === 'mysql' ? [] : [
233
+ '@types/pg'
234
+ ]
224
235
  ]));
225
- (0, pnpm_workspace_1.registerPnpmBuiltDependencies)(tree, {
236
+ registerPnpmBuiltDependencies(tree, {
226
237
  '@prisma/engines': false,
227
- prisma: false,
238
+ prisma: false
228
239
  });
229
- await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.TS_RDB_GENERATOR_INFO]);
230
- await (0, format_1.formatFilesInSubtree)(tree);
231
- return () => {
232
- (0, devkit_1.installPackagesTask)(tree);
240
+ await addGeneratorMetricsIfApplicable(tree, [
241
+ TS_RDB_GENERATOR_INFO
242
+ ]);
243
+ await formatFilesInSubtree(tree);
244
+ return ()=>{
245
+ installPackagesTask(tree);
233
246
  };
234
247
  };
235
- exports.tsRdbGenerator = tsRdbGenerator;
236
- exports.default = exports.tsRdbGenerator;
248
+ export default tsRdbGenerator;
249
+
237
250
  //# sourceMappingURL=generator.js.map