@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,149 +1,150 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tsNxGeneratorGenerator = exports.NX_GENERATOR_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 package_json_1 = tslib_1.__importDefault(require("../../../package.json"));
12
- const ast_1 = require("../../utils/ast");
13
- const format_1 = require("../../utils/format");
14
- const metrics_1 = require("../../utils/metrics");
15
- const names_1 = require("../../utils/names");
16
- const nx_1 = require("../../utils/nx");
17
- const object_1 = require("../../utils/object");
18
- const paths_1 = require("../../utils/paths");
19
- const utils_1 = require("../nx-plugin/utils");
20
- exports.NX_GENERATOR_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
21
- const tsNxGeneratorGenerator = async (tree, options) => {
4
+ */ import { generateFiles, installPackagesTask, joinPathFragments, OverwriteStrategy, readJson, writeJson } from "@nx/devkit";
5
+ import camelCase from "lodash.camelcase";
6
+ import PackageJson from "../../../package.json" with {
7
+ type: 'json'
8
+ };
9
+ import { addStarExport, applyGritQL } from "../../utils/ast.js";
10
+ import { formatFilesInSubtree } from "../../utils/format.js";
11
+ import { addGeneratorMetricsIfApplicable } from "../../utils/metrics.js";
12
+ import { kebabCase, pascalCase, snakeCase } from "../../utils/names.js";
13
+ import { addComponentGeneratorMetadata, getGeneratorInfo, readProjectConfigurationUnqualified } from "../../utils/nx.js";
14
+ import { sortObjectKeys } from "../../utils/object.js";
15
+ import { getRelativePathToRootByDirectory } from "../../utils/paths.js";
16
+ import { configureTsProjectAsNxPlugin } from "../nx-plugin/utils.js";
17
+ export const NX_GENERATOR_GENERATOR_INFO = getGeneratorInfo(import.meta.filename);
18
+ export const tsNxGeneratorGenerator = async (tree, options)=>{
22
19
  const { name, directory, project: pluginProject, description } = options;
23
- const plugin = (0, nx_1.readProjectConfigurationUnqualified)(tree, pluginProject);
24
- const sourceRoot = plugin.sourceRoot ?? (0, devkit_1.joinPathFragments)(plugin.root, 'src');
20
+ const plugin = readProjectConfigurationUnqualified(tree, pluginProject);
21
+ const sourceRoot = plugin.sourceRoot ?? joinPathFragments(plugin.root, 'src');
25
22
  const sourceRootParts = sourceRoot.split('/');
26
23
  const srcDir = sourceRootParts[sourceRootParts.length - 1];
27
- const generatorSubDir = directory ?? (0, names_1.kebabCase)(name);
28
- const generatorDir = (0, devkit_1.joinPathFragments)(sourceRoot, generatorSubDir);
29
- const rootPackageJson = tree.exists('package.json')
30
- ? (0, devkit_1.readJson)(tree, 'package.json')
31
- : undefined;
24
+ const generatorSubDir = directory ?? kebabCase(name);
25
+ const generatorDir = joinPathFragments(sourceRoot, generatorSubDir);
26
+ const rootPackageJson = tree.exists('package.json') ? readJson(tree, 'package.json') : undefined;
32
27
  const isNxPluginForAws = rootPackageJson?.name === '@aws/nx-plugin-source';
33
28
  // Configure the targeted project as an Nx Plugin
34
- (0, utils_1.configureTsProjectAsNxPlugin)(tree, pluginProject);
29
+ configureTsProjectAsNxPlugin(tree, pluginProject);
35
30
  const enhancedOptions = {
36
31
  name,
37
32
  description,
38
- namePascalCase: (0, names_1.pascalCase)(name),
39
- nameCamelCase: (0, lodash_camelcase_1.default)(name),
40
- nameKebabCase: (0, names_1.kebabCase)(name),
41
- nameUpperSnakeCase: (0, names_1.snakeCase)(name).toUpperCase(),
33
+ namePascalCase: pascalCase(name),
34
+ nameCamelCase: camelCase(name),
35
+ nameKebabCase: kebabCase(name),
36
+ nameUpperSnakeCase: snakeCase(name).toUpperCase(),
42
37
  isNxPluginForAws,
43
- pathToProjectSourceRoot: (0, paths_1.getRelativePathToRootByDirectory)(generatorSubDir),
38
+ pathToProjectSourceRoot: getRelativePathToRootByDirectory(generatorSubDir),
44
39
  generatorDir,
45
- generatorSubDir,
40
+ generatorSubDir
46
41
  };
47
42
  // Add the common files, preserving any the user has already implemented
48
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'common'), generatorDir, {
49
- ...enhancedOptions,
50
- }, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
43
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'common'), generatorDir, {
44
+ ...enhancedOptions
45
+ }, {
46
+ overwriteStrategy: OverwriteStrategy.KeepExisting
47
+ });
51
48
  // Add the files specific to this repo vs a local generator in another project
52
49
  if (isNxPluginForAws) {
53
50
  // Generators should be in the @aws/nx-plugin project
54
- if (pluginProject !== package_json_1.default.name) {
55
- throw new Error(`Generators should be added to the ${package_json_1.default.name} project.`);
51
+ if (pluginProject !== PackageJson.name) {
52
+ throw new Error(`Generators should be added to the ${PackageJson.name} project.`);
56
53
  }
57
54
  // Add the generator
58
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'nx-plugin-for-aws', 'generator'), generatorDir, {
59
- ...enhancedOptions,
60
- }, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
55
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'nx-plugin-for-aws', 'generator'), generatorDir, {
56
+ ...enhancedOptions
57
+ }, {
58
+ overwriteStrategy: OverwriteStrategy.KeepExisting
59
+ });
61
60
  // Generate guide page in docs
62
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'nx-plugin-for-aws', 'docs'), (0, devkit_1.joinPathFragments)('docs', 'src', 'content', 'docs', 'en', 'guides'), {
63
- ...enhancedOptions,
64
- }, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
61
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'nx-plugin-for-aws', 'docs'), joinPathFragments('docs', 'src', 'content', 'docs', 'en', 'guides'), {
62
+ ...enhancedOptions
63
+ }, {
64
+ overwriteStrategy: OverwriteStrategy.KeepExisting
65
+ });
65
66
  // Update the docs config to add the page entry to the Generator guides sidebar section
66
- await (0, ast_1.applyGritQL)(tree, (0, devkit_1.joinPathFragments)('docs', 'astro.config.mjs'), `\`items: [$items]\` where { $items <: within \`sidebar: [$_]\`, $items <: contains \`'ts#project'\`, $items <: not contains \`'/guides/${enhancedOptions.nameKebabCase}'\`, $items += \`, { label: '${name}', link: '/guides/${enhancedOptions.nameKebabCase}' }\` }`);
67
+ await applyGritQL(tree, joinPathFragments('docs', 'astro.config.mjs'), `\`items: [$items]\` where { $items <: within \`sidebar: [$_]\`, $items <: contains \`'ts#project'\`, $items <: not contains \`'/guides/${enhancedOptions.nameKebabCase}'\`, $items += \`, { label: '${name}', link: '/guides/${enhancedOptions.nameKebabCase}' }\` }`);
67
68
  // Expose the generator from the SDK for known prefixes (ts# / py#)
68
69
  addSdkExport(tree, plugin.root, name, generatorSubDir, enhancedOptions);
69
- }
70
- else {
70
+ } else {
71
71
  // Local generator in a project other than nx-plugin-for-aws
72
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'local'), generatorDir, {
73
- ...enhancedOptions,
74
- }, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
75
- const indexPath = (0, devkit_1.joinPathFragments)(sourceRoot, 'index.ts');
72
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'local'), generatorDir, {
73
+ ...enhancedOptions
74
+ }, {
75
+ overwriteStrategy: OverwriteStrategy.KeepExisting
76
+ });
77
+ const indexPath = joinPathFragments(sourceRoot, 'index.ts');
76
78
  if (tree.exists(indexPath)) {
77
- await (0, ast_1.addStarExport)(tree, indexPath, `./${generatorSubDir}/generator`);
79
+ // NodeNext requires explicit extensions; the local plugin is ESM.
80
+ await addStarExport(tree, indexPath, `./${generatorSubDir}/generator.js`);
78
81
  }
79
- (0, nx_1.addComponentGeneratorMetadata)(tree, plugin.name, exports.NX_GENERATOR_GENERATOR_INFO, (0, devkit_1.joinPathFragments)(srcDir, generatorSubDir), name);
82
+ addComponentGeneratorMetadata(tree, plugin.name, NX_GENERATOR_GENERATOR_INFO, joinPathFragments(srcDir, generatorSubDir), name);
80
83
  }
81
84
  const factoryBasePath = `./${srcDir}/${generatorSubDir}`;
82
85
  // Update generators.json
83
- const generatorsJsonPath = (0, devkit_1.joinPathFragments)(plugin.root, 'generators.json');
84
- const generatorsJson = tree.exists(generatorsJsonPath)
85
- ? (0, devkit_1.readJson)(tree, generatorsJsonPath)
86
- : { generators: {} };
86
+ const generatorsJsonPath = joinPathFragments(plugin.root, 'generators.json');
87
+ const generatorsJson = tree.exists(generatorsJsonPath) ? readJson(tree, generatorsJsonPath) : {
88
+ generators: {}
89
+ };
87
90
  // Metrics are only tracked within the @aws/nx-plugin repo. Reuse the existing
88
91
  // metric for a same-name re-run, otherwise allocate a new one.
89
92
  let metric;
90
93
  if (isNxPluginForAws) {
91
- const existingMetrics = Object.values(generatorsJson?.generators ?? {})
92
- .map((g) => g.metric)
93
- .filter((m) => typeof m === 'string');
94
- metric =
95
- generatorsJson?.generators?.[name]?.metric ??
96
- (existingMetrics.length > 0 ? incrementMetric(existingMetrics) : 'g1');
94
+ const existingMetrics = Object.values(generatorsJson?.generators ?? {}).map((g)=>g.metric).filter((m)=>typeof m === 'string');
95
+ metric = generatorsJson?.generators?.[name]?.metric ?? (existingMetrics.length > 0 ? incrementMetric(existingMetrics) : 'g1');
97
96
  }
98
- (0, devkit_1.writeJson)(tree, generatorsJsonPath, {
97
+ writeJson(tree, generatorsJsonPath, {
99
98
  ...generatorsJson,
100
- generators: (0, object_1.sortObjectKeys)({
99
+ generators: sortObjectKeys({
101
100
  ...generatorsJson?.generators,
102
101
  [name]: {
103
102
  factory: `${factoryBasePath}/generator`,
104
103
  schema: `${factoryBasePath}/schema.json`,
105
104
  description: description ?? 'TODO: Add short description of the generator',
106
- ...(isNxPluginForAws ? { metric } : {}),
107
- },
108
- }),
105
+ ...isNxPluginForAws ? {
106
+ metric
107
+ } : {}
108
+ }
109
+ })
109
110
  });
110
- await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.NX_GENERATOR_GENERATOR_INFO]);
111
- await (0, format_1.formatFilesInSubtree)(tree);
112
- return () => {
113
- (0, devkit_1.installPackagesTask)(tree);
111
+ await addGeneratorMetricsIfApplicable(tree, [
112
+ NX_GENERATOR_GENERATOR_INFO
113
+ ]);
114
+ await formatFilesInSubtree(tree);
115
+ return ()=>{
116
+ installPackagesTask(tree);
114
117
  };
115
118
  };
116
- exports.tsNxGeneratorGenerator = tsNxGeneratorGenerator;
117
- const incrementMetric = (metrics) => {
118
- const maxMetric = Math.max(...metrics.map((m) => Number(m.slice(1))));
119
+ const incrementMetric = (metrics)=>{
120
+ const maxMetric = Math.max(...metrics.map((m)=>Number(m.slice(1))));
119
121
  return `g${maxMetric + 1}`;
120
122
  };
121
123
  // Maps a generator name prefix to the SDK entry point that should re-export it
122
124
  const SDK_EXPORT_PREFIXES = {
123
125
  'ts#': 'ts',
124
- 'py#': 'py',
126
+ 'py#': 'py'
125
127
  };
126
128
  // Re-exports a generated generator from the matching SDK entry point so it is
127
129
  // available programmatically as part of @aws/nx-plugin's SDK
128
- const addSdkExport = (tree, pluginRoot, name, generatorSubDir, options) => {
129
- const prefix = Object.keys(SDK_EXPORT_PREFIXES).find((p) => name.startsWith(p));
130
+ const addSdkExport = (tree, pluginRoot, name, generatorSubDir, options)=>{
131
+ const prefix = Object.keys(SDK_EXPORT_PREFIXES).find((p)=>name.startsWith(p));
130
132
  if (!prefix) {
131
133
  return;
132
134
  }
133
- const sdkPath = (0, devkit_1.joinPathFragments)(pluginRoot, 'sdk', `${SDK_EXPORT_PREFIXES[prefix]}.ts`);
135
+ const sdkPath = joinPathFragments(pluginRoot, 'src', 'sdk', `${SDK_EXPORT_PREFIXES[prefix]}.ts`);
134
136
  const generatorExport = `${options.nameCamelCase}Generator`;
135
137
  const schemaExport = `${options.namePascalCase}GeneratorSchema`;
136
- const moduleBase = `../src/${generatorSubDir}`;
138
+ const moduleBase = `../${generatorSubDir}`;
137
139
  const contents = tree.exists(sdkPath) ? tree.read(sdkPath).toString() : '';
138
140
  // Idempotent: skip if this generator is already exported
139
141
  if (contents.includes(`${moduleBase}/generator`)) {
140
142
  return;
141
143
  }
142
144
  const block = `// ${options.namePascalCase} Generator\nexport { ${generatorExport} } from '${moduleBase}/generator';\nexport type { ${schemaExport} } from '${moduleBase}/schema';\n`;
143
- const prefixContents = contents.trim()
144
- ? `${contents.replace(/\s*$/, '')}\n\n`
145
- : '';
145
+ const prefixContents = contents.trim() ? `${contents.replace(/\s*$/, '')}\n\n` : '';
146
146
  tree.write(sdkPath, `${prefixContents}${block}`);
147
147
  };
148
- exports.default = exports.tsNxGeneratorGenerator;
148
+ export default tsNxGeneratorGenerator;
149
+
149
150
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/nx-generator/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/nx-generator/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n type GeneratorCallback,\n generateFiles,\n installPackagesTask,\n joinPathFragments,\n OverwriteStrategy,\n readJson,\n type Tree,\n writeJson,\n} from '@nx/devkit';\nimport camelCase from 'lodash.camelcase';\nimport PackageJson from '../../../package.json' with { type: 'json' };\nimport { addStarExport, applyGritQL } from '../../utils/ast';\nimport { formatFilesInSubtree } from '../../utils/format';\nimport { addGeneratorMetricsIfApplicable } from '../../utils/metrics';\nimport { kebabCase, pascalCase, snakeCase } from '../../utils/names';\nimport {\n addComponentGeneratorMetadata,\n getGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../utils/nx';\nimport { sortObjectKeys } from '../../utils/object';\nimport { getRelativePathToRootByDirectory } from '../../utils/paths';\nimport { configureTsProjectAsNxPlugin } from '../nx-plugin/utils';\nimport type { TsNxGeneratorGeneratorSchema } from './schema';\n\nexport const NX_GENERATOR_GENERATOR_INFO = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport const tsNxGeneratorGenerator = async (\n tree: Tree,\n options: TsNxGeneratorGeneratorSchema,\n): Promise<GeneratorCallback | void> => {\n const { name, directory, project: pluginProject, description } = options;\n\n const plugin = readProjectConfigurationUnqualified(tree, pluginProject);\n const sourceRoot = plugin.sourceRoot ?? joinPathFragments(plugin.root, 'src');\n const sourceRootParts = sourceRoot.split('/');\n const srcDir = sourceRootParts[sourceRootParts.length - 1];\n const generatorSubDir = directory ?? kebabCase(name);\n const generatorDir = joinPathFragments(sourceRoot, generatorSubDir);\n\n const rootPackageJson = tree.exists('package.json')\n ? readJson(tree, 'package.json')\n : undefined;\n const isNxPluginForAws = rootPackageJson?.name === '@aws/nx-plugin-source';\n\n // Configure the targeted project as an Nx Plugin\n configureTsProjectAsNxPlugin(tree, pluginProject);\n\n const enhancedOptions = {\n name,\n description,\n namePascalCase: pascalCase(name),\n nameCamelCase: camelCase(name),\n nameKebabCase: kebabCase(name),\n nameUpperSnakeCase: snakeCase(name).toUpperCase(),\n isNxPluginForAws,\n pathToProjectSourceRoot: getRelativePathToRootByDirectory(generatorSubDir),\n generatorDir,\n generatorSubDir,\n };\n\n // Add the common files, preserving any the user has already implemented\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'common'),\n generatorDir,\n {\n ...enhancedOptions,\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n // Add the files specific to this repo vs a local generator in another project\n if (isNxPluginForAws) {\n // Generators should be in the @aws/nx-plugin project\n if (pluginProject !== PackageJson.name) {\n throw new Error(\n `Generators should be added to the ${PackageJson.name} project.`,\n );\n }\n\n // Add the generator\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n 'files',\n 'nx-plugin-for-aws',\n 'generator',\n ),\n generatorDir,\n {\n ...enhancedOptions,\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n // Generate guide page in docs\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n 'files',\n 'nx-plugin-for-aws',\n 'docs',\n ),\n joinPathFragments('docs', 'src', 'content', 'docs', 'en', 'guides'),\n {\n ...enhancedOptions,\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n // Update the docs config to add the page entry to the Generator guides sidebar section\n await applyGritQL(\n tree,\n joinPathFragments('docs', 'astro.config.mjs'),\n `\\`items: [$items]\\` where { $items <: within \\`sidebar: [$_]\\`, $items <: contains \\`'ts#project'\\`, $items <: not contains \\`'/guides/${enhancedOptions.nameKebabCase}'\\`, $items += \\`, { label: '${name}', link: '/guides/${enhancedOptions.nameKebabCase}' }\\` }`,\n );\n\n // Expose the generator from the SDK for known prefixes (ts# / py#)\n addSdkExport(tree, plugin.root, name, generatorSubDir, enhancedOptions);\n } else {\n // Local generator in a project other than nx-plugin-for-aws\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'local'),\n generatorDir,\n {\n ...enhancedOptions,\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n const indexPath = joinPathFragments(sourceRoot, 'index.ts');\n if (tree.exists(indexPath)) {\n // NodeNext requires explicit extensions; the local plugin is ESM.\n await addStarExport(tree, indexPath, `./${generatorSubDir}/generator.js`);\n }\n\n addComponentGeneratorMetadata(\n tree,\n plugin.name,\n NX_GENERATOR_GENERATOR_INFO,\n joinPathFragments(srcDir, generatorSubDir),\n name,\n );\n }\n\n const factoryBasePath = `./${srcDir}/${generatorSubDir}`;\n\n // Update generators.json\n const generatorsJsonPath = joinPathFragments(plugin.root, 'generators.json');\n const generatorsJson = tree.exists(generatorsJsonPath)\n ? readJson(tree, generatorsJsonPath)\n : { generators: {} };\n // Metrics are only tracked within the @aws/nx-plugin repo. Reuse the existing\n // metric for a same-name re-run, otherwise allocate a new one.\n let metric: string | undefined;\n if (isNxPluginForAws) {\n const existingMetrics = Object.values(generatorsJson?.generators ?? {})\n .map((g: any) => g.metric)\n .filter((m): m is string => typeof m === 'string');\n metric =\n generatorsJson?.generators?.[name]?.metric ??\n (existingMetrics.length > 0 ? incrementMetric(existingMetrics) : 'g1');\n }\n writeJson(tree, generatorsJsonPath, {\n ...generatorsJson,\n generators: sortObjectKeys({\n ...generatorsJson?.generators,\n [name]: {\n factory: `${factoryBasePath}/generator`,\n schema: `${factoryBasePath}/schema.json`,\n description:\n description ?? 'TODO: Add short description of the generator',\n ...(isNxPluginForAws ? { metric } : {}),\n },\n }),\n });\n\n await addGeneratorMetricsIfApplicable(tree, [NX_GENERATOR_GENERATOR_INFO]);\n\n await formatFilesInSubtree(tree);\n\n return () => {\n installPackagesTask(tree);\n };\n};\n\nconst incrementMetric = (metrics: string[]): string => {\n const maxMetric = Math.max(...metrics.map((m) => Number(m.slice(1))));\n return `g${maxMetric + 1}`;\n};\n\n// Maps a generator name prefix to the SDK entry point that should re-export it\nconst SDK_EXPORT_PREFIXES: Record<string, string> = {\n 'ts#': 'ts',\n 'py#': 'py',\n};\n\n// Re-exports a generated generator from the matching SDK entry point so it is\n// available programmatically as part of @aws/nx-plugin's SDK\nconst addSdkExport = (\n tree: Tree,\n pluginRoot: string,\n name: string,\n generatorSubDir: string,\n options: { nameCamelCase: string; namePascalCase: string },\n): void => {\n const prefix = Object.keys(SDK_EXPORT_PREFIXES).find((p) =>\n name.startsWith(p),\n );\n if (!prefix) {\n return;\n }\n\n const sdkPath = joinPathFragments(\n pluginRoot,\n 'src',\n 'sdk',\n `${SDK_EXPORT_PREFIXES[prefix]}.ts`,\n );\n const generatorExport = `${options.nameCamelCase}Generator`;\n const schemaExport = `${options.namePascalCase}GeneratorSchema`;\n const moduleBase = `../${generatorSubDir}`;\n\n const contents = tree.exists(sdkPath) ? tree.read(sdkPath).toString() : '';\n // Idempotent: skip if this generator is already exported\n if (contents.includes(`${moduleBase}/generator`)) {\n return;\n }\n\n const block = `// ${options.namePascalCase} Generator\\nexport { ${generatorExport} } from '${moduleBase}/generator';\\nexport type { ${schemaExport} } from '${moduleBase}/schema';\\n`;\n\n const prefixContents = contents.trim()\n ? `${contents.replace(/\\s*$/, '')}\\n\\n`\n : '';\n tree.write(sdkPath, `${prefixContents}${block}`);\n};\n\nexport default tsNxGeneratorGenerator;\n"],"names":["generateFiles","installPackagesTask","joinPathFragments","OverwriteStrategy","readJson","writeJson","camelCase","PackageJson","type","addStarExport","applyGritQL","formatFilesInSubtree","addGeneratorMetricsIfApplicable","kebabCase","pascalCase","snakeCase","addComponentGeneratorMetadata","getGeneratorInfo","readProjectConfigurationUnqualified","sortObjectKeys","getRelativePathToRootByDirectory","configureTsProjectAsNxPlugin","NX_GENERATOR_GENERATOR_INFO","filename","tsNxGeneratorGenerator","tree","options","name","directory","project","pluginProject","description","plugin","sourceRoot","root","sourceRootParts","split","srcDir","length","generatorSubDir","generatorDir","rootPackageJson","exists","undefined","isNxPluginForAws","enhancedOptions","namePascalCase","nameCamelCase","nameKebabCase","nameUpperSnakeCase","toUpperCase","pathToProjectSourceRoot","dirname","overwriteStrategy","KeepExisting","Error","addSdkExport","indexPath","factoryBasePath","generatorsJsonPath","generatorsJson","generators","metric","existingMetrics","Object","values","map","g","filter","m","incrementMetric","factory","schema","metrics","maxMetric","Math","max","Number","slice","SDK_EXPORT_PREFIXES","pluginRoot","prefix","keys","find","p","startsWith","sdkPath","generatorExport","schemaExport","moduleBase","contents","read","toString","includes","block","prefixContents","trim","replace","write"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ export { };
5
+
6
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/nx-generator/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport interface TsNxGeneratorGeneratorSchema {\n project: string;\n name: string;\n directory?: string;\n description?: string;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAED,WAKC"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  exports[`ts#nx-plugin generator > should generate MCP server files > test-plugin/src/mcp-server/http.ts 1`] = `
4
4
  "#!/usr/bin/env node
5
- import { createServer } from './server';
5
+ import { createServer } from './server.js';
6
6
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
7
7
  import express, { Request, Response } from 'express';
8
8
 
@@ -90,7 +90,7 @@ void (async () => {
90
90
  `;
91
91
 
92
92
  exports[`ts#nx-plugin generator > should generate MCP server files > test-plugin/src/mcp-server/index.ts 1`] = `
93
- "export * from './server';
93
+ "export * from './server.js';
94
94
  "
95
95
  `;
96
96
 
@@ -157,11 +157,11 @@ export const PackageManagerSchema = z.enum(PACKAGE_MANAGERS);
157
157
 
158
158
  exports[`ts#nx-plugin generator > should generate MCP server files > test-plugin/src/mcp-server/server.ts 1`] = `
159
159
  "import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
160
- import { registerCreateWorkspaceCommandTool } from './tools/create-workspace-command';
161
- import { registerGeneralGuidanceTool } from './tools/general-guidance';
162
- import { registerListGeneratorsTool } from './tools/list-generators';
163
- import { registerGeneratorGuideTool } from './tools/generator-guide';
164
- import { getPackageName } from './utils';
160
+ import { registerCreateWorkspaceCommandTool } from './tools/create-workspace-command.js';
161
+ import { registerGeneralGuidanceTool } from './tools/general-guidance.js';
162
+ import { registerListGeneratorsTool } from './tools/list-generators.js';
163
+ import { registerGeneratorGuideTool } from './tools/generator-guide.js';
164
+ import { getPackageName } from './utils.js';
165
165
 
166
166
  /**
167
167
  * Create the MCP Server
@@ -203,7 +203,7 @@ This server provides resources and tools for quickly scaffolding projects using
203
203
  exports[`ts#nx-plugin generator > should generate MCP server files > test-plugin/src/mcp-server/stdio.ts 1`] = `
204
204
  "#!/usr/bin/env node
205
205
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
206
- import { createServer } from './server';
206
+ import { createServer } from './server.js';
207
207
 
208
208
  export const startMcpServer = async () => {
209
209
  const transport = new StdioServerTransport();
@@ -225,12 +225,12 @@ void (async () => {
225
225
  exports[`ts#nx-plugin generator > should generate MCP server files > test-plugin/src/mcp-server/tools/create-workspace-command.ts 1`] = `
226
226
  "import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
227
227
  import { z } from 'zod';
228
- import { PackageManagerSchema } from '../schema';
228
+ import { PackageManagerSchema } from '../schema.js';
229
229
  import {
230
230
  buildCreateCommand,
231
231
  buildInstallCommand,
232
232
  getPackageName,
233
- } from '../utils';
233
+ } from '../utils.js';
234
234
 
235
235
  /**
236
236
  * Registers a tool which tells a model how to create an Nx workspace
@@ -316,7 +316,10 @@ export const registerGeneralGuidanceTool = (server: McpServer) => {
316
316
  {
317
317
  type: 'text' as const,
318
318
  text: fs.readFileSync(
319
- path.resolve(__dirname, '../resources/GENERAL_GUIDANCE.md'),
319
+ path.resolve(
320
+ import.meta.dirname,
321
+ '../resources/GENERAL_GUIDANCE.md',
322
+ ),
320
323
  'utf-8',
321
324
  ),
322
325
  },
@@ -330,8 +333,8 @@ export const registerGeneralGuidanceTool = (server: McpServer) => {
330
333
  exports[`ts#nx-plugin generator > should generate MCP server files > test-plugin/src/mcp-server/tools/generator-guide.ts 1`] = `
331
334
  "import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
332
335
  import { z } from 'zod';
333
- import { renderGeneratorInfo, listGenerators } from '../utils';
334
- import { PackageManagerSchema } from '../schema';
336
+ import { renderGeneratorInfo, listGenerators } from '../utils.js';
337
+ import { PackageManagerSchema } from '../schema.js';
335
338
  import * as fs from 'fs';
336
339
  import * as path from 'path';
337
340
 
@@ -379,8 +382,8 @@ export const registerGeneratorGuideTool = (server: McpServer) => {
379
382
 
380
383
  exports[`ts#nx-plugin generator > should generate MCP server files > test-plugin/src/mcp-server/tools/list-generators.ts 1`] = `
381
384
  "import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
382
- import { PackageManagerSchema } from '../schema';
383
- import { renderGeneratorInfo, listGenerators } from '../utils';
385
+ import { PackageManagerSchema } from '../schema.js';
386
+ import { renderGeneratorInfo, listGenerators } from '../utils.js';
384
387
 
385
388
  /**
386
389
  * Registers a tool which lists details about the available generators
@@ -423,20 +426,29 @@ export interface NxGeneratorInfo {
423
426
 
424
427
  export const getPackageName = (): string =>
425
428
  JSON.parse(
426
- fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf-8'),
429
+ fs.readFileSync(
430
+ path.resolve(import.meta.dirname, '../../package.json'),
431
+ 'utf-8',
432
+ ),
427
433
  ).name;
428
434
 
429
435
  export const listGenerators = (): NxGeneratorInfo[] =>
430
436
  Object.entries(
431
437
  JSON.parse(
432
438
  fs.readFileSync(
433
- path.resolve(__dirname, '../../generators.json'),
439
+ path.resolve(import.meta.dirname, '../../generators.json'),
434
440
  'utf-8',
435
441
  ),
436
442
  ).generators,
437
443
  ).map(([id, info]: any) => ({
438
444
  id,
439
- resolvedPath: path.resolve(__dirname, '..', '..', info.factory, '..'),
445
+ resolvedPath: path.resolve(
446
+ import.meta.dirname,
447
+ '..',
448
+ '..',
449
+ info.factory,
450
+ '..',
451
+ ),
440
452
  description: info.description,
441
453
  }));
442
454
 
@@ -1,9 +1,9 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { registerCreateWorkspaceCommandTool } from './tools/create-workspace-command';
3
- import { registerGeneralGuidanceTool } from './tools/general-guidance';
4
- import { registerListGeneratorsTool } from './tools/list-generators';
5
- import { registerGeneratorGuideTool } from './tools/generator-guide';
6
- import { getPackageName } from './utils';
2
+ import { registerCreateWorkspaceCommandTool } from './tools/create-workspace-command.js';
3
+ import { registerGeneralGuidanceTool } from './tools/general-guidance.js';
4
+ import { registerListGeneratorsTool } from './tools/list-generators.js';
5
+ import { registerGeneratorGuideTool } from './tools/generator-guide.js';
6
+ import { getPackageName } from './utils.js';
7
7
 
8
8
  /**
9
9
  * Create the MCP Server
@@ -1,7 +1,7 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { z } from 'zod';
3
- import { PackageManagerSchema } from '../schema';
4
- import { buildCreateCommand, buildInstallCommand, getPackageName } from '../utils';
3
+ import { PackageManagerSchema } from '../schema.js';
4
+ import { buildCreateCommand, buildInstallCommand, getPackageName } from '../utils.js';
5
5
 
6
6
  /**
7
7
  * Registers a tool which tells a model how to create an Nx workspace
@@ -16,7 +16,7 @@ export const registerGeneralGuidanceTool = (server: McpServer) => {
16
16
  {
17
17
  type: 'text' as const,
18
18
  text: fs.readFileSync(
19
- path.resolve(__dirname, '../resources/GENERAL_GUIDANCE.md'),
19
+ path.resolve(import.meta.dirname, '../resources/GENERAL_GUIDANCE.md'),
20
20
  'utf-8',
21
21
  ),
22
22
  },
@@ -1,7 +1,7 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { z } from 'zod';
3
- import { renderGeneratorInfo, listGenerators } from '../utils';
4
- import { PackageManagerSchema } from '../schema';
3
+ import { renderGeneratorInfo, listGenerators } from '../utils.js';
4
+ import { PackageManagerSchema } from '../schema.js';
5
5
  import * as fs from 'fs';
6
6
  import * as path from 'path';
7
7
 
@@ -1,6 +1,6 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { PackageManagerSchema } from '../schema';
3
- import { renderGeneratorInfo, listGenerators } from '../utils';
2
+ import { PackageManagerSchema } from '../schema.js';
3
+ import { renderGeneratorInfo, listGenerators } from '../utils.js';
4
4
 
5
5
  /**
6
6
  * Registers a tool which lists details about the available generators
@@ -9,20 +9,20 @@ export interface NxGeneratorInfo {
9
9
 
10
10
  export const getPackageName = (): string =>
11
11
  JSON.parse(
12
- fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf-8'),
12
+ fs.readFileSync(path.resolve(import.meta.dirname, '../../package.json'), 'utf-8'),
13
13
  ).name;
14
14
 
15
15
  export const listGenerators = (): NxGeneratorInfo[] =>
16
16
  Object.entries(
17
17
  JSON.parse(
18
18
  fs.readFileSync(
19
- path.resolve(__dirname, '../../generators.json'),
19
+ path.resolve(import.meta.dirname, '../../generators.json'),
20
20
  'utf-8',
21
21
  ),
22
22
  ).generators,
23
23
  ).map(([id, info]: any) => ({
24
24
  id,
25
- resolvedPath: path.resolve(__dirname, '..', '..', info.factory, '..'),
25
+ resolvedPath: path.resolve(import.meta.dirname, '..', '..', info.factory, '..'),
26
26
  description: info.description,
27
27
  }));
28
28