@aws/nx-plugin 1.0.0-rc.0 → 1.0.0-rc.10

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 (537) hide show
  1. package/LICENSE-THIRD-PARTY +3399 -4104
  2. package/README.md +8 -8
  3. package/executors.json +9 -0
  4. package/generators.json +44 -5
  5. package/package.json +16 -12
  6. package/sdk/license.d.ts +8 -0
  7. package/sdk/license.js +13 -0
  8. package/sdk/license.js.map +1 -0
  9. package/src/connection/agent-runtime-config.d.ts +1 -1
  10. package/src/connection/agent-runtime-config.js.map +1 -1
  11. package/src/connection/agent-serve-local.d.ts +2 -2
  12. package/src/connection/agent-serve-local.js +1 -1
  13. package/src/connection/agent-serve-local.js.map +1 -1
  14. package/src/connection/generator.d.ts +5 -5
  15. package/src/connection/generator.js +58 -39
  16. package/src/connection/generator.js.map +1 -1
  17. package/src/connection/serve-local.d.ts +1 -1
  18. package/src/connection/serve-local.js +1 -1
  19. package/src/connection/serve-local.js.map +1 -1
  20. package/src/infra/app/__snapshots__/generator.spec.ts.snap +49 -60
  21. package/src/infra/app/files/app/src/main.ts.template +2 -2
  22. package/src/infra/app/generator.d.ts +3 -3
  23. package/src/infra/app/generator.js +25 -23
  24. package/src/infra/app/generator.js.map +1 -1
  25. package/src/infra/app/schema.d.ts +1 -1
  26. package/src/infra/app/schema.json +1 -1
  27. package/src/license/__snapshots__/config.spec.ts.snap +23 -0
  28. package/src/license/config-types.d.ts +18 -1
  29. package/src/license/config-types.js +4 -0
  30. package/src/license/config-types.js.map +1 -1
  31. package/src/license/config.d.ts +65 -7
  32. package/src/license/config.js +315 -7
  33. package/src/license/config.js.map +1 -1
  34. package/src/license/dependency-check/check.d.ts +16 -0
  35. package/src/license/dependency-check/check.js +111 -0
  36. package/src/license/dependency-check/check.js.map +1 -0
  37. package/src/license/dependency-check/collectors/collector.d.ts +21 -0
  38. package/src/license/dependency-check/collectors/collector.js +76 -0
  39. package/src/license/dependency-check/collectors/collector.js.map +1 -0
  40. package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
  41. package/src/license/dependency-check/collectors/npm-collector.js +75 -0
  42. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
  43. package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
  44. package/src/license/dependency-check/collectors/python-collector.js +121 -0
  45. package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
  46. package/src/license/dependency-check/evaluator.d.ts +9 -0
  47. package/src/license/dependency-check/evaluator.js +122 -0
  48. package/src/license/dependency-check/evaluator.js.map +1 -0
  49. package/src/license/dependency-check/executor-schema.json +6 -0
  50. package/src/license/dependency-check/executor.d.ts +9 -0
  51. package/src/license/dependency-check/executor.js +43 -0
  52. package/src/license/dependency-check/executor.js.map +1 -0
  53. package/src/license/dependency-check/pre-approved.d.ts +6 -0
  54. package/src/license/dependency-check/pre-approved.js +1280 -0
  55. package/src/license/dependency-check/pre-approved.js.map +1 -0
  56. package/src/license/dependency-check/types.d.ts +45 -0
  57. package/src/license/dependency-check/types.js +7 -0
  58. package/src/license/dependency-check/types.js.map +1 -0
  59. package/src/license/generator.d.ts +3 -3
  60. package/src/license/generator.js +113 -14
  61. package/src/license/generator.js.map +1 -1
  62. package/src/license/index.d.ts +8 -0
  63. package/src/license/index.js +13 -0
  64. package/src/license/index.js.map +1 -0
  65. package/src/license/known-exceptions.d.ts +7 -0
  66. package/src/license/known-exceptions.js +33 -0
  67. package/src/license/known-exceptions.js.map +1 -0
  68. package/src/license/schema.d.ts +5 -0
  69. package/src/license/schema.json +6 -0
  70. package/src/license/sync/generator.d.ts +2 -2
  71. package/src/license/sync/generator.js +15 -15
  72. package/src/license/sync/generator.js.map +1 -1
  73. package/src/license/sync/project-file-sync.d.ts +3 -3
  74. package/src/license/sync/project-file-sync.js.map +1 -1
  75. package/src/mcp-server/generator-info.d.ts +5 -1
  76. package/src/mcp-server/generator-info.js +7 -7
  77. package/src/mcp-server/generator-info.js.map +1 -1
  78. package/src/mcp-server/guide-pipeline.d.ts +1 -1
  79. package/src/mcp-server/guide-pipeline.js +10 -12
  80. package/src/mcp-server/guide-pipeline.js.map +1 -1
  81. package/src/mcp-server/mdx-ast.js +4 -0
  82. package/src/mcp-server/mdx-ast.js.map +1 -1
  83. package/src/mcp-server/server.js +3 -3
  84. package/src/mcp-server/server.js.map +1 -1
  85. package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
  86. package/src/mcp-server/tools/create-workspace-command.js +5 -5
  87. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  88. package/src/mcp-server/tools/general-guidance.d.ts +2 -2
  89. package/src/mcp-server/tools/general-guidance.js +2 -2
  90. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  91. package/src/mcp-server/tools/generator-guide.d.ts +2 -2
  92. package/src/mcp-server/tools/generator-guide.js +2 -2
  93. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  94. package/src/mcp-server/tools/list-generators.d.ts +2 -2
  95. package/src/mcp-server/tools/list-generators.js +1 -1
  96. package/src/mcp-server/tools/list-generators.js.map +1 -1
  97. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +1 -1
  98. package/src/open-api/ts-client/generator.d.ts +3 -3
  99. package/src/open-api/ts-client/generator.js +2 -2
  100. package/src/open-api/ts-client/generator.js.map +1 -1
  101. package/src/open-api/ts-hooks/generator.d.ts +3 -3
  102. package/src/open-api/ts-hooks/generator.js +2 -2
  103. package/src/open-api/ts-hooks/generator.js.map +1 -1
  104. package/src/open-api/ts-hooks/generator.spec.tsx +14 -14
  105. package/src/open-api/ts-metadata/generator.d.ts +3 -3
  106. package/src/open-api/ts-metadata/generator.js +1 -1
  107. package/src/open-api/ts-metadata/generator.js.map +1 -1
  108. package/src/open-api/utils/codegen-data/languages.d.ts +5 -1
  109. package/src/open-api/utils/codegen-data/languages.js +4 -4
  110. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  111. package/src/open-api/utils/codegen-data.d.ts +6 -2
  112. package/src/open-api/utils/codegen-data.js +6 -6
  113. package/src/open-api/utils/codegen-data.js.map +1 -1
  114. package/src/open-api/utils/normalise.d.ts +5 -1
  115. package/src/open-api/utils/normalise.js +5 -5
  116. package/src/open-api/utils/normalise.js.map +1 -1
  117. package/src/open-api/utils/parse.d.ts +2 -2
  118. package/src/open-api/utils/parse.js +4 -0
  119. package/src/open-api/utils/parse.js.map +1 -1
  120. package/src/open-api/utils/refs.d.ts +1 -1
  121. package/src/preset/__snapshots__/generator.spec.ts.snap +128 -14
  122. package/src/preset/generator.d.ts +4 -4
  123. package/src/preset/generator.js +24 -19
  124. package/src/preset/generator.js.map +1 -1
  125. package/src/preset/schema.d.ts +7 -5
  126. package/src/preset/schema.json +9 -4
  127. package/src/py/agent/__snapshots__/generator.spec.ts.snap +10 -9
  128. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  129. package/src/py/agent/a2a-connection/generator.js +8 -7
  130. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  131. package/src/py/agent/files/common/agent.py.template +2 -0
  132. package/src/py/agent/files/deploy/Dockerfile.template +3 -3
  133. package/src/py/agent/files/http/init.py.template +2 -2
  134. package/src/py/agent/files/http/main.py.template +0 -1
  135. package/src/py/agent/generator.d.ts +3 -3
  136. package/src/py/agent/generator.js +45 -39
  137. package/src/py/agent/generator.js.map +1 -1
  138. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +4 -0
  139. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  140. package/src/py/agent/mcp-connection/generator.js +5 -5
  141. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  142. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -3
  143. package/src/py/agent/react-connection/generator.d.ts +3 -3
  144. package/src/py/agent/react-connection/generator.js +8 -8
  145. package/src/py/agent/react-connection/generator.js.map +1 -1
  146. package/src/py/agent/react-connection/serve-local.d.ts +2 -2
  147. package/src/py/agent/react-connection/serve-local.js.map +1 -1
  148. package/src/py/agent/schema.d.ts +8 -8
  149. package/src/py/agent/schema.json +18 -18
  150. package/src/py/api/generator.d.ts +3 -3
  151. package/src/py/api/generator.js +2 -2
  152. package/src/py/api/generator.js.map +1 -1
  153. package/src/py/api/schema.d.ts +4 -6
  154. package/src/py/api/schema.json +15 -15
  155. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +6 -6
  156. package/src/py/fast-api/generator.d.ts +3 -3
  157. package/src/py/fast-api/generator.js +73 -55
  158. package/src/py/fast-api/generator.js.map +1 -1
  159. package/src/py/fast-api/react/generator.d.ts +3 -3
  160. package/src/py/fast-api/react/generator.js +3 -3
  161. package/src/py/fast-api/react/generator.js.map +1 -1
  162. package/src/py/fast-api/react/open-api.d.ts +1 -1
  163. package/src/py/fast-api/react/open-api.js +5 -2
  164. package/src/py/fast-api/react/open-api.js.map +1 -1
  165. package/src/py/fast-api/schema.d.ts +4 -6
  166. package/src/py/fast-api/schema.json +15 -15
  167. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
  168. package/src/py/lambda-function/files/handler/__lambdaFunctionSnakeCase__.py.template +6 -6
  169. package/src/py/lambda-function/generator.d.ts +3 -3
  170. package/src/py/lambda-function/generator.js +34 -31
  171. package/src/py/lambda-function/generator.js.map +1 -1
  172. package/src/py/lambda-function/schema.d.ts +7 -4
  173. package/src/py/lambda-function/schema.json +15 -7
  174. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
  175. package/src/py/mcp-server/generator.d.ts +3 -3
  176. package/src/py/mcp-server/generator.js +44 -37
  177. package/src/py/mcp-server/generator.js.map +1 -1
  178. package/src/py/mcp-server/schema.d.ts +5 -9
  179. package/src/py/mcp-server/schema.json +15 -15
  180. package/src/py/project/generator.d.ts +3 -3
  181. package/src/py/project/generator.js +88 -69
  182. package/src/py/project/generator.js.map +1 -1
  183. package/src/py/project/schema.d.ts +1 -1
  184. package/src/py/project/schema.json +2 -2
  185. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +18 -16
  186. package/src/smithy/project/files/build.Dockerfile.template +1 -0
  187. package/src/smithy/project/generator.d.ts +3 -3
  188. package/src/smithy/project/generator.js +31 -29
  189. package/src/smithy/project/generator.js.map +1 -1
  190. package/src/smithy/react-connection/generator.d.ts +3 -3
  191. package/src/smithy/react-connection/generator.js +4 -4
  192. package/src/smithy/react-connection/generator.js.map +1 -1
  193. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +12 -38
  194. package/src/smithy/ts/api/generator.d.ts +3 -3
  195. package/src/smithy/ts/api/generator.js +89 -66
  196. package/src/smithy/ts/api/generator.js.map +1 -1
  197. package/src/smithy/ts/api/schema.d.ts +4 -6
  198. package/src/smithy/ts/api/schema.json +15 -15
  199. package/src/terraform/project/generator.d.ts +3 -3
  200. package/src/terraform/project/generator.js +14 -9
  201. package/src/terraform/project/generator.js.map +1 -1
  202. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +6 -6
  203. package/src/trpc/backend/files/src/client/index.ts.template +5 -5
  204. package/src/trpc/backend/files/src/handler.ts.template +2 -2
  205. package/src/trpc/backend/generator.d.ts +3 -3
  206. package/src/trpc/backend/generator.js +80 -61
  207. package/src/trpc/backend/generator.js.map +1 -1
  208. package/src/trpc/backend/schema.d.ts +5 -5
  209. package/src/trpc/backend/schema.json +15 -15
  210. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +3 -3
  211. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +14 -14
  212. package/src/trpc/react/generator.d.ts +3 -3
  213. package/src/trpc/react/generator.js +11 -10
  214. package/src/trpc/react/generator.js.map +1 -1
  215. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +11 -5
  216. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  217. package/src/ts/agent/a2a-connection/generator.js +9 -8
  218. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  219. package/src/ts/agent/files/common/agent.ts.template +6 -2
  220. package/src/ts/agent/files/deploy/Dockerfile.template +1 -1
  221. package/src/ts/agent/generator.d.ts +3 -3
  222. package/src/ts/agent/generator.js +40 -35
  223. package/src/ts/agent/generator.js.map +1 -1
  224. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +5 -2
  225. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  226. package/src/ts/agent/mcp-connection/generator.js +6 -6
  227. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  228. package/src/ts/agent/react-connection/files/src/components/__agentNameClassName__AgentClientProvider.tsx.template +8 -8
  229. package/src/ts/agent/react-connection/generator.d.ts +3 -3
  230. package/src/ts/agent/react-connection/generator.js +15 -15
  231. package/src/ts/agent/react-connection/generator.js.map +1 -1
  232. package/src/ts/agent/react-connection/serve-local.d.ts +2 -2
  233. package/src/ts/agent/react-connection/serve-local.js +2 -2
  234. package/src/ts/agent/schema.d.ts +8 -8
  235. package/src/ts/agent/schema.json +18 -18
  236. package/src/ts/api/generator.d.ts +3 -3
  237. package/src/ts/api/generator.js +10 -8
  238. package/src/ts/api/generator.js.map +1 -1
  239. package/src/ts/api/schema.d.ts +5 -4
  240. package/src/ts/api/schema.json +15 -15
  241. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +7 -8
  242. package/src/ts/astro-docs/generator.d.ts +3 -3
  243. package/src/ts/astro-docs/generator.js +14 -11
  244. package/src/ts/astro-docs/generator.js.map +1 -1
  245. package/src/ts/docs/generator.d.ts +3 -3
  246. package/src/ts/docs/generator.js.map +1 -1
  247. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1502 -0
  248. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  249. package/src/ts/dynamodb/agent-connection/generator.d.ts +10 -0
  250. package/src/ts/dynamodb/agent-connection/generator.js +32 -0
  251. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
  252. package/src/ts/dynamodb/agent-connection/schema.d.ts +14 -0
  253. package/src/ts/dynamodb/agent-connection/schema.json +22 -0
  254. package/src/ts/dynamodb/files/scripts/create-local-table.ts.template +161 -0
  255. package/src/ts/dynamodb/files/scripts/start-container.ts.template +81 -0
  256. package/src/ts/dynamodb/files/src/client.ts.template +45 -0
  257. package/src/ts/dynamodb/files/src/constants.ts.template +9 -0
  258. package/src/ts/dynamodb/files/src/entities/example.ts.template +47 -0
  259. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -0
  260. package/src/ts/dynamodb/files/src/gsi.ts.template +14 -0
  261. package/src/ts/dynamodb/files/src/index.ts.template +11 -0
  262. package/src/ts/dynamodb/generator.d.ts +10 -0
  263. package/src/ts/dynamodb/generator.js +106 -0
  264. package/src/ts/dynamodb/generator.js.map +1 -0
  265. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  266. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  267. package/src/ts/dynamodb/mcp-server-connection/generator.js +32 -0
  268. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
  269. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +14 -0
  270. package/src/ts/dynamodb/mcp-server-connection/schema.json +22 -0
  271. package/src/ts/dynamodb/schema.d.ts +14 -0
  272. package/src/ts/dynamodb/schema.json +52 -0
  273. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +23 -0
  274. package/src/ts/dynamodb/smithy-connection/generator.d.ts +10 -0
  275. package/src/ts/dynamodb/smithy-connection/generator.js +30 -0
  276. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
  277. package/src/ts/dynamodb/smithy-connection/schema.d.ts +12 -0
  278. package/src/ts/dynamodb/smithy-connection/schema.json +18 -0
  279. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +23 -0
  280. package/src/ts/dynamodb/trpc-connection/generator.d.ts +10 -0
  281. package/src/ts/dynamodb/trpc-connection/generator.js +30 -0
  282. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
  283. package/src/ts/dynamodb/trpc-connection/schema.d.ts +12 -0
  284. package/src/ts/dynamodb/trpc-connection/schema.json +18 -0
  285. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
  286. package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +10 -10
  287. package/src/ts/lambda-function/generator.d.ts +3 -3
  288. package/src/ts/lambda-function/generator.js +41 -36
  289. package/src/ts/lambda-function/generator.js.map +1 -1
  290. package/src/ts/lambda-function/schema.d.ts +7 -4
  291. package/src/ts/lambda-function/schema.json +15 -7
  292. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +32 -65
  293. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
  294. package/src/ts/lib/biome.d.ts +7 -0
  295. package/src/ts/lib/biome.js +58 -0
  296. package/src/ts/lib/biome.js.map +1 -0
  297. package/src/ts/lib/generator.d.ts +3 -3
  298. package/src/ts/lib/generator.js +27 -29
  299. package/src/ts/lib/generator.js.map +1 -1
  300. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -1
  301. package/src/ts/lib/ts-project-utils.d.ts +12 -2
  302. package/src/ts/lib/ts-project-utils.js +30 -10
  303. package/src/ts/lib/ts-project-utils.js.map +1 -1
  304. package/src/ts/lib/vitest.d.ts +2 -2
  305. package/src/ts/lib/vitest.js +1 -1
  306. package/src/ts/lib/vitest.js.map +1 -1
  307. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +4 -4
  308. package/src/ts/mcp-server/generator.d.ts +3 -3
  309. package/src/ts/mcp-server/generator.js +46 -24
  310. package/src/ts/mcp-server/generator.js.map +1 -1
  311. package/src/ts/mcp-server/schema.d.ts +5 -9
  312. package/src/ts/mcp-server/schema.json +15 -15
  313. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +20 -15
  314. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.spec.ts.template +1 -1
  315. package/src/ts/nx-generator/generator.d.ts +2 -2
  316. package/src/ts/nx-generator/generator.js +23 -19
  317. package/src/ts/nx-generator/generator.js.map +1 -1
  318. package/src/ts/nx-plugin/generator.d.ts +3 -3
  319. package/src/ts/nx-plugin/generator.js +12 -11
  320. package/src/ts/nx-plugin/generator.js.map +1 -1
  321. package/src/ts/nx-plugin/utils.d.ts +1 -1
  322. package/src/ts/nx-plugin/utils.js +10 -4
  323. package/src/ts/nx-plugin/utils.js.map +1 -1
  324. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +120 -60
  325. package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
  326. package/src/ts/rdb/agent-connection/generator.js +4 -4
  327. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  328. package/src/ts/rdb/files/prisma.config.ts.template +1 -1
  329. package/src/ts/rdb/files/scripts/pull-image.ts.template +15 -0
  330. package/src/ts/rdb/files/scripts/{docker-start.ts.template → start-container.ts.template} +24 -24
  331. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +3 -3
  332. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +2 -2
  333. package/src/ts/rdb/files/src/migration-handler.ts.template +2 -2
  334. package/src/ts/rdb/files/src/prisma.ts.template +2 -2
  335. package/src/ts/rdb/generator.d.ts +3 -3
  336. package/src/ts/rdb/generator.js +103 -82
  337. package/src/ts/rdb/generator.js.map +1 -1
  338. package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
  339. package/src/ts/rdb/mcp-server-connection/generator.js +4 -4
  340. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  341. package/src/ts/rdb/schema.d.ts +5 -5
  342. package/src/ts/rdb/schema.json +13 -13
  343. package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
  344. package/src/ts/rdb/smithy-connection/generator.js +4 -4
  345. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  346. package/src/ts/rdb/trpc-connection/files/src/middleware/__rdbNameKebab__.ts.template +1 -1
  347. package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
  348. package/src/ts/rdb/trpc-connection/generator.js +3 -3
  349. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  350. package/src/ts/rdb/utils.d.ts +1 -1
  351. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +9 -9
  352. package/src/ts/react-website/agui/generator.d.ts +3 -3
  353. package/src/ts/react-website/agui/generator.js +13 -13
  354. package/src/ts/react-website/agui/generator.js.map +1 -1
  355. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +423 -386
  356. package/src/ts/react-website/app/files/app/cloudscape/src/components/AppLayout/index.tsx.template +5 -5
  357. package/src/ts/react-website/app/files/app/cloudscape/src/main.tsx.template +1 -1
  358. package/src/ts/react-website/app/files/app/cloudscape/src/styles.css.template +1 -1
  359. package/src/ts/react-website/app/files/app/none/src/components/AppLayout/index.tsx.template +5 -5
  360. package/src/ts/react-website/app/files/app/none/src/main.tsx.template +1 -1
  361. package/src/ts/react-website/app/files/app/none/src/styles.css.template +2 -2
  362. package/src/ts/react-website/app/files/app/shadcn/src/components/AppLayout/index.tsx.template +6 -6
  363. package/src/ts/react-website/app/files/app/shadcn/src/main.tsx.template +1 -1
  364. package/src/ts/react-website/app/generator.d.ts +6 -6
  365. package/src/ts/react-website/app/generator.js +124 -114
  366. package/src/ts/react-website/app/generator.js.map +1 -1
  367. package/src/ts/react-website/app/schema.d.ts +9 -6
  368. package/src/ts/react-website/app/schema.json +13 -13
  369. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +1 -7
  370. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +3 -3
  371. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +3 -23
  372. package/src/ts/react-website/cognito-auth/generator.d.ts +3 -3
  373. package/src/ts/react-website/cognito-auth/generator.js +19 -22
  374. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  375. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
  376. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
  377. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  378. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  379. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  380. package/src/ts/react-website/cognito-auth/schema.d.ts +2 -2
  381. package/src/ts/react-website/cognito-auth/schema.json +4 -4
  382. package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
  383. package/src/ts/react-website/cognito-auth/utils.js +1 -1
  384. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  385. package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
  386. package/src/ts/react-website/runtime-config/generator.js +4 -4
  387. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  388. package/src/ts/sync/generator.d.ts +3 -3
  389. package/src/ts/sync/generator.js +2 -2
  390. package/src/ts/sync/generator.js.map +1 -1
  391. package/src/ts/website/app/generator.d.ts +3 -3
  392. package/src/ts/website/app/generator.js +1 -1
  393. package/src/ts/website/app/generator.js.map +1 -1
  394. package/src/ts/website/app/schema.d.ts +8 -6
  395. package/src/ts/website/app/schema.json +21 -13
  396. package/src/ts/website/auth/generator.d.ts +3 -3
  397. package/src/ts/website/auth/generator.js +2 -2
  398. package/src/ts/website/auth/generator.js.map +1 -1
  399. package/src/ts/website/auth/schema.d.ts +2 -2
  400. package/src/ts/website/auth/schema.json +4 -4
  401. package/src/utils/agent-connection/agent-connection.d.ts +1 -1
  402. package/src/utils/agent-connection/agent-connection.js +17 -11
  403. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  404. package/src/utils/agent-connection/files/core-runtime-config/model-errors.ts.template +36 -0
  405. package/src/utils/agent-connection/files/py-core-runtime-config/model_errors.py.template +40 -0
  406. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +10 -10
  407. package/src/utils/agent-core-constructs/agent-core-constructs.js +14 -24
  408. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  409. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +13 -13
  410. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  411. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +5 -5
  412. package/src/utils/api-constructs/api-constructs.d.ts +4 -4
  413. package/src/utils/api-constructs/api-constructs.js +5 -7
  414. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  415. package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +12 -12
  416. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +12 -12
  417. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +7 -7
  418. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +10 -10
  419. package/src/utils/api-constructs/open-api-metadata.d.ts +4 -4
  420. package/src/utils/api-constructs/open-api-metadata.js +2 -2
  421. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  422. package/src/utils/ast/website.d.ts +5 -1
  423. package/src/utils/ast/website.js +3 -3
  424. package/src/utils/ast/website.js.map +1 -1
  425. package/src/utils/ast.d.ts +33 -1
  426. package/src/utils/ast.js +89 -4
  427. package/src/utils/ast.js.map +1 -1
  428. package/src/utils/bundle/bundle.d.ts +1 -1
  429. package/src/utils/bundle/bundle.js +2 -2
  430. package/src/utils/bundle/bundle.js.map +1 -1
  431. package/src/utils/commands.d.ts +1 -1
  432. package/src/utils/commands.js +2 -2
  433. package/src/utils/commands.js.map +1 -1
  434. package/src/utils/config/__snapshots__/utils.spec.ts.snap +6 -6
  435. package/src/utils/config/index.d.ts +5 -5
  436. package/src/utils/config/utils.d.ts +13 -3
  437. package/src/utils/config/utils.js +37 -5
  438. package/src/utils/config/utils.js.map +1 -1
  439. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +7 -7
  440. package/src/utils/connection/open-api/react.d.ts +2 -2
  441. package/src/utils/connection/open-api/react.js +7 -7
  442. package/src/utils/connection/open-api/react.js.map +1 -1
  443. package/src/utils/containers.d.ts +6 -6
  444. package/src/utils/containers.js +6 -6
  445. package/src/utils/containers.js.map +1 -1
  446. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +18 -0
  447. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +49 -0
  448. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
  449. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +30 -0
  450. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +105 -0
  451. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +65 -0
  452. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
  453. package/src/utils/format.d.ts +45 -2
  454. package/src/utils/format.js +167 -46
  455. package/src/utils/format.js.map +1 -1
  456. package/src/utils/fs.d.ts +1 -1
  457. package/src/utils/fs.js.map +1 -1
  458. package/src/utils/function-constructs/files/cdk/app/lambda-functions/{__functionNameKebabCase__.ts.template → __nameKebabCase__.ts.template} +1 -1
  459. package/src/utils/function-constructs/files/terraform/app/lambda-functions/{__functionNameKebabCase__/__functionNameKebabCase__.tf.template → __nameKebabCase__/__nameKebabCase__.tf.template} +7 -7
  460. package/src/utils/function-constructs/function-constructs.d.ts +5 -5
  461. package/src/utils/function-constructs/function-constructs.js +6 -8
  462. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  463. package/src/utils/generators.d.ts +4 -0
  464. package/src/utils/generators.js +4 -4
  465. package/src/utils/generators.js.map +1 -1
  466. package/src/utils/git.d.ts +1 -1
  467. package/src/utils/git.js.map +1 -1
  468. package/src/utils/iac-providers.d.ts +3 -3
  469. package/src/utils/iac-providers.js +1 -1
  470. package/src/utils/iac.d.ts +3 -3
  471. package/src/utils/iac.js +6 -6
  472. package/src/utils/iac.js.map +1 -1
  473. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +1 -5
  474. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +2 -4
  475. package/src/utils/identity-constructs/identity-constructs.d.ts +3 -3
  476. package/src/utils/identity-constructs/identity-constructs.js +4 -4
  477. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  478. package/src/utils/js.d.ts +4 -0
  479. package/src/utils/js.js +4 -4
  480. package/src/utils/js.js.map +1 -1
  481. package/src/utils/mcp.d.ts +25 -0
  482. package/src/utils/mcp.js +81 -0
  483. package/src/utils/mcp.js.map +1 -0
  484. package/src/utils/metrics.d.ts +9 -3
  485. package/src/utils/metrics.js +58 -28
  486. package/src/utils/metrics.js.map +1 -1
  487. package/src/utils/npm-scope.d.ts +1 -1
  488. package/src/utils/npm-scope.js.map +1 -1
  489. package/src/utils/nx.d.ts +7 -2
  490. package/src/utils/nx.js +46 -14
  491. package/src/utils/nx.js.map +1 -1
  492. package/src/utils/nxlv-python.d.ts +1 -1
  493. package/src/utils/paths.d.ts +1 -1
  494. package/src/utils/pnpm-workspace.d.ts +1 -1
  495. package/src/utils/pnpm-workspace.js.map +1 -1
  496. package/src/utils/port.d.ts +30 -3
  497. package/src/utils/port.js +72 -4
  498. package/src/utils/port.js.map +1 -1
  499. package/src/utils/py.d.ts +2 -2
  500. package/src/utils/py.js +13 -6
  501. package/src/utils/py.js.map +1 -1
  502. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +30 -1
  503. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +18 -9
  504. package/src/utils/rdb-constructs/rdb-constructs.d.ts +5 -5
  505. package/src/utils/rdb-constructs/rdb-constructs.js +7 -17
  506. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  507. package/src/utils/shared-constructs.d.ts +3 -3
  508. package/src/utils/shared-constructs.js +10 -10
  509. package/src/utils/shared-constructs.js.map +1 -1
  510. package/src/utils/shared-infra-config.d.ts +1 -1
  511. package/src/utils/shared-infra-config.js +1 -1
  512. package/src/utils/shared-infra-config.js.map +1 -1
  513. package/src/utils/shared-scripts.d.ts +1 -1
  514. package/src/utils/shared-scripts.js +2 -2
  515. package/src/utils/shared-scripts.js.map +1 -1
  516. package/src/utils/shared-shadcn.d.ts +1 -1
  517. package/src/utils/shared-shadcn.js +1 -13
  518. package/src/utils/shared-shadcn.js.map +1 -1
  519. package/src/utils/test.d.ts +5 -1
  520. package/src/utils/test.js +9 -5
  521. package/src/utils/test.js.map +1 -1
  522. package/src/utils/toml.d.ts +1 -1
  523. package/src/utils/toml.js +4 -0
  524. package/src/utils/toml.js.map +1 -1
  525. package/src/utils/versions.d.ts +68 -72
  526. package/src/utils/versions.js +67 -71
  527. package/src/utils/versions.js.map +1 -1
  528. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +52 -5
  529. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +38 -11
  530. package/src/utils/website-constructs/website-constructs.d.ts +3 -3
  531. package/src/utils/website-constructs/website-constructs.js +5 -7
  532. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  533. package/src/ts/lib/eslint.d.ts +0 -14
  534. package/src/ts/lib/eslint.js +0 -90
  535. package/src/ts/lib/eslint.js.map +0 -1
  536. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
  537. /package/src/ts/{rdb/files/scripts/docker-pull.ts.template → dynamodb/files/scripts/pull-image.ts.template} +0 -0
@@ -0,0 +1,45 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`ts#dynamodb mcp-server-connection generator > should add dynamodb serve-local dependency to mcp-server serve-local 1`] = `
4
+ {
5
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
6
+ "name": "my-mcp",
7
+ "root": "packages/my-mcp",
8
+ "targets": {
9
+ "mcp-server-serve-local": {
10
+ "continuous": true,
11
+ "dependsOn": [
12
+ {
13
+ "projects": [
14
+ "db",
15
+ ],
16
+ "target": "serve-local",
17
+ },
18
+ ],
19
+ "executor": "nx:run-commands",
20
+ },
21
+ },
22
+ }
23
+ `;
24
+
25
+ exports[`ts#dynamodb mcp-server-connection generator > should use sourceComponent name when provided 1`] = `
26
+ {
27
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
28
+ "name": "my-mcp",
29
+ "root": "packages/my-mcp",
30
+ "targets": {
31
+ "custom-server-serve-local": {
32
+ "continuous": true,
33
+ "dependsOn": [
34
+ {
35
+ "projects": [
36
+ "db",
37
+ ],
38
+ "target": "serve-local",
39
+ },
40
+ ],
41
+ "executor": "nx:run-commands",
42
+ },
43
+ },
44
+ }
45
+ `;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { type Tree } from '@nx/devkit';
6
+ import { type NxGeneratorInfo } from '../../../utils/nx';
7
+ import type { TsDynamoDBMcpServerConnectionGeneratorSchema } from './schema';
8
+ export declare const TS_DYNAMODB_MCP_SERVER_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
9
+ export declare const tsDynamoDBMcpServerConnectionGenerator: (tree: Tree, options: TsDynamoDBMcpServerConnectionGeneratorSchema) => Promise<void>;
10
+ export default tsDynamoDBMcpServerConnectionGenerator;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tsDynamoDBMcpServerConnectionGenerator = exports.TS_DYNAMODB_MCP_SERVER_CONNECTION_GENERATOR_INFO = void 0;
4
+ /**
5
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ const devkit_1 = require("@nx/devkit");
9
+ const format_1 = require("../../../utils/format");
10
+ const metrics_1 = require("../../../utils/metrics");
11
+ const nx_1 = require("../../../utils/nx");
12
+ exports.TS_DYNAMODB_MCP_SERVER_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
13
+ const tsDynamoDBMcpServerConnectionGenerator = async (tree, options) => {
14
+ const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
15
+ const targetProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.targetProject);
16
+ const mcpServerName = options.sourceComponent?.name ?? 'mcp-server';
17
+ const serveLocalTarget = `${mcpServerName}-serve-local`;
18
+ if (sourceProject.targets?.[serveLocalTarget]) {
19
+ (0, nx_1.addDependencyToTargetIfNotPresent)(sourceProject, serveLocalTarget, {
20
+ projects: [targetProject.name],
21
+ target: 'serve-local',
22
+ });
23
+ (0, devkit_1.updateProjectConfiguration)(tree, sourceProject.name, sourceProject);
24
+ }
25
+ await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
26
+ exports.TS_DYNAMODB_MCP_SERVER_CONNECTION_GENERATOR_INFO,
27
+ ]);
28
+ await (0, format_1.formatFilesInSubtree)(tree);
29
+ };
30
+ exports.tsDynamoDBMcpServerConnectionGenerator = tsDynamoDBMcpServerConnectionGenerator;
31
+ exports.default = exports.tsDynamoDBMcpServerConnectionGenerator;
32
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/dynamodb/mcp-server-connection/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAAmE;AACnE,kDAA6D;AAC7D,oDAAyE;AACzE,0CAK2B;AAGd,QAAA,gDAAgD,GAC3D,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,sCAAsC,GAAG,KAAK,EACzD,IAAU,EACV,OAAqD,EACtC,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,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,IAAI,IAAI,YAAY,CAAC;IACpE,MAAM,gBAAgB,GAAG,GAAG,aAAa,cAAc,CAAC;IAExD,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,IAAA,yCAA+B,EAAC,IAAI,EAAE;QAC1C,wDAAgD;KACjD,CAAC,CAAC;IACH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AA5BW,QAAA,sCAAsC,0CA4BjD;AAEF,kBAAe,8CAAsC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { ComponentMetadata } from '../../../utils/nx';
6
+
7
+ /**
8
+ * TypeScript types for options defined in schema.json
9
+ */
10
+ export interface TsDynamoDBMcpServerConnectionGeneratorSchema {
11
+ sourceProject: string;
12
+ targetProject: string;
13
+ sourceComponent?: ComponentMetadata;
14
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "ts#dynamodb#mcp-server-connection",
4
+ "title": "ts#dynamodb#mcp-server-connection",
5
+ "description": "Connect a ts#mcp-server to a ts#dynamodb project",
6
+ "type": "object",
7
+ "properties": {
8
+ "sourceProject": {
9
+ "type": "string",
10
+ "description": "The project containing the ts#mcp-server to connect from"
11
+ },
12
+ "targetProject": {
13
+ "type": "string",
14
+ "description": "The ts#dynamodb project to connect to"
15
+ },
16
+ "sourceComponent": {
17
+ "type": "string",
18
+ "description": "The MCP server component name"
19
+ }
20
+ },
21
+ "required": ["sourceProject", "targetProject"]
22
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { IacOption } from '../../utils/iac';
6
+
7
+ export interface TsDynamoDBGeneratorSchema {
8
+ name: string;
9
+ directory?: string;
10
+ subDirectory?: string;
11
+ tableName?: string;
12
+ infra: 'dynamodb' | 'none';
13
+ iac: IacOption;
14
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "ts#dynamodb",
4
+ "title": "ts#dynamodb",
5
+ "description": "Create a DynamoDB project",
6
+ "type": "object",
7
+ "properties": {
8
+ "name": {
9
+ "type": "string",
10
+ "description": "Name of the DynamoDB project to generate",
11
+ "$default": {
12
+ "$source": "argv",
13
+ "index": 0
14
+ },
15
+ "x-priority": "important",
16
+ "x-prompt": "What name would you like your DynamoDB project to have? i.e: MyTable"
17
+ },
18
+ "directory": {
19
+ "type": "string",
20
+ "description": "The directory to store the project in.",
21
+ "default": "packages",
22
+ "x-priority": "important",
23
+ "x-prompt": "Which directory do you want to create the project in?"
24
+ },
25
+ "subDirectory": {
26
+ "type": "string",
27
+ "description": "The sub directory the project is placed in. By default this is the project name.",
28
+ "x-prompt": "Which sub directory do you want to create the project in? (By default this is the project name)"
29
+ },
30
+ "tableName": {
31
+ "type": "string",
32
+ "description": "The DynamoDB table name. Defaults to the project name."
33
+ },
34
+ "infra": {
35
+ "type": "string",
36
+ "enum": ["dynamodb", "none"],
37
+ "default": "dynamodb",
38
+ "description": "Infrastructure to provision for the DynamoDB table.",
39
+ "x-priority": "important",
40
+ "x-prompt": "Which infrastructure would you like to provision?"
41
+ },
42
+ "iac": {
43
+ "type": "string",
44
+ "description": "The preferred IaC provider. By default this is inherited from your initial selection.",
45
+ "enum": ["inherit", "cdk", "terraform"],
46
+ "x-priority": "important",
47
+ "default": "inherit",
48
+ "x-prompt": "Which provider would you like to manage your infrastructure? (default: Inherit)"
49
+ }
50
+ },
51
+ "required": ["name"]
52
+ }
@@ -0,0 +1,23 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`ts#dynamodb smithy-connection generator > should add dynamodb serve-local dependency to smithy serve-local 1`] = `
4
+ {
5
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
6
+ "name": "api",
7
+ "root": "packages/api",
8
+ "targets": {
9
+ "serve-local": {
10
+ "continuous": true,
11
+ "dependsOn": [
12
+ {
13
+ "projects": [
14
+ "db",
15
+ ],
16
+ "target": "serve-local",
17
+ },
18
+ ],
19
+ "executor": "nx:run-commands",
20
+ },
21
+ },
22
+ }
23
+ `;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { type Tree } from '@nx/devkit';
6
+ import { type NxGeneratorInfo } from '../../../utils/nx';
7
+ import type { TsDynamoDBSmithyConnectionGeneratorSchema } from './schema';
8
+ export declare const TS_DYNAMODB_SMITHY_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
9
+ export declare const tsDynamoDBSmithyConnectionGenerator: (tree: Tree, options: TsDynamoDBSmithyConnectionGeneratorSchema) => Promise<void>;
10
+ export default tsDynamoDBSmithyConnectionGenerator;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tsDynamoDBSmithyConnectionGenerator = exports.TS_DYNAMODB_SMITHY_CONNECTION_GENERATOR_INFO = void 0;
4
+ /**
5
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ const devkit_1 = require("@nx/devkit");
9
+ const format_1 = require("../../../utils/format");
10
+ const metrics_1 = require("../../../utils/metrics");
11
+ const nx_1 = require("../../../utils/nx");
12
+ exports.TS_DYNAMODB_SMITHY_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
13
+ const tsDynamoDBSmithyConnectionGenerator = async (tree, options) => {
14
+ const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
15
+ const targetProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.targetProject);
16
+ if (sourceProject.targets?.['serve-local']) {
17
+ (0, nx_1.addDependencyToTargetIfNotPresent)(sourceProject, 'serve-local', {
18
+ projects: [targetProject.name],
19
+ target: 'serve-local',
20
+ });
21
+ (0, devkit_1.updateProjectConfiguration)(tree, sourceProject.name, sourceProject);
22
+ }
23
+ await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
24
+ exports.TS_DYNAMODB_SMITHY_CONNECTION_GENERATOR_INFO,
25
+ ]);
26
+ await (0, format_1.formatFilesInSubtree)(tree);
27
+ };
28
+ exports.tsDynamoDBSmithyConnectionGenerator = tsDynamoDBSmithyConnectionGenerator;
29
+ exports.default = exports.tsDynamoDBSmithyConnectionGenerator;
30
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/dynamodb/smithy-connection/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAAmE;AACnE,kDAA6D;AAC7D,oDAAyE;AACzE,0CAK2B;AAGd,QAAA,4CAA4C,GACvD,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,mCAAmC,GAAG,KAAK,EACtD,IAAU,EACV,OAAkD,EACnC,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,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,IAAA,sCAAiC,EAAC,aAAa,EAAE,aAAa,EAAE;YAC9D,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,IAAA,yCAA+B,EAAC,IAAI,EAAE;QAC1C,oDAA4C;KAC7C,CAAC,CAAC;IACH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAzBW,QAAA,mCAAmC,uCAyB9C;AAEF,kBAAe,2CAAmC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ /**
7
+ * TypeScript types for options defined in schema.json
8
+ */
9
+ export interface TsDynamoDBSmithyConnectionGeneratorSchema {
10
+ sourceProject: string;
11
+ targetProject: string;
12
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "ts#dynamodb#smithy-connection",
4
+ "title": "ts#dynamodb#smithy-connection",
5
+ "description": "Connect a Smithy backend to a ts#dynamodb project",
6
+ "type": "object",
7
+ "properties": {
8
+ "sourceProject": {
9
+ "type": "string",
10
+ "description": "The Smithy backend project to connect from"
11
+ },
12
+ "targetProject": {
13
+ "type": "string",
14
+ "description": "The ts#dynamodb project to connect to"
15
+ }
16
+ },
17
+ "required": ["sourceProject", "targetProject"]
18
+ }
@@ -0,0 +1,23 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`ts#dynamodb trpc-connection generator > should add dynamodb serve-local dependency to trpc serve-local 1`] = `
4
+ {
5
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
6
+ "name": "api",
7
+ "root": "packages/api",
8
+ "targets": {
9
+ "serve-local": {
10
+ "continuous": true,
11
+ "dependsOn": [
12
+ {
13
+ "projects": [
14
+ "db",
15
+ ],
16
+ "target": "serve-local",
17
+ },
18
+ ],
19
+ "executor": "nx:run-commands",
20
+ },
21
+ },
22
+ }
23
+ `;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { type Tree } from '@nx/devkit';
6
+ import { type NxGeneratorInfo } from '../../../utils/nx';
7
+ import type { TsDynamoDBTrpcConnectionGeneratorSchema } from './schema';
8
+ export declare const TS_DYNAMODB_TRPC_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
9
+ export declare const tsDynamoDBTrpcConnectionGenerator: (tree: Tree, options: TsDynamoDBTrpcConnectionGeneratorSchema) => Promise<void>;
10
+ export default tsDynamoDBTrpcConnectionGenerator;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tsDynamoDBTrpcConnectionGenerator = exports.TS_DYNAMODB_TRPC_CONNECTION_GENERATOR_INFO = void 0;
4
+ /**
5
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ const devkit_1 = require("@nx/devkit");
9
+ const format_1 = require("../../../utils/format");
10
+ const metrics_1 = require("../../../utils/metrics");
11
+ const nx_1 = require("../../../utils/nx");
12
+ exports.TS_DYNAMODB_TRPC_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
13
+ const tsDynamoDBTrpcConnectionGenerator = async (tree, options) => {
14
+ const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
15
+ const targetProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.targetProject);
16
+ if (sourceProject.targets?.['serve-local']) {
17
+ (0, nx_1.addDependencyToTargetIfNotPresent)(sourceProject, 'serve-local', {
18
+ projects: [targetProject.name],
19
+ target: 'serve-local',
20
+ });
21
+ (0, devkit_1.updateProjectConfiguration)(tree, sourceProject.name, sourceProject);
22
+ }
23
+ await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
24
+ exports.TS_DYNAMODB_TRPC_CONNECTION_GENERATOR_INFO,
25
+ ]);
26
+ await (0, format_1.formatFilesInSubtree)(tree);
27
+ };
28
+ exports.tsDynamoDBTrpcConnectionGenerator = tsDynamoDBTrpcConnectionGenerator;
29
+ exports.default = exports.tsDynamoDBTrpcConnectionGenerator;
30
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/dynamodb/trpc-connection/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAAmE;AACnE,kDAA6D;AAC7D,oDAAyE;AACzE,0CAK2B;AAGd,QAAA,0CAA0C,GACrD,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,iCAAiC,GAAG,KAAK,EACpD,IAAU,EACV,OAAgD,EACjC,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,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,IAAA,sCAAiC,EAAC,aAAa,EAAE,aAAa,EAAE;YAC9D,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,IAAA,yCAA+B,EAAC,IAAI,EAAE;QAC1C,kDAA0C;KAC3C,CAAC,CAAC;IACH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAzBW,QAAA,iCAAiC,qCAyB5C;AAEF,kBAAe,yCAAiC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ /**
7
+ * TypeScript types for options defined in schema.json
8
+ */
9
+ export interface TsDynamoDBTrpcConnectionGeneratorSchema {
10
+ sourceProject: string;
11
+ targetProject: string;
12
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "ts#dynamodb#trpc-connection",
4
+ "title": "ts#dynamodb#trpc-connection",
5
+ "description": "Connect a ts#trpc-api project to a ts#dynamodb project",
6
+ "type": "object",
7
+ "properties": {
8
+ "sourceProject": {
9
+ "type": "string",
10
+ "description": "The ts#trpc-api project to connect from"
11
+ },
12
+ "targetProject": {
13
+ "type": "string",
14
+ "description": "The ts#dynamodb project to connect to"
15
+ }
16
+ },
17
+ "required": ["sourceProject", "targetProject"]
18
+ }
@@ -133,7 +133,7 @@ export const handler = middy()
133
133
  "
134
134
  `;
135
135
 
136
- exports[`ts-lambda-function generator > terraform iacProvider > should generate terraform files for lambda function and snapshot them > terraform-lambda-files 1`] = `
136
+ exports[`ts-lambda-function generator > terraform iac > should generate terraform files for lambda function and snapshot them > terraform-lambda-files 1`] = `
137
137
  {
138
138
  "test-project-test-function.tf": "terraform {
139
139
  required_providers {
@@ -315,7 +315,7 @@ output "role_name" {
315
315
  }
316
316
  `;
317
317
 
318
- exports[`ts-lambda-function generator > terraform iacProvider > should match snapshot for terraform generated files with different configurations > terraform-lambda-snapshot-function.tf 1`] = `
318
+ exports[`ts-lambda-function generator > terraform iac > should match snapshot for terraform generated files with different configurations > terraform-lambda-snapshot-function.tf 1`] = `
319
319
  "terraform {
320
320
  required_providers {
321
321
  aws = {
@@ -1,6 +1,6 @@
1
- <%_ if (eventSource !== 'Any') { _%>
1
+ <%_ if (event !== 'Any') { _%>
2
2
  import { parser } from '@aws-lambda-powertools/parser/middleware';
3
- import { <%= eventSource %> } from '@aws-lambda-powertools/parser/schemas';
3
+ import { <%= event %> } from '@aws-lambda-powertools/parser/schemas';
4
4
  import { z } from 'zod';
5
5
  <%_ } _%>
6
6
  import middy from '@middy/core';
@@ -22,19 +22,19 @@ process.env.POWERTOOLS_SERVICE_NAME = "<%= lambdaFunctionClassName %>";
22
22
  const tracer = new Tracer();
23
23
  const logger = new Logger();
24
24
  const metrics = new Metrics();
25
- <%_ const inputType = eventSource === 'Any' ? 'any' : `z.infer<typeof ${eventSource}>`; _%>
25
+ <%_ const inputType = event === 'Any' ? 'any' : `z.infer<typeof ${event}>`; _%>
26
26
  <%_ const outputType = `Promise<${returnType.type}>`; %>
27
27
 
28
28
  export const <%= lambdaFunctionCamelCase %> = async (event: <%- inputType %>): <%- outputType %> => {
29
29
  logger.info("Received event", event);
30
30
 
31
31
  // TODO: implement
32
- <%_ if (['APIGatewayProxyEventSchema', 'APIGatewayProxyEventV2Schema', 'APIGatewayProxyWebsocketEventSchema', 'AlbSchema', 'LambdaFunctionUrlSchema'].includes(eventSource)) { _%>
32
+ <%_ if (['APIGatewayProxyEventSchema', 'APIGatewayProxyEventV2Schema', 'APIGatewayProxyWebsocketEventSchema', 'AlbSchema', 'LambdaFunctionUrlSchema'].includes(event)) { _%>
33
33
  return {
34
34
  statusCode: 200,
35
35
  body: ''
36
36
  };
37
- <%_ } else if (['APIGatewayRequestAuthorizerEventSchema', 'APIGatewayTokenAuthorizerEventSchema', 'APIGatewayRequestAuthorizerEventV2Schema'].includes(eventSource)) { _%>
37
+ <%_ } else if (['APIGatewayRequestAuthorizerEventSchema', 'APIGatewayTokenAuthorizerEventSchema', 'APIGatewayRequestAuthorizerEventV2Schema'].includes(event)) { _%>
38
38
  return {
39
39
  principalId: 'user',
40
40
  policyDocument: {
@@ -48,17 +48,17 @@ export const <%= lambdaFunctionCamelCase %> = async (event: <%- inputType %>): <
48
48
  ]
49
49
  }
50
50
  };
51
- <%_ } else if (['KinesisFirehoseSchema', 'KinesisFirehoseSqsSchema'].includes(eventSource)) { _%>
51
+ <%_ } else if (['KinesisFirehoseSchema', 'KinesisFirehoseSqsSchema'].includes(event)) { _%>
52
52
  return {
53
53
  records: []
54
54
  };
55
- <%_ } else if (eventSource === 'TransferFamilySchema') { _%>
55
+ <%_ } else if (event === 'TransferFamilySchema') { _%>
56
56
  return {
57
57
  Role: '',
58
58
  Policy: '',
59
59
  HomeDirectory: '/'
60
60
  };
61
- <%_ } else if (['PreSignupTriggerSchema', 'PostConfirmationTriggerSchema', 'CustomMessageTriggerSchema', 'MigrateUserTriggerSchema', 'CustomSMSSenderTriggerSchema', 'CustomEmailSenderTriggerSchema', 'DefineAuthChallengeTriggerSchema', 'CreateAuthChallengeTriggerSchema', 'VerifyAuthChallengeTriggerSchema', 'PreTokenGenerationTriggerSchemaV1', 'PreTokenGenerationTriggerSchemaV2AndV3'].includes(eventSource)) { _%>
61
+ <%_ } else if (['PreSignupTriggerSchema', 'PostConfirmationTriggerSchema', 'CustomMessageTriggerSchema', 'MigrateUserTriggerSchema', 'CustomSMSSenderTriggerSchema', 'CustomEmailSenderTriggerSchema', 'DefineAuthChallengeTriggerSchema', 'CreateAuthChallengeTriggerSchema', 'VerifyAuthChallengeTriggerSchema', 'PreTokenGenerationTriggerSchemaV1', 'PreTokenGenerationTriggerSchemaV2AndV3'].includes(event)) { _%>
62
62
  return event;
63
63
  <%_ } else { /* Event sources which don't need to return a response */ _%>
64
64
  <%_ } _%>
@@ -68,7 +68,7 @@ export const handler = middy()
68
68
  .use(captureLambdaHandler(tracer))
69
69
  .use(injectLambdaContext(logger))
70
70
  .use(logMetrics(metrics))
71
- <%_ if (eventSource !== 'Any') { _%>
72
- .use(parser({ schema: <%= eventSource %> }))
71
+ <%_ if (event !== 'Any') { _%>
72
+ .use(parser({ schema: <%= event %> }))
73
73
  <%_ } _%>
74
74
  .handler(<%= lambdaFunctionCamelCase %>);
@@ -2,9 +2,9 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { GeneratorCallback, Tree } from '@nx/devkit';
6
- import { TsLambdaFunctionGeneratorSchema } from './schema';
7
- import { NxGeneratorInfo } from '../../utils/nx';
5
+ import { type GeneratorCallback, type Tree } from '@nx/devkit';
6
+ import { type NxGeneratorInfo } from '../../utils/nx';
7
+ import type { TsLambdaFunctionGeneratorSchema } from './schema';
8
8
  export declare const TS_LAMBDA_FUNCTION_GENERATOR_INFO: NxGeneratorInfo;
9
9
  /**
10
10
  * Generates a TypeScript Lambda Function to add to a TypeScript project
@@ -7,18 +7,18 @@ const tslib_1 = require("tslib");
7
7
  * SPDX-License-Identifier: Apache-2.0
8
8
  */
9
9
  const devkit_1 = require("@nx/devkit");
10
- const shared_constructs_1 = require("../../utils/shared-constructs");
11
- const names_1 = require("../../utils/names");
10
+ const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
11
+ const bundle_1 = require("../../utils/bundle/bundle");
12
12
  const format_1 = require("../../utils/format");
13
- const object_1 = require("../../utils/object");
14
- const nx_1 = require("../../utils/nx");
13
+ const function_constructs_1 = require("../../utils/function-constructs/function-constructs");
14
+ const iac_1 = require("../../utils/iac");
15
15
  const metrics_1 = require("../../utils/metrics");
16
+ const names_1 = require("../../utils/names");
17
+ const nx_1 = require("../../utils/nx");
18
+ const object_1 = require("../../utils/object");
19
+ const shared_constructs_1 = require("../../utils/shared-constructs");
16
20
  const versions_1 = require("../../utils/versions");
17
- const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
18
21
  const io_1 = require("./io");
19
- const function_constructs_1 = require("../../utils/function-constructs/function-constructs");
20
- const iac_1 = require("../../utils/iac");
21
- const bundle_1 = require("../../utils/bundle/bundle");
22
22
  exports.TS_LAMBDA_FUNCTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
23
23
  /**
24
24
  * Generates a TypeScript Lambda Function to add to a TypeScript project
@@ -36,45 +36,50 @@ const tsLambdaFunctionGenerator = async (tree, schema) => {
36
36
  const dir = projectConfig.root;
37
37
  const projectNameWithOutScope = projectConfig.name.split('/').pop();
38
38
  const projectNameKebabCase = (0, names_1.toKebabCase)(projectNameWithOutScope);
39
- const functionNameKebabCase = (0, names_1.toKebabCase)(schema.functionName);
40
- const constructFunctionNameKebabCase = `${projectNameKebabCase}-${functionNameKebabCase}`;
39
+ const nameKebabCase = (0, names_1.toKebabCase)(schema.name);
40
+ const constructFunctionNameKebabCase = `${projectNameKebabCase}-${nameKebabCase}`;
41
41
  const constructFunctionClassName = (0, names_1.toClassName)(constructFunctionNameKebabCase);
42
- const lambdaFunctionCamelCase = (0, lodash_camelcase_1.default)(schema.functionName);
43
- const lambdaFunctionClassName = (0, names_1.pascalCase)(schema.functionName);
44
- const lambdaFunctionKebabCase = (0, names_1.toKebabCase)(schema.functionName);
42
+ const lambdaFunctionCamelCase = (0, lodash_camelcase_1.default)(schema.name);
43
+ const lambdaFunctionClassName = (0, names_1.pascalCase)(schema.name);
44
+ const lambdaFunctionKebabCase = (0, names_1.toKebabCase)(schema.name);
45
45
  const functionPathFromProjectRoot = (0, devkit_1.joinPathFragments)('src', schema.functionPath ?? '', `${lambdaFunctionKebabCase}.ts`);
46
46
  const functionPath = (0, devkit_1.joinPathFragments)(projectConfig.root, functionPathFromProjectRoot);
47
- // Check that the project does not already have a lambda handler
48
- if (tree.exists(functionPath)) {
49
- throw new Error(`This project already has a lambda function with the name ${functionNameKebabCase}. Please remove the lambda function before running this generator or use a different name.`);
47
+ const infra = schema.infra ?? 'lambda';
48
+ const handlerAlreadyExists = tree.exists(functionPath);
49
+ if (handlerAlreadyExists && infra === 'none') {
50
+ throw new Error(`This project already has a lambda function with the name ${nameKebabCase}. Please remove the lambda function before running this generator or use a different name.`);
50
51
  }
51
- const iacProvider = await (0, iac_1.resolveIacProvider)(tree, schema.iacProvider);
52
- await (0, shared_constructs_1.sharedConstructsGenerator)(tree, {
53
- iacProvider,
54
- });
55
52
  const bundleOutputDir = (0, devkit_1.joinPathFragments)('lambda', lambdaFunctionKebabCase);
56
- await (0, function_constructs_1.addLambdaFunctionInfra)(tree, {
57
- functionProjectName: projectConfig.name,
58
- functionNameClassName: constructFunctionClassName,
59
- functionNameKebabCase: constructFunctionNameKebabCase,
60
- handler: 'index.handler',
61
- runtime: 'node',
62
- bundlePathFromRoot: (0, devkit_1.joinPathFragments)('dist', dir, 'bundle', bundleOutputDir),
63
- iacProvider,
64
- });
53
+ if (infra !== 'none') {
54
+ const iac = await (0, iac_1.resolveIac)(tree, schema.iac);
55
+ await (0, shared_constructs_1.sharedConstructsGenerator)(tree, {
56
+ iac,
57
+ });
58
+ await (0, function_constructs_1.addLambdaFunctionInfra)(tree, {
59
+ functionProjectName: projectConfig.name,
60
+ nameClassName: constructFunctionClassName,
61
+ nameKebabCase: constructFunctionNameKebabCase,
62
+ handler: 'index.handler',
63
+ runtime: 'node',
64
+ bundlePathFromRoot: (0, devkit_1.joinPathFragments)('dist', dir, 'bundle', bundleOutputDir),
65
+ iac,
66
+ });
67
+ }
65
68
  const enhancedOptions = {
66
69
  ...schema,
67
70
  lambdaFunctionCamelCase,
68
71
  lambdaFunctionClassName,
69
72
  lambdaFunctionKebabCase,
70
- returnType: io_1.TS_HANDLER_RETURN_TYPES[schema.eventSource],
73
+ returnType: io_1.TS_HANDLER_RETURN_TYPES[schema.event],
71
74
  };
72
- // Add a bundle target for the function
73
- await (0, bundle_1.addTypeScriptBundleTarget)(tree, projectConfig, {
74
- targetFilePath: functionPathFromProjectRoot,
75
- bundleOutputDir,
76
- external: [/@aws-sdk\/.*/], // lambda runtime provides aws sdk
77
- });
75
+ if (infra !== 'none') {
76
+ // Add a bundle target for the function
77
+ await (0, bundle_1.addTypeScriptBundleTarget)(tree, projectConfig, {
78
+ targetFilePath: functionPathFromProjectRoot,
79
+ bundleOutputDir,
80
+ external: [/@aws-sdk\/.*/], // lambda runtime provides aws sdk
81
+ });
82
+ }
78
83
  projectConfig.targets = (0, object_1.sortObjectKeys)(projectConfig.targets);
79
84
  (0, devkit_1.updateProjectConfiguration)(tree, projectConfig.name, projectConfig);
80
85
  // Generate the lambda handler file