zudojs-cli 2.1.3 → 2.2.0

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 (572) hide show
  1. package/README.md +6 -3
  2. package/dist/src/adapters/databases/databaseAdapter.resolver.d.ts +0 -1
  3. package/dist/src/adapters/databases/databaseAdapter.resolver.js +0 -1
  4. package/dist/src/adapters/databases/index.d.ts +0 -1
  5. package/dist/src/adapters/databases/index.js +0 -1
  6. package/dist/src/adapters/databases/mysql.adapter.d.ts +0 -1
  7. package/dist/src/adapters/databases/mysql.adapter.js +0 -1
  8. package/dist/src/adapters/databases/postgres.adapter.d.ts +0 -1
  9. package/dist/src/adapters/databases/postgres.adapter.js +0 -1
  10. package/dist/src/adapters/databases/sqlite.adapter.d.ts +0 -1
  11. package/dist/src/adapters/databases/sqlite.adapter.js +0 -1
  12. package/dist/src/adapters/frontend/angular.adapter.d.ts +0 -1
  13. package/dist/src/adapters/frontend/angular.adapter.js +0 -1
  14. package/dist/src/adapters/frontend/astro.adapter.d.ts +0 -1
  15. package/dist/src/adapters/frontend/astro.adapter.js +0 -1
  16. package/dist/src/adapters/frontend/fallback/fallback.helper.d.ts +0 -1
  17. package/dist/src/adapters/frontend/fallback/fallback.helper.js +0 -1
  18. package/dist/src/adapters/frontend/fallback/framework/angular/angular.fallback.d.ts +0 -1
  19. package/dist/src/adapters/frontend/fallback/framework/angular/angular.fallback.js +0 -1
  20. package/dist/src/adapters/frontend/fallback/framework/angular/angularWorkspace.fallback.d.ts +0 -1
  21. package/dist/src/adapters/frontend/fallback/framework/angular/angularWorkspace.fallback.js +0 -1
  22. package/dist/src/adapters/frontend/fallback/framework/angular/index.d.ts +0 -1
  23. package/dist/src/adapters/frontend/fallback/framework/angular/index.js +0 -1
  24. package/dist/src/adapters/frontend/fallback/framework/astro.fallback.d.ts +0 -1
  25. package/dist/src/adapters/frontend/fallback/framework/astro.fallback.js +0 -1
  26. package/dist/src/adapters/frontend/fallback/framework/index.d.ts +0 -1
  27. package/dist/src/adapters/frontend/fallback/framework/index.js +0 -1
  28. package/dist/src/adapters/frontend/fallback/framework/next.fallback.d.ts +0 -1
  29. package/dist/src/adapters/frontend/fallback/framework/next.fallback.js +0 -1
  30. package/dist/src/adapters/frontend/fallback/framework/nuxt.fallback.d.ts +0 -1
  31. package/dist/src/adapters/frontend/fallback/framework/nuxt.fallback.js +0 -1
  32. package/dist/src/adapters/frontend/fallback/framework/sveltekit.fallback.d.ts +0 -1
  33. package/dist/src/adapters/frontend/fallback/framework/sveltekit.fallback.js +0 -1
  34. package/dist/src/adapters/frontend/fallback/index.d.ts +0 -1
  35. package/dist/src/adapters/frontend/fallback/index.js +0 -1
  36. package/dist/src/adapters/frontend/fallback/vite/index.d.ts +0 -1
  37. package/dist/src/adapters/frontend/fallback/vite/index.js +0 -1
  38. package/dist/src/adapters/frontend/fallback/vite/react.fallback.d.ts +0 -1
  39. package/dist/src/adapters/frontend/fallback/vite/react.fallback.js +0 -1
  40. package/dist/src/adapters/frontend/fallback/vite/svelte.fallback.d.ts +0 -1
  41. package/dist/src/adapters/frontend/fallback/vite/svelte.fallback.js +0 -1
  42. package/dist/src/adapters/frontend/fallback/vite/vanilla.fallback.d.ts +0 -1
  43. package/dist/src/adapters/frontend/fallback/vite/vanilla.fallback.js +0 -1
  44. package/dist/src/adapters/frontend/fallback/vite/vue.fallback.d.ts +0 -1
  45. package/dist/src/adapters/frontend/fallback/vite/vue.fallback.js +0 -1
  46. package/dist/src/adapters/frontend/flutter.adapter.d.ts +0 -1
  47. package/dist/src/adapters/frontend/flutter.adapter.js +0 -1
  48. package/dist/src/adapters/frontend/frontendAdapter.type.d.ts +0 -1
  49. package/dist/src/adapters/frontend/frontendAdapter.type.js +0 -1
  50. package/dist/src/adapters/frontend/index.d.ts +0 -1
  51. package/dist/src/adapters/frontend/index.js +0 -1
  52. package/dist/src/adapters/frontend/next.adapter.d.ts +0 -1
  53. package/dist/src/adapters/frontend/next.adapter.js +0 -1
  54. package/dist/src/adapters/frontend/nuxt.adapter.d.ts +0 -1
  55. package/dist/src/adapters/frontend/nuxt.adapter.js +0 -1
  56. package/dist/src/adapters/frontend/react-native.adapter.d.ts +0 -1
  57. package/dist/src/adapters/frontend/react-native.adapter.js +0 -1
  58. package/dist/src/adapters/frontend/react.adapter.d.ts +0 -1
  59. package/dist/src/adapters/frontend/react.adapter.js +0 -1
  60. package/dist/src/adapters/frontend/svelte.adapter.d.ts +0 -1
  61. package/dist/src/adapters/frontend/svelte.adapter.js +0 -1
  62. package/dist/src/adapters/frontend/sveltekit.adapter.d.ts +0 -1
  63. package/dist/src/adapters/frontend/sveltekit.adapter.js +0 -1
  64. package/dist/src/adapters/frontend/vanilla.adapter.d.ts +0 -1
  65. package/dist/src/adapters/frontend/vanilla.adapter.js +0 -1
  66. package/dist/src/adapters/frontend/vue.adapter.d.ts +0 -1
  67. package/dist/src/adapters/frontend/vue.adapter.js +0 -1
  68. package/dist/src/adapters/package-managers/bun.adapter.d.ts +0 -1
  69. package/dist/src/adapters/package-managers/bun.adapter.js +0 -1
  70. package/dist/src/adapters/package-managers/index.d.ts +0 -1
  71. package/dist/src/adapters/package-managers/index.js +0 -1
  72. package/dist/src/adapters/package-managers/npm.adapter.d.ts +0 -1
  73. package/dist/src/adapters/package-managers/npm.adapter.js +0 -1
  74. package/dist/src/adapters/package-managers/packageManager.type.d.ts +0 -1
  75. package/dist/src/adapters/package-managers/packageManager.type.js +0 -1
  76. package/dist/src/adapters/package-managers/pnpm.adapter.d.ts +0 -1
  77. package/dist/src/adapters/package-managers/pnpm.adapter.js +0 -1
  78. package/dist/src/adapters/package-managers/yarn.adapter.d.ts +0 -1
  79. package/dist/src/adapters/package-managers/yarn.adapter.js +0 -1
  80. package/dist/src/bin/bin.menu.d.ts +0 -1
  81. package/dist/src/bin/bin.menu.js +0 -1
  82. package/dist/src/bin/bin.runner.d.ts +0 -1
  83. package/dist/src/bin/bin.runner.js +0 -1
  84. package/dist/src/bin/index.d.ts +0 -1
  85. package/dist/src/bin/index.js +0 -1
  86. package/dist/src/bin/zudojs.d.ts +0 -1
  87. package/dist/src/bin/zudojs.js +1 -2
  88. package/dist/src/cliApplication/cliApplication.builtins.d.ts +0 -1
  89. package/dist/src/cliApplication/cliApplication.builtins.js +0 -1
  90. package/dist/src/cliApplication/cliApplication.core.d.ts +0 -1
  91. package/dist/src/cliApplication/cliApplication.core.js +0 -1
  92. package/dist/src/cliApplication/cliApplication.help.d.ts +0 -1
  93. package/dist/src/cliApplication/cliApplication.help.js +0 -1
  94. package/dist/src/cliApplication/cliApplication.logger.d.ts +0 -1
  95. package/dist/src/cliApplication/cliApplication.logger.js +0 -1
  96. package/dist/src/cliApplication/cliApplication.writer.d.ts +0 -1
  97. package/dist/src/cliApplication/cliApplication.writer.js +0 -1
  98. package/dist/src/cliApplication/index.d.ts +0 -1
  99. package/dist/src/cliApplication/index.js +0 -1
  100. package/dist/src/cliApplication/invocation/index.d.ts +0 -1
  101. package/dist/src/cliApplication/invocation/index.js +0 -1
  102. package/dist/src/cliApplication/invocation/invocation.hint.d.ts +0 -7
  103. package/dist/src/cliApplication/invocation/invocation.hint.js +14 -1
  104. package/dist/src/cliApplication/invocation/invocation.locate.d.ts +0 -1
  105. package/dist/src/cliApplication/invocation/invocation.locate.js +0 -1
  106. package/dist/src/cliApplication/invocation/invocation.name.d.ts +0 -1
  107. package/dist/src/cliApplication/invocation/invocation.name.js +0 -1
  108. package/dist/src/cliApplication/invocation/invocation.sanitize.d.ts +0 -1
  109. package/dist/src/cliApplication/invocation/invocation.sanitize.js +0 -1
  110. package/dist/src/cliCommand/cliCommand.builder.d.ts +0 -1
  111. package/dist/src/cliCommand/cliCommand.builder.js +0 -1
  112. package/dist/src/cliCommand/cliCommand.factory.d.ts +0 -1
  113. package/dist/src/cliCommand/cliCommand.factory.js +0 -1
  114. package/dist/src/cliCommand/cliCommand.registry.d.ts +0 -1
  115. package/dist/src/cliCommand/cliCommand.registry.js +0 -1
  116. package/dist/src/cliCommand/cliCommand.validator.d.ts +0 -1
  117. package/dist/src/cliCommand/cliCommand.validator.js +0 -1
  118. package/dist/src/cliCommand/index.d.ts +0 -1
  119. package/dist/src/cliCommand/index.js +0 -1
  120. package/dist/src/cliConstant/cliConstant.value.d.ts +0 -1
  121. package/dist/src/cliConstant/cliConstant.value.js +0 -1
  122. package/dist/src/cliConstant/cliVersion.d.ts +0 -1
  123. package/dist/src/cliConstant/cliVersion.js +0 -1
  124. package/dist/src/cliConstant/index.d.ts +0 -1
  125. package/dist/src/cliConstant/index.js +0 -1
  126. package/dist/src/cliError/cliError.argument.d.ts +0 -1
  127. package/dist/src/cliError/cliError.argument.js +0 -1
  128. package/dist/src/cliError/cliError.base.d.ts +0 -1
  129. package/dist/src/cliError/cliError.base.js +0 -1
  130. package/dist/src/cliError/cliError.command.d.ts +0 -1
  131. package/dist/src/cliError/cliError.command.js +0 -1
  132. package/dist/src/cliError/cliError.execution.d.ts +0 -1
  133. package/dist/src/cliError/cliError.execution.js +0 -1
  134. package/dist/src/cliError/cliError.option.d.ts +0 -1
  135. package/dist/src/cliError/cliError.option.js +0 -1
  136. package/dist/src/cliError/index.d.ts +0 -1
  137. package/dist/src/cliError/index.js +0 -1
  138. package/dist/src/cliParser/cliParser.core.d.ts +0 -1
  139. package/dist/src/cliParser/cliParser.core.js +0 -1
  140. package/dist/src/cliParser/cliParser.helper.d.ts +0 -1
  141. package/dist/src/cliParser/cliParser.helper.js +0 -1
  142. package/dist/src/cliParser/cliParser.longOption.d.ts +0 -1
  143. package/dist/src/cliParser/cliParser.longOption.js +0 -1
  144. package/dist/src/cliParser/cliParser.shortOption.d.ts +0 -1
  145. package/dist/src/cliParser/cliParser.shortOption.js +0 -1
  146. package/dist/src/cliParser/index.d.ts +0 -1
  147. package/dist/src/cliParser/index.js +0 -1
  148. package/dist/src/cliType/cliType.type.d.ts +0 -1
  149. package/dist/src/cliType/cliType.type.js +0 -1
  150. package/dist/src/cliType/index.d.ts +0 -1
  151. package/dist/src/cliType/index.js +0 -1
  152. package/dist/src/cliVersion/cliVersion.core.d.ts +0 -1
  153. package/dist/src/cliVersion/cliVersion.core.js +0 -1
  154. package/dist/src/cliVersion/cliVersion.update.d.ts +0 -1
  155. package/dist/src/cliVersion/cliVersion.update.js +0 -1
  156. package/dist/src/cliVersion/index.d.ts +0 -1
  157. package/dist/src/cliVersion/index.js +0 -1
  158. package/dist/src/commands/add.command.d.ts +0 -1
  159. package/dist/src/commands/add.command.js +1 -2
  160. package/dist/src/commands/build.command.d.ts +0 -1
  161. package/dist/src/commands/build.command.js +0 -1
  162. package/dist/src/commands/commandError.helper.d.ts +0 -1
  163. package/dist/src/commands/commandError.helper.js +0 -1
  164. package/dist/src/commands/create.command.d.ts +0 -1
  165. package/dist/src/commands/create.command.js +0 -1
  166. package/dist/src/commands/dev/dev.plan.d.ts +39 -0
  167. package/dist/src/commands/dev/dev.plan.js +83 -0
  168. package/dist/src/commands/dev/index.d.ts +4 -0
  169. package/dist/src/commands/dev/index.js +4 -0
  170. package/dist/src/commands/dev.command.d.ts +4 -30
  171. package/dist/src/commands/dev.command.js +10 -80
  172. package/dist/src/commands/doctor.command.d.ts +0 -1
  173. package/dist/src/commands/doctor.command.js +0 -1
  174. package/dist/src/commands/generate.command.d.ts +0 -1
  175. package/dist/src/commands/generate.command.js +19 -8
  176. package/dist/src/commands/index.d.ts +0 -1
  177. package/dist/src/commands/index.js +0 -1
  178. package/dist/src/commands/info.command.d.ts +0 -1
  179. package/dist/src/commands/info.command.js +0 -1
  180. package/dist/src/constants/index.d.ts +0 -1
  181. package/dist/src/constants/index.js +0 -1
  182. package/dist/src/constants/zudojsVersions.generated.d.ts +0 -1
  183. package/dist/src/constants/zudojsVersions.generated.js +38 -39
  184. package/dist/src/constants/zudojsVersions.helper.d.ts +0 -1
  185. package/dist/src/constants/zudojsVersions.helper.js +0 -1
  186. package/dist/src/errors/index.d.ts +0 -1
  187. package/dist/src/errors/index.js +0 -1
  188. package/dist/src/generators/backend/backend.generator.d.ts +0 -1
  189. package/dist/src/generators/backend/backend.generator.js +0 -1
  190. package/dist/src/generators/backend/index.d.ts +0 -1
  191. package/dist/src/generators/backend/index.js +0 -1
  192. package/dist/src/generators/command/command.generator.d.ts +0 -1
  193. package/dist/src/generators/command/command.generator.js +0 -1
  194. package/dist/src/generators/command/command.template.d.ts +0 -1
  195. package/dist/src/generators/command/command.template.js +0 -1
  196. package/dist/src/generators/command/index.d.ts +0 -1
  197. package/dist/src/generators/command/index.js +0 -1
  198. package/dist/src/generators/event/event.generator.d.ts +0 -1
  199. package/dist/src/generators/event/event.generator.js +0 -1
  200. package/dist/src/generators/event/index.d.ts +0 -1
  201. package/dist/src/generators/event/index.js +0 -1
  202. package/dist/src/generators/frontend/frontendGenerator.core.d.ts +0 -1
  203. package/dist/src/generators/frontend/frontendGenerator.core.js +0 -1
  204. package/dist/src/generators/frontend/frontendPipeline.d.ts +0 -1
  205. package/dist/src/generators/frontend/frontendPipeline.js +0 -1
  206. package/dist/src/generators/frontend/index.d.ts +0 -1
  207. package/dist/src/generators/frontend/index.js +0 -1
  208. package/dist/src/generators/fullstack/fullstackBackend.layout.d.ts +0 -1
  209. package/dist/src/generators/fullstack/fullstackBackend.layout.js +0 -1
  210. package/dist/src/generators/fullstack/fullstackComposer.core.d.ts +0 -1
  211. package/dist/src/generators/fullstack/fullstackComposer.core.js +0 -1
  212. package/dist/src/generators/fullstack/index.d.ts +0 -1
  213. package/dist/src/generators/fullstack/index.js +0 -1
  214. package/dist/src/generators/index.d.ts +0 -1
  215. package/dist/src/generators/index.js +0 -1
  216. package/dist/src/generators/infrastructure/index.d.ts +0 -1
  217. package/dist/src/generators/infrastructure/index.js +0 -1
  218. package/dist/src/generators/infrastructure/infrastructure.generator.d.ts +0 -1
  219. package/dist/src/generators/infrastructure/infrastructure.generator.js +0 -1
  220. package/dist/src/generators/integration/index.d.ts +0 -1
  221. package/dist/src/generators/integration/index.js +0 -1
  222. package/dist/src/generators/integration/integrationGenerator.core.d.ts +0 -1
  223. package/dist/src/generators/integration/integrationGenerator.core.js +0 -1
  224. package/dist/src/generators/job/index.d.ts +0 -1
  225. package/dist/src/generators/job/index.js +0 -1
  226. package/dist/src/generators/job/job.generator.d.ts +0 -1
  227. package/dist/src/generators/job/job.generator.js +0 -1
  228. package/dist/src/generators/middleware/index.d.ts +0 -1
  229. package/dist/src/generators/middleware/index.js +0 -1
  230. package/dist/src/generators/middleware/middleware.generator.d.ts +0 -1
  231. package/dist/src/generators/middleware/middleware.generator.js +0 -1
  232. package/dist/src/generators/middleware/middleware.template.d.ts +0 -1
  233. package/dist/src/generators/middleware/middleware.template.js +0 -1
  234. package/dist/src/generators/model/index.d.ts +0 -1
  235. package/dist/src/generators/model/index.js +0 -1
  236. package/dist/src/generators/model/model.generator.d.ts +0 -1
  237. package/dist/src/generators/model/model.generator.js +0 -1
  238. package/dist/src/generators/module/index.d.ts +0 -1
  239. package/dist/src/generators/module/index.js +0 -1
  240. package/dist/src/generators/module/module.generator.d.ts +0 -1
  241. package/dist/src/generators/module/module.generator.js +27 -11
  242. package/dist/src/generators/module/module.registration.d.ts +4 -3
  243. package/dist/src/generators/module/module.registration.js +5 -4
  244. package/dist/src/generators/project/project.generator.d.ts +0 -1
  245. package/dist/src/generators/project/project.generator.js +0 -1
  246. package/dist/src/generators/query/index.d.ts +0 -1
  247. package/dist/src/generators/query/index.js +0 -1
  248. package/dist/src/generators/query/query.generator.d.ts +0 -1
  249. package/dist/src/generators/query/query.generator.js +0 -1
  250. package/dist/src/generators/query/query.template.d.ts +0 -1
  251. package/dist/src/generators/query/query.template.js +0 -1
  252. package/dist/src/generators/resource/index.d.ts +0 -1
  253. package/dist/src/generators/resource/index.js +0 -1
  254. package/dist/src/generators/resource/resource.checks.d.ts +31 -0
  255. package/dist/src/generators/resource/resource.checks.js +52 -0
  256. package/dist/src/generators/resource/resource.generator.d.ts +5 -3
  257. package/dist/src/generators/resource/resource.generator.js +23 -36
  258. package/dist/src/generators/resource/resource.layout.d.ts +0 -1
  259. package/dist/src/generators/resource/resource.layout.js +0 -1
  260. package/dist/src/generators/resource/resource.plan.d.ts +0 -1
  261. package/dist/src/generators/resource/resource.plan.js +0 -1
  262. package/dist/src/generators/resource/resource.run.d.ts +12 -2
  263. package/dist/src/generators/resource/resource.run.js +33 -9
  264. package/dist/src/generators/validator/index.d.ts +0 -1
  265. package/dist/src/generators/validator/index.js +0 -1
  266. package/dist/src/generators/validator/validator.generator.d.ts +6 -2
  267. package/dist/src/generators/validator/validator.generator.js +31 -10
  268. package/dist/src/index.d.ts +0 -1
  269. package/dist/src/index.js +0 -1
  270. package/dist/src/installers/dependency.installer.d.ts +0 -1
  271. package/dist/src/installers/dependency.installer.js +0 -1
  272. package/dist/src/installers/index.d.ts +0 -1
  273. package/dist/src/installers/index.js +0 -1
  274. package/dist/src/manifest/index.d.ts +0 -1
  275. package/dist/src/manifest/index.js +0 -1
  276. package/dist/src/manifest/manifestFile.helper.d.ts +0 -1
  277. package/dist/src/manifest/manifestFile.helper.js +0 -1
  278. package/dist/src/manifest/manifestManager.core.d.ts +0 -1
  279. package/dist/src/manifest/manifestManager.core.js +0 -1
  280. package/dist/src/prompts/backend/api-style.prompt.d.ts +0 -1
  281. package/dist/src/prompts/backend/api-style.prompt.js +0 -1
  282. package/dist/src/prompts/backend/backend-architecture.prompt.d.ts +0 -1
  283. package/dist/src/prompts/backend/backend-architecture.prompt.js +0 -1
  284. package/dist/src/prompts/backend/database.prompt.d.ts +0 -1
  285. package/dist/src/prompts/backend/database.prompt.js +0 -1
  286. package/dist/src/prompts/backend/index.d.ts +0 -1
  287. package/dist/src/prompts/backend/index.js +0 -1
  288. package/dist/src/prompts/backend/services.prompt.d.ts +0 -1
  289. package/dist/src/prompts/backend/services.prompt.js +0 -1
  290. package/dist/src/prompts/cancel.prompt.d.ts +0 -1
  291. package/dist/src/prompts/cancel.prompt.js +0 -1
  292. package/dist/src/prompts/capabilities/capabilities.prompt.d.ts +0 -1
  293. package/dist/src/prompts/capabilities/capabilities.prompt.js +0 -1
  294. package/dist/src/prompts/capabilities/index.d.ts +0 -1
  295. package/dist/src/prompts/capabilities/index.js +0 -1
  296. package/dist/src/prompts/frontend/framework.prompt.d.ts +0 -1
  297. package/dist/src/prompts/frontend/framework.prompt.js +0 -1
  298. package/dist/src/prompts/frontend/frontend-architecture.prompt.d.ts +0 -1
  299. package/dist/src/prompts/frontend/frontend-architecture.prompt.js +0 -1
  300. package/dist/src/prompts/frontend/index.d.ts +0 -1
  301. package/dist/src/prompts/frontend/index.js +0 -1
  302. package/dist/src/prompts/index.d.ts +0 -1
  303. package/dist/src/prompts/index.js +0 -1
  304. package/dist/src/prompts/menu/index.d.ts +0 -1
  305. package/dist/src/prompts/menu/index.js +0 -1
  306. package/dist/src/prompts/menu/menu.adapter.d.ts +0 -1
  307. package/dist/src/prompts/menu/menu.adapter.js +0 -1
  308. package/dist/src/prompts/menu/menu.constant.d.ts +0 -1
  309. package/dist/src/prompts/menu/menu.constant.js +0 -1
  310. package/dist/src/prompts/menu/menu.flow.d.ts +0 -1
  311. package/dist/src/prompts/menu/menu.flow.js +0 -1
  312. package/dist/src/prompts/menu/menu.select.d.ts +0 -1
  313. package/dist/src/prompts/menu/menu.select.js +0 -1
  314. package/dist/src/prompts/menu/menu.type.d.ts +0 -1
  315. package/dist/src/prompts/menu/menu.type.js +0 -1
  316. package/dist/src/prompts/project/confirmation.prompt.d.ts +0 -1
  317. package/dist/src/prompts/project/confirmation.prompt.js +0 -1
  318. package/dist/src/prompts/project/index.d.ts +0 -1
  319. package/dist/src/prompts/project/index.js +0 -1
  320. package/dist/src/prompts/project/project-name.prompt.d.ts +0 -1
  321. package/dist/src/prompts/project/project-name.prompt.js +0 -1
  322. package/dist/src/prompts/project/project-type.prompt.d.ts +0 -1
  323. package/dist/src/prompts/project/project-type.prompt.js +0 -1
  324. package/dist/src/prompts/workspace/index.d.ts +0 -1
  325. package/dist/src/prompts/workspace/index.js +0 -1
  326. package/dist/src/prompts/workspace/package-manager.prompt.d.ts +0 -1
  327. package/dist/src/prompts/workspace/package-manager.prompt.js +0 -1
  328. package/dist/src/recipes/apply/index.d.ts +0 -1
  329. package/dist/src/recipes/apply/index.js +0 -1
  330. package/dist/src/recipes/apply/recipeApply.app.d.ts +0 -1
  331. package/dist/src/recipes/apply/recipeApply.app.js +0 -1
  332. package/dist/src/recipes/apply/recipeApply.context.d.ts +0 -1
  333. package/dist/src/recipes/apply/recipeApply.context.js +0 -1
  334. package/dist/src/recipes/apply/recipeApply.files.d.ts +0 -1
  335. package/dist/src/recipes/apply/recipeApply.files.js +0 -1
  336. package/dist/src/recipes/apply/recipeApply.project.d.ts +13 -3
  337. package/dist/src/recipes/apply/recipeApply.project.js +56 -3
  338. package/dist/src/recipes/apply/recipeApply.report.d.ts +0 -1
  339. package/dist/src/recipes/apply/recipeApply.report.js +0 -1
  340. package/dist/src/recipes/catalog/database/database.files.d.ts +0 -1
  341. package/dist/src/recipes/catalog/database/database.files.js +0 -1
  342. package/dist/src/recipes/catalog/database/database.recipe.d.ts +0 -1
  343. package/dist/src/recipes/catalog/database/database.recipe.js +11 -2
  344. package/dist/src/recipes/catalog/database/index.d.ts +0 -1
  345. package/dist/src/recipes/catalog/database/index.js +0 -1
  346. package/dist/src/recipes/catalog/email.recipe.d.ts +0 -1
  347. package/dist/src/recipes/catalog/email.recipe.js +0 -1
  348. package/dist/src/recipes/catalog/index.d.ts +0 -1
  349. package/dist/src/recipes/catalog/index.js +0 -1
  350. package/dist/src/recipes/catalog/openapi.recipe.d.ts +0 -1
  351. package/dist/src/recipes/catalog/openapi.recipe.js +0 -1
  352. package/dist/src/recipes/catalog/platform/cache.recipe.d.ts +0 -1
  353. package/dist/src/recipes/catalog/platform/cache.recipe.js +0 -1
  354. package/dist/src/recipes/catalog/platform/index.d.ts +0 -1
  355. package/dist/src/recipes/catalog/platform/index.js +0 -1
  356. package/dist/src/recipes/catalog/platform/messaging.recipe.d.ts +0 -1
  357. package/dist/src/recipes/catalog/platform/messaging.recipe.js +0 -1
  358. package/dist/src/recipes/catalog/platform/observability.recipe.d.ts +0 -1
  359. package/dist/src/recipes/catalog/platform/observability.recipe.js +0 -1
  360. package/dist/src/recipes/catalog/platform/queue.recipe.d.ts +0 -1
  361. package/dist/src/recipes/catalog/platform/queue.recipe.js +0 -1
  362. package/dist/src/recipes/catalog/platform/scheduler.recipe.d.ts +0 -1
  363. package/dist/src/recipes/catalog/platform/scheduler.recipe.js +0 -1
  364. package/dist/src/recipes/catalog/redis.recipe.d.ts +0 -1
  365. package/dist/src/recipes/catalog/redis.recipe.js +0 -1
  366. package/dist/src/recipes/catalog/storage.recipe.d.ts +0 -1
  367. package/dist/src/recipes/catalog/storage.recipe.js +0 -1
  368. package/dist/src/recipes/catalog/websockets.recipe.d.ts +0 -1
  369. package/dist/src/recipes/catalog/websockets.recipe.js +0 -1
  370. package/dist/src/recipes/docker/docker.compose.d.ts +0 -1
  371. package/dist/src/recipes/docker/docker.compose.js +0 -1
  372. package/dist/src/recipes/docker/docker.recipe.d.ts +0 -1
  373. package/dist/src/recipes/docker/docker.recipe.js +0 -1
  374. package/dist/src/recipes/docker/docker.refresh.d.ts +0 -1
  375. package/dist/src/recipes/docker/docker.refresh.js +0 -1
  376. package/dist/src/recipes/docker/index.d.ts +0 -1
  377. package/dist/src/recipes/docker/index.js +0 -1
  378. package/dist/src/recipes/index.d.ts +0 -1
  379. package/dist/src/recipes/index.js +0 -1
  380. package/dist/src/recipes/recipe.registry.d.ts +0 -1
  381. package/dist/src/recipes/recipe.registry.js +0 -1
  382. package/dist/src/recipes/recipe.type.d.ts +6 -1
  383. package/dist/src/recipes/recipe.type.js +0 -1
  384. package/dist/src/registries/adapter/frontendAdapterRegistry.core.d.ts +0 -1
  385. package/dist/src/registries/adapter/frontendAdapterRegistry.core.js +0 -1
  386. package/dist/src/registries/adapter/packageManagerRegistry.core.d.ts +0 -1
  387. package/dist/src/registries/adapter/packageManagerRegistry.core.js +0 -1
  388. package/dist/src/registries/dependency/dependencyRegistry.core.d.ts +0 -1
  389. package/dist/src/registries/dependency/dependencyRegistry.core.js +0 -1
  390. package/dist/src/registries/dependency/index.d.ts +0 -1
  391. package/dist/src/registries/dependency/index.js +0 -1
  392. package/dist/src/registries/generator/generatorRegistry.core.d.ts +0 -1
  393. package/dist/src/registries/generator/generatorRegistry.core.js +0 -1
  394. package/dist/src/registries/generator/index.d.ts +0 -1
  395. package/dist/src/registries/generator/index.js +0 -1
  396. package/dist/src/registries/index.d.ts +0 -1
  397. package/dist/src/registries/index.js +0 -1
  398. package/dist/src/resolvers/architecture.resolver.d.ts +0 -1
  399. package/dist/src/resolvers/architecture.resolver.js +13 -3
  400. package/dist/src/resolvers/capability/capabilityResolver.core.d.ts +0 -1
  401. package/dist/src/resolvers/capability/capabilityResolver.core.js +0 -1
  402. package/dist/src/resolvers/capability/index.d.ts +0 -1
  403. package/dist/src/resolvers/capability/index.js +0 -1
  404. package/dist/src/resolvers/configuration/configurationResolver.core.d.ts +0 -1
  405. package/dist/src/resolvers/configuration/configurationResolver.core.js +0 -1
  406. package/dist/src/resolvers/configuration/index.d.ts +0 -1
  407. package/dist/src/resolvers/configuration/index.js +0 -1
  408. package/dist/src/resolvers/dependency/dependencyResolver.core.d.ts +0 -1
  409. package/dist/src/resolvers/dependency/dependencyResolver.core.js +0 -1
  410. package/dist/src/resolvers/dependency/dependencyVersions.constant.d.ts +0 -1
  411. package/dist/src/resolvers/dependency/dependencyVersions.constant.js +0 -1
  412. package/dist/src/resolvers/dependency/index.d.ts +0 -1
  413. package/dist/src/resolvers/dependency/index.js +0 -1
  414. package/dist/src/resolvers/index.d.ts +0 -1
  415. package/dist/src/resolvers/index.js +0 -1
  416. package/dist/src/resolvers/layout/index.d.ts +0 -1
  417. package/dist/src/resolvers/layout/index.js +0 -1
  418. package/dist/src/resolvers/layout/projectLayout.core.d.ts +0 -1
  419. package/dist/src/resolvers/layout/projectLayout.core.js +0 -1
  420. package/dist/src/resolvers/project.resolver.d.ts +0 -1
  421. package/dist/src/resolvers/project.resolver.js +0 -1
  422. package/dist/src/rollback/index.d.ts +0 -1
  423. package/dist/src/rollback/index.js +0 -1
  424. package/dist/src/rollback/rollbackManager.core.d.ts +0 -1
  425. package/dist/src/rollback/rollbackManager.core.js +0 -1
  426. package/dist/src/runners/package-manager/index.d.ts +0 -1
  427. package/dist/src/runners/package-manager/index.js +0 -1
  428. package/dist/src/runners/package-manager/packageManagerRunner.core.d.ts +0 -1
  429. package/dist/src/runners/package-manager/packageManagerRunner.core.js +0 -1
  430. package/dist/src/runners/process/index.d.ts +0 -1
  431. package/dist/src/runners/process/index.js +0 -1
  432. package/dist/src/runners/process/processRunner.core.d.ts +0 -1
  433. package/dist/src/runners/process/processRunner.core.js +0 -1
  434. package/dist/src/runners/task/index.d.ts +0 -1
  435. package/dist/src/runners/task/index.js +0 -1
  436. package/dist/src/runners/task/taskRunner.core.d.ts +0 -1
  437. package/dist/src/runners/task/taskRunner.core.js +0 -1
  438. package/dist/src/scaffolders/framework.scaffolder.d.ts +0 -1
  439. package/dist/src/scaffolders/framework.scaffolder.js +0 -1
  440. package/dist/src/scaffolders/index.d.ts +0 -1
  441. package/dist/src/scaffolders/index.js +0 -1
  442. package/dist/src/scaffolders/scaffolder.helper.d.ts +0 -1
  443. package/dist/src/scaffolders/scaffolder.helper.js +0 -1
  444. package/dist/src/templates/backendApp/backendApp.core.d.ts +0 -1
  445. package/dist/src/templates/backendApp/backendApp.core.js +0 -1
  446. package/dist/src/templates/backendApp/backendApp.modules.d.ts +0 -1
  447. package/dist/src/templates/backendApp/backendApp.modules.js +0 -1
  448. package/dist/src/templates/backendApp/backendApp.project.d.ts +19 -3
  449. package/dist/src/templates/backendApp/backendApp.project.js +41 -3
  450. package/dist/src/templates/backendApp/index.d.ts +0 -1
  451. package/dist/src/templates/backendApp/index.js +0 -1
  452. package/dist/src/templates/backendApp/parts/config.template.d.ts +0 -1
  453. package/dist/src/templates/backendApp/parts/config.template.js +13 -6
  454. package/dist/src/templates/backendApp/parts/httpUtils.template.d.ts +2 -2
  455. package/dist/src/templates/backendApp/parts/httpUtils.template.js +20 -6
  456. package/dist/src/templates/backendApp/parts/index.d.ts +0 -1
  457. package/dist/src/templates/backendApp/parts/index.js +0 -1
  458. package/dist/src/templates/backendApp/parts/integrations.template.d.ts +0 -1
  459. package/dist/src/templates/backendApp/parts/integrations.template.js +0 -1
  460. package/dist/src/templates/backendApp/parts/wiring.template.d.ts +3 -2
  461. package/dist/src/templates/backendApp/parts/wiring.template.js +13 -3
  462. package/dist/src/templates/microservice/index.d.ts +0 -1
  463. package/dist/src/templates/microservice/index.js +0 -1
  464. package/dist/src/templates/microservice/microservice.template.d.ts +0 -1
  465. package/dist/src/templates/microservice/microservice.template.js +6 -27
  466. package/dist/src/templates/modular-monolith/index.d.ts +0 -1
  467. package/dist/src/templates/modular-monolith/index.js +0 -1
  468. package/dist/src/templates/modular-monolith/modularMonolith.template.d.ts +0 -1
  469. package/dist/src/templates/modular-monolith/modularMonolith.template.js +3 -10
  470. package/dist/src/templates/monolith/index.d.ts +0 -1
  471. package/dist/src/templates/monolith/index.js +0 -1
  472. package/dist/src/templates/monolith/monolith.template.d.ts +0 -1
  473. package/dist/src/templates/monolith/monolith.template.js +3 -11
  474. package/dist/src/templates/resource/index.d.ts +0 -1
  475. package/dist/src/templates/resource/index.js +0 -1
  476. package/dist/src/templates/resource/layers/index.d.ts +4 -4
  477. package/dist/src/templates/resource/layers/index.js +4 -4
  478. package/dist/src/templates/resource/layers/resourceData.template.d.ts +8 -4
  479. package/dist/src/templates/resource/layers/resourceData.template.js +30 -72
  480. package/dist/src/templates/resource/layers/resourceHttp/index.d.ts +6 -0
  481. package/dist/src/templates/resource/layers/resourceHttp/index.js +6 -0
  482. package/dist/src/templates/resource/layers/resourceHttp/resourceController.template.d.ts +10 -0
  483. package/dist/src/templates/resource/layers/resourceHttp/resourceController.template.js +55 -0
  484. package/dist/src/templates/resource/layers/resourceHttp/resourceRoutes.template.d.ts +6 -0
  485. package/dist/src/templates/resource/layers/resourceHttp/resourceRoutes.template.js +77 -0
  486. package/dist/src/templates/resource/layers/resourceHttp/resourceTest.template.d.ts +11 -0
  487. package/dist/src/templates/resource/layers/resourceHttp/resourceTest.template.js +84 -0
  488. package/dist/src/templates/resource/layers/resourceMemory.template.d.ts +6 -0
  489. package/dist/src/templates/resource/layers/resourceMemory.template.js +87 -0
  490. package/dist/src/templates/resource/layers/resourcePrisma.template.d.ts +0 -1
  491. package/dist/src/templates/resource/layers/resourcePrisma.template.js +10 -9
  492. package/dist/src/templates/resource/layers/resourceService.template.d.ts +1 -8
  493. package/dist/src/templates/resource/layers/resourceService.template.js +9 -54
  494. package/dist/src/templates/resource/resource.files.d.ts +0 -1
  495. package/dist/src/templates/resource/resource.files.js +7 -6
  496. package/dist/src/templates/resource/resource.names.d.ts +0 -1
  497. package/dist/src/templates/resource/resource.names.js +0 -1
  498. package/dist/src/templates/resource/resource.type.d.ts +0 -1
  499. package/dist/src/templates/resource/resource.type.js +0 -1
  500. package/dist/src/templates/shared/appRuntime.template.d.ts +0 -1
  501. package/dist/src/templates/shared/appRuntime.template.js +6 -5
  502. package/dist/src/templates/shared/capability.template.d.ts +0 -1
  503. package/dist/src/templates/shared/capability.template.js +0 -1
  504. package/dist/src/templates/shared/dockerfile/dockerfile.install.d.ts +0 -1
  505. package/dist/src/templates/shared/dockerfile/dockerfile.install.js +0 -1
  506. package/dist/src/templates/shared/dockerfile/dockerfile.template.d.ts +0 -1
  507. package/dist/src/templates/shared/dockerfile/dockerfile.template.js +15 -5
  508. package/dist/src/templates/shared/dockerfile/index.d.ts +0 -1
  509. package/dist/src/templates/shared/dockerfile/index.js +0 -1
  510. package/dist/src/templates/shared/index.d.ts +1 -1
  511. package/dist/src/templates/shared/index.js +1 -1
  512. package/dist/src/templates/shared/pnpm.template.d.ts +0 -1
  513. package/dist/src/templates/shared/pnpm.template.js +0 -1
  514. package/dist/src/templates/shared/server.parts.d.ts +28 -0
  515. package/dist/src/templates/shared/server.parts.js +59 -0
  516. package/dist/src/templates/shared/server.template.d.ts +17 -23
  517. package/dist/src/templates/shared/server.template.js +42 -69
  518. package/dist/src/types/index.d.ts +0 -1
  519. package/dist/src/types/index.js +0 -1
  520. package/dist/src/types/projectConfiguration.type.d.ts +0 -1
  521. package/dist/src/types/projectConfiguration.type.js +0 -1
  522. package/dist/src/types/scaffold.type.d.ts +0 -1
  523. package/dist/src/types/scaffold.type.js +0 -1
  524. package/dist/src/utils/index.d.ts +0 -1
  525. package/dist/src/utils/index.js +0 -1
  526. package/dist/src/utils/utils.detect.d.ts +0 -1
  527. package/dist/src/utils/utils.detect.js +0 -1
  528. package/dist/src/utils/utils.exec.d.ts +0 -1
  529. package/dist/src/utils/utils.exec.js +0 -1
  530. package/dist/src/utils/utils.fileSystem.d.ts +0 -1
  531. package/dist/src/utils/utils.fileSystem.js +0 -1
  532. package/dist/src/utils/utils.name.d.ts +0 -1
  533. package/dist/src/utils/utils.name.js +0 -1
  534. package/dist/src/utils/utils.writeGuard.d.ts +0 -1
  535. package/dist/src/utils/utils.writeGuard.js +0 -1
  536. package/dist/src/validators/compatibility/compatibilityValidator.core.d.ts +0 -1
  537. package/dist/src/validators/compatibility/compatibilityValidator.core.js +0 -1
  538. package/dist/src/validators/compatibility/index.d.ts +0 -1
  539. package/dist/src/validators/compatibility/index.js +0 -1
  540. package/dist/src/validators/environment/environmentValidator.core.d.ts +0 -1
  541. package/dist/src/validators/environment/environmentValidator.core.js +0 -1
  542. package/dist/src/validators/environment/index.d.ts +0 -1
  543. package/dist/src/validators/environment/index.js +0 -1
  544. package/dist/src/validators/index.d.ts +0 -1
  545. package/dist/src/validators/index.js +0 -1
  546. package/dist/src/validators/project/index.d.ts +0 -1
  547. package/dist/src/validators/project/index.js +0 -1
  548. package/dist/src/validators/project/projectValidator.core.d.ts +0 -1
  549. package/dist/src/validators/project/projectValidator.core.js +0 -1
  550. package/dist/src/wiring/index.d.ts +0 -1
  551. package/dist/src/wiring/index.js +0 -1
  552. package/dist/src/wiring/wiring.dependencies.d.ts +0 -1
  553. package/dist/src/wiring/wiring.dependencies.js +0 -1
  554. package/dist/src/wiring/wiring.edits.d.ts +0 -1
  555. package/dist/src/wiring/wiring.edits.js +0 -1
  556. package/dist/src/wiring/wiring.markers.d.ts +7 -5
  557. package/dist/src/wiring/wiring.markers.js +8 -7
  558. package/package.json +6 -6
  559. package/dist/src/generators/controller/controller.generator.d.ts +0 -11
  560. package/dist/src/generators/controller/controller.generator.js +0 -47
  561. package/dist/src/generators/dto/dto.generator.d.ts +0 -12
  562. package/dist/src/generators/dto/dto.generator.js +0 -27
  563. package/dist/src/generators/dto/index.d.ts +0 -5
  564. package/dist/src/generators/dto/index.js +0 -5
  565. package/dist/src/generators/repository/repository.generator.d.ts +0 -10
  566. package/dist/src/generators/repository/repository.generator.js +0 -80
  567. package/dist/src/generators/route/index.d.ts +0 -5
  568. package/dist/src/generators/route/index.js +0 -5
  569. package/dist/src/generators/route/route.generator.d.ts +0 -12
  570. package/dist/src/generators/route/route.generator.js +0 -31
  571. package/dist/src/templates/resource/layers/resourceRoutes.template.d.ts +0 -13
  572. package/dist/src/templates/resource/layers/resourceRoutes.template.js +0 -129
@@ -36,4 +36,3 @@ export declare function mergePackageJson(pkg: EditablePackageJson, changes: Pack
36
36
  * `undefined` when there is no such file or nothing to add.
37
37
  */
38
38
  export declare function withAllowedBuilds(root: string, names: readonly string[]): string | undefined;
39
- //# sourceMappingURL=recipeApply.files.d.ts.map
@@ -81,4 +81,3 @@ export function withAllowedBuilds(root, names) {
81
81
  }
82
82
  return source === original ? undefined : source;
83
83
  }
84
- //# sourceMappingURL=recipeApply.files.js.map
@@ -6,6 +6,16 @@ import type { ProjectRecipe, ProjectRecipeContext } from "../recipe.type.js";
6
6
  import type { RecipeOutcome } from "./recipeApply.app.js";
7
7
  /** Writes a project recipe's files (keeping existing ones) and env. */
8
8
  export declare function applyProjectRecipe(recipe: ProjectRecipe, context: ProjectRecipeContext): Promise<RecipeOutcome>;
9
- /** Appends `.gitignore` lines and pnpm allow-list entries; returns the files changed. */
10
- export declare function applyProjectSettings(root: string, gitignore: readonly string[], allowBuilds: readonly string[]): Promise<readonly string[]>;
11
- //# sourceMappingURL=recipeApply.project.d.ts.map
9
+ /**
10
+ * Appends `.gitignore` lines, pnpm allow-list entries and dependency
11
+ * overrides; returns the files changed.
12
+ */
13
+ export declare function applyProjectSettings(root: string, gitignore: readonly string[], allowBuilds: readonly string[], overrides?: Readonly<Record<string, string>>): Promise<readonly string[]>;
14
+ /**
15
+ * Writes `overrides` where the project's package manager reads them: the
16
+ * `overrides:` block of `pnpm-workspace.yaml` (pnpm 11 no longer reads
17
+ * `pnpm.overrides` from package.json), `overrides` in the root package.json
18
+ * for npm and bun, `resolutions` for yarn. An entry the project already has
19
+ * is left alone. Returns the file edited, if any.
20
+ */
21
+ export declare function withDependencyOverrides(root: string, overrides: Readonly<Record<string, string>>): Promise<string | undefined>;
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { existsSync, readFileSync } from "node:fs";
6
6
  import { join } from "node:path";
7
+ import { detectPackageManager } from "../../resolvers/layout/projectLayout.core.js";
7
8
  import { writeFile } from "../../utils/utils.fileSystem.js";
8
9
  import { withAllowedBuilds, withEnvVariables, withGitignoreLines } from "./recipeApply.files.js";
9
10
  /** Writes a project recipe's files (keeping existing ones) and env. */
@@ -31,9 +32,15 @@ export async function applyProjectRecipe(recipe, context) {
31
32
  }
32
33
  return { written, kept, edited, manualSteps: [] };
33
34
  }
34
- /** Appends `.gitignore` lines and pnpm allow-list entries; returns the files changed. */
35
- export async function applyProjectSettings(root, gitignore, allowBuilds) {
35
+ /**
36
+ * Appends `.gitignore` lines, pnpm allow-list entries and dependency
37
+ * overrides; returns the files changed.
38
+ */
39
+ export async function applyProjectSettings(root, gitignore, allowBuilds, overrides = {}) {
36
40
  const edited = [];
41
+ const overridden = await withDependencyOverrides(root, overrides);
42
+ if (overridden !== undefined)
43
+ edited.push(overridden);
37
44
  const ignorePath = join(root, ".gitignore");
38
45
  const ignore = withGitignoreLines(existsSync(ignorePath) ? readFileSync(ignorePath, "utf-8") : "", gitignore);
39
46
  if (ignore !== undefined) {
@@ -47,4 +54,50 @@ export async function applyProjectSettings(root, gitignore, allowBuilds) {
47
54
  }
48
55
  return edited;
49
56
  }
50
- //# sourceMappingURL=recipeApply.project.js.map
57
+ /**
58
+ * Writes `overrides` where the project's package manager reads them: the
59
+ * `overrides:` block of `pnpm-workspace.yaml` (pnpm 11 no longer reads
60
+ * `pnpm.overrides` from package.json), `overrides` in the root package.json
61
+ * for npm and bun, `resolutions` for yarn. An entry the project already has
62
+ * is left alone. Returns the file edited, if any.
63
+ */
64
+ export async function withDependencyOverrides(root, overrides) {
65
+ const entries = Object.entries(overrides);
66
+ if (entries.length === 0)
67
+ return undefined;
68
+ const packageManager = detectPackageManager(root);
69
+ if (packageManager === "pnpm") {
70
+ const path = join(root, "pnpm-workspace.yaml");
71
+ let source = existsSync(path) ? readFileSync(path, "utf-8") : "";
72
+ const original = source;
73
+ const missing = entries.filter(([name]) => !new RegExp(`^ ${JSON.stringify(name)}:`, "m").test(source));
74
+ if (missing.length > 0 && !/^overrides:\s*$/m.test(source)) {
75
+ source = `${source}${source === "" || source.endsWith("\n") ? "" : "\n"}\n# Transitive dependencies raised to versions without published advisories.\noverrides:\n`;
76
+ }
77
+ for (const [name, range] of missing) {
78
+ source = source.replace(/^overrides:\s*$/m, `overrides:\n ${JSON.stringify(name)}: ${JSON.stringify(range)}`);
79
+ }
80
+ if (source === original)
81
+ return undefined;
82
+ await writeFile(root, "pnpm-workspace.yaml", source);
83
+ return "pnpm-workspace.yaml";
84
+ }
85
+ const key = packageManager === "yarn" ? "resolutions" : "overrides";
86
+ const path = join(root, "package.json");
87
+ if (!existsSync(path))
88
+ return undefined;
89
+ const pkg = JSON.parse(readFileSync(path, "utf-8"));
90
+ const current = { ...(pkg[key] ?? {}) };
91
+ let changed = false;
92
+ for (const [name, range] of entries) {
93
+ if (name in current)
94
+ continue;
95
+ current[name] = range;
96
+ changed = true;
97
+ }
98
+ if (!changed)
99
+ return undefined;
100
+ pkg[key] = current;
101
+ await writeFile(root, "package.json", `${JSON.stringify(pkg, null, 2)}\n`);
102
+ return "package.json";
103
+ }
@@ -17,4 +17,3 @@ export declare function recordFeature(pkgPath: string, feature: string): void;
17
17
  export declare function recordProjectFeature(root: string, feature: string, targets: readonly string[]): boolean;
18
18
  /** Logs what was written, kept, edited and what is left to do by hand. */
19
19
  export declare function reportOutcomes(logger: CLIContext["logger"], cwd: string, root: string, outcomes: readonly RecipeOutcome[]): void;
20
- //# sourceMappingURL=recipeApply.report.d.ts.map
@@ -48,4 +48,3 @@ export function reportOutcomes(logger, cwd, root, outcomes) {
48
48
  logger.warn(`Finish by hand:\n${manual.map((step) => ` - ${step}`).join("\n")}`);
49
49
  }
50
50
  }
51
- //# sourceMappingURL=recipeApply.report.js.map
@@ -12,4 +12,3 @@ export declare function renderPrismaSchema(): string;
12
12
  export declare function renderPrismaConfig(): string;
13
13
  /** `src/integrations/database.ts`. */
14
14
  export declare function renderDatabaseIntegration(): string;
15
- //# sourceMappingURL=database.files.d.ts.map
@@ -95,4 +95,3 @@ export const databaseIntegration: Integration = {
95
95
  };
96
96
  `;
97
97
  }
98
- //# sourceMappingURL=database.files.js.map
@@ -6,4 +6,3 @@
6
6
  */
7
7
  import type { AppRecipe } from "../../recipe.type.js";
8
8
  export declare const databaseRecipe: AppRecipe;
9
- //# sourceMappingURL=database.recipe.d.ts.map
@@ -22,8 +22,11 @@ export const databaseRecipe = {
22
22
  ...zudojsDependencies(["@zudojs/database"]),
23
23
  "@prisma/client": DEPENDENCY_VERSION_RANGES["@prisma/client"],
24
24
  "@prisma/adapter-pg": DEPENDENCY_VERSION_RANGES["@prisma/adapter-pg"],
25
+ // A runtime dependency, not a dev one: the production image prunes dev
26
+ // dependencies, and without the CLI it could not run `prisma migrate
27
+ // deploy` — the image could serve but never migrate.
28
+ prisma: DEPENDENCY_VERSION_RANGES.prisma,
25
29
  },
26
- devDependencies: { prisma: DEPENDENCY_VERSION_RANGES.prisma },
27
30
  scripts: {
28
31
  postinstall: "prisma generate",
29
32
  "db:generate": "prisma generate",
@@ -42,9 +45,15 @@ export const databaseRecipe = {
42
45
  }),
43
46
  gitignore: (context) => [`${context.appRoot === "" ? "" : `${context.appRoot}/`}src/generated/`],
44
47
  allowBuilds: ["prisma", "@prisma/engines", "@prisma/client"],
48
+ // The Prisma CLI pulls in mysql2 (unused with PostgreSQL) and deepmerge-ts
49
+ // at versions with published advisories (GHSA-3f6p-5ww8-9rcr,
50
+ // GHSA-rgwj-5xj2-c3m3, GHSA-ggr8-5vv4-36mx), so `pnpm audit` failed in
51
+ // every fresh project. Open-ended ranges: once Prisma catches up they
52
+ // change nothing.
53
+ overrides: { mysql2: ">=3.23.1", "deepmerge-ts": ">=8.0.0" },
45
54
  nextSteps: () => [
46
55
  "Set DATABASE_URL in .env, then run the db:migrate script after adding models.",
56
+ "In production, apply migrations with the built image: docker run --rm --env-file .env <image> npx prisma migrate deploy (the db:deploy script does the same locally).",
47
57
  "Resources generated from now on use Prisma; existing ones keep their in-memory repository until you swap it in src/container.ts.",
48
58
  ],
49
59
  };
50
- //# sourceMappingURL=database.recipe.js.map
@@ -3,4 +3,3 @@
3
3
  */
4
4
  export { databaseRecipe } from "./database.recipe.js";
5
5
  export * from "./database.files.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -3,4 +3,3 @@
3
3
  */
4
4
  export { databaseRecipe } from "./database.recipe.js";
5
5
  export * from "./database.files.js";
6
- //# sourceMappingURL=index.js.map
@@ -6,4 +6,3 @@
6
6
  */
7
7
  import type { AppRecipe } from "../recipe.type.js";
8
8
  export declare const emailRecipe: AppRecipe;
9
- //# sourceMappingURL=email.recipe.d.ts.map
@@ -119,4 +119,3 @@ export const emailRecipe = {
119
119
  `Send with: import { email } from "./integrations/email.js"; await email().send({ to, subject, text });`,
120
120
  ],
121
121
  };
122
- //# sourceMappingURL=email.recipe.js.map
@@ -8,4 +8,3 @@ export { storageRecipe } from "./storage.recipe.js";
8
8
  export { websocketsRecipe } from "./websockets.recipe.js";
9
9
  export { databaseRecipe } from "./database/index.js";
10
10
  export * from "./platform/index.js";
11
- //# sourceMappingURL=index.d.ts.map
@@ -8,4 +8,3 @@ export { storageRecipe } from "./storage.recipe.js";
8
8
  export { websocketsRecipe } from "./websockets.recipe.js";
9
9
  export { databaseRecipe } from "./database/index.js";
10
10
  export * from "./platform/index.js";
11
- //# sourceMappingURL=index.js.map
@@ -5,4 +5,3 @@
5
5
  */
6
6
  import type { AppRecipe } from "../recipe.type.js";
7
7
  export declare const openapiRecipe: AppRecipe;
8
- //# sourceMappingURL=openapi.recipe.d.ts.map
@@ -22,4 +22,3 @@ export const openapiRecipe = {
22
22
  "Describe routes with the `openapi` route option; hide one with `openapi: false`.",
23
23
  ],
24
24
  };
25
- //# sourceMappingURL=openapi.recipe.js.map
@@ -4,4 +4,3 @@
4
4
  */
5
5
  import type { AppRecipe } from "../../recipe.type.js";
6
6
  export declare const cacheRecipe: AppRecipe;
7
- //# sourceMappingURL=cache.recipe.d.ts.map
@@ -52,4 +52,3 @@ export const cacheRecipe = {
52
52
  configSection: `cache: Object.freeze({ maxEntries: int(config, "cache_max_entries", 10_000), defaultTtlMs: int(config, "cache_default_ttl_ms", 60_000) }),`,
53
53
  integration: { file: "cache.ts", exportName: "cacheIntegration", source },
54
54
  };
55
- //# sourceMappingURL=cache.recipe.js.map
@@ -6,4 +6,3 @@ export { messagingRecipe } from "./messaging.recipe.js";
6
6
  export { observabilityRecipe } from "./observability.recipe.js";
7
7
  export { queueRecipe } from "./queue.recipe.js";
8
8
  export { schedulerRecipe } from "./scheduler.recipe.js";
9
- //# sourceMappingURL=index.d.ts.map
@@ -6,4 +6,3 @@ export { messagingRecipe } from "./messaging.recipe.js";
6
6
  export { observabilityRecipe } from "./observability.recipe.js";
7
7
  export { queueRecipe } from "./queue.recipe.js";
8
8
  export { schedulerRecipe } from "./scheduler.recipe.js";
9
- //# sourceMappingURL=index.js.map
@@ -4,4 +4,3 @@
4
4
  */
5
5
  import type { AppRecipe } from "../../recipe.type.js";
6
6
  export declare const messagingRecipe: AppRecipe;
7
- //# sourceMappingURL=messaging.recipe.d.ts.map
@@ -43,4 +43,3 @@ export const messagingRecipe = {
43
43
  dependencies: zudojsDependencies(["@zudojs/messaging"]),
44
44
  integration: { file: "messaging.ts", exportName: "messagingIntegration", source },
45
45
  };
46
- //# sourceMappingURL=messaging.recipe.js.map
@@ -5,4 +5,3 @@
5
5
  */
6
6
  import type { AppRecipe } from "../../recipe.type.js";
7
7
  export declare const observabilityRecipe: AppRecipe;
8
- //# sourceMappingURL=observability.recipe.d.ts.map
@@ -46,4 +46,3 @@ export const observabilityRecipe = {
46
46
  configSection: `observability: Object.freeze({ serviceName: text(config, "service_name", "app") }),`,
47
47
  integration: { file: "observability.ts", exportName: "observabilityIntegration", source },
48
48
  };
49
- //# sourceMappingURL=observability.recipe.js.map
@@ -4,4 +4,3 @@
4
4
  */
5
5
  import type { AppRecipe } from "../../recipe.type.js";
6
6
  export declare const queueRecipe: AppRecipe;
7
- //# sourceMappingURL=queue.recipe.d.ts.map
@@ -58,4 +58,3 @@ export const queueRecipe = {
58
58
  configSection: `queue: Object.freeze({ concurrency: int(config, "queue_concurrency", 5) }),`,
59
59
  integration: { file: "queue.ts", exportName: "queueIntegration", source },
60
60
  };
61
- //# sourceMappingURL=queue.recipe.js.map
@@ -4,4 +4,3 @@
4
4
  */
5
5
  import type { AppRecipe } from "../../recipe.type.js";
6
6
  export declare const schedulerRecipe: AppRecipe;
7
- //# sourceMappingURL=scheduler.recipe.d.ts.map
@@ -53,4 +53,3 @@ export const schedulerRecipe = {
53
53
  dependencies: zudojsDependencies(["@zudojs/scheduler"]),
54
54
  integration: { file: "scheduler.ts", exportName: "schedulerIntegration", source },
55
55
  };
56
- //# sourceMappingURL=scheduler.recipe.js.map
@@ -5,4 +5,3 @@
5
5
  */
6
6
  import type { AppRecipe } from "../recipe.type.js";
7
7
  export declare const redisRecipe: AppRecipe;
8
- //# sourceMappingURL=redis.recipe.d.ts.map
@@ -76,4 +76,3 @@ export const redisRecipe = {
76
76
  `Use it anywhere after start: import { redis } from "./integrations/redis.js"; await redis().set("key", "value");`,
77
77
  ],
78
78
  };
79
- //# sourceMappingURL=redis.recipe.js.map
@@ -4,4 +4,3 @@
4
4
  */
5
5
  import type { AppRecipe } from "../recipe.type.js";
6
6
  export declare const storageRecipe: AppRecipe;
7
- //# sourceMappingURL=storage.recipe.d.ts.map
@@ -46,4 +46,3 @@ export const storageRecipe = {
46
46
  integration: { file: "storage.ts", exportName: "storageIntegration", source },
47
47
  gitignore: () => [".data/"],
48
48
  };
49
- //# sourceMappingURL=storage.recipe.js.map
@@ -7,4 +7,3 @@
7
7
  */
8
8
  import type { AppRecipe } from "../recipe.type.js";
9
9
  export declare const websocketsRecipe: AppRecipe;
10
- //# sourceMappingURL=websockets.recipe.d.ts.map
@@ -81,4 +81,3 @@ export const websocketsRecipe = {
81
81
  `Connect to ws://localhost:<PORT>/ws; browsers must be on an origin listed in CORS_ORIGINS.`,
82
82
  ],
83
83
  };
84
- //# sourceMappingURL=websockets.recipe.js.map
@@ -16,4 +16,3 @@ import type { ProjectRecipeContext } from "../recipe.type.js";
16
16
  export declare function usesPostgres(context: ProjectRecipeContext): boolean;
17
17
  /** Renders `compose.yaml`. */
18
18
  export declare function renderComposeFile(context: ProjectRecipeContext): string;
19
- //# sourceMappingURL=docker.compose.d.ts.map
@@ -87,4 +87,3 @@ export function renderComposeFile(context) {
87
87
  services:
88
88
  ${[...context.apps.map((app) => appService(context, app)), ...backing].join("\n")}${volumes}`;
89
89
  }
90
- //# sourceMappingURL=docker.compose.js.map
@@ -7,4 +7,3 @@
7
7
  */
8
8
  import type { ProjectRecipe } from "../recipe.type.js";
9
9
  export declare const dockerRecipe: ProjectRecipe;
10
- //# sourceMappingURL=docker.recipe.d.ts.map
@@ -48,4 +48,3 @@ export const dockerRecipe = {
48
48
  : [],
49
49
  nextSteps: () => ["cp .env.example .env, then: docker compose up --build"],
50
50
  };
51
- //# sourceMappingURL=docker.recipe.js.map
@@ -10,4 +10,3 @@
10
10
  import type { ProjectRecipeContext } from "../recipe.type.js";
11
11
  /** Rewrites unedited CLI Dockerfiles whose Prisma setting is stale; returns their paths. */
12
12
  export declare function refreshGeneratedDockerfiles(context: ProjectRecipeContext): Promise<readonly string[]>;
13
- //# sourceMappingURL=docker.refresh.d.ts.map
@@ -34,4 +34,3 @@ export async function refreshGeneratedDockerfiles(context) {
34
34
  }
35
35
  return refreshed;
36
36
  }
37
- //# sourceMappingURL=docker.refresh.js.map
@@ -4,4 +4,3 @@
4
4
  export { dockerRecipe } from "./docker.recipe.js";
5
5
  export { renderComposeFile } from "./docker.compose.js";
6
6
  export { refreshGeneratedDockerfiles } from "./docker.refresh.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -4,4 +4,3 @@
4
4
  export { dockerRecipe } from "./docker.recipe.js";
5
5
  export { renderComposeFile } from "./docker.compose.js";
6
6
  export { refreshGeneratedDockerfiles } from "./docker.refresh.js";
7
- //# sourceMappingURL=index.js.map
@@ -5,4 +5,3 @@ export * from "./recipe.type.js";
5
5
  export * from "./recipe.registry.js";
6
6
  export { refreshGeneratedDockerfiles } from "./docker/index.js";
7
7
  export * from "./apply/index.js";
8
- //# sourceMappingURL=index.d.ts.map
@@ -5,4 +5,3 @@ export * from "./recipe.type.js";
5
5
  export * from "./recipe.registry.js";
6
6
  export { refreshGeneratedDockerfiles } from "./docker/index.js";
7
7
  export * from "./apply/index.js";
8
- //# sourceMappingURL=index.js.map
@@ -14,4 +14,3 @@ export declare const FEATURE_RECIPES: Readonly<Record<string, FeatureRecipe>>;
14
14
  * @throws {CLIValidationError} For refused or unknown names.
15
15
  */
16
16
  export declare function resolveFeatureRecipe(name: string): FeatureRecipe;
17
- //# sourceMappingURL=recipe.registry.d.ts.map
@@ -43,4 +43,3 @@ export function resolveFeatureRecipe(name) {
43
43
  }
44
44
  return recipe;
45
45
  }
46
- //# sourceMappingURL=recipe.registry.js.map
@@ -58,6 +58,12 @@ export interface AppRecipe {
58
58
  readonly gitignore?: (context: RecipeContext) => readonly string[];
59
59
  /** Packages allowed to run install scripts (pnpm allowBuilds). */
60
60
  readonly allowBuilds?: readonly string[];
61
+ /**
62
+ * Transitive dependencies forced to a range, written at the project root
63
+ * where every package manager reads them (`overrides` in
64
+ * pnpm-workspace.yaml, `overrides` or `resolutions` in package.json).
65
+ */
66
+ readonly overrides?: Readonly<Record<string, string>>;
61
67
  /** What to do next, printed after the recipe is applied. */
62
68
  readonly nextSteps?: (context: RecipeContext) => readonly string[];
63
69
  }
@@ -90,4 +96,3 @@ export interface ProjectRecipe {
90
96
  }
91
97
  /** Any recipe. */
92
98
  export type FeatureRecipe = AppRecipe | ProjectRecipe;
93
- //# sourceMappingURL=recipe.type.d.ts.map
@@ -9,4 +9,3 @@
9
9
  * project recipe (docker) writes files at the project root.
10
10
  */
11
11
  export {};
12
- //# sourceMappingURL=recipe.type.js.map
@@ -33,4 +33,3 @@ export declare class FrontendAdapterRegistry {
33
33
  */
34
34
  getAll(): readonly FrontendAdapter[];
35
35
  }
36
- //# sourceMappingURL=frontendAdapterRegistry.core.d.ts.map
@@ -69,4 +69,3 @@ export class FrontendAdapterRegistry {
69
69
  return Array.from(this.adapters.values());
70
70
  }
71
71
  }
72
- //# sourceMappingURL=frontendAdapterRegistry.core.js.map
@@ -32,4 +32,3 @@ export declare class PackageManagerRegistry {
32
32
  */
33
33
  detect(): Promise<PackageManager | undefined>;
34
34
  }
35
- //# sourceMappingURL=packageManagerRegistry.core.d.ts.map
@@ -59,4 +59,3 @@ export class PackageManagerRegistry {
59
59
  return undefined;
60
60
  }
61
61
  }
62
- //# sourceMappingURL=packageManagerRegistry.core.js.map
@@ -29,4 +29,3 @@ export declare class DependencyRegistry {
29
29
  clear(): void;
30
30
  get names(): readonly string[];
31
31
  }
32
- //# sourceMappingURL=dependencyRegistry.core.d.ts.map
@@ -48,4 +48,3 @@ export class DependencyRegistry {
48
48
  return Array.from(this.dependencies.keys());
49
49
  }
50
50
  }
51
- //# sourceMappingURL=dependencyRegistry.core.js.map
@@ -4,4 +4,3 @@
4
4
  * Registries for dependency management.
5
5
  */
6
6
  export { DependencyRegistry, type DependencyRecord, } from "./dependencyRegistry.core.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -4,4 +4,3 @@
4
4
  * Registries for dependency management.
5
5
  */
6
6
  export { DependencyRegistry, } from "./dependencyRegistry.core.js";
7
- //# sourceMappingURL=index.js.map
@@ -24,4 +24,3 @@ export declare class GeneratorRegistry {
24
24
  getByCapability(capability: string): GeneratorRegistryEntry[];
25
25
  getNames(): readonly string[];
26
26
  }
27
- //# sourceMappingURL=generatorRegistry.core.d.ts.map
@@ -76,4 +76,3 @@ export class GeneratorRegistry {
76
76
  return Array.from(this.generators.keys());
77
77
  }
78
78
  }
79
- //# sourceMappingURL=generatorRegistry.core.js.map
@@ -4,4 +4,3 @@
4
4
  * Registries for project generators.
5
5
  */
6
6
  export { GeneratorRegistry, type GeneratorRegistryEntry, } from "./generatorRegistry.core.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -4,4 +4,3 @@
4
4
  * Registries for project generators.
5
5
  */
6
6
  export { GeneratorRegistry, } from "./generatorRegistry.core.js";
7
- //# sourceMappingURL=index.js.map
@@ -7,4 +7,3 @@ export { FrontendAdapterRegistry } from "./adapter/frontendAdapterRegistry.core.
7
7
  export { PackageManagerRegistry } from "./adapter/packageManagerRegistry.core.js";
8
8
  export { GeneratorRegistry, type GeneratorRegistryEntry, } from "./generator/index.js";
9
9
  export { DependencyRegistry, type DependencyRecord, } from "./dependency/index.js";
10
- //# sourceMappingURL=index.d.ts.map
@@ -7,4 +7,3 @@ export { FrontendAdapterRegistry } from "./adapter/frontendAdapterRegistry.core.
7
7
  export { PackageManagerRegistry } from "./adapter/packageManagerRegistry.core.js";
8
8
  export { GeneratorRegistry, } from "./generator/index.js";
9
9
  export { DependencyRegistry, } from "./dependency/index.js";
10
- //# sourceMappingURL=index.js.map
@@ -9,4 +9,3 @@ type Architecture = (typeof ARCHITECTURES)[number];
9
9
  */
10
10
  export declare function detectArchitecture(cwd: string): Promise<Architecture | null>;
11
11
  export {};
12
- //# sourceMappingURL=architecture.resolver.d.ts.map
@@ -1,4 +1,4 @@
1
- import { existsSync } from "node:fs";
1
+ import { existsSync, readdirSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { resolveProjectLayout } from "./layout/projectLayout.core.js";
4
4
  const ARCHITECTURES = ["monolith", "modular-monolith", "microservice"];
@@ -19,9 +19,19 @@ export async function detectArchitecture(cwd) {
19
19
  if (gateway)
20
20
  return "microservice";
21
21
  }
22
- if (existsSync(join(cwd, "src/modules"))) {
22
+ if (hasModuleDirectories(join(cwd, "src", "modules"))) {
23
23
  return "modular-monolith";
24
24
  }
25
25
  return "monolith";
26
26
  }
27
- //# sourceMappingURL=architecture.resolver.js.map
27
+ /**
28
+ * Whether `modulesDir` holds a modular-monolith module: a directory with
29
+ * its own `<name>.module.ts`. A plain monolith also has `src/modules/` —
30
+ * `zudojs create` writes the app module there as a flat file — so the
31
+ * directory alone used to make every monolith a "modular monolith".
32
+ */
33
+ function hasModuleDirectories(modulesDir) {
34
+ if (!existsSync(modulesDir))
35
+ return false;
36
+ return readdirSync(modulesDir, { withFileTypes: true }).some((entry) => entry.isDirectory() && existsSync(join(modulesDir, entry.name, `${entry.name}.module.ts`)));
37
+ }
@@ -17,4 +17,3 @@ export declare class CapabilityResolver {
17
17
  resolve(capabilities: readonly string[]): CapabilityResolutionResult;
18
18
  getCapabilities(): readonly string[];
19
19
  }
20
- //# sourceMappingURL=capabilityResolver.core.d.ts.map
@@ -57,4 +57,3 @@ export class CapabilityResolver {
57
57
  return this.dependencyGraph.map((d) => d.capability);
58
58
  }
59
59
  }
60
- //# sourceMappingURL=capabilityResolver.core.js.map
@@ -4,4 +4,3 @@
4
4
  * Resolves capability dependencies and feature requirements.
5
5
  */
6
6
  export { CapabilityResolver, type CapabilityDependency, type CapabilityResolutionResult, } from "./capabilityResolver.core.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -4,4 +4,3 @@
4
4
  * Resolves capability dependencies and feature requirements.
5
5
  */
6
6
  export { CapabilityResolver, } from "./capabilityResolver.core.js";
7
- //# sourceMappingURL=index.js.map
@@ -29,4 +29,3 @@ export declare class ConfigurationResolver {
29
29
  private extractValue;
30
30
  private extractArray;
31
31
  }
32
- //# sourceMappingURL=configurationResolver.core.d.ts.map
@@ -91,4 +91,3 @@ export class ConfigurationResolver {
91
91
  .filter(Boolean);
92
92
  }
93
93
  }
94
- //# sourceMappingURL=configurationResolver.core.js.map
@@ -4,4 +4,3 @@
4
4
  * Resolves and validates project configuration.
5
5
  */
6
6
  export { ConfigurationResolver, type ResolvedConfiguration, } from "./configurationResolver.core.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -4,4 +4,3 @@
4
4
  * Resolves and validates project configuration.
5
5
  */
6
6
  export { ConfigurationResolver, } from "./configurationResolver.core.js";
7
- //# sourceMappingURL=index.js.map