nodefony 7.0.2 → 10.0.0-alpha.2

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 (903) hide show
  1. package/.ai/symbols.json +36135 -0
  2. package/LICENSE +544 -0
  3. package/README.md +316 -694
  4. package/bin/nodefony +2183 -85
  5. package/dist/client/Container.js +367 -0
  6. package/dist/client/Event.js +198 -0
  7. package/dist/client/Service.js +344 -0
  8. package/dist/client/Tools.js +162 -0
  9. package/dist/client/client/ClientKernel.js +276 -0
  10. package/dist/client/client/angular/index.js +352 -0
  11. package/dist/client/client/announce.js +212 -0
  12. package/dist/client/client/debugbar/DebugBar.js +1624 -0
  13. package/dist/client/client/debugbar/format.js +103 -0
  14. package/dist/client/client/debugbar/hmr.js +37 -0
  15. package/dist/client/client/debugbar/index.js +29 -0
  16. package/dist/client/client/debugbar/model.js +133 -0
  17. package/dist/client/client/debugbar/network.js +173 -0
  18. package/dist/client/client/debugbar/profile.js +114 -0
  19. package/dist/client/client/index.js +34 -0
  20. package/dist/client/client/react/index.js +268 -0
  21. package/dist/client/client/realtime/AdaptiveRate.js +240 -0
  22. package/dist/client/client/realtime/BrowserWsTransport.js +57 -0
  23. package/dist/client/client/realtime/RealtimeClient.js +898 -0
  24. package/dist/client/client/realtime/localEvents.js +56 -0
  25. package/dist/client/client/realtime/notice.js +125 -0
  26. package/dist/client/client/realtime/observe.js +280 -0
  27. package/dist/client/client/roles/index.js +3 -0
  28. package/dist/client/client/roles/registry.js +97 -0
  29. package/dist/client/client/roles/roles.js +91 -0
  30. package/dist/client/client/shim/events.js +88 -0
  31. package/dist/client/client/shim/util.js +20 -0
  32. package/dist/client/client/svelte/index.js +319 -0
  33. package/dist/client/client/syslog/context.js +122 -0
  34. package/dist/client/client/syslog/errors.js +49 -0
  35. package/dist/client/client/syslog/uplink.js +106 -0
  36. package/dist/client/client/vue/index.js +321 -0
  37. package/dist/client/colors.js +63 -0
  38. package/dist/client/debugbar.standalone.js +4274 -0
  39. package/dist/client/realtime/IRealtimeTransport.js +32 -0
  40. package/dist/client/realtime/JsonRpcPeer.js +251 -0
  41. package/dist/client/realtime/channelRate.js +39 -0
  42. package/dist/client/realtime/platformChannels.js +155 -0
  43. package/dist/client/syslog/Pdu.js +224 -0
  44. package/dist/client/syslog/Syslog.js +1159 -0
  45. package/dist/client/syslog/drivers/pduFlow.js +106 -0
  46. package/dist/client/syslog/drivers/pduProtocol.js +28 -0
  47. package/dist/client/syslog/logColor.js +80 -0
  48. package/dist/client/types/src/Container.d.ts +221 -0
  49. package/dist/client/types/src/Event.d.ts +171 -0
  50. package/dist/client/types/src/FileClass.d.ts +184 -0
  51. package/dist/client/types/src/Service.d.ts +165 -0
  52. package/dist/client/types/src/Tools.d.ts +116 -0
  53. package/dist/client/types/src/client/ClientKernel.d.ts +90 -0
  54. package/dist/client/types/src/client/IClientKernel.d.ts +195 -0
  55. package/dist/client/types/src/client/angular/index.d.ts +273 -0
  56. package/dist/client/types/src/client/announce.d.ts +74 -0
  57. package/dist/client/types/src/client/debugbar/DebugBar.d.ts +279 -0
  58. package/dist/client/types/src/client/debugbar/format.d.ts +48 -0
  59. package/dist/client/types/src/client/debugbar/hmr.d.ts +16 -0
  60. package/dist/client/types/src/client/debugbar/index.d.ts +30 -0
  61. package/dist/client/types/src/client/debugbar/model.d.ts +158 -0
  62. package/dist/client/types/src/client/debugbar/network.d.ts +55 -0
  63. package/dist/client/types/src/client/debugbar/profile.d.ts +99 -0
  64. package/dist/client/types/src/client/index.d.ts +47 -0
  65. package/dist/client/types/src/client/react/index.d.ts +207 -0
  66. package/dist/client/types/src/client/realtime/AdaptiveRate.d.ts +138 -0
  67. package/dist/client/types/src/client/realtime/BrowserWsTransport.d.ts +27 -0
  68. package/dist/client/types/src/client/realtime/RealtimeClient.d.ts +573 -0
  69. package/dist/client/types/src/client/realtime/localEvents.d.ts +53 -0
  70. package/dist/client/types/src/client/realtime/notice.d.ts +70 -0
  71. package/dist/client/types/src/client/realtime/observe.d.ts +284 -0
  72. package/dist/client/types/src/client/roles/index.d.ts +15 -0
  73. package/dist/client/types/src/client/roles/registry.d.ts +72 -0
  74. package/dist/client/types/src/client/roles/roles.d.ts +68 -0
  75. package/dist/client/types/src/client/shim/cli-color.d.ts +2 -0
  76. package/dist/client/types/src/client/shim/events.d.ts +39 -0
  77. package/dist/client/types/src/client/shim/util.d.ts +14 -0
  78. package/dist/client/types/src/client/svelte/index.d.ts +216 -0
  79. package/dist/client/types/src/client/syslog/context.d.ts +76 -0
  80. package/dist/client/types/src/client/syslog/errors.d.ts +46 -0
  81. package/dist/client/types/src/client/syslog/uplink.d.ts +89 -0
  82. package/dist/client/types/src/client/transport/websocket.d.ts +5 -0
  83. package/dist/client/types/src/client/vue/index.d.ts +234 -0
  84. package/dist/client/types/src/colors.d.ts +32 -0
  85. package/dist/client/types/src/config/infra.d.ts +171 -0
  86. package/dist/client/types/src/kernel/bootReport.d.ts +112 -0
  87. package/dist/client/types/src/kernel/readinessRegistry.d.ts +104 -0
  88. package/dist/client/types/src/realtime/IRealtimeSocket.d.ts +142 -0
  89. package/dist/client/types/src/realtime/IRealtimeTransport.d.ts +50 -0
  90. package/dist/client/types/src/realtime/JsonRpcPeer.d.ts +251 -0
  91. package/dist/client/types/src/realtime/RealtimeEventMap.d.ts +269 -0
  92. package/dist/client/types/src/realtime/channelRate.d.ts +55 -0
  93. package/dist/client/types/src/realtime/platformChannels.d.ts +147 -0
  94. package/dist/client/types/src/syslog/Pdu.d.ts +134 -0
  95. package/dist/client/types/src/syslog/Syslog.d.ts +482 -0
  96. package/dist/client/types/src/syslog/drivers/ILogDriver.d.ts +177 -0
  97. package/dist/client/types/src/syslog/drivers/pduFlow.d.ts +53 -0
  98. package/dist/client/types/src/syslog/drivers/pduProtocol.d.ts +20 -0
  99. package/dist/client/types/src/syslog/logColor.d.ts +59 -0
  100. package/dist/client/types/src/types/ICliKernel.d.ts +28 -0
  101. package/dist/client/types/src/types/ICommand.d.ts +14 -0
  102. package/dist/client/types/src/types/IContainer.d.ts +35 -0
  103. package/dist/client/types/src/types/IKernel.d.ts +138 -0
  104. package/dist/client/types/src/types/IMcpTool.d.ts +157 -0
  105. package/dist/client/types/src/types/IModule.d.ts +73 -0
  106. package/dist/client/types/src/types/IPage.d.ts +119 -0
  107. package/dist/client/types/src/types/IService.d.ts +62 -0
  108. package/dist/client/types/src/types/ISyslog.d.ts +58 -0
  109. package/dist/client/types/src/types/ITransport.d.ts +5 -0
  110. package/dist/client/types/src/types/globals.d.ts +47 -0
  111. package/dist/node/Cli.js +750 -0
  112. package/dist/node/Container.js +367 -0
  113. package/dist/node/Error.js +309 -0
  114. package/dist/node/Event.js +198 -0
  115. package/dist/node/FileClass.js +308 -0
  116. package/dist/node/Nodefony.js +78 -0
  117. package/dist/node/Service.js +344 -0
  118. package/dist/node/Tools.js +205 -0
  119. package/dist/node/bin/resolveLocalCli.js +10 -0
  120. package/dist/node/bundler/index.js +103 -0
  121. package/dist/node/cli/agentTargets.js +461 -0
  122. package/dist/node/cli/aiMcp.js +553 -0
  123. package/dist/node/cli/aiMcpReport.js +129 -0
  124. package/dist/node/cli/aiSync.js +323 -0
  125. package/dist/node/cli/aiSyncReport.js +142 -0
  126. package/dist/node/cli/card.js +186 -0
  127. package/dist/node/cli/cardReport.js +110 -0
  128. package/dist/node/cli/completion.js +415 -0
  129. package/dist/node/cli/create.js +805 -0
  130. package/dist/node/cli/env.js +332 -0
  131. package/dist/node/cli/envReport.js +159 -0
  132. package/dist/node/cli/execPortable.js +60 -0
  133. package/dist/node/cli/gitHooks.js +191 -0
  134. package/dist/node/cli/gitHooksReport.js +119 -0
  135. package/dist/node/cli/globalFlags.js +67 -0
  136. package/dist/node/cli/helpReport.js +288 -0
  137. package/dist/node/cli/manPage.js +165 -0
  138. package/dist/node/cli/nodefonyBin.js +61 -0
  139. package/dist/node/cli/outdated.js +144 -0
  140. package/dist/node/cli/progress.js +555 -0
  141. package/dist/node/cli/projectRoot.js +32 -0
  142. package/dist/node/cli/promptPassword.js +44 -0
  143. package/dist/node/cli/prompts.js +86 -0
  144. package/dist/node/cli/scaffold/destination.js +92 -0
  145. package/dist/node/cli/scaffold/engine.js +2156 -0
  146. package/dist/node/cli/scaffold/entityFields.js +589 -0
  147. package/dist/node/cli/scaffold/format.js +243 -0
  148. package/dist/node/cli/scaffold/interactive.js +124 -0
  149. package/dist/node/cli/scaffold/moduleLayout.js +38 -0
  150. package/dist/node/cli/scaffold/reservedEntities.js +74 -0
  151. package/dist/node/cli/scaffold/spec.js +704 -0
  152. package/dist/node/cli/scaffold/steps.js +40 -0
  153. package/dist/node/cli/scaffold/userContractSource.js +133 -0
  154. package/dist/node/cli/scaffold/versions.js +57 -0
  155. package/dist/node/cli/scaffold/writer.js +172 -0
  156. package/dist/node/cli/startMenu.js +496 -0
  157. package/dist/node/cli/symbols.js +205 -0
  158. package/dist/node/cli/sysexits.js +34 -0
  159. package/dist/node/cli/tableReport.js +184 -0
  160. package/dist/node/cli/usageReport.js +144 -0
  161. package/dist/node/colors.js +63 -0
  162. package/dist/node/command/Builder.js +153 -0
  163. package/dist/node/command/Command.js +348 -0
  164. package/dist/node/config/configProvenance.js +101 -0
  165. package/dist/node/config/defaults.js +39 -0
  166. package/dist/node/config/defineConfig.js +129 -0
  167. package/dist/node/config/defineEnv.js +264 -0
  168. package/dist/node/config/envExample.js +41 -0
  169. package/dist/node/config/envOverride.js +423 -0
  170. package/dist/node/config/infra.js +163 -0
  171. package/dist/node/config/reactivity.js +23 -0
  172. package/dist/node/config/reservedEnv.js +118 -0
  173. package/dist/node/config/schema.js +134 -0
  174. package/dist/node/config/use.js +24 -0
  175. package/dist/node/finder/File.js +49 -0
  176. package/dist/node/finder/FileResult.js +86 -0
  177. package/dist/node/finder/Finder.js +201 -0
  178. package/dist/node/finder/Result.js +45 -0
  179. package/dist/node/index.js +121 -0
  180. package/dist/node/kernel/BootConfigurationError.js +54 -0
  181. package/dist/node/kernel/CliKernel.js +630 -0
  182. package/dist/node/kernel/Kernel.js +2198 -0
  183. package/dist/node/kernel/Module.js +453 -0
  184. package/dist/node/kernel/adminPlane/adminCaller.js +98 -0
  185. package/dist/node/kernel/adminPlane/adminRbac.js +51 -0
  186. package/dist/node/kernel/adminPlane/catalog.js +158 -0
  187. package/dist/node/kernel/adminPlane/executeAdmin.js +78 -0
  188. package/dist/node/kernel/checks/deep.js +335 -0
  189. package/dist/node/kernel/checks/freshness.js +139 -0
  190. package/dist/node/kernel/checks/gating.js +231 -0
  191. package/dist/node/kernel/checks/guards.js +232 -0
  192. package/dist/node/kernel/checks/lastBoot.js +136 -0
  193. package/dist/node/kernel/checks/live.js +330 -0
  194. package/dist/node/kernel/checks/packageDeps.js +292 -0
  195. package/dist/node/kernel/checks/readiness.js +153 -0
  196. package/dist/node/kernel/checks/renderReport.js +780 -0
  197. package/dist/node/kernel/checks/report.js +421 -0
  198. package/dist/node/kernel/checks/runDoctor.js +731 -0
  199. package/dist/node/kernel/checks/surface.js +364 -0
  200. package/dist/node/kernel/checks/walk.js +100 -0
  201. package/dist/node/kernel/checks/wiring.js +450 -0
  202. package/dist/node/kernel/commands/AiMcpCommand.js +65 -0
  203. package/dist/node/kernel/commands/AiSyncCommand.js +48 -0
  204. package/dist/node/kernel/commands/BuildCommand.js +49 -0
  205. package/dist/node/kernel/commands/CardCommand.js +50 -0
  206. package/dist/node/kernel/commands/ClusterCommand.js +58 -0
  207. package/dist/node/kernel/commands/CompletionCommand.js +31 -0
  208. package/dist/node/kernel/commands/CreateCommand.js +45 -0
  209. package/dist/node/kernel/commands/DevCommand.js +99 -0
  210. package/dist/node/kernel/commands/DoctorCommand.js +115 -0
  211. package/dist/node/kernel/commands/EnvCommand.js +52 -0
  212. package/dist/node/kernel/commands/GitHooksCommand.js +47 -0
  213. package/dist/node/kernel/commands/InspectCommand.js +153 -0
  214. package/dist/node/kernel/commands/InstallCommand.js +20 -0
  215. package/dist/node/kernel/commands/MenuCommand.js +261 -0
  216. package/dist/node/kernel/commands/OutdatedCommand.js +164 -0
  217. package/dist/node/kernel/commands/ProdCommand.js +60 -0
  218. package/dist/node/kernel/commands/StatusCommand.js +30 -0
  219. package/dist/node/kernel/commands/StopCommand.js +35 -0
  220. package/dist/node/kernel/commands/SymbolsCommand.js +45 -0
  221. package/dist/node/kernel/commands/runtimeLauncher.js +95 -0
  222. package/dist/node/kernel/decorators/kernelDecorator.js +110 -0
  223. package/dist/node/kernel/injector/injector.js +137 -0
  224. package/dist/node/kernel/injector/serviceOrder.js +106 -0
  225. package/dist/node/kernel/inspect/adminSubjects.js +194 -0
  226. package/dist/node/kernel/inspect/docOutline.js +86 -0
  227. package/dist/node/kernel/lifecycleTags.js +76 -0
  228. package/dist/node/kernel/moduleConfig.js +75 -0
  229. package/dist/node/kernel/moduleGating.js +68 -0
  230. package/dist/node/kernel/readinessRegistry.js +98 -0
  231. package/dist/node/kernel/resolveModuleEntry.js +61 -0
  232. package/dist/node/mcp/caller.js +40 -0
  233. package/dist/node/mcp/guard.js +51 -0
  234. package/dist/node/mcp/protocol.js +157 -0
  235. package/dist/node/mcp/server.js +216 -0
  236. package/dist/node/mcp/tools.js +861 -0
  237. package/dist/node/oauth/authorizationServer.js +221 -0
  238. package/dist/node/oauth/protectedResource.js +293 -0
  239. package/dist/node/package.js +4 -0
  240. package/dist/node/realtime/IRealtimeTransport.js +32 -0
  241. package/dist/node/realtime/JsonRpcPeer.js +251 -0
  242. package/dist/node/realtime/RealtimeEventMap.js +15 -0
  243. package/dist/node/realtime/channelRate.js +39 -0
  244. package/dist/node/realtime/platformChannels.js +155 -0
  245. package/dist/node/runtime/GcScheduler.js +92 -0
  246. package/dist/node/runtime/RequestContext.js +76 -0
  247. package/dist/node/runtime/bearer.js +84 -0
  248. package/dist/node/runtime/engineEnvironment.js +79 -0
  249. package/dist/node/runtime/loadEnv.js +105 -0
  250. package/dist/node/runtime/pageFacets.js +85 -0
  251. package/dist/node/runtime/pageFilters.js +103 -0
  252. package/dist/node/runtime/pageGuard.js +84 -0
  253. package/dist/node/runtime/pageQuery.js +160 -0
  254. package/dist/node/runtime/pageSort.js +114 -0
  255. package/dist/node/runtime/redact.js +43 -0
  256. package/dist/node/runtime/withTimeout.js +71 -0
  257. package/dist/node/service/cluster/ClusterManager.js +202 -0
  258. package/dist/node/service/cluster/ClusterProbeAggregator.js +120 -0
  259. package/dist/node/service/cluster/ClusterRelay.js +74 -0
  260. package/dist/node/service/cluster/clusterMaster.js +65 -0
  261. package/dist/node/service/cluster/clusterMessage.js +70 -0
  262. package/dist/node/service/cluster/cpuQuota.js +59 -0
  263. package/dist/node/service/cluster/instanceProbe.js +52 -0
  264. package/dist/node/service/cluster/podEnvironment.js +48 -0
  265. package/dist/node/service/cluster/processProbe.js +70 -0
  266. package/dist/node/service/cluster/richProcessProbe.js +115 -0
  267. package/dist/node/service/cluster/topology.js +71 -0
  268. package/dist/node/service/dev/BootReporter.js +490 -0
  269. package/dist/node/service/dev/DevSupervisor.js +1004 -0
  270. package/dist/node/service/dev/bootVerdict.js +158 -0
  271. package/dist/node/service/dev/detachedStart.js +372 -0
  272. package/dist/node/service/dev/devProcess.js +1137 -0
  273. package/dist/node/service/dev/devProjects.js +138 -0
  274. package/dist/node/service/dev/devStatusReport.js +395 -0
  275. package/dist/node/service/dev/devStop.js +263 -0
  276. package/dist/node/service/fetchService.js +35 -0
  277. package/dist/node/service/gitService.js +62 -0
  278. package/dist/node/syslog/Pdu.js +224 -0
  279. package/dist/node/syslog/Syslog.js +1159 -0
  280. package/dist/node/syslog/drivers/ClusterFileLogDriver.js +114 -0
  281. package/dist/node/syslog/drivers/FileLogDriver.js +127 -0
  282. package/dist/node/syslog/drivers/ILogDriver.js +26 -0
  283. package/dist/node/syslog/drivers/LokiLogDriver.js +144 -0
  284. package/dist/node/syslog/drivers/MemoryLogDriver.js +33 -0
  285. package/dist/node/syslog/drivers/OpenSearchLogDriver.js +159 -0
  286. package/dist/node/syslog/drivers/builtinLogDrivers.js +114 -0
  287. package/dist/node/syslog/drivers/filterPdus.js +71 -0
  288. package/dist/node/syslog/drivers/logDriverRegistry.js +83 -0
  289. package/dist/node/syslog/drivers/opensearchShared.js +17 -0
  290. package/dist/node/syslog/drivers/pduFlow.js +106 -0
  291. package/dist/node/syslog/drivers/pduProtocol.js +28 -0
  292. package/dist/node/syslog/httpFetch.js +43 -0
  293. package/dist/node/syslog/logColor.js +80 -0
  294. package/dist/node/syslog/sinks/FileSink.js +142 -0
  295. package/dist/node/syslog/transports/BatchingHttpTransport.js +98 -0
  296. package/dist/node/syslog/transports/ConsoleTransport.js +14 -0
  297. package/dist/node/syslog/transports/FileTransport.js +17 -0
  298. package/dist/node/syslog/transports/HttpTransport.js +44 -0
  299. package/dist/node/syslog/transports/LokiTransport.js +80 -0
  300. package/dist/node/syslog/transports/OpenSearchTransport.js +53 -0
  301. package/dist/node/syslog/transports/SyslogTransport.js +13 -0
  302. package/dist/node/syslog/transports/index.js +8 -0
  303. package/dist/node/testing/index.js +190 -0
  304. package/dist/types/Cli.d.ts +177 -0
  305. package/dist/types/Container.d.ts +221 -0
  306. package/dist/types/Error.d.ts +162 -0
  307. package/dist/types/Event.d.ts +171 -0
  308. package/dist/types/FileClass.d.ts +184 -0
  309. package/dist/types/Nodefony.d.ts +66 -0
  310. package/dist/types/Service.d.ts +165 -0
  311. package/dist/types/Tools.d.ts +116 -0
  312. package/dist/types/bin/resolveLocalCli.d.ts +49 -0
  313. package/dist/types/bundler/index.d.ts +66 -0
  314. package/dist/types/cli/agentTargets.d.ts +378 -0
  315. package/dist/types/cli/aiMcp.d.ts +239 -0
  316. package/dist/types/cli/aiMcpReport.d.ts +113 -0
  317. package/dist/types/cli/aiSync.d.ts +68 -0
  318. package/dist/types/cli/aiSyncReport.d.ts +149 -0
  319. package/dist/types/cli/card.d.ts +49 -0
  320. package/dist/types/cli/cardReport.d.ts +127 -0
  321. package/dist/types/cli/completion.d.ts +154 -0
  322. package/dist/types/cli/create.d.ts +177 -0
  323. package/dist/types/cli/env.d.ts +103 -0
  324. package/dist/types/cli/envReport.d.ts +153 -0
  325. package/dist/types/cli/execPortable.d.ts +54 -0
  326. package/dist/types/cli/gitHooks.d.ts +48 -0
  327. package/dist/types/cli/gitHooksReport.d.ts +101 -0
  328. package/dist/types/cli/globalFlags.d.ts +48 -0
  329. package/dist/types/cli/helpReport.d.ts +110 -0
  330. package/dist/types/cli/manPage.d.ts +21 -0
  331. package/dist/types/cli/nodefonyBin.d.ts +45 -0
  332. package/dist/types/cli/outdated.d.ts +119 -0
  333. package/dist/types/cli/progress.d.ts +349 -0
  334. package/dist/types/cli/projectRoot.d.ts +19 -0
  335. package/dist/types/cli/promptPassword.d.ts +22 -0
  336. package/dist/types/cli/prompts.d.ts +102 -0
  337. package/dist/types/cli/scaffold/destination.d.ts +70 -0
  338. package/dist/types/cli/scaffold/engine.d.ts +545 -0
  339. package/dist/types/cli/scaffold/entityFields.d.ts +238 -0
  340. package/dist/types/cli/scaffold/format.d.ts +78 -0
  341. package/dist/types/cli/scaffold/interactive.d.ts +11 -0
  342. package/dist/types/cli/scaffold/moduleLayout.d.ts +69 -0
  343. package/dist/types/cli/scaffold/reservedEntities.d.ts +49 -0
  344. package/dist/types/cli/scaffold/spec.d.ts +159 -0
  345. package/dist/types/cli/scaffold/steps.d.ts +24 -0
  346. package/dist/types/cli/scaffold/userContractSource.d.ts +86 -0
  347. package/dist/types/cli/scaffold/versions.d.ts +14 -0
  348. package/dist/types/cli/scaffold/writer.d.ts +100 -0
  349. package/dist/types/cli/startMenu.d.ts +195 -0
  350. package/dist/types/cli/symbols.d.ts +84 -0
  351. package/dist/types/cli/sysexits.d.ts +31 -0
  352. package/dist/types/cli/tableReport.d.ts +44 -0
  353. package/dist/types/cli/usageReport.d.ts +108 -0
  354. package/dist/types/client/ClientKernel.d.ts +90 -0
  355. package/dist/types/client/IClientKernel.d.ts +195 -0
  356. package/dist/types/client/angular/index.d.ts +273 -0
  357. package/dist/types/client/announce.d.ts +74 -0
  358. package/dist/types/client/debugbar/DebugBar.d.ts +279 -0
  359. package/dist/types/client/debugbar/format.d.ts +48 -0
  360. package/dist/types/client/debugbar/hmr.d.ts +16 -0
  361. package/dist/types/client/debugbar/index.d.ts +30 -0
  362. package/dist/types/client/debugbar/model.d.ts +158 -0
  363. package/dist/types/client/debugbar/network.d.ts +55 -0
  364. package/dist/types/client/debugbar/profile.d.ts +99 -0
  365. package/dist/types/client/index.d.ts +47 -0
  366. package/dist/types/client/react/index.d.ts +207 -0
  367. package/dist/types/client/realtime/AdaptiveRate.d.ts +138 -0
  368. package/dist/types/client/realtime/BrowserWsTransport.d.ts +27 -0
  369. package/dist/types/client/realtime/RealtimeClient.d.ts +573 -0
  370. package/dist/types/client/realtime/localEvents.d.ts +53 -0
  371. package/dist/types/client/realtime/notice.d.ts +70 -0
  372. package/dist/types/client/realtime/observe.d.ts +284 -0
  373. package/dist/types/client/roles/index.d.ts +15 -0
  374. package/dist/types/client/roles/registry.d.ts +72 -0
  375. package/dist/types/client/roles/roles.d.ts +68 -0
  376. package/dist/types/client/shim/cli-color.d.ts +2 -0
  377. package/dist/types/client/shim/events.d.ts +39 -0
  378. package/dist/types/client/shim/util.d.ts +14 -0
  379. package/dist/types/client/svelte/index.d.ts +216 -0
  380. package/dist/types/client/syslog/context.d.ts +76 -0
  381. package/dist/types/client/syslog/errors.d.ts +46 -0
  382. package/dist/types/client/syslog/uplink.d.ts +89 -0
  383. package/dist/types/client/transport/websocket.d.ts +5 -0
  384. package/dist/types/client/vue/index.d.ts +234 -0
  385. package/dist/types/colors.d.ts +32 -0
  386. package/dist/types/command/Builder.d.ts +47 -0
  387. package/dist/types/command/Command.d.ts +268 -0
  388. package/dist/types/config/configMeta.d.ts +53 -0
  389. package/dist/types/config/configProvenance.d.ts +58 -0
  390. package/dist/types/config/defaults.d.ts +33 -0
  391. package/dist/types/config/defineConfig.d.ts +70 -0
  392. package/dist/types/config/defineEnv.d.ts +170 -0
  393. package/dist/types/config/envExample.d.ts +23 -0
  394. package/dist/types/config/envOverride.d.ts +236 -0
  395. package/dist/types/config/index.d.ts +23 -0
  396. package/dist/types/config/infra.d.ts +171 -0
  397. package/dist/types/config/reactivity.d.ts +36 -0
  398. package/dist/types/config/reservedEnv.d.ts +145 -0
  399. package/dist/types/config/schema.d.ts +113 -0
  400. package/dist/types/config/types.d.ts +374 -0
  401. package/dist/types/config/use.d.ts +80 -0
  402. package/dist/types/finder/File.d.ts +26 -0
  403. package/dist/types/finder/FileResult.d.ts +14 -0
  404. package/dist/types/finder/Finder.d.ts +51 -0
  405. package/dist/types/finder/Result.d.ts +10 -0
  406. package/dist/types/index.d.ts +205 -0
  407. package/dist/types/kernel/BootConfigurationError.d.ts +50 -0
  408. package/dist/types/kernel/CliKernel.d.ts +289 -0
  409. package/dist/types/kernel/Kernel.d.ts +1255 -0
  410. package/dist/types/kernel/Module.d.ts +326 -0
  411. package/dist/types/kernel/adminPlane/adminCaller.d.ts +105 -0
  412. package/dist/types/kernel/adminPlane/adminRbac.d.ts +44 -0
  413. package/dist/types/kernel/adminPlane/catalog.d.ts +122 -0
  414. package/dist/types/kernel/adminPlane/executeAdmin.d.ts +99 -0
  415. package/dist/types/kernel/bootReport.d.ts +112 -0
  416. package/dist/types/kernel/checks/deep.d.ts +122 -0
  417. package/dist/types/kernel/checks/freshness.d.ts +49 -0
  418. package/dist/types/kernel/checks/gating.d.ts +134 -0
  419. package/dist/types/kernel/checks/guards.d.ts +57 -0
  420. package/dist/types/kernel/checks/lastBoot.d.ts +189 -0
  421. package/dist/types/kernel/checks/live.d.ts +110 -0
  422. package/dist/types/kernel/checks/packageDeps.d.ts +44 -0
  423. package/dist/types/kernel/checks/readiness.d.ts +97 -0
  424. package/dist/types/kernel/checks/renderReport.d.ts +107 -0
  425. package/dist/types/kernel/checks/report.d.ts +414 -0
  426. package/dist/types/kernel/checks/runDoctor.d.ts +361 -0
  427. package/dist/types/kernel/checks/surface.d.ts +148 -0
  428. package/dist/types/kernel/checks/walk.d.ts +45 -0
  429. package/dist/types/kernel/checks/wiring.d.ts +54 -0
  430. package/dist/types/kernel/commands/AiMcpCommand.d.ts +39 -0
  431. package/dist/types/kernel/commands/AiSyncCommand.d.ts +28 -0
  432. package/dist/types/kernel/commands/BuildCommand.d.ts +13 -0
  433. package/dist/types/kernel/commands/CardCommand.d.ts +34 -0
  434. package/dist/types/kernel/commands/ClusterCommand.d.ts +29 -0
  435. package/dist/types/kernel/commands/CompletionCommand.d.ts +17 -0
  436. package/dist/types/kernel/commands/CreateCommand.d.ts +16 -0
  437. package/dist/types/kernel/commands/DevCommand.d.ts +40 -0
  438. package/dist/types/kernel/commands/DoctorCommand.d.ts +55 -0
  439. package/dist/types/kernel/commands/EnvCommand.d.ts +35 -0
  440. package/dist/types/kernel/commands/GitHooksCommand.d.ts +27 -0
  441. package/dist/types/kernel/commands/InspectCommand.d.ts +59 -0
  442. package/dist/types/kernel/commands/InstallCommand.d.ts +7 -0
  443. package/dist/types/kernel/commands/MenuCommand.d.ts +58 -0
  444. package/dist/types/kernel/commands/OutdatedCommand.d.ts +47 -0
  445. package/dist/types/kernel/commands/ProdCommand.d.ts +29 -0
  446. package/dist/types/kernel/commands/StatusCommand.d.ts +17 -0
  447. package/dist/types/kernel/commands/StopCommand.d.ts +17 -0
  448. package/dist/types/kernel/commands/SymbolsCommand.d.ts +29 -0
  449. package/dist/types/kernel/commands/runtimeLauncher.d.ts +76 -0
  450. package/dist/types/kernel/decorators/kernelDecorator.d.ts +76 -0
  451. package/dist/types/kernel/injector/injector.d.ts +47 -0
  452. package/dist/types/kernel/injector/serviceOrder.d.ts +29 -0
  453. package/dist/types/kernel/inspect/adminSubjects.d.ts +169 -0
  454. package/dist/types/kernel/inspect/docOutline.d.ts +53 -0
  455. package/dist/types/kernel/lifecycleTags.d.ts +79 -0
  456. package/dist/types/kernel/moduleConfig.d.ts +35 -0
  457. package/dist/types/kernel/moduleGating.d.ts +78 -0
  458. package/dist/types/kernel/readinessRegistry.d.ts +104 -0
  459. package/dist/types/kernel/resolveModuleEntry.d.ts +46 -0
  460. package/dist/types/mcp/caller.d.ts +55 -0
  461. package/dist/types/mcp/guard.d.ts +66 -0
  462. package/dist/types/mcp/protocol.d.ts +163 -0
  463. package/dist/types/mcp/server.d.ts +70 -0
  464. package/dist/types/mcp/tools.d.ts +209 -0
  465. package/dist/types/oauth/authorizationServer.d.ts +204 -0
  466. package/dist/types/oauth/protectedResource.d.ts +339 -0
  467. package/dist/types/realtime/IRealtimeSocket.d.ts +142 -0
  468. package/dist/types/realtime/IRealtimeTransport.d.ts +50 -0
  469. package/dist/types/realtime/JsonRpcPeer.d.ts +251 -0
  470. package/dist/types/realtime/RealtimeEventMap.d.ts +269 -0
  471. package/dist/types/realtime/channelRate.d.ts +55 -0
  472. package/dist/types/realtime/platformChannels.d.ts +147 -0
  473. package/dist/types/runtime/GcScheduler.d.ts +96 -0
  474. package/dist/types/runtime/RequestContext.d.ts +152 -0
  475. package/dist/types/runtime/bearer.d.ts +88 -0
  476. package/dist/types/runtime/engineEnvironment.d.ts +115 -0
  477. package/dist/types/runtime/loadEnv.d.ts +86 -0
  478. package/dist/types/runtime/pageFacets.d.ts +104 -0
  479. package/dist/types/runtime/pageFilters.d.ts +139 -0
  480. package/dist/types/runtime/pageGuard.d.ts +78 -0
  481. package/dist/types/runtime/pageQuery.d.ts +138 -0
  482. package/dist/types/runtime/pageSort.d.ts +86 -0
  483. package/dist/types/runtime/redact.d.ts +27 -0
  484. package/dist/types/runtime/withTimeout.d.ts +51 -0
  485. package/dist/types/service/cluster/ClusterManager.d.ts +112 -0
  486. package/dist/types/service/cluster/ClusterProbeAggregator.d.ts +68 -0
  487. package/dist/types/service/cluster/ClusterRelay.d.ts +57 -0
  488. package/dist/types/service/cluster/clusterMaster.d.ts +40 -0
  489. package/dist/types/service/cluster/clusterMessage.d.ts +94 -0
  490. package/dist/types/service/cluster/cpuQuota.d.ts +37 -0
  491. package/dist/types/service/cluster/instanceProbe.d.ts +82 -0
  492. package/dist/types/service/cluster/podEnvironment.d.ts +35 -0
  493. package/dist/types/service/cluster/processProbe.d.ts +53 -0
  494. package/dist/types/service/cluster/richProcessProbe.d.ts +77 -0
  495. package/dist/types/service/cluster/topology.d.ts +64 -0
  496. package/dist/types/service/dev/BootReporter.d.ts +67 -0
  497. package/dist/types/service/dev/DevSupervisor.d.ts +117 -0
  498. package/dist/types/service/dev/bootVerdict.d.ts +99 -0
  499. package/dist/types/service/dev/detachedStart.d.ts +164 -0
  500. package/dist/types/service/dev/devProcess.d.ts +638 -0
  501. package/dist/types/service/dev/devProjects.d.ts +121 -0
  502. package/dist/types/service/dev/devStatusReport.d.ts +141 -0
  503. package/dist/types/service/dev/devStop.d.ts +57 -0
  504. package/dist/types/service/fetchService.d.ts +29 -0
  505. package/dist/types/service/gitService.d.ts +24 -0
  506. package/dist/types/syslog/Pdu.d.ts +134 -0
  507. package/dist/types/syslog/Syslog.d.ts +482 -0
  508. package/dist/types/syslog/drivers/ClusterFileLogDriver.d.ts +40 -0
  509. package/dist/types/syslog/drivers/FileLogDriver.d.ts +55 -0
  510. package/dist/types/syslog/drivers/ILogDriver.d.ts +177 -0
  511. package/dist/types/syslog/drivers/LokiLogDriver.d.ts +44 -0
  512. package/dist/types/syslog/drivers/MemoryLogDriver.d.ts +20 -0
  513. package/dist/types/syslog/drivers/OpenSearchLogDriver.d.ts +40 -0
  514. package/dist/types/syslog/drivers/builtinLogDrivers.d.ts +43 -0
  515. package/dist/types/syslog/drivers/filterPdus.d.ts +21 -0
  516. package/dist/types/syslog/drivers/logDriverRegistry.d.ts +100 -0
  517. package/dist/types/syslog/drivers/opensearchShared.d.ts +11 -0
  518. package/dist/types/syslog/drivers/pduFlow.d.ts +53 -0
  519. package/dist/types/syslog/drivers/pduProtocol.d.ts +20 -0
  520. package/dist/types/syslog/httpFetch.d.ts +48 -0
  521. package/dist/types/syslog/logColor.d.ts +59 -0
  522. package/dist/types/syslog/sinks/FileSink.d.ts +78 -0
  523. package/dist/types/syslog/transports/BatchingHttpTransport.d.ts +59 -0
  524. package/dist/types/syslog/transports/ConsoleTransport.d.ts +8 -0
  525. package/dist/types/syslog/transports/FileTransport.d.ts +13 -0
  526. package/dist/types/syslog/transports/HttpTransport.d.ts +15 -0
  527. package/dist/types/syslog/transports/LokiTransport.d.ts +45 -0
  528. package/dist/types/syslog/transports/OpenSearchTransport.d.ts +40 -0
  529. package/dist/types/syslog/transports/SyslogTransport.d.ts +9 -0
  530. package/dist/types/syslog/transports/index.d.ts +12 -0
  531. package/dist/types/testing/index.d.ts +197 -0
  532. package/dist/types/types/IAdminApi.d.ts +246 -0
  533. package/dist/types/types/ICliKernel.d.ts +28 -0
  534. package/dist/types/types/ICommand.d.ts +14 -0
  535. package/dist/types/types/IContainer.d.ts +35 -0
  536. package/dist/types/types/IIdempotencyStore.d.ts +159 -0
  537. package/dist/types/types/IKernel.d.ts +138 -0
  538. package/dist/types/types/IMcpTool.d.ts +157 -0
  539. package/dist/types/types/IModule.d.ts +73 -0
  540. package/dist/types/types/IModuleManifest.d.ts +49 -0
  541. package/dist/types/types/IPage.d.ts +119 -0
  542. package/dist/types/types/IService.d.ts +62 -0
  543. package/dist/types/types/ISyslog.d.ts +58 -0
  544. package/dist/types/types/ITransport.d.ts +5 -0
  545. package/dist/types/types/globals.d.ts +47 -0
  546. package/docs/angular-services.md +318 -0
  547. package/docs/catalogue.md +184 -0
  548. package/docs/cli.md +369 -0
  549. package/docs/client.md +616 -0
  550. package/docs/debugbar.md +218 -0
  551. package/docs/environnement.md +308 -0
  552. package/docs/index.md +388 -0
  553. package/docs/kernel.md +670 -0
  554. package/docs/progression.md +228 -0
  555. package/docs/react-hooks.md +686 -0
  556. package/docs/request-context.md +507 -0
  557. package/docs/service.md +590 -0
  558. package/docs/svelte-reactivite.md +293 -0
  559. package/docs/syslog.md +848 -0
  560. package/docs/testing.md +203 -0
  561. package/docs/vue-composables.md +255 -0
  562. package/man/nodefony.1 +152 -0
  563. package/package.json +163 -83
  564. package/templates/app/agents/AGENTS.md.tpl +967 -0
  565. package/templates/app/agents/POINTEUR.md.tpl +12 -0
  566. package/templates/app/base/Dockerfile.tpl +104 -0
  567. package/templates/app/base/README.md.tpl +314 -0
  568. package/templates/app/base/dockerignore.tpl +28 -0
  569. package/templates/app/base/env.ts.tpl +130 -0
  570. package/templates/app/base/gitattributes.tpl +28 -0
  571. package/templates/app/base/github/workflows/ci.yml.tpl +91 -0
  572. package/templates/app/base/gitignore.tpl +46 -0
  573. package/templates/app/base/gitlab-ci.yml.tpl +42 -0
  574. package/templates/app/base/index.ts.tpl +69 -0
  575. package/templates/app/base/nodefony.config.ts.tpl +342 -0
  576. package/templates/app/base/oxlintrc.json.tpl +127 -0
  577. package/templates/app/base/package.json.tpl +75 -0
  578. package/templates/app/base/prettierignore.tpl +24 -0
  579. package/templates/app/base/prettierrc.json.tpl +12 -0
  580. package/templates/app/base/rolldown.config.ts.tpl +8 -0
  581. package/templates/app/base/tests/config.test.ts.tpl +29 -0
  582. package/templates/app/base/tests/e2e.setup.ts.tpl +181 -0
  583. package/templates/app/base/tests/e2e.test.ts.tpl +105 -0
  584. package/templates/app/base/tests/migrations.e2e.test.ts.tpl +579 -0
  585. package/templates/app/base/tsconfig.json.tpl +47 -0
  586. package/templates/app/base/vitest.config.ts.tpl +88 -0
  587. package/templates/app/base/vitest.e2e.config.ts.tpl +39 -0
  588. package/templates/app/complete/compose.yaml.tpl +328 -0
  589. package/templates/app/complete/deploy/migrate-job.yaml.tpl +100 -0
  590. package/templates/app/complete/docker/db/init-nodefony-e2e.sql.tpl +30 -0
  591. package/templates/app/complete/docker/grafana/provisioning/datasources/loki.yaml.tpl +15 -0
  592. package/templates/app/complete/env.local.tpl +11 -0
  593. package/templates/app/complete/env.tpl +53 -0
  594. package/templates/app/complete/nodefony/entity/User.ts.tpl +69 -0
  595. package/templates/app/complete/nodefony/security/provisionUsers.ts.tpl +124 -0
  596. package/templates/app/complete/nodefony/service/AppBannerService.ts.tpl +98 -0
  597. package/templates/app/complete/nodefony/service/AppInfoService.ts.tpl +85 -0
  598. package/templates/app/frontend/angular/frontend/src/accent.css.tpl +34 -0
  599. package/templates/app/frontend/angular/frontend/src/app/app.component.ts.tpl +400 -0
  600. package/templates/app/frontend/react/frontend/src/App.tsx.tpl +421 -0
  601. package/templates/app/frontend/react/frontend/src/accent.css.tpl +30 -0
  602. package/templates/app/frontend/shared/frontend/src/brand.ts.tpl +3 -0
  603. package/templates/app/frontend/shared/frontend/src/showcase.css.tpl +224 -0
  604. package/templates/app/frontend/shared/nodefony/controllers/AppController.ts.tpl +45 -0
  605. package/templates/app/frontend/svelte/frontend/src/App.svelte.tpl +371 -0
  606. package/templates/app/frontend/svelte/frontend/src/accent.css.tpl +34 -0
  607. package/templates/app/frontend/vue/frontend/src/App.vue.tpl +367 -0
  608. package/templates/app/frontend/vue/frontend/src/accent.css.tpl +34 -0
  609. package/templates/app/home/nodefony/controllers/HomeController.ts.tpl +38 -0
  610. package/templates/command/nodefony/command/__NAME__.ts.tpl +132 -0
  611. package/templates/controller/duplex/nodefony/controllers/__NAME__.ts.tpl +188 -0
  612. package/templates/controller/example/nodefony/controllers/__NAME__.ts.tpl +348 -0
  613. package/templates/controller/hello/nodefony/controllers/__NAME__.ts.tpl +143 -0
  614. package/templates/controller/realtime/nodefony/controllers/__NAME__.ts.tpl +153 -0
  615. package/templates/controller/realtime/tests/__KEBAB__-realtime.test.ts.tpl +79 -0
  616. package/templates/controller/rest/nodefony/controllers/__NAME__.ts.tpl +159 -0
  617. package/templates/entity/base/nodefony/entity/__PASCAL__.schema.ts.tpl +31 -0
  618. package/templates/entity/base/nodefony/entity/__PASCAL__.ts.tpl +68 -0
  619. package/templates/entity/controller/nodefony/controllers/__PASCAL__Controller.ts.tpl +335 -0
  620. package/templates/entity/service/nodefony/service/__PASCAL__Service.ts.tpl +126 -0
  621. package/templates/entity/tests/tests/__KEBAB__.e2e.test.ts.tpl +358 -0
  622. package/templates/entity/tests/tests/__KEBAB__.test.ts.tpl +87 -0
  623. package/templates/front/angular/frontend/src/app/app.component.ts.tpl +30 -0
  624. package/templates/front/base/nodefony/controllers/__NAME__.ts.tpl +60 -0
  625. package/templates/front/react/frontend/src/App.tsx.tpl +26 -0
  626. package/templates/front/svelte/frontend/src/App.svelte.tpl +19 -0
  627. package/templates/front/vue/frontend/src/App.vue.tpl +23 -0
  628. package/templates/module/ai/AGENTS.md.tpl +71 -0
  629. package/templates/module/base/README.md.tpl +62 -0
  630. package/templates/module/base/docs/index.md.tpl +55 -0
  631. package/templates/module/base/index.ts.tpl +50 -0
  632. package/templates/module/base/nodefony/config/config.ts.tpl +60 -0
  633. package/templates/module/base/nodefony/config/defineModuleConfig.ts.tpl +55 -0
  634. package/templates/module/base/nodefony/src/errors/__PASCAL__Error.ts.tpl +20 -0
  635. package/templates/module/base/package.json.tpl +53 -0
  636. package/templates/module/base/rolldown.config.ts.tpl +14 -0
  637. package/templates/module/base/tests/__KEBAB__.test.ts.tpl +39 -0
  638. package/templates/module/base/tsconfig.json.tpl +42 -0
  639. package/templates/module/base/vitest.config.ts.tpl +27 -0
  640. package/templates/module/packages/CLAUDE.md.tpl +51 -0
  641. package/templates/module/packages/MEMORY.md.tpl +39 -0
  642. package/templates/module/packages/tsconfig.declarations.json.tpl +19 -0
  643. package/templates/module/packages/tsconfig.tests.json.tpl +11 -0
  644. package/templates/module/service/nodefony/interfaces/I__PASCAL__Service.ts.tpl +14 -0
  645. package/templates/module/service/nodefony/interfaces/index.ts.tpl +1 -0
  646. package/templates/module/service/nodefony/service/__PASCAL__Service.ts.tpl +116 -0
  647. package/templates/service/nodefony/interfaces/I__PASCAL__Service.ts.tpl +19 -0
  648. package/templates/service/nodefony/service/__PASCAL__Service.ts.tpl +136 -0
  649. package/templates/service/tests/__PASCAL__Service.test.ts.tpl +53 -0
  650. package/templates/shared/front-entry/angular/frontend/src/main.ts.tpl +17 -0
  651. package/templates/shared/front-entry/react/frontend/src/main.tsx.tpl +11 -0
  652. package/templates/shared/front-entry/svelte/frontend/src/main.ts.tpl +13 -0
  653. package/templates/shared/front-entry/vue/frontend/src/main.ts.tpl +12 -0
  654. package/templates/shared/front-registrar/nodefony/frontend/register__PASCAL__Entry.ts.tpl +40 -0
  655. package/templates/shared/front-shell/frontend/index.html.tpl +39 -0
  656. package/templates/shared/ng-app-tsconfig/frontend/tsconfig.app.json.tpl +18 -0
  657. package/templates/shared/svelte-shim/frontend/src/env.d.ts.tpl +12 -0
  658. package/templates/shared/vue-shim/frontend/src/env.d.ts.tpl +15 -0
  659. package/.yarnclean +0 -45
  660. package/CHANGELOG.md +0 -406
  661. package/autoloader.es6 +0 -253
  662. package/builder.es6 +0 -366
  663. package/cli/builder/bundles/bundle.js +0 -328
  664. package/cli/builder/bundles/controller.js +0 -73
  665. package/cli/builder/bundles/users-bundle/.yarnclean +0 -45
  666. package/cli/builder/bundles/users-bundle/Command/fixtureTask.js +0 -47
  667. package/cli/builder/bundles/users-bundle/Command/usersCommand.js +0 -105
  668. package/cli/builder/bundles/users-bundle/Entity/mongoose/userEntity.js +0 -168
  669. package/cli/builder/bundles/users-bundle/Entity/sequelize/userEntity.js +0 -231
  670. package/cli/builder/bundles/users-bundle/Fixtures/users.js +0 -117
  671. package/cli/builder/bundles/users-bundle/Fixtures/usersFixtures.js +0 -114
  672. package/cli/builder/bundles/users-bundle/Resources/config/config.js +0 -90
  673. package/cli/builder/bundles/users-bundle/Resources/config/routing.js +0 -17
  674. package/cli/builder/bundles/users-bundle/Resources/config/security.js +0 -96
  675. package/cli/builder/bundles/users-bundle/Resources/config/services.js +0 -7
  676. package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.dev.config.js +0 -13
  677. package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.prod.config.js +0 -31
  678. package/cli/builder/bundles/users-bundle/Resources/config/webpack.config.js +0 -146
  679. package/cli/builder/bundles/users-bundle/Resources/js/users.js +0 -153
  680. package/cli/builder/bundles/users-bundle/Resources/public/favicon.ico +0 -0
  681. package/cli/builder/bundles/users-bundle/Resources/public/images/users-logo.png +0 -0
  682. package/cli/builder/bundles/users-bundle/Resources/scss/awesome/font-awesome.config.js +0 -11
  683. package/cli/builder/bundles/users-bundle/Resources/scss/custom.scss +0 -23
  684. package/cli/builder/bundles/users-bundle/Resources/scss/users.scss +0 -59
  685. package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/login.js +0 -235
  686. package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/users.js +0 -232
  687. package/cli/builder/bundles/users-bundle/Resources/translations/login.en_en.yml +0 -14
  688. package/cli/builder/bundles/users-bundle/Resources/translations/login.fr_fr.yml +0 -14
  689. package/cli/builder/bundles/users-bundle/Resources/translations/users.en_en.yml +0 -35
  690. package/cli/builder/bundles/users-bundle/Resources/translations/users.fr_fr.yml +0 -36
  691. package/cli/builder/bundles/users-bundle/Resources/views/base.html.twig +0 -32
  692. package/cli/builder/bundles/users-bundle/Resources/views/footer.html.twig +0 -7
  693. package/cli/builder/bundles/users-bundle/Resources/views/header.html.twig +0 -90
  694. package/cli/builder/bundles/users-bundle/Resources/views/login/login.html.twig +0 -43
  695. package/cli/builder/bundles/users-bundle/Resources/views/users/createUser.html.twig +0 -296
  696. package/cli/builder/bundles/users-bundle/Resources/views/users/readUsers.html.twig +0 -94
  697. package/cli/builder/bundles/users-bundle/controller/api/graphql/graphqlController.js +0 -56
  698. package/cli/builder/bundles/users-bundle/controller/api/graphql/userResolver.js +0 -121
  699. package/cli/builder/bundles/users-bundle/controller/api/graphql/usertype.js +0 -58
  700. package/cli/builder/bundles/users-bundle/controller/api/openapi/loginApiController.js +0 -210
  701. package/cli/builder/bundles/users-bundle/controller/api/openapi/restUserController.js +0 -244
  702. package/cli/builder/bundles/users-bundle/controller/loginController.js +0 -91
  703. package/cli/builder/bundles/users-bundle/controller/usersController.js +0 -332
  704. package/cli/builder/bundles/users-bundle/package.json +0 -58
  705. package/cli/builder/bundles/users-bundle/readme.md +0 -360
  706. package/cli/builder/bundles/users-bundle/services/usersService.js +0 -411
  707. package/cli/builder/bundles/users-bundle/src/providers/mongoose/userProvider.js +0 -47
  708. package/cli/builder/bundles/users-bundle/src/providers/sequelize/userProvider.js +0 -48
  709. package/cli/builder/bundles/users-bundle/tests/loginTest.js +0 -182
  710. package/cli/builder/bundles/users-bundle/usersBundle.js +0 -26
  711. package/cli/builder/microService/microService.js +0 -261
  712. package/cli/builder/microService/skeletons/.editorconfig +0 -18
  713. package/cli/builder/microService/skeletons/.env-cmdrc.js +0 -32
  714. package/cli/builder/microService/skeletons/.jshintrc +0 -37
  715. package/cli/builder/microService/skeletons/README.md +0 -117
  716. package/cli/builder/microService/skeletons/bin/bash/hello.sh +0 -5
  717. package/cli/builder/microService/skeletons/bin/cli +0 -13
  718. package/cli/builder/microService/skeletons/bin/python/hello.py +0 -20
  719. package/cli/builder/microService/skeletons/config/config.js +0 -29
  720. package/cli/builder/microService/skeletons/config/pm2.config.js +0 -72
  721. package/cli/builder/microService/skeletons/config/webpack/webpack.config.dev.js +0 -8
  722. package/cli/builder/microService/skeletons/config/webpack/webpack.config.prod.js +0 -25
  723. package/cli/builder/microService/skeletons/config/webpack.config.js +0 -114
  724. package/cli/builder/microService/skeletons/package.json +0 -76
  725. package/cli/builder/microService/skeletons/src/browser/index.css +0 -3
  726. package/cli/builder/microService/skeletons/src/browser/index.js +0 -16
  727. package/cli/builder/microService/skeletons/src/browser/socketio.js +0 -46
  728. package/cli/builder/microService/skeletons/src/cli/cli.js +0 -224
  729. package/cli/builder/microService/skeletons/src/cli/menu.js +0 -28
  730. package/cli/builder/microService/skeletons/src/n-api/README.md +0 -1
  731. package/cli/builder/microService/skeletons/src/n-api/binding.gyp +0 -14
  732. package/cli/builder/microService/skeletons/src/n-api/hello.cc +0 -14
  733. package/cli/builder/microService/skeletons/src/n-api/hello.js +0 -23
  734. package/cli/builder/microService/skeletons/src/n-api/package.json +0 -15
  735. package/cli/builder/microService/skeletons/src/node/examples/index.js +0 -120
  736. package/cli/builder/microService/skeletons/src/node/index.js +0 -102
  737. package/cli/builder/microService/skeletons/src/node/services/markdown/markdown.js +0 -27
  738. package/cli/builder/microService/skeletons/src/node/services/servers/http.js +0 -45
  739. package/cli/builder/microService/skeletons/src/node/services/servers/https.js +0 -44
  740. package/cli/builder/microService/skeletons/src/node/services/socketio/socketio.js +0 -46
  741. package/cli/builder/microService/skeletons/src/node/services/syscall/syscall.js +0 -111
  742. package/cli/builder/microService/skeletons/src/node/services/worker/thread.js +0 -59
  743. package/cli/builder/microService/skeletons/src/node/services/worker/worker.js +0 -60
  744. package/cli/builder/microService/skeletons/src/templates/base.html +0 -12
  745. package/cli/builder/microService/skeletons/src/templates/socket.html +0 -23
  746. package/cli/builder/microService/skeletons/tests/unit/serviceTest.js +0 -30
  747. package/cli/builder/project/project.js +0 -474
  748. package/cli/builder/project/skeletons/README.md +0 -778
  749. package/cli/builder/project/skeletons/bin/dev-deploy.sh +0 -5
  750. package/cli/builder/project/skeletons/bin/generateCertificates.sh.skeleton +0 -180
  751. package/cli/builder/project/skeletons/bin/prod-deploy.sh +0 -3
  752. package/cli/builder/project/skeletons/config/config.js.skeleton +0 -178
  753. package/cli/builder/project/skeletons/config/openssl/ca/openssl.cnf.skeleton +0 -150
  754. package/cli/builder/project/skeletons/config/openssl/ca_intermediate/openssl.cnf.skeleton +0 -152
  755. package/cli/builder/project/skeletons/config/pm2.config.js.skeleton +0 -62
  756. package/cli/builder/project/skeletons/documentation.html.twig +0 -24
  757. package/cli/builder/project/skeletons/editorconfig.skeleton +0 -18
  758. package/cli/builder/project/skeletons/eslintignore.skeleton +0 -15
  759. package/cli/builder/project/skeletons/eslintrc.js.skeleton +0 -97
  760. package/cli/builder/project/skeletons/gitignore.skeleton +0 -32
  761. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.37.entity-user.js +0 -137
  762. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.38.entity-session.js +0 -97
  763. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.39.entity-requests.js +0 -115
  764. package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.40.entity-jwts.js +0 -97
  765. package/cli/builder/project/skeletons/migrations/migrations.skeleton.js +0 -101
  766. package/cli/builder/project/skeletons/package.json.twig +0 -71
  767. package/cli/builder/react/reactBuilder.js +0 -224
  768. package/cli/builder/react/skeletons/app/Resources/databases/nodefony.db +0 -0
  769. package/cli/builder/react/skeletons/app/Resources/translations/messages.en_en.yml +0 -5
  770. package/cli/builder/react/skeletons/app/Resources/translations/messages.fr_fr.yml +0 -5
  771. package/cli/builder/react/skeletons/app/Resources/views/base.html.twig +0 -33
  772. package/cli/builder/react/skeletons/app/config/config.js +0 -392
  773. package/cli/builder/react/skeletons/app/config/routing.js +0 -10
  774. package/cli/builder/react/skeletons/app/config/security.js +0 -74
  775. package/cli/builder/react/skeletons/app/controller/appController.js +0 -22
  776. package/cli/builder/sandbox/sandBoxBuilder.js +0 -610
  777. package/cli/builder/sandbox/skeletons/Resources/css/entry.css +0 -48
  778. package/cli/builder/sandbox/skeletons/Resources/js/entry.js +0 -60
  779. package/cli/builder/sandbox/skeletons/Resources/public/manifest.json +0 -32
  780. package/cli/builder/sandbox/skeletons/Resources/translations/messages.en_en.yml +0 -5
  781. package/cli/builder/sandbox/skeletons/Resources/translations/messages.fr_fr.yml +0 -5
  782. package/cli/builder/sandbox/skeletons/Resources/views/base.html.twig +0 -46
  783. package/cli/builder/sandbox/skeletons/Resources/views/index.html.twig +0 -34
  784. package/cli/builder/sandbox/skeletons/bootstrap/custom.scss +0 -27
  785. package/cli/builder/sandbox/skeletons/bootstrap/entry.scss +0 -60
  786. package/cli/builder/sandbox/skeletons/workbox/templates/index.html.twig +0 -32
  787. package/cli/builder/sandbox/skeletons/workbox/workers/service-worker.js +0 -196
  788. package/cli/builder/skeletons/Resources/public/favicon.ico +0 -0
  789. package/cli/builder/skeletons/Resources/public/images/app-logo.png +0 -0
  790. package/cli/builder/skeletons/Resources/views/framework-bundle/views/401.html.twig +0 -1
  791. package/cli/builder/skeletons/Resources/views/framework-bundle/views/401.json.twig +0 -24
  792. package/cli/builder/skeletons/Resources/views/framework-bundle/views/403.html.twig +0 -1
  793. package/cli/builder/skeletons/Resources/views/framework-bundle/views/403.json.twig +0 -20
  794. package/cli/builder/skeletons/Resources/views/framework-bundle/views/404.html.twig +0 -1
  795. package/cli/builder/skeletons/Resources/views/framework-bundle/views/404.json.twig +0 -20
  796. package/cli/builder/skeletons/Resources/views/framework-bundle/views/500.html.twig +0 -1
  797. package/cli/builder/skeletons/Resources/views/framework-bundle/views/base.html.twig +0 -30
  798. package/cli/builder/skeletons/Resources/views/framework-bundle/views/exception.html.twig +0 -1
  799. package/cli/builder/skeletons/Resources/views/framework-bundle/views/exception.json.twig +0 -24
  800. package/cli/builder/skeletons/Resources/views/framework-bundle/views/footer.html.twig +0 -33
  801. package/cli/builder/skeletons/Resources/views/framework-bundle/views/header.html.twig +0 -6
  802. package/cli/builder/skeletons/Resources/views/framework-bundle/views/index.html.twig +0 -6
  803. package/cli/builder/skeletons/Resources/views/framework-bundle/views/index.json.twig +0 -1
  804. package/cli/builder/skeletons/Resources/views/framework-bundle/views/layout.html.twig +0 -125
  805. package/cli/builder/skeletons/Resources/views/framework-bundle/views/layout.json.twig +0 -5
  806. package/cli/builder/skeletons/Resources/views/framework-bundle/views/timeout.html.twig +0 -1
  807. package/cli/builder/skeletons/Resources/views/framework-bundle/views/timeout.json.twig +0 -24
  808. package/cli/builder/skeletons/app/appKernel.js +0 -133
  809. package/cli/builder/skeletons/binding/binding.cc +0 -26
  810. package/cli/builder/skeletons/binding/binding.skeleton +0 -8
  811. package/cli/builder/skeletons/bundle/bundleClass.js +0 -37
  812. package/cli/builder/skeletons/command/commandClass.js +0 -11
  813. package/cli/builder/skeletons/command/taskClass.js +0 -20
  814. package/cli/builder/skeletons/config/config.js +0 -138
  815. package/cli/builder/skeletons/config/nodefony/elastic-bundle.js +0 -37
  816. package/cli/builder/skeletons/config/nodefony/framework-bundle.js +0 -22
  817. package/cli/builder/skeletons/config/nodefony/http-bundle.js +0 -104
  818. package/cli/builder/skeletons/config/nodefony/mail-bundle.js +0 -44
  819. package/cli/builder/skeletons/config/nodefony/mongoose-bundle.js +0 -51
  820. package/cli/builder/skeletons/config/nodefony/monitoring-bundle.js +0 -34
  821. package/cli/builder/skeletons/config/nodefony/realtime-bundle.js +0 -15
  822. package/cli/builder/skeletons/config/nodefony/redis-bundle.js +0 -44
  823. package/cli/builder/skeletons/config/nodefony/security-bundle.js +0 -25
  824. package/cli/builder/skeletons/config/nodefony/sequelize-bundle.js +0 -156
  825. package/cli/builder/skeletons/config/routing.js +0 -55
  826. package/cli/builder/skeletons/config/security.js +0 -102
  827. package/cli/builder/skeletons/config/services.js +0 -1
  828. package/cli/builder/skeletons/config/webpack/webpack.dev.config.js +0 -13
  829. package/cli/builder/skeletons/config/webpack/webpack.prod.config.js +0 -20
  830. package/cli/builder/skeletons/config/webpack.config.js +0 -148
  831. package/cli/builder/skeletons/controller/controllerClass.js +0 -75
  832. package/cli/builder/skeletons/package.json.twig +0 -57
  833. package/cli/builder/skeletons/unittest/testFile.js +0 -46
  834. package/cli/builder/vue/skeletons/Resources/public/images/app-logo.png +0 -0
  835. package/cli/builder/vue/skeletons/Resources/translations/messages.en_en.yml +0 -5
  836. package/cli/builder/vue/skeletons/Resources/translations/messages.fr_fr.yml +0 -5
  837. package/cli/builder/vue/skeletons/vue.config.js +0 -129
  838. package/cli/builder/vue/vueBuilder.js +0 -410
  839. package/cli/generate/generate.es6 +0 -103
  840. package/cli/install/install.js +0 -190
  841. package/cli/sequelize/sequelize.js +0 -94
  842. package/cli/start.js +0 -702
  843. package/cli/tools/pm2.es6 +0 -112
  844. package/cli/tools/tools.es6 +0 -97
  845. package/cli.es6 +0 -925
  846. package/container.es6 +0 -272
  847. package/error.es6 +0 -293
  848. package/fileClass.es6 +0 -242
  849. package/finder/file.es6 +0 -33
  850. package/finder/fileResult.es6 +0 -138
  851. package/finder/finder2.es6 +0 -275
  852. package/finder.es6 +0 -427
  853. package/kernel/annotations/annotations.es6 +0 -286
  854. package/kernel/api/api.es6 +0 -61
  855. package/kernel/api/graphqlApi.es6 +0 -107
  856. package/kernel/api/jsonApi.es6 +0 -177
  857. package/kernel/api/openApi.es6 +0 -139
  858. package/kernel/api/schemas/openApiSchema.js +0 -394
  859. package/kernel/babylon.es6 +0 -162
  860. package/kernel/bundle.es6 +0 -1200
  861. package/kernel/cliKernel.es6 +0 -869
  862. package/kernel/command.es6 +0 -78
  863. package/kernel/commands/nodefonyCommand.es6 +0 -247
  864. package/kernel/commands/tasks/bundlesTask.es6 +0 -59
  865. package/kernel/controllers/controller.es6 +0 -791
  866. package/kernel/fixture.es6 +0 -19
  867. package/kernel/injections/injections.es6 +0 -424
  868. package/kernel/kernel.es6 +0 -1960
  869. package/kernel/kernelWatcher.es6 +0 -387
  870. package/kernel/orm/entity.es6 +0 -59
  871. package/kernel/orm/orm.es6 +0 -139
  872. package/kernel/reader.es6 +0 -290
  873. package/kernel/security/encoder.es6 +0 -17
  874. package/kernel/security/factories/factory.es6 +0 -111
  875. package/kernel/security/factories/passeportFactory.es6 +0 -61
  876. package/kernel/security/provider.es6 +0 -58
  877. package/kernel/security/providers/chainProvider.es6 +0 -99
  878. package/kernel/security/providers/memoryProvider.es6 +0 -55
  879. package/kernel/security/providers/providerManager.es6 +0 -67
  880. package/kernel/security/providers/userEntityProvider.es6 +0 -50
  881. package/kernel/security/role.es6 +0 -12
  882. package/kernel/security/secureArea.es6 +0 -431
  883. package/kernel/security/tokens/token.es6 +0 -171
  884. package/kernel/security/user.es6 +0 -106
  885. package/kernel/serviceRealTime.es6 +0 -21
  886. package/kernel/services/connectionsService.es6 +0 -93
  887. package/kernel/services/cron/cronService.es6 +0 -123
  888. package/kernel/task.es6 +0 -80
  889. package/kernel/templates.es6 +0 -22
  890. package/kernel/templating/twig.es6 +0 -218
  891. package/kernel/tests/cliTest.js +0 -59
  892. package/kernel/tests/containerTest.js +0 -232
  893. package/kernel/tests/kernelTest.js +0 -39
  894. package/nodefony.es6 +0 -1084
  895. package/notificationsCenter.es6 +0 -118
  896. package/protocol.es6 +0 -86
  897. package/protocols/bayeux.es6 +0 -174
  898. package/protocols/jsonRpc/jsonrpc.es6 +0 -56
  899. package/result.es6 +0 -99
  900. package/service.es6 +0 -288
  901. package/syslog/pdu.es6 +0 -141
  902. package/syslog/syslog.es6 +0 -754
  903. package/watcher.es6 +0 -113
@@ -0,0 +1,88 @@
1
+ import { existsSync, readdirSync } from "node:fs";
2
+ import { defineConfig } from "vitest/config";
3
+
4
+ /**
5
+ * Dit, à la fin d'un run, ce que ce run n'a PAS exercé.
6
+ *
7
+ * Sortir les e2e du glob évite un rapport « skipped » qui ferait croire qu'ils
8
+ * ont prouvé quelque chose — mais un rapport tout vert fait croire, tout autant,
9
+ * qu'il n'y avait rien d'autre à lancer. C'est arrivé, et ça a coûté cher : des
10
+ * tests e2e justes, écrits pour une route cassée, laissés dans le fichier que
11
+ * `npm test` exclut ; `npm test` vert ; « les tests passent » ; la route rendait
12
+ * 500 et ne répondait jamais.
13
+ *
14
+ * Le rappel s'affiche donc là où la personne — ou l'agent — regarde déjà : la
15
+ * sortie de la commande qu'elle vient de lancer. Il n'échoue pas : `npm test`
16
+ * doit rester le geste rapide. Il énonce.
17
+ */
18
+ const direCeQuiNaPasTourné = {
19
+ // `onTestRunEnd` — et NON `onFinished`, qui subsiste dans les types de
20
+ // vitest 4 sans plus jamais être appelé : le rappel serait resté muet en
21
+ // passant le typecheck.
22
+ onTestRunEnd() {
23
+ if (!existsSync("tests")) {
24
+ return;
25
+ }
26
+ // Filtrer sur le NOM, jamais sur le chemin : `recursive` rend des chemins au
27
+ // séparateur natif, et un motif écrit en `/` ne mordrait pas sous Windows.
28
+ const nonExercés = readdirSync("tests", {
29
+ withFileTypes: true,
30
+ recursive: true,
31
+ })
32
+ .filter((e) => e.isFile() && /(^|\.)e2e\.test\.ts$/.test(e.name))
33
+ .map((e) => e.name)
34
+ // `toSorted` et non `sort` : le lint de l'application refuse les
35
+ // avertissements (`--deny-warnings`), et une app fraîche doit passer ses
36
+ // propres portes dès la première minute.
37
+ .toSorted();
38
+ if (nonExercés.length === 0) {
39
+ return;
40
+ }
41
+ console.log(
42
+ `\n⚠ npm test n'exécute PAS les tests de bout en bout — ` +
43
+ `${nonExercés.length} fichier(s) non exercé(s) :\n` +
44
+ ` ${nonExercés.join(", ")}\n` +
45
+ ` → npm run test:e2e (build, puis boot RÉEL de l'app)\n` +
46
+ ` Ce run ne dit donc rien de ce que ces fichiers vérifient.\n`,
47
+ );
48
+ },
49
+ };
50
+
51
+ /**
52
+ * Config Vitest de l'app.
53
+ *
54
+ * ⚠️ Le bloc `oxc` est OBLIGATOIRE : Vitest transforme les tests via oxc/rolldown,
55
+ * qui ne lit PAS le `experimentalDecorators` du tsconfig. Sans lui, les décorateurs
56
+ * (@controller, @route, DI) sortiraient bruts et Node lèverait `SyntaxError` au
57
+ * chargement. `emitDecoratorMetadata` est requis par l'injection de dépendances
58
+ * (résolution des types constructeur via `design:paramtypes`).
59
+ *
60
+ * Deux suites, deux configs :
61
+ * npm test → tests unitaires (rapides, zéro serveur) — CETTE config
62
+ * npm run test:e2e → build + boot RÉEL de l'app + HTTP/WS (vitest.e2e.config.ts)
63
+ *
64
+ * Les e2e sont SORTIS du glob par défaut, pas « skippés » : un rapport qui
65
+ * affiche des tests skipped et sort vert fait croire qu'ils ont prouvé quelque
66
+ * chose. Ici `npm test` ne montre QUE ce qu'il a réellement exécuté — et le
67
+ * rappelle en fin de run, plutôt que de laisser son vert parler pour les suites
68
+ * qu'il n'a pas lancées (cf {@link direCeQuiNaPasTourné}).
69
+ */
70
+ export default defineConfig({
71
+ test: {
72
+ reporters: ["default", direCeQuiNaPasTourné],
73
+ include: ["tests/**/*.test.ts"],
74
+ exclude: [
75
+ "**/node_modules/**",
76
+ "**/dist/**",
77
+ "tests/e2e.test.ts",
78
+ // Tout fichier `*.e2e.test.ts` — `create entity` en ajoute un par
79
+ // ressource. Sans cette ligne, `npm test` les lancerait sans serveur et
80
+ // échouerait sur des `fetch` refusés, pour une raison sans rapport avec
81
+ // le code testé.
82
+ "tests/**/*.e2e.test.ts",
83
+ ],
84
+ },
85
+ oxc: {
86
+ decorator: { legacy: true, emitDecoratorMetadata: true },
87
+ },
88
+ });
@@ -0,0 +1,39 @@
1
+ import { defineConfig } from "vitest/config";
2
+
3
+ /**
4
+ * Config Vitest des tests E2E — la SEULE porte vers les tests à boot réel
5
+ * (exclus de `vitest.config.ts`). L'invoquer, c'est vouloir un boot réel :
6
+ * `npm run test:e2e` (le build précède — un serveur spawné valide le DIST).
7
+ *
8
+ * L'application est démarrée UNE fois par `tests/e2e.setup.ts`, pas par chaque
9
+ * fichier : `create entity` ajoute un fichier E2E par ressource, et un
10
+ * démarrage par fichier rendrait la suite inutilisable.
11
+ *
12
+ * Les ressources posées dans un MODULE local sont ramassées ici aussi, et c'est
13
+ * la seule place possible : un module ne démarre pas seul, ses routes ne
14
+ * répondent que servies par l'application qui le charge. Sa suite unitaire les
15
+ * exclut donc, et c'est ce serveur-ci qui les sert.
16
+ *
17
+ * `fileParallelism: false` : tous les fichiers parlent au MÊME serveur. En
18
+ * parallèle, deux fichiers qui créent puis comptent des enregistrements se
19
+ * verraient mutuellement — les listes paginées deviendraient instables.
20
+ *
21
+ * Timeouts larges : un `nodefony production --detach --wait` compile puis
22
+ * sonde la readiness — c'est un vrai démarrage, pas un test unitaire.
23
+ */
24
+ export default defineConfig({
25
+ test: {
26
+ include: [
27
+ "tests/e2e.test.ts",
28
+ "tests/**/*.e2e.test.ts",
29
+ "modules/*/tests/**/*.e2e.test.ts",
30
+ ],
31
+ globalSetup: ["tests/e2e.setup.ts"],
32
+ fileParallelism: false,
33
+ testTimeout: 180_000,
34
+ hookTimeout: 180_000,
35
+ },
36
+ oxc: {
37
+ decorator: { legacy: true, emitDecoratorMetadata: true },
38
+ },
39
+ });
@@ -0,0 +1,328 @@
1
+ # <%= it.appName %> — infra de développement (docker compose)
2
+ #
3
+ # Ce fichier ne porte QUE ce que ton app utilise : le dialecte SQL a été retenu à
4
+ # la création, les deux autres ne sont pas là. Ce qu'il fournit :
5
+ # - Redis → sessions/idempotence partagées + backplane realtime multi-process
6
+ <% if (it.db) { %># - <%= it.db.label %> → LA base de l'app — `NF_DATABASE_URL` est déjà posée dans
7
+ # `.env` sur ce service, il n'y a rien à câbler
8
+ <% } %># - Loki + Grafana → centralisation des logs (driver `loki` du framework)
9
+ #
10
+ # Usage :
11
+ # docker compose up -d # Redis<%= it.db ? " + " + it.db.label : "" %> (ce qu'il faut à l'app)
12
+ # docker compose --profile tools up -d # + RedisInsight (UI Redis)
13
+ # docker compose --profile loki up -d # + Loki + Grafana (logs)
14
+ # docker compose --profile browser up -d # + navigateur jetable (voir tes écrans)
15
+ # docker compose down # arrêt (volumes conservés)
16
+ # docker compose down -v # arrêt + PURGE des données
17
+ #
18
+ <% if (it.db) { %># Câblage côté app (env.ts est le SEUL lecteur de process.env) — `.env` porte
19
+ # déjà l'URL de la base ; Redis reste commenté tant que tu n'en as pas besoin :
20
+ # NF_DATABASE_URL="<%= it.db.url %>"
21
+ # NF_REDIS_URL="redis://:<%= it.appName %>-dev@127.0.0.1:6379"
22
+ <% } else { %># Base SQL : aucune ici — l'app persiste en sqlite local (`var/databases/`), ce
23
+ # qui la fait démarrer sans rien allumer. Pour passer sur une vraie base, ajoute
24
+ # son service et déclare `NF_DATABASE_URL` : l'ORM déduit le dialecte du scheme
25
+ # (`postgres://`, `mysql://`) et RIEN d'autre ne change dans l'app.
26
+ #
27
+ # Câblage côté app (env.ts est le SEUL lecteur de process.env) :
28
+ # NF_REDIS_URL="redis://:<%= it.appName %>-dev@127.0.0.1:6379"
29
+ <% } %>#
30
+ # Config : chaque valeur a un défaut inline `${VAR:-défaut}` → AUCUN fichier .env requis.
31
+ # Pour surcharger (autre port, vrai secret) : `export VAR=…` avant le `up`.
32
+ # Les mots de passe dev sont PUBLICS — JAMAIS en production.
33
+ #
34
+ # Réseau : un bridge nommé unique ; les conteneurs se parlent par NOM de service
35
+ # (DNS interne Docker), jamais par localhost. Les ports ne sont publiés que sur
36
+ # 127.0.0.1 : l'app tourne sur l'HÔTE et joint l'infra via 127.0.0.1:<port>.
37
+
38
+ name: <%= it.appName %>
39
+
40
+ services:
41
+ # --- Redis (défaut — sessions, idempotence, backplane realtime) ---
42
+ # Auth obligatoire même en dev (Zero Trust). AOF : survit au restart du conteneur.
43
+ redis:
44
+ image: redis:7-alpine
45
+ container_name: <%= it.appName %>-redis
46
+ restart: unless-stopped
47
+ networks: [<%= it.appName %>]
48
+ command: >
49
+ redis-server
50
+ --requirepass ${REDIS_PASSWORD:-<%= it.appName %>-dev}
51
+ --appendonly yes
52
+ --maxmemory 256mb
53
+ --maxmemory-policy noeviction
54
+ ports:
55
+ # Loopback uniquement — surface réseau minimale en dev.
56
+ - "127.0.0.1:${REDIS_PORT:-6379}:6379"
57
+ volumes:
58
+ - redis-data:/data
59
+ healthcheck:
60
+ # -a : sans auth, PING renvoie NOAUTH. « healthy » = Redis répond PONG.
61
+ test:
62
+ [
63
+ "CMD-SHELL",
64
+ "redis-cli -a ${REDIS_PASSWORD:-<%= it.appName %>-dev} ping | grep -q PONG",
65
+ ]
66
+ interval: 5s
67
+ timeout: 3s
68
+ retries: 5
69
+ start_period: 5s
70
+
71
+ <% if (it.db && it.db.choice === "postgres") { %> # --- PostgreSQL 16 — LA base de l'app (dialecte retenu à la création) ---
72
+ # Pas de `profiles:` : ce service n'est pas une option, c'est la base que
73
+ # `NF_DATABASE_URL` joint. `docker compose up -d` le monte avec Redis.
74
+ postgres:
75
+ image: <%= it.db.image %>
76
+ container_name: <%= it.appName %>-postgres
77
+ restart: unless-stopped
78
+ networks: [<%= it.appName %>]
79
+ environment:
80
+ POSTGRES_USER: ${POSTGRES_USER:-<%= it.appName %>}
81
+ POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-<%= it.appName %>-dev}
82
+ POSTGRES_DB: ${POSTGRES_DB:-<%= it.appName %>}
83
+ ports:
84
+ - "127.0.0.1:${POSTGRES_PORT:-5432}:5432"
85
+ volumes:
86
+ - postgres-data:/var/lib/postgresql/data
87
+ # Les deux bases de la suite e2e (du SQL, pas un script shell : un `.sh`
88
+ # exécutable dont le montage perd le bit tue le serveur au démarrage),
89
+ # créées à la PREMIÈRE initialisation du volume (`down -v` pour rejouer).
90
+ - ./docker/db:/docker-entrypoint-initdb.d:ro
91
+ healthcheck:
92
+ test:
93
+ [
94
+ "CMD-SHELL",
95
+ "pg_isready -U ${POSTGRES_USER:-<%= it.appName %>} -d ${POSTGRES_DB:-<%= it.appName %>}",
96
+ ]
97
+ interval: 5s
98
+ timeout: 3s
99
+ retries: 5
100
+ start_period: 5s
101
+
102
+ <% } %><% if (it.db && it.db.choice === "mariadb") { %> # --- MariaDB 11.4 — LA base de l'app (fork libre de MySQL, même dialecte) ---
103
+ # Pas de `profiles:` : ce service n'est pas une option, c'est la base que
104
+ # `NF_DATABASE_URL` joint. `docker compose up -d` le monte avec Redis.
105
+ mariadb:
106
+ image: <%= it.db.image %>
107
+ container_name: <%= it.appName %>-mariadb
108
+ restart: unless-stopped
109
+ networks: [<%= it.appName %>]
110
+ environment:
111
+ MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD:-<%= it.appName %>-dev}
112
+ MARIADB_USER: ${MARIADB_USER:-<%= it.appName %>}
113
+ MARIADB_PASSWORD: ${MARIADB_PASSWORD:-<%= it.appName %>-dev}
114
+ MARIADB_DATABASE: ${MARIADB_DATABASE:-<%= it.appName %>}
115
+ ports:
116
+ - "127.0.0.1:${MARIADB_PORT:-3306}:3306"
117
+ volumes:
118
+ - mariadb-data:/var/lib/mysql
119
+ # Les deux bases de la suite e2e (du SQL, pas un script shell : un `.sh`
120
+ # exécutable dont le montage perd le bit tue le serveur au démarrage),
121
+ # créées à la PREMIÈRE initialisation du volume (`down -v` pour rejouer).
122
+ - ./docker/db:/docker-entrypoint-initdb.d:ro
123
+ healthcheck:
124
+ # healthcheck.sh = outil officiel de l'image mariadb.
125
+ test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
126
+ interval: 5s
127
+ timeout: 3s
128
+ retries: 10
129
+ start_period: 10s
130
+
131
+ <% } %><% if (it.db && it.db.choice === "mysql") { %> # --- MySQL 8.4 — LA base de l'app (dialecte retenu à la création) ---
132
+ # Pas de `profiles:` : ce service n'est pas une option, c'est la base que
133
+ # `NF_DATABASE_URL` joint. `docker compose up -d` le monte avec Redis.
134
+ mysql:
135
+ image: <%= it.db.image %>
136
+ container_name: <%= it.appName %>-mysql
137
+ restart: unless-stopped
138
+ networks: [<%= it.appName %>]
139
+ environment:
140
+ MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-<%= it.appName %>-dev}
141
+ MYSQL_USER: ${MYSQL_USER:-<%= it.appName %>}
142
+ MYSQL_PASSWORD: ${MYSQL_PASSWORD:-<%= it.appName %>-dev}
143
+ MYSQL_DATABASE: ${MYSQL_DATABASE:-<%= it.appName %>}
144
+ ports:
145
+ # 3306 : le port décalé n'existait que pour cohabiter avec MariaDB dans un
146
+ # compose qui portait les deux — une app retient UN dialecte.
147
+ - "127.0.0.1:${MYSQL_PORT:-3306}:3306"
148
+ volumes:
149
+ - mysql-data:/var/lib/mysql
150
+ # Les deux bases de la suite e2e (du SQL, pas un script shell : un `.sh`
151
+ # exécutable dont le montage perd le bit tue le serveur au démarrage),
152
+ # créées à la PREMIÈRE initialisation du volume (`down -v` pour rejouer).
153
+ - ./docker/db:/docker-entrypoint-initdb.d:ro
154
+ healthcheck:
155
+ test:
156
+ [
157
+ "CMD-SHELL",
158
+ "mysqladmin ping -h 127.0.0.1 -u${MYSQL_USER:-<%= it.appName %>} -p${MYSQL_PASSWORD:-<%= it.appName %>-dev} --silent",
159
+ ]
160
+ interval: 5s
161
+ timeout: 3s
162
+ retries: 10
163
+ start_period: 10s
164
+
165
+ <% } %> # --- RedisInsight (profile tools — UI de debug Redis, jamais en prod) ---
166
+ redisinsight:
167
+ image: redis/redisinsight:latest
168
+ container_name: <%= it.appName %>-redisinsight
169
+ restart: unless-stopped
170
+ profiles: ["tools"]
171
+ networks: [<%= it.appName %>]
172
+ ports:
173
+ - "127.0.0.1:${REDISINSIGHT_PORT:-5540}:5540"
174
+ # Il garde SON état : la connexion enregistrée, les requêtes gardées, les
175
+ # préférences. Sans volume, on la ressaisit à chaque `compose down` — et un
176
+ # outil qu'on doit reconfigurer à chaque usage finit par ne plus servir.
177
+ volumes:
178
+ - redisinsight-data:/data
179
+ depends_on:
180
+ redis:
181
+ condition: service_healthy
182
+
183
+ # --- Loki (profile loki — centralisation des logs, driver `loki` du framework) ---
184
+ # Léger : Loki indexe les LABELS (basse cardinalité), pas le texte → peu de RAM.
185
+ loki:
186
+ image: grafana/loki:3.7.2
187
+ container_name: <%= it.appName %>-loki
188
+ restart: unless-stopped
189
+ profiles: ["loki"]
190
+ networks: [<%= it.appName %>]
191
+ command: -config.file=/etc/loki/local-config.yaml
192
+ ports:
193
+ - "127.0.0.1:${LOKI_PORT:-3100}:3100"
194
+ volumes:
195
+ - loki-data:/loki
196
+ # PAS de healthcheck : image DISTROLESS (aucun shell dans le conteneur) — un
197
+ # healthcheck Docker la marquerait « unhealthy » à tort. Santé côté hôte :
198
+ # curl http://127.0.0.1:3100/ready
199
+
200
+ # --- Grafana (profile loki — visualisation des logs, datasource auto-provisionnée) ---
201
+ # Anonyme + rôle Admin pour un dev sans friction (JAMAIS en prod).
202
+ grafana:
203
+ image: grafana/grafana:latest
204
+ container_name: <%= it.appName %>-grafana
205
+ restart: unless-stopped
206
+ profiles: ["loki"]
207
+ networks: [<%= it.appName %>]
208
+ environment:
209
+ GF_AUTH_ANONYMOUS_ENABLED: "true"
210
+ GF_AUTH_ANONYMOUS_ORG_ROLE: Admin
211
+ GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_PASSWORD:-<%= it.appName %>-dev}
212
+ GF_ANALYTICS_REPORTING_ENABLED: "false"
213
+ GF_ANALYTICS_CHECK_FOR_UPDATES: "false"
214
+ ports:
215
+ - "127.0.0.1:${GRAFANA_PORT:-3000}:3000"
216
+ volumes:
217
+ - grafana-data:/var/lib/grafana
218
+ # Datasource Loki pré-câblée (lecture seule) → Grafana ouvre prêt, 0 setup.
219
+ - ./docker/grafana/provisioning:/etc/grafana/provisioning:ro
220
+ depends_on:
221
+ # service_started (pas healthy) : Loki est distroless, pas de healthcheck.
222
+ loki:
223
+ condition: service_started
224
+
225
+ # --- browser (profil browser — VOIR tes écrans, sans navigateur sur ta machine) ---
226
+ #
227
+ # Un navigateur jetable, piloté par un agent (ou par un script) : il ouvre une
228
+ # page, lit la CONSOLE, l'arbre d'ACCESSIBILITÉ et les REQUÊTES réelles, et
229
+ # dépose captures et journaux dans `tmp/browser/`. Sert à répondre « l'écran se
230
+ # monte-t-il et s'alimente-t-il ? » sans que quelqu'un ait à regarder pour toi.
231
+ #
232
+ # Pourquoi en conteneur plutôt que sur le poste : un navigateur automatisé lancé
233
+ # à nu peut saturer une machine de développement. Ici il est plafonné et meurt
234
+ # au `down`. Rien à installer non plus : ni Chromium, ni pilote.
235
+ #
236
+ # TROIS RÈGLES qui ne se devinent pas — sans elles la page reste blanche ou
237
+ # refusée, alors que le réseau, lui, passe :
238
+ # 1. Joindre ton app par `host.docker.internal`, JAMAIS `localhost` : dans un
239
+ # conteneur ce nom désigne le conteneur lui-même. Si tu actives la barrière
240
+ # Host (`domainCheck`), ajoute ce nom aux `trustedHosts` en développement —
241
+ # sinon elle répond `421` alors que le réseau, lui, passe.
242
+ # 2. Passer par HTTPS : le cookie de session est `secure`, donc IGNORÉ sur une
243
+ # origine `http://` qui n'est pas `localhost` — toutes les requêtes
244
+ # authentifiées reviendraient en `401`, ce qui se lit à tort comme un échec
245
+ # de connexion. Le certificat auto-signé de développement est accepté ici.
246
+ # 3. Rien à poser pour Vite : l'origine des assets se DÉRIVE du `Host` de la
247
+ # requête. Arriver par `host.docker.internal` suffit — l'allowlist Vite et
248
+ # le WebSocket du HMR suivent le même nom, et ton poste continue d'être
249
+ # servi sur `127.0.0.1` en même temps. Pour forcer une origine unique
250
+ # (proxy frontal), écris `publicOrigin` dans `nodefony.config.ts`.
251
+ #
252
+ # DEUX façons de s'en servir, et elles ne se valent pas :
253
+ # - PILOTER directement — l'image embarque Chromium ET Playwright, on y copie
254
+ # un script et on l'exécute (`docker cp … && docker exec … node …`). C'est
255
+ # la voie normale : une commande, un JSON, un code de retour, quelques
256
+ # secondes. Le devkit livre deux sondes prêtes (voir `AGENTS.md`), dont la
257
+ # MESURE des contrastes et tailles réellement calculés par le moteur.
258
+ # - EXPLORER par MCP — le conteneur est aussi un serveur MCP, joignable sur
259
+ # `http://127.0.0.1:${BROWSER_PORT:-3001}/mcp` (il imprime la config à
260
+ # coller dans ses journaux au démarrage). Utile pour fouiller une page à la
261
+ # main ; plus lent et non scriptable pour tout le reste.
262
+ browser:
263
+ # Épinglée par empreinte : un `latest` mouvant sous un banc d'observation
264
+ # ferait varier le rendu sans qu'on le sache.
265
+ image: mcp/playwright@sha256:097d978439237cc9b12e10825836a97245add2be0479272cce9d98c368f024d1
266
+ container_name: <%= it.appName %>-browser
267
+ restart: unless-stopped
268
+ profiles: ["browser"]
269
+ networks: [<%= it.appName %>]
270
+ ports:
271
+ - "127.0.0.1:${BROWSER_PORT:-3001}:3000"
272
+ # L'ENTRYPOINT de l'image fixe déjà `--headless --browser chromium
273
+ # --no-sandbox` ; la commande le COMPLÈTE, elle ne le remplace pas.
274
+ command:
275
+ # Sans `--port`, le serveur parle en stdio : personne au bout d'un service.
276
+ - "--port=3000"
277
+ # Le défaut `localhost` ne serait pas joignable depuis l'hôte, même avec la
278
+ # publication de port ci-dessus.
279
+ - "--host=0.0.0.0"
280
+ # Le port n'est publié que sur 127.0.0.1 : la vérification d'hôte ferait
281
+ # doublon et refuserait l'accès par le nom du service.
282
+ - "--allowed-hosts=*"
283
+ # Certificat de développement auto-signé (cf règle 2 ci-dessus).
284
+ - "--ignore-https-errors"
285
+ # Captures, console et arbres écrits en FICHIERS dans le volume monté.
286
+ - "--output-dir=/output"
287
+ - "--output-mode=file"
288
+ # Profil en mémoire : rien sur le disque du conteneur, et un `down` efface
289
+ # l'état d'authentification avec lui.
290
+ - "--isolated"
291
+ # Un seul contexte pour tous les clients : une session ouverte reste ouverte
292
+ # d'un appel à l'autre. Ne survit pas à un `restart` (profil en mémoire).
293
+ - "--shared-browser-context"
294
+ - "--viewport-size=1440x900"
295
+ volumes:
296
+ # `tmp/` est ignoré par git — une capture est une PHOTO, jamais du versionné.
297
+ - ./tmp/browser:/output
298
+ # Le répertoire courant, pas seulement `--output-dir` : une capture demandée
299
+ # sous un nom relatif est résolue par Playwright contre le répertoire COURANT.
300
+ # Sans cette ligne elle reste dans le conteneur pendant que l'appel répond OK.
301
+ working_dir: /output
302
+ extra_hosts:
303
+ # Le nom par lequel le conteneur joint l'app qui tourne sur l'hôte.
304
+ - "host.docker.internal:host-gateway"
305
+ # Précaution : le `/dev/shm` par défaut de Docker (64 Mo) est connu pour faire
306
+ # mourir un onglet Chromium sans message sur une page lourde.
307
+ shm_size: "1gb"
308
+ # Bornes de ressources : c'est ce qui rend « jetable » vérifiable — un
309
+ # navigateur emballé ne peut pas prendre la machine, il se fait tuer.
310
+ deploy:
311
+ resources:
312
+ limits:
313
+ cpus: "2.0"
314
+ memory: 2g
315
+
316
+ # Bridge nommé explicite : résolution DNS par nom de service, isolation des autres
317
+ # projets compose, nettoyage propre au down. Pas de sous-réseau figé (anti-collision).
318
+ networks:
319
+ <%= it.appName %>:
320
+ name: <%= it.appName %>-net
321
+ driver: bridge
322
+
323
+ volumes:
324
+ redis-data:
325
+ <% if (it.db) { %> <%= it.db.service %>-data:
326
+ <% } %> redisinsight-data:
327
+ loki-data:
328
+ grafana-data:
@@ -0,0 +1,100 @@
1
+ <% if (it.db) { %># <%= it.appName %> — migration du schéma AVANT le déploiement (Kubernetes)
2
+ #
3
+ # Ce fichier est rendu à TON nom : image, secret et libellés portent déjà
4
+ # « <%= it.appName %> ». Il n'y a rien à recopier depuis une page de documentation.
5
+ #
6
+ # ── Pourquoi un travail séparé, et pas autre chose ───────────────────────────
7
+ # Au démarrage, N exemplaires partent EN MÊME TEMPS : appliquer les migrations
8
+ # depuis les pods, c'est N exécutions concurrentes, des privilèges de
9
+ # modification du schéma dans le processus qui sert le trafic, et un
10
+ # redémarrage en boucle généralisé si une migration échoue. Le verrou de
11
+ # Nodefony rend ces variantes SÛRES — elles restent le mauvais endroit. Un
12
+ # conteneur d'initialisation a le même défaut (une exécution par exemplaire).
13
+ # Ici : UN travail, avant le déploiement, avec son propre compte.
14
+ #
15
+ # ── La règle dure ────────────────────────────────────────────────────────────
16
+ # MÊME image et MÊME étiquette que le Deployment qui suit. Une migration jouée
17
+ # depuis une autre version applique un schéma que le code déployé ne connaît
18
+ # pas — et personne ne le voit avant la première requête.
19
+ #
20
+ # ── Le compte qui migre n'est pas le compte qui sert ─────────────────────────
21
+ # `NF_MIGRATE_DATABASE_URL` remplace la connexion du connecteur POUR CETTE
22
+ # COMMANDE SEULEMENT : le secret qui a le droit de modifier le schéma est monté
23
+ # ici, et nulle part ailleurs. Elle doit désigner une connexion DIRECTE — un
24
+ # répartiteur de connexions en mode transaction casse le verrou.
25
+ #
26
+ # kubectl create secret generic <%= it.appName %>-db-migrator \
27
+ # --from-literal=url='<%= it.db.scheme %>://migrator:MOT_DE_PASSE@db:<%= it.db.port %>/<%= it.appName %>'
28
+ #
29
+ # ── Le déroulé ───────────────────────────────────────────────────────────────
30
+ # JOB=$(IMAGE_TAG=1.4.0 envsubst < deploy/migrate-job.yaml | kubectl create -f - -o name)
31
+ # kubectl wait --for=condition=complete --timeout=10m "$JOB" \
32
+ # || { kubectl logs "$JOB"; exit 1; }
33
+ # kubectl set image deployment/<%= it.appName %> <%= it.appName %>=<%= it.appName %>:1.4.0
34
+ #
35
+ # Le travail échoue → le déploiement n'a PAS lieu, l'ancienne version continue
36
+ # de servir. Il réussit → les pods démarrent en `ddl: "none"` et leur sonde de
37
+ # disponibilité les met en service dès que le schéma est à jour.
38
+ #
39
+ # Si tu as un chart Helm, ce même corps se pose en accroche :
40
+ # annotations: { "helm.sh/hook": pre-install,pre-upgrade }
41
+ # En ArgoCD : `argocd.argoproj.io/hook: PreSync` + `sync-wave: "-1"`.
42
+ #
43
+ # Le pourquoi complet, les droits SQL exacts des deux comptes et la règle N-1
44
+ # (compatibilité entre l'ancienne et la nouvelle version pendant le
45
+ # remplacement) : `node_modules/@nodefony/drizzle/docs/migrations.md`.
46
+ apiVersion: batch/v1
47
+ kind: Job
48
+ metadata:
49
+ # `generateName`, pas `name` : un Job est IMMUABLE. Un nom fixe fait échouer
50
+ # le second déploiement sur « existe déjà », et l'on croit à une panne de
51
+ # migration. Le nom réel est rendu par `kubectl create -o name`.
52
+ generateName: <%= it.appName %>-migrate-
53
+ labels:
54
+ app.kubernetes.io/name: <%= it.appName %>
55
+ app.kubernetes.io/component: migrate
56
+ spec:
57
+ # Aucune reprise : une migration qui échoue laisse un état à comprendre, pas
58
+ # à rejouer en aveugle. Le travail est idempotent (rejouer n'applique rien),
59
+ # mais c'est une DÉCISION humaine, pas un réflexe de l'orchestrateur.
60
+ backoffLimit: 0
61
+ # Borne dure. Le délai d'attente de ton outil de déploiement doit rester
62
+ # AU-DESSUS, sinon il abandonne un travail qui, lui, tient toujours le verrou.
63
+ activeDeadlineSeconds: 600
64
+ # Le travail terminé s'efface seul — ses journaux restent le temps de les lire.
65
+ ttlSecondsAfterFinished: 3600
66
+ template:
67
+ metadata:
68
+ labels:
69
+ app.kubernetes.io/name: <%= it.appName %>
70
+ app.kubernetes.io/component: migrate
71
+ spec:
72
+ restartPolicy: Never
73
+ securityContext:
74
+ runAsNonRoot: true
75
+ containers:
76
+ - name: migrate
77
+ image: <%= it.appName %>:${IMAGE_TAG}
78
+ # Même forme que le `CMD` du Dockerfile : le binaire vit dans les
79
+ # `node_modules` de l'image, jamais dans le PATH.
80
+ command: ["node_modules/.bin/nodefony", "orm:migrate", "--json"]
81
+ env:
82
+ - name: NODE_ENV
83
+ value: production
84
+ - name: NF_MIGRATE_DATABASE_URL
85
+ valueFrom:
86
+ secretKeyRef:
87
+ name: <%= it.appName %>-db-migrator
88
+ key: url
89
+ resources:
90
+ requests:
91
+ cpu: 100m
92
+ memory: 128Mi
93
+ limits:
94
+ memory: 512Mi
95
+ securityContext:
96
+ allowPrivilegeEscalation: false
97
+ readOnlyRootFilesystem: false
98
+ capabilities:
99
+ drop: ["ALL"]
100
+ <% } %>
@@ -0,0 +1,30 @@
1
+ <% if (it.db) { %>-- Les DEUX bases que la suite e2e de <%= it.appName %> exige, créées à
2
+ -- l'initialisation du serveur.
3
+ --
4
+ -- Pourquoi elles ne se créent pas toutes seules au moment des tests : sur un
5
+ -- moteur SERVEUR, `CREATE DATABASE` est un privilège d'administration que
6
+ -- l'utilisateur applicatif n'a pas — et ne doit pas avoir. Une suite de tests
7
+ -- ne fabrique donc pas sa base ; le décor la FOURNIT, ici comme en recette.
8
+ -- (Sur SQLite il n'y a rien de tout ça : un fichier s'efface.)
9
+ --
10
+ -- <%= it.db.databaseE2e %> → la base de la suite e2e, jamais celle du développement
11
+ -- <%= it.db.databaseScratch %> → la base VIERGE que la suite de migrations salit puis remet à zéro
12
+ --
13
+ -- Du SQL, et pas un script shell : l'entrée d'initialisation EXÉCUTE un `.sh`
14
+ -- dès qu'il porte le bit exécutable, et un montage qui ne le transmet pas fait
15
+ -- mourir le serveur au démarrage (`bad interpreter`, code 126) — constaté. Un
16
+ -- `.sql` est joué par le client, sans aucune question de permission.
17
+ --
18
+ -- ⚠️ Ce fichier n'est joué qu'à la PREMIÈRE initialisation du volume. Sur une
19
+ -- infra déjà montée : `docker compose down -v` (PURGE les données), ou créer
20
+ -- les deux bases à la main.
21
+ <% if (it.db.choice === "postgres") { %>CREATE DATABASE "<%= it.db.databaseE2e %>" OWNER "<%= it.appName %>";
22
+ CREATE DATABASE "<%= it.db.databaseScratch %>" OWNER "<%= it.appName %>";
23
+ <% } else { %>-- L'utilisateur applicatif n'a de droits QUE sur sa base : les deux nouvelles
24
+ -- lui sont accordées explicitement, sinon il ne pourrait pas y créer ses tables.
25
+ CREATE DATABASE IF NOT EXISTS `<%= it.db.databaseE2e %>`;
26
+ CREATE DATABASE IF NOT EXISTS `<%= it.db.databaseScratch %>`;
27
+ GRANT ALL PRIVILEGES ON `<%= it.db.databaseE2e %>`.* TO '<%= it.appName %>'@'%';
28
+ GRANT ALL PRIVILEGES ON `<%= it.db.databaseScratch %>`.* TO '<%= it.appName %>'@'%';
29
+ FLUSH PRIVILEGES;
30
+ <% } %><% } %>
@@ -0,0 +1,15 @@
1
+ # Datasource Loki auto-provisionnée pour Grafana (dev) — montée en lecture seule par
2
+ # le compose (./docker/grafana/provisioning:/etc/grafana/provisioning:ro). Pointe le
3
+ # service `loki` via le DNS INTERNE du réseau <%= it.appName %>-net (conteneur→conteneur),
4
+ # JAMAIS localhost. Grafana ouvre donc directement sur Loki, 0 configuration manuelle.
5
+ apiVersion: 1
6
+ datasources:
7
+ - name: Loki
8
+ type: loki
9
+ access: proxy
10
+ uid: <%= it.appName %>-loki
11
+ url: http://loki:3100
12
+ isDefault: true
13
+ editable: true
14
+ jsonData:
15
+ maxLines: 1000
@@ -0,0 +1,11 @@
1
+ # ══════════════════════════════════════════════════════════════════════════
2
+ # Secrets & valeurs MACHINE de <%= it.appName %> — GITIGNORÉ (règle *.local)
3
+ # ══════════════════════════════════════════════════════════════════════════
4
+ # Généré par `nodefony create app`. Ne JAMAIS committer ce fichier ; en
5
+ # production les secrets viennent du secret-manager (Secret k8s, vault…).
6
+ # Rotation / rattrapage : npx nodefony security:secrets --write
7
+
8
+ # Clés de chiffrement au repos (32 octets aléatoires, base64) :
9
+ <%= Object.entries(it.secrets).map(([k, v]) => k + "=" + v).join("\n") + "\n" %>
10
+ # Compte admin local : admin / admin par défaut — décommente pour changer :
11
+ # NF_ADMIN_PASSWORD=change-me