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,750 @@
1
+ import clc from "./colors.js";
2
+ import Container from "./Container.js";
3
+ import { extend } from "./Tools.js";
4
+ import FileClass from "./FileClass.js";
5
+ import { DEFAULT_ENGINE_ENVIRONMENT, defaultEngineEnvironment } from "./runtime/engineEnvironment.js";
6
+ import Event from "./Event.js";
7
+ import Service from "./Service.js";
8
+ import fs from "node:fs";
9
+ import path from "node:path";
10
+ import { Command } from "commander";
11
+ import { spawn, spawnSync } from "node:child_process";
12
+ import semver from "semver";
13
+ import Table from "cli-table3";
14
+ //#region src/Cli.ts
15
+ let figletModule = null;
16
+ /**
17
+ * Charge `figlet` à la demande (import dynamique, idempotent) — la bannière ASCII est
18
+ * cosmétique : les commandes qui ne l'affichent pas ne paient pas son chargement au boot.
19
+ */
20
+ const loadFiglet = async () => {
21
+ if (!figletModule) figletModule = (await import("figlet")).default;
22
+ return figletModule;
23
+ };
24
+ const blue = clc.blueBright.bold;
25
+ const { green } = clc;
26
+ const magenta = clc.magenta.bold;
27
+ const { reset } = clc;
28
+ let processName = null;
29
+ if (process.argv && process.argv[1]) processName = path.basename(process.argv[1]);
30
+ else processName = process.title || "nodefony";
31
+ const defaultTableCli = { style: {
32
+ head: ["cyan"],
33
+ border: ["grey"]
34
+ } };
35
+ const defaultOptions = {
36
+ processName,
37
+ autostart: true,
38
+ asciify: true,
39
+ clear: true,
40
+ color: blue,
41
+ prompt: "default",
42
+ commander: true,
43
+ signals: true,
44
+ autoLogger: true,
45
+ resize: false,
46
+ version: "1.0.0",
47
+ warning: false,
48
+ pid: false,
49
+ promiseRejection: true
50
+ };
51
+ /**
52
+ * Traduit un `NODE_ENV` brut en mode MOTEUR, ou `null` s'il n'en désigne aucun.
53
+ *
54
+ * `NODE_ENV` est un axe LIBRE (`test`, `staging`, `canary`, `prod-eu`…) tandis que
55
+ * {@link EnvironmentType} n'a que deux modes moteur : dev et prod. Les caster l'un
56
+ * dans l'autre est un mensonge au compilateur — sous vitest, `environment` valait
57
+ * `"test"`, une valeur ABSENTE de son propre type, propagée telle quelle à
58
+ * `initSyslog()` et au `Kernel`.
59
+ *
60
+ * `null` (valeur non-moteur) fait retomber l'appelant sur son défaut explicite,
61
+ * exactement comme si `NODE_ENV` n'était pas défini. C'est le choix CONSERVATEUR :
62
+ * un `test` se comportait déjà comme la production (le filtre syslog teste
63
+ * `=== "development"`, tout le reste tombe dans la branche prod). Le forcer en
64
+ * `"development"` aurait rendu toute la suite de tests verbeuse ; le forcer en
65
+ * `"production"` aurait fait installer `--omit=dev` sous `NODE_ENV=test`. Un axe
66
+ * qui ne désigne pas de moteur ne doit pas en élire un à la place de l'appelant.
67
+ *
68
+ * L'axe de déploiement, lui, reste ENTIER : le kernel lit `process.env.NODE_ENV`
69
+ * directement pour `runtimeEnv`/`isTest` (`buildConfigContext`) — jamais via cette
70
+ * fonction, qui ne réécrit rien.
71
+ */
72
+ const toEngineEnvironment = (raw) => {
73
+ switch (raw) {
74
+ case "dev":
75
+ case "development":
76
+ case "prod":
77
+ case "production": return raw;
78
+ default: return null;
79
+ }
80
+ };
81
+ /**
82
+ * Délai au-delà duquel on sort sans attendre le vidage des sorties.
83
+ *
84
+ * Le cas qu'il couvre : le destinataire du tuyau a fermé (`| head -5`), aucun
85
+ * `drain` n'arrivera jamais, et attendre serait un blocage franc. Une seconde
86
+ * suffit très largement — vider 100 Ko vers un tuyau vivant prend des
87
+ * millisecondes.
88
+ */
89
+ const EXIT_FLUSH_DEADLINE_MS = 1e3;
90
+ /**
91
+ * Sort du process APRÈS avoir vidé les sorties standard.
92
+ *
93
+ * 🔴 **`process.exit()` TRONQUE la sortie, et ne le dit pas.** Vers un fichier
94
+ * ou un terminal, `process.stdout.write` est synchrone : tout part. Vers un
95
+ * TUYAU, il est asynchrone — au-delà du tampon du système (64 Ko), le reste
96
+ * attend dans la file, et `process.exit()` part avec. Mesuré sur
97
+ * `nodefony inspect routes --json` : 97 825 octets vers un fichier, très
98
+ * exactement 65 536 vers un `| jq`, qui casse alors sur un JSON incomplet.
99
+ * L'usage était pourtant celui que la commande DOCUMENTE.
100
+ *
101
+ * Le défaut ne se voit pas sur une petite sortie : il apparaît le jour où
102
+ * l'application grossit, sur la machine de quelqu'un d'autre, et il se lit
103
+ * comme une donnée corrompue plutôt que comme une sortie coupée.
104
+ *
105
+ * @param code - code de sortie du process
106
+ */
107
+ function exitWhenFlushed(code) {
108
+ const streams = [process.stdout, process.stderr].filter((s) => typeof s.writableLength === "number" && s.writableLength > 0);
109
+ if (streams.length === 0) return process.exit(code);
110
+ let pending = streams.length;
111
+ const done = () => {
112
+ pending -= 1;
113
+ if (pending === 0) process.exit(code);
114
+ };
115
+ for (const s of streams) s.once("drain", done);
116
+ setTimeout(() => process.exit(code), EXIT_FLUSH_DEADLINE_MS).unref();
117
+ }
118
+ var Cli = class Cli extends Service {
119
+ options = extend({}, defaultOptions);
120
+ debug = false;
121
+ environment = DEFAULT_ENGINE_ENVIRONMENT;
122
+ commander = null;
123
+ commands = {};
124
+ pid = null;
125
+ interactive = false;
126
+ unhandledRejections = /* @__PURE__ */ new Map();
127
+ response = {};
128
+ timers = {};
129
+ version = "";
130
+ clc = clc;
131
+ blankLine = () => {};
132
+ columns = 0;
133
+ rows = 0;
134
+ /**
135
+ * Vrai dès le 1ᵉʳ signal d'arrêt reçu. Empêche un 2ᵉ signal de relancer un
136
+ * `terminate()` gracieux complet (re-fire `onTerminate`, double SHUTDOWN des
137
+ * serveurs). Le 2ᵉ signal force la sortie immédiate — cf {@link handleSignals}.
138
+ */
139
+ shuttingDown = false;
140
+ /**
141
+ * Retraits des listeners posés sur `process` — `null` tant qu'aucun n'est
142
+ * attaché (une instance qui n'écoute rien n'alloue rien).
143
+ *
144
+ * Chaque entrée est le retrait de SON listener, fermé sur la référence exacte :
145
+ * un handler anonyme passé à `process.on` ne peut plus jamais être retiré, et
146
+ * c'est ce qui faisait de chaque instance une fuite. En production le process
147
+ * meurt avec son unique `Cli`, mais un runner de tests en crée des dizaines
148
+ * dans le MÊME process : au 11ᵉ, Node crie `MaxListenersExceededWarning` — et
149
+ * comme le warning porte l'objet `process` entier, chacun coûtait ~500 lignes
150
+ * de journal (216 000 lignes sur un seul job de CI, tronqué par GitHub).
151
+ *
152
+ * @see {@link releaseProcessListeners}
153
+ */
154
+ #detachProcess = null;
155
+ /** Numéros POSIX → code de sortie forcé `128 + signum` au 2ᵉ signal. */
156
+ static SIGNUM = {
157
+ SIGHUP: 1,
158
+ SIGINT: 2,
159
+ SIGQUIT: 3,
160
+ SIGTERM: 15
161
+ };
162
+ constructor(name, ...args) {
163
+ const container = args[0] instanceof Container ? args[0] : void 0;
164
+ const notificationsCenter = args[1] instanceof Event ? args[1] : args[1] === false ? false : void 0;
165
+ const last = args[args.length - 1];
166
+ let options = null;
167
+ if (last instanceof Container || last instanceof Event || last === false) options = extend({}, defaultOptions);
168
+ else options = extend({}, defaultOptions, last || {});
169
+ super(name || options.processName, container, notificationsCenter, options);
170
+ this.options = options;
171
+ this.environment = toEngineEnvironment(process.env.NODE_ENV) ?? this.options.environment ?? defaultEngineEnvironment(process.env.NODE_ENV);
172
+ this.setProcessTitle();
173
+ this.pid = this.options.pid ? this.setPid() : null;
174
+ if (this.options.autoLogger) this.initSyslog();
175
+ this.initUi();
176
+ this.prependOnceListener("onStart", async () => {
177
+ try {
178
+ await this.fireAsync("onStart", this);
179
+ } catch (e) {
180
+ this.log(e, "ERROR");
181
+ }
182
+ });
183
+ this.initCommander();
184
+ if (this.options.warning) this.handleWarnings();
185
+ else process.env.NODE_NO_WARNINGS = "1";
186
+ if (this.options.signals) this.handleSignals();
187
+ if (this.options.promiseRejection) this.listenRejection();
188
+ if (name && this.options.asciify) this.showAsciify(name).then(async () => {
189
+ if (this.options.autostart) await this.fireAsync("onStart", this);
190
+ }).catch((e) => this.log(e, "ERROR"));
191
+ else if (this.options.autostart) try {
192
+ const func = async function() {
193
+ await this.fireAsync("onStart", this);
194
+ };
195
+ func.call(this);
196
+ } catch (e) {
197
+ this.log(e, "ERROR");
198
+ }
199
+ }
200
+ handleSignals() {
201
+ const signalHandler = (signal) => {
202
+ if (this.shuttingDown) {
203
+ this.log(`${signal} received again — force exit`, "WARNING");
204
+ process.exit(128 + (Cli.SIGNUM[signal] ?? 0));
205
+ }
206
+ this.shuttingDown = true;
207
+ if (this.blankLine) this.blankLine();
208
+ this.log(signal, "CRITIC");
209
+ this.fire("onSignal", signal, this);
210
+ process.nextTick(() => {
211
+ this.terminate();
212
+ });
213
+ };
214
+ for (const signal of [
215
+ "SIGINT",
216
+ "SIGTERM",
217
+ "SIGHUP",
218
+ "SIGQUIT"
219
+ ]) {
220
+ const handler = () => signalHandler(signal);
221
+ process.on(signal, handler);
222
+ this.trackProcessListener(() => process.removeListener(signal, handler), true);
223
+ }
224
+ }
225
+ /**
226
+ * Mémorise DE QUOI retirer un listener de `process`.
227
+ *
228
+ * Prend le retrait déjà fermé sur la référence du handler, plutôt que le
229
+ * couple (événement, handler) : c'est ce qui permet de garder chaque listener
230
+ * typé exactement (`NodeJS.Signals`, `Error`, `Promise<unknown>`) sans un seul
231
+ * cast au moment de le retirer.
232
+ *
233
+ * @param off - retire le listener correspondant, et rien d'autre.
234
+ * @param signal - `true` s'il s'agit d'un gestionnaire de SIGNAL. Ce n'est
235
+ * pas une étiquette de confort : le mode cluster doit reprendre la main sur
236
+ * les signaux SANS toucher aux autres listeners de cette instance
237
+ * (`warning`, `unhandledRejection`), que le master garde. Cf
238
+ * {@link releaseSignalListeners}.
239
+ */
240
+ trackProcessListener(off, signal = false) {
241
+ (this.#detachProcess ??= []).push({
242
+ off,
243
+ signal
244
+ });
245
+ }
246
+ /**
247
+ * Retire tous les listeners que cette instance a posés sur `process`.
248
+ *
249
+ * Sans effet utile en production — le process meurt avec son `Cli` — mais
250
+ * indispensable dès qu'un même process en instancie plusieurs (tests, outils
251
+ * qui enchaînent des commandes) : sinon chaque instance ajoute sept listeners
252
+ * que personne ne peut plus retirer.
253
+ *
254
+ * Idempotent : un second appel ne retire rien et rend `0`.
255
+ *
256
+ * @returns le nombre de listeners effectivement retirés.
257
+ */
258
+ releaseProcessListeners() {
259
+ if (!this.#detachProcess) return 0;
260
+ const released = this.#detachProcess.length;
261
+ for (const { off } of this.#detachProcess) off();
262
+ this.#detachProcess = null;
263
+ return released;
264
+ }
265
+ /**
266
+ * Retire les gestionnaires de SIGNAUX de cette instance — et rien d'autre.
267
+ *
268
+ * 🔴 Il existe pour remplacer un `process.removeAllListeners(sig)`, qui
269
+ * arrachait AUSSI les gestionnaires qu'un module tiers avait posés sur
270
+ * `SIGTERM` pour son propre arrêt propre. Ce module ne recevait plus rien, et
271
+ * rien ne le lui disait : son code était juste, ses tests passaient, et son
272
+ * nettoyage cessait simplement de s'exécuter le jour où l'application passait
273
+ * en cluster — au moment le plus coûteux, l'arrêt.
274
+ *
275
+ * On ne retire donc que ce qu'on a posé soi-même. Les autres listeners de
276
+ * cette instance (`warning`, `unhandledRejection`, `uncaughtException`)
277
+ * restent : le master cluster en a besoin autant que n'importe quel process.
278
+ *
279
+ * @returns le nombre de gestionnaires de signaux retirés.
280
+ */
281
+ releaseSignalListeners() {
282
+ if (!this.#detachProcess) return 0;
283
+ const signaux = this.#detachProcess.filter((e) => e.signal);
284
+ for (const { off } of signaux) off();
285
+ this.#detachProcess = this.#detachProcess.filter((e) => !e.signal);
286
+ return signaux.length;
287
+ }
288
+ handleWarnings() {
289
+ const handler = (warning) => {
290
+ this.log(warning, "WARNING");
291
+ this.fire("onNodeWarning", warning, this);
292
+ };
293
+ process.on("warning", handler);
294
+ this.trackProcessListener(() => process.removeListener("warning", handler));
295
+ }
296
+ start() {
297
+ return new Promise((resolve, reject) => {
298
+ const run = async () => {
299
+ if (this.options.autostart) {
300
+ if (this.options.asciify) {
301
+ this.once("onStart", () => resolve(this));
302
+ return;
303
+ }
304
+ await this.fireAsync("onStart", this);
305
+ resolve(this);
306
+ return;
307
+ }
308
+ if (this.options.asciify) {
309
+ this.once("onAsciify", () => {
310
+ this.fireAsync("onStart", this).then(() => resolve(this), reject);
311
+ });
312
+ return;
313
+ }
314
+ await this.fireAsync("onStart", this);
315
+ resolve(this);
316
+ };
317
+ run().catch(reject);
318
+ });
319
+ }
320
+ idle() {
321
+ let resolve = null;
322
+ let reject = null;
323
+ const promise = new Promise((res, rej) => {
324
+ resolve = res;
325
+ reject = rej;
326
+ });
327
+ return (function() {
328
+ return {
329
+ resolve,
330
+ promise,
331
+ reject
332
+ };
333
+ })();
334
+ }
335
+ checkVersion(version = null) {
336
+ if (!version) version = this.version;
337
+ const res = semver.valid(version);
338
+ if (res) return res;
339
+ throw new Error(`Not valid version : ${version} check http://semver.org `);
340
+ }
341
+ async showAsciify(name = null) {
342
+ if (!name) name = this.name;
343
+ return await this.asciify(` ${name}`, { font: this.options.font || "Standard" }).then((data) => {
344
+ this.fire("onAsciify", data);
345
+ if (this.options.clear) this.clear();
346
+ const color = this.options.color || blue;
347
+ console.log(color(data));
348
+ return this;
349
+ }).catch((err) => {
350
+ this.log(err, "ERROR");
351
+ throw err;
352
+ });
353
+ }
354
+ showBanner() {
355
+ const version = (this.commander ? this.commander.version() : this.options.version) || "1.0.0";
356
+ let banner = null;
357
+ if (this.options.version) {
358
+ banner = ` Version : ${blue(version)} Platform : ${green(process.platform)} Process : ${green(process.title)} Pid : ${process.pid}`;
359
+ if (this.blankLine) this.blankLine();
360
+ console.log(banner);
361
+ }
362
+ return banner;
363
+ }
364
+ listenRejection() {
365
+ const onHandled = (promise) => {
366
+ this.log("PROMISE REJECTION EVENT ", "CRITIC", "rejectionHandled");
367
+ this.unhandledRejections.delete(promise);
368
+ };
369
+ process.on("rejectionHandled", onHandled);
370
+ this.trackProcessListener(() => process.removeListener("rejectionHandled", onHandled));
371
+ const onUnhandled = (reason, promise) => {
372
+ this.log(`WARNING !!! PROMISE CHAIN BREAKING : ${reason}`, "WARNING", "unhandledRejection");
373
+ console.trace(promise);
374
+ this.unhandledRejections.set(promise, reason);
375
+ };
376
+ process.on("unhandledRejection", onUnhandled);
377
+ this.trackProcessListener(() => process.removeListener("unhandledRejection", onUnhandled));
378
+ }
379
+ setPid() {
380
+ return this.pid = process.pid;
381
+ }
382
+ setProcessTitle(name) {
383
+ if (name) process.title = name.replace(/* @__PURE__ */ new RegExp("\\s", "gi"), "").toLowerCase();
384
+ else process.title = this.name.replace(/* @__PURE__ */ new RegExp("\\s", "gi"), "").toLowerCase();
385
+ return process.title;
386
+ }
387
+ logEnv() {
388
+ return `${blue(` \x1b ${this.name}`)} Nodefony Environment : ${magenta(this.environment)}`;
389
+ }
390
+ initCommander() {
391
+ if (this.options.commander) {
392
+ this.commander = new Command();
393
+ if (!this.commander.options.some((opt) => opt.short === "-i" || opt.long === "--interactive")) this.commander.option("-i, --interactive", "mode interactif (questions au terminal)");
394
+ if (!this.commander.options.some((opt) => opt.short === "-d" || opt.long === "--debug")) this.commander.option("-d, --debug", "mode débogage : journal détaillé");
395
+ if (!this.commander.options.some((opt) => opt.short === "-v" || opt.long === "--version") && this.options.version) this.setCommandVersion(this.options.version);
396
+ return this.commander;
397
+ }
398
+ return null;
399
+ }
400
+ initUi() {
401
+ this.blankLine = () => {
402
+ process.stdout.write("\n");
403
+ };
404
+ if (this.options.resize) this.resize();
405
+ }
406
+ async getFonts() {
407
+ (await loadFiglet()).fonts((_err, fonts) => {
408
+ fonts?.forEach((ele) => {
409
+ this.log(ele);
410
+ });
411
+ });
412
+ }
413
+ async asciify(txt, options, callback) {
414
+ const figlet = await loadFiglet();
415
+ return new Promise((resolve, reject) => {
416
+ figlet(txt, extend({ font: "Standard" }, options), (error, data) => {
417
+ if (callback && typeof callback === "function") return callback(error, data ?? "");
418
+ if (error) return reject(error);
419
+ return resolve(data ?? "");
420
+ });
421
+ });
422
+ }
423
+ parse(argv, options) {
424
+ if (this.commander) return this.commander?.parse(argv, options);
425
+ throw new Error(`Commander not found`);
426
+ }
427
+ parseAsync(argv, options) {
428
+ if (this.commander) return this.commander?.parseAsync(argv, options).catch((e) => {
429
+ throw e;
430
+ });
431
+ throw new Error(`Commander not found`);
432
+ }
433
+ clearCommand() {
434
+ this.commander?.setOptionValue("interactive", false);
435
+ this.commander?.setOptionValue("debug", false);
436
+ while (process.argv.length > 2) process.argv.pop();
437
+ }
438
+ runCommand(cmd, args = []) {
439
+ this.clearCommand();
440
+ if (cmd) process.argv.push(cmd);
441
+ return this.parse(process.argv.concat(args));
442
+ }
443
+ runCommandAsync(cmd, args = []) {
444
+ this.clearCommand();
445
+ if (cmd) process.argv.push(cmd);
446
+ return this.parseAsync(process.argv.concat(args));
447
+ }
448
+ setCommandOption(flags, description, defaultValue) {
449
+ if (this.commander) return this.commander.option(flags, description, defaultValue);
450
+ throw new Error(`Commender not found`);
451
+ }
452
+ setCommandVersion(version) {
453
+ if (this.commander && typeof this.commander.version === "function") return this.commander.version(version, "-v, --version", "affiche la version de Nodefony");
454
+ throw new Error(`Commender not found`);
455
+ }
456
+ setCommand(nameAndArgs, description, options) {
457
+ if (this.commander) return this.commander.command(nameAndArgs, description, options);
458
+ throw new Error(`Commander not found`);
459
+ }
460
+ addCommand(cliCommand) {
461
+ const command = new cliCommand(this);
462
+ this.commands[command.name] = command;
463
+ return command;
464
+ }
465
+ hasCommand(name) {
466
+ if (this.commands[name]) return true;
467
+ return false;
468
+ }
469
+ getCommand(name) {
470
+ if (this.commands[name]) return this.commands[name];
471
+ return null;
472
+ }
473
+ showHelp(quit, context) {
474
+ if (!this.commander) throw new Error(`Commender not found`);
475
+ if (quit) return this.commander.help(context);
476
+ return this.commander.outputHelp(context);
477
+ }
478
+ displayTable(datas, options, syslog = null) {
479
+ if (!datas || !datas.length) return new Table(extend({}, defaultTableCli, options));
480
+ const table = new Table(extend({}, defaultTableCli, options));
481
+ if (datas) {
482
+ for (let i = 0; i < datas.length; i++) table.push(datas[i]);
483
+ if (syslog) syslog.log(`\n${table.toString()}`);
484
+ else console.log(table.toString());
485
+ }
486
+ return table;
487
+ }
488
+ static niceBytes(x) {
489
+ const units = [
490
+ "bytes",
491
+ "KB",
492
+ "MB",
493
+ "GB",
494
+ "TB",
495
+ "PB",
496
+ "EB",
497
+ "ZB",
498
+ "YB"
499
+ ];
500
+ let n = parseInt(x, 10) || 0, l = 0;
501
+ while (n >= 1024) {
502
+ n /= 1024;
503
+ l++;
504
+ }
505
+ return `${n.toFixed(n >= 10 || l < 1 ? 0 : 1)} ${units[l]}`;
506
+ }
507
+ /**
508
+ * Temps relatif lisible ("a few seconds ago", "24 years ago") — natif via
509
+ * `Intl.RelativeTimeFormat` (remplace `moment().fromNow()`, dep supprimée).
510
+ *
511
+ * @param date - instant de référence (Date, timestamp ms, ou string parsable).
512
+ * @param suffix - `true` = sans suffixe "ago"/"in" (parité `moment.fromNow(true)`).
513
+ */
514
+ static niceUptime(date, suffix) {
515
+ const deltaSec = ((date instanceof Date ? date.getTime() : new Date(date).getTime()) - Date.now()) / 1e3;
516
+ const abs = Math.abs(deltaSec);
517
+ const ladder = [
518
+ ["year", 31536e3],
519
+ ["month", 2592e3],
520
+ ["day", 86400],
521
+ ["hour", 3600],
522
+ ["minute", 60],
523
+ ["second", 1]
524
+ ];
525
+ let unit = "second";
526
+ let value = 0;
527
+ for (const [u, s] of ladder) if (abs >= s || u === "second") {
528
+ unit = u;
529
+ value = Math.round(deltaSec / s);
530
+ break;
531
+ }
532
+ if (suffix) {
533
+ const n = Math.abs(value);
534
+ return `${n} ${unit}${n === 1 ? "" : "s"}`;
535
+ }
536
+ return new Intl.RelativeTimeFormat("en", { numeric: "auto" }).format(value, unit);
537
+ }
538
+ /**
539
+ * Formate une date selon des tokens `moment`-like (`YYYY MM DD HH mm ss SSS`)
540
+ * en heure **locale** — natif (remplace `moment().format()`, dep supprimée).
541
+ *
542
+ * @param date - Date, timestamp ms, ou string parsable.
543
+ * @param format - patron (défaut `"YYYY-MM-DD HH:mm:ss"`).
544
+ */
545
+ static niceDate(date, format) {
546
+ const d = date instanceof Date ? date : new Date(date);
547
+ const pad = (n, len = 2) => String(n).padStart(len, "0");
548
+ const map = {
549
+ YYYY: String(d.getFullYear()),
550
+ MM: pad(d.getMonth() + 1),
551
+ DD: pad(d.getDate()),
552
+ HH: pad(d.getHours()),
553
+ mm: pad(d.getMinutes()),
554
+ ss: pad(d.getSeconds()),
555
+ SSS: pad(d.getMilliseconds(), 3)
556
+ };
557
+ return (format || "YYYY-MM-DD HH:mm:ss").replace(/YYYY|SSS|MM|DD|HH|mm|ss/g, (t) => map[t]);
558
+ }
559
+ clear() {
560
+ console.clear();
561
+ }
562
+ reset() {
563
+ process.stdout.write(reset);
564
+ }
565
+ resize() {
566
+ process.stdout.on("resize", () => {
567
+ this.columns = process.stdout.columns;
568
+ this.rows = process.stdout.rows;
569
+ this.fire("onResize", this.columns, this.rows, this);
570
+ });
571
+ }
572
+ async createDirectory(myPath, mode, force = false) {
573
+ try {
574
+ await fs.promises.mkdir(myPath, mode);
575
+ return new FileClass(myPath);
576
+ } catch (e) {
577
+ switch (e.code) {
578
+ case "EEXIST": if (force) return new FileClass(myPath);
579
+ }
580
+ throw e;
581
+ }
582
+ }
583
+ existsSync(myPath) {
584
+ if (!myPath) throw new Error("existsSync no path found");
585
+ return fs.existsSync(myPath);
586
+ }
587
+ exists(myPath, mode, callback) {
588
+ if (!myPath) throw new Error("exists no path found");
589
+ if (!mode) mode = fs.constants.R_OK | fs.constants.W_OK;
590
+ if (callback) return fs.access(myPath, mode, callback);
591
+ return fs.existsSync(myPath);
592
+ }
593
+ async terminate(code = 0, quiet) {
594
+ this.releaseProcessListeners();
595
+ if (quiet) return;
596
+ if (code === 0) process.exitCode = code;
597
+ exitWhenFlushed(code);
598
+ }
599
+ static quit(code) {
600
+ if (code === 0) process.exitCode = code;
601
+ return exitWhenFlushed(code);
602
+ }
603
+ startTimer(name) {
604
+ if (name in this.timers) throw new Error(`Timer : ${name} already exist !! stopTimer to clear`);
605
+ try {
606
+ this.log(`BEGIN TIMER : ${name}`, "INFO");
607
+ this.timers[name] = name;
608
+ return console.time(name);
609
+ } catch (e) {
610
+ if (name in this.timers) delete this.timers[name];
611
+ throw e;
612
+ }
613
+ }
614
+ stopTimer(name) {
615
+ if (!name) for (const timer in this.timers) this.stopTimer(this.timers[timer]);
616
+ try {
617
+ if (name in this.timers) {
618
+ this.log(`END TIMER : ${name}`, "INFO");
619
+ delete this.timers[name];
620
+ return console.timeEnd(name);
621
+ }
622
+ throw new Error(`Timer : ${name} not exist !! startTimer before`);
623
+ } catch (e) {
624
+ if (name in this.timers) delete this.timers[name];
625
+ throw e;
626
+ }
627
+ }
628
+ getCommandManager(manager) {
629
+ if (process.platform === "win32") switch (manager) {
630
+ case "npm": return "npm.cmd";
631
+ case "yarn": return "yarn.cmd";
632
+ case "pnpm": return "pnpm.cmd";
633
+ default: throw new Error(`bad manager : ${manager}`);
634
+ }
635
+ else switch (manager) {
636
+ case "npm": return "npm";
637
+ case "yarn": return "yarn";
638
+ case "pnpm": return "pnpm";
639
+ default: throw new Error(`bad manager : ${manager}`);
640
+ }
641
+ }
642
+ runPackageManager(argv = [], cwd = path.resolve("."), env, manager) {
643
+ const currentenv = process.env.NODE_ENV;
644
+ switch (env) {
645
+ case "dev":
646
+ case "development":
647
+ process.env.NODE_ENV = "development";
648
+ break;
649
+ case "prod":
650
+ case "production":
651
+ switch (manager) {
652
+ case "npm":
653
+ argv.push("--omit=dev");
654
+ break;
655
+ case "yarn":
656
+ argv.push("--production");
657
+ break;
658
+ case "pnpm": argv.push("--prod");
659
+ }
660
+ process.env.NODE_ENV = "production";
661
+ break;
662
+ default: process.env.NODE_ENV = this.environment;
663
+ }
664
+ return new Promise((resolve, reject) => {
665
+ try {
666
+ this.debug = Boolean(this.commander?.opts().debug) || false;
667
+ this.log(`Command : ${manager} ${argv.join(" ")} in cwd : ${cwd}`);
668
+ const exe = this.getCommandManager(manager);
669
+ this.spawn(exe, argv, {
670
+ cwd,
671
+ env: process.env,
672
+ stdio: "inherit"
673
+ }, (code) => {
674
+ process.env.NODE_ENV = currentenv;
675
+ if (code === 0) return resolve(code);
676
+ return resolve(/* @__PURE__ */ new Error(`Command : ${manager} ${argv.join(" ")} cwd : ${cwd} Error Code : ${code}`));
677
+ });
678
+ } catch (e) {
679
+ process.env.NODE_ENV = currentenv;
680
+ this.log(e, "ERROR");
681
+ return reject(e);
682
+ }
683
+ });
684
+ }
685
+ async npm(argv = [], cwd = path.resolve("."), env = "dev") {
686
+ return this.runPackageManager(argv, cwd, env, "npm");
687
+ }
688
+ async yarn(argv = [], cwd = path.resolve("."), env = "dev") {
689
+ return this.runPackageManager(argv, cwd, env, "yarn");
690
+ }
691
+ async pnpm(argv = [], cwd = path.resolve("."), env = "dev") {
692
+ return this.runPackageManager(argv, cwd, env, "pnpm");
693
+ }
694
+ spawn(command, args, options, close = null) {
695
+ return new Promise((resolve, reject) => {
696
+ let cmd = null;
697
+ try {
698
+ if (!args) args = [];
699
+ this.log(`Spawn : ${command} ${args.join(" ")}`, "INFO");
700
+ cmd = spawn(command, args, options || {});
701
+ if (cmd.stdout) cmd.stdout.on("data", (data) => {
702
+ const str = data.toString();
703
+ if (str) {
704
+ if (this.debug) this.log(`${command} :\n`, "INFO", "STDOUT");
705
+ process.stdout.write(str);
706
+ }
707
+ });
708
+ if (cmd.stderr) cmd.stderr.on("data", (data) => {
709
+ const str = data.toString();
710
+ if (str) {
711
+ if (this.debug) this.log(`${command} :\n`, "INFO", "STDERR");
712
+ process.stdout.write(str);
713
+ }
714
+ });
715
+ cmd.on("close", (code) => {
716
+ if (this.debug) this.log(`Child Process exited with code ${code}`, "DEBUG");
717
+ if (close) close(code);
718
+ if (code !== 0) {
719
+ if (!args) args = [];
720
+ this.log(`Spawn : ${command} ${args.join(" ")} Error Code : ${code}`, "ERROR");
721
+ }
722
+ return resolve(code);
723
+ });
724
+ cmd.on("error", (err) => {
725
+ this.log(err, "ERROR");
726
+ return reject(err);
727
+ });
728
+ if (cmd.stdin) process.stdin.pipe(cmd.stdin);
729
+ } catch (e) {
730
+ this.log(e, "ERROR");
731
+ return reject(e);
732
+ }
733
+ });
734
+ }
735
+ spawnSync(command, args, options) {
736
+ let cmd = null;
737
+ try {
738
+ cmd = spawnSync(command, args, options);
739
+ if (cmd.error) throw cmd.error;
740
+ if (cmd.stderr) this.log(cmd.stderr.toString(), "ERROR");
741
+ if (cmd.stdout) this.log(cmd.stdout.toString(), "INFO");
742
+ } catch (e) {
743
+ this.log(e, "ERROR");
744
+ throw e;
745
+ }
746
+ return cmd;
747
+ }
748
+ };
749
+ //#endregion
750
+ export { Cli as default };