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.
- package/.ai/symbols.json +36135 -0
- package/LICENSE +544 -0
- package/README.md +316 -694
- package/bin/nodefony +2183 -85
- package/dist/client/Container.js +367 -0
- package/dist/client/Event.js +198 -0
- package/dist/client/Service.js +344 -0
- package/dist/client/Tools.js +162 -0
- package/dist/client/client/ClientKernel.js +276 -0
- package/dist/client/client/angular/index.js +352 -0
- package/dist/client/client/announce.js +212 -0
- package/dist/client/client/debugbar/DebugBar.js +1624 -0
- package/dist/client/client/debugbar/format.js +103 -0
- package/dist/client/client/debugbar/hmr.js +37 -0
- package/dist/client/client/debugbar/index.js +29 -0
- package/dist/client/client/debugbar/model.js +133 -0
- package/dist/client/client/debugbar/network.js +173 -0
- package/dist/client/client/debugbar/profile.js +114 -0
- package/dist/client/client/index.js +34 -0
- package/dist/client/client/react/index.js +268 -0
- package/dist/client/client/realtime/AdaptiveRate.js +240 -0
- package/dist/client/client/realtime/BrowserWsTransport.js +57 -0
- package/dist/client/client/realtime/RealtimeClient.js +898 -0
- package/dist/client/client/realtime/localEvents.js +56 -0
- package/dist/client/client/realtime/notice.js +125 -0
- package/dist/client/client/realtime/observe.js +280 -0
- package/dist/client/client/roles/index.js +3 -0
- package/dist/client/client/roles/registry.js +97 -0
- package/dist/client/client/roles/roles.js +91 -0
- package/dist/client/client/shim/events.js +88 -0
- package/dist/client/client/shim/util.js +20 -0
- package/dist/client/client/svelte/index.js +319 -0
- package/dist/client/client/syslog/context.js +122 -0
- package/dist/client/client/syslog/errors.js +49 -0
- package/dist/client/client/syslog/uplink.js +106 -0
- package/dist/client/client/vue/index.js +321 -0
- package/dist/client/colors.js +63 -0
- package/dist/client/debugbar.standalone.js +4274 -0
- package/dist/client/realtime/IRealtimeTransport.js +32 -0
- package/dist/client/realtime/JsonRpcPeer.js +251 -0
- package/dist/client/realtime/channelRate.js +39 -0
- package/dist/client/realtime/platformChannels.js +155 -0
- package/dist/client/syslog/Pdu.js +224 -0
- package/dist/client/syslog/Syslog.js +1159 -0
- package/dist/client/syslog/drivers/pduFlow.js +106 -0
- package/dist/client/syslog/drivers/pduProtocol.js +28 -0
- package/dist/client/syslog/logColor.js +80 -0
- package/dist/client/types/src/Container.d.ts +221 -0
- package/dist/client/types/src/Event.d.ts +171 -0
- package/dist/client/types/src/FileClass.d.ts +184 -0
- package/dist/client/types/src/Service.d.ts +165 -0
- package/dist/client/types/src/Tools.d.ts +116 -0
- package/dist/client/types/src/client/ClientKernel.d.ts +90 -0
- package/dist/client/types/src/client/IClientKernel.d.ts +195 -0
- package/dist/client/types/src/client/angular/index.d.ts +273 -0
- package/dist/client/types/src/client/announce.d.ts +74 -0
- package/dist/client/types/src/client/debugbar/DebugBar.d.ts +279 -0
- package/dist/client/types/src/client/debugbar/format.d.ts +48 -0
- package/dist/client/types/src/client/debugbar/hmr.d.ts +16 -0
- package/dist/client/types/src/client/debugbar/index.d.ts +30 -0
- package/dist/client/types/src/client/debugbar/model.d.ts +158 -0
- package/dist/client/types/src/client/debugbar/network.d.ts +55 -0
- package/dist/client/types/src/client/debugbar/profile.d.ts +99 -0
- package/dist/client/types/src/client/index.d.ts +47 -0
- package/dist/client/types/src/client/react/index.d.ts +207 -0
- package/dist/client/types/src/client/realtime/AdaptiveRate.d.ts +138 -0
- package/dist/client/types/src/client/realtime/BrowserWsTransport.d.ts +27 -0
- package/dist/client/types/src/client/realtime/RealtimeClient.d.ts +573 -0
- package/dist/client/types/src/client/realtime/localEvents.d.ts +53 -0
- package/dist/client/types/src/client/realtime/notice.d.ts +70 -0
- package/dist/client/types/src/client/realtime/observe.d.ts +284 -0
- package/dist/client/types/src/client/roles/index.d.ts +15 -0
- package/dist/client/types/src/client/roles/registry.d.ts +72 -0
- package/dist/client/types/src/client/roles/roles.d.ts +68 -0
- package/dist/client/types/src/client/shim/cli-color.d.ts +2 -0
- package/dist/client/types/src/client/shim/events.d.ts +39 -0
- package/dist/client/types/src/client/shim/util.d.ts +14 -0
- package/dist/client/types/src/client/svelte/index.d.ts +216 -0
- package/dist/client/types/src/client/syslog/context.d.ts +76 -0
- package/dist/client/types/src/client/syslog/errors.d.ts +46 -0
- package/dist/client/types/src/client/syslog/uplink.d.ts +89 -0
- package/dist/client/types/src/client/transport/websocket.d.ts +5 -0
- package/dist/client/types/src/client/vue/index.d.ts +234 -0
- package/dist/client/types/src/colors.d.ts +32 -0
- package/dist/client/types/src/config/infra.d.ts +171 -0
- package/dist/client/types/src/kernel/bootReport.d.ts +112 -0
- package/dist/client/types/src/kernel/readinessRegistry.d.ts +104 -0
- package/dist/client/types/src/realtime/IRealtimeSocket.d.ts +142 -0
- package/dist/client/types/src/realtime/IRealtimeTransport.d.ts +50 -0
- package/dist/client/types/src/realtime/JsonRpcPeer.d.ts +251 -0
- package/dist/client/types/src/realtime/RealtimeEventMap.d.ts +269 -0
- package/dist/client/types/src/realtime/channelRate.d.ts +55 -0
- package/dist/client/types/src/realtime/platformChannels.d.ts +147 -0
- package/dist/client/types/src/syslog/Pdu.d.ts +134 -0
- package/dist/client/types/src/syslog/Syslog.d.ts +482 -0
- package/dist/client/types/src/syslog/drivers/ILogDriver.d.ts +177 -0
- package/dist/client/types/src/syslog/drivers/pduFlow.d.ts +53 -0
- package/dist/client/types/src/syslog/drivers/pduProtocol.d.ts +20 -0
- package/dist/client/types/src/syslog/logColor.d.ts +59 -0
- package/dist/client/types/src/types/ICliKernel.d.ts +28 -0
- package/dist/client/types/src/types/ICommand.d.ts +14 -0
- package/dist/client/types/src/types/IContainer.d.ts +35 -0
- package/dist/client/types/src/types/IKernel.d.ts +138 -0
- package/dist/client/types/src/types/IMcpTool.d.ts +157 -0
- package/dist/client/types/src/types/IModule.d.ts +73 -0
- package/dist/client/types/src/types/IPage.d.ts +119 -0
- package/dist/client/types/src/types/IService.d.ts +62 -0
- package/dist/client/types/src/types/ISyslog.d.ts +58 -0
- package/dist/client/types/src/types/ITransport.d.ts +5 -0
- package/dist/client/types/src/types/globals.d.ts +47 -0
- package/dist/node/Cli.js +750 -0
- package/dist/node/Container.js +367 -0
- package/dist/node/Error.js +309 -0
- package/dist/node/Event.js +198 -0
- package/dist/node/FileClass.js +308 -0
- package/dist/node/Nodefony.js +78 -0
- package/dist/node/Service.js +344 -0
- package/dist/node/Tools.js +205 -0
- package/dist/node/bin/resolveLocalCli.js +10 -0
- package/dist/node/bundler/index.js +103 -0
- package/dist/node/cli/agentTargets.js +461 -0
- package/dist/node/cli/aiMcp.js +553 -0
- package/dist/node/cli/aiMcpReport.js +129 -0
- package/dist/node/cli/aiSync.js +323 -0
- package/dist/node/cli/aiSyncReport.js +142 -0
- package/dist/node/cli/card.js +186 -0
- package/dist/node/cli/cardReport.js +110 -0
- package/dist/node/cli/completion.js +415 -0
- package/dist/node/cli/create.js +805 -0
- package/dist/node/cli/env.js +332 -0
- package/dist/node/cli/envReport.js +159 -0
- package/dist/node/cli/execPortable.js +60 -0
- package/dist/node/cli/gitHooks.js +191 -0
- package/dist/node/cli/gitHooksReport.js +119 -0
- package/dist/node/cli/globalFlags.js +67 -0
- package/dist/node/cli/helpReport.js +288 -0
- package/dist/node/cli/manPage.js +165 -0
- package/dist/node/cli/nodefonyBin.js +61 -0
- package/dist/node/cli/outdated.js +144 -0
- package/dist/node/cli/progress.js +555 -0
- package/dist/node/cli/projectRoot.js +32 -0
- package/dist/node/cli/promptPassword.js +44 -0
- package/dist/node/cli/prompts.js +86 -0
- package/dist/node/cli/scaffold/destination.js +92 -0
- package/dist/node/cli/scaffold/engine.js +2156 -0
- package/dist/node/cli/scaffold/entityFields.js +589 -0
- package/dist/node/cli/scaffold/format.js +243 -0
- package/dist/node/cli/scaffold/interactive.js +124 -0
- package/dist/node/cli/scaffold/moduleLayout.js +38 -0
- package/dist/node/cli/scaffold/reservedEntities.js +74 -0
- package/dist/node/cli/scaffold/spec.js +704 -0
- package/dist/node/cli/scaffold/steps.js +40 -0
- package/dist/node/cli/scaffold/userContractSource.js +133 -0
- package/dist/node/cli/scaffold/versions.js +57 -0
- package/dist/node/cli/scaffold/writer.js +172 -0
- package/dist/node/cli/startMenu.js +496 -0
- package/dist/node/cli/symbols.js +205 -0
- package/dist/node/cli/sysexits.js +34 -0
- package/dist/node/cli/tableReport.js +184 -0
- package/dist/node/cli/usageReport.js +144 -0
- package/dist/node/colors.js +63 -0
- package/dist/node/command/Builder.js +153 -0
- package/dist/node/command/Command.js +348 -0
- package/dist/node/config/configProvenance.js +101 -0
- package/dist/node/config/defaults.js +39 -0
- package/dist/node/config/defineConfig.js +129 -0
- package/dist/node/config/defineEnv.js +264 -0
- package/dist/node/config/envExample.js +41 -0
- package/dist/node/config/envOverride.js +423 -0
- package/dist/node/config/infra.js +163 -0
- package/dist/node/config/reactivity.js +23 -0
- package/dist/node/config/reservedEnv.js +118 -0
- package/dist/node/config/schema.js +134 -0
- package/dist/node/config/use.js +24 -0
- package/dist/node/finder/File.js +49 -0
- package/dist/node/finder/FileResult.js +86 -0
- package/dist/node/finder/Finder.js +201 -0
- package/dist/node/finder/Result.js +45 -0
- package/dist/node/index.js +121 -0
- package/dist/node/kernel/BootConfigurationError.js +54 -0
- package/dist/node/kernel/CliKernel.js +630 -0
- package/dist/node/kernel/Kernel.js +2198 -0
- package/dist/node/kernel/Module.js +453 -0
- package/dist/node/kernel/adminPlane/adminCaller.js +98 -0
- package/dist/node/kernel/adminPlane/adminRbac.js +51 -0
- package/dist/node/kernel/adminPlane/catalog.js +158 -0
- package/dist/node/kernel/adminPlane/executeAdmin.js +78 -0
- package/dist/node/kernel/checks/deep.js +335 -0
- package/dist/node/kernel/checks/freshness.js +139 -0
- package/dist/node/kernel/checks/gating.js +231 -0
- package/dist/node/kernel/checks/guards.js +232 -0
- package/dist/node/kernel/checks/lastBoot.js +136 -0
- package/dist/node/kernel/checks/live.js +330 -0
- package/dist/node/kernel/checks/packageDeps.js +292 -0
- package/dist/node/kernel/checks/readiness.js +153 -0
- package/dist/node/kernel/checks/renderReport.js +780 -0
- package/dist/node/kernel/checks/report.js +421 -0
- package/dist/node/kernel/checks/runDoctor.js +731 -0
- package/dist/node/kernel/checks/surface.js +364 -0
- package/dist/node/kernel/checks/walk.js +100 -0
- package/dist/node/kernel/checks/wiring.js +450 -0
- package/dist/node/kernel/commands/AiMcpCommand.js +65 -0
- package/dist/node/kernel/commands/AiSyncCommand.js +48 -0
- package/dist/node/kernel/commands/BuildCommand.js +49 -0
- package/dist/node/kernel/commands/CardCommand.js +50 -0
- package/dist/node/kernel/commands/ClusterCommand.js +58 -0
- package/dist/node/kernel/commands/CompletionCommand.js +31 -0
- package/dist/node/kernel/commands/CreateCommand.js +45 -0
- package/dist/node/kernel/commands/DevCommand.js +99 -0
- package/dist/node/kernel/commands/DoctorCommand.js +115 -0
- package/dist/node/kernel/commands/EnvCommand.js +52 -0
- package/dist/node/kernel/commands/GitHooksCommand.js +47 -0
- package/dist/node/kernel/commands/InspectCommand.js +153 -0
- package/dist/node/kernel/commands/InstallCommand.js +20 -0
- package/dist/node/kernel/commands/MenuCommand.js +261 -0
- package/dist/node/kernel/commands/OutdatedCommand.js +164 -0
- package/dist/node/kernel/commands/ProdCommand.js +60 -0
- package/dist/node/kernel/commands/StatusCommand.js +30 -0
- package/dist/node/kernel/commands/StopCommand.js +35 -0
- package/dist/node/kernel/commands/SymbolsCommand.js +45 -0
- package/dist/node/kernel/commands/runtimeLauncher.js +95 -0
- package/dist/node/kernel/decorators/kernelDecorator.js +110 -0
- package/dist/node/kernel/injector/injector.js +137 -0
- package/dist/node/kernel/injector/serviceOrder.js +106 -0
- package/dist/node/kernel/inspect/adminSubjects.js +194 -0
- package/dist/node/kernel/inspect/docOutline.js +86 -0
- package/dist/node/kernel/lifecycleTags.js +76 -0
- package/dist/node/kernel/moduleConfig.js +75 -0
- package/dist/node/kernel/moduleGating.js +68 -0
- package/dist/node/kernel/readinessRegistry.js +98 -0
- package/dist/node/kernel/resolveModuleEntry.js +61 -0
- package/dist/node/mcp/caller.js +40 -0
- package/dist/node/mcp/guard.js +51 -0
- package/dist/node/mcp/protocol.js +157 -0
- package/dist/node/mcp/server.js +216 -0
- package/dist/node/mcp/tools.js +861 -0
- package/dist/node/oauth/authorizationServer.js +221 -0
- package/dist/node/oauth/protectedResource.js +293 -0
- package/dist/node/package.js +4 -0
- package/dist/node/realtime/IRealtimeTransport.js +32 -0
- package/dist/node/realtime/JsonRpcPeer.js +251 -0
- package/dist/node/realtime/RealtimeEventMap.js +15 -0
- package/dist/node/realtime/channelRate.js +39 -0
- package/dist/node/realtime/platformChannels.js +155 -0
- package/dist/node/runtime/GcScheduler.js +92 -0
- package/dist/node/runtime/RequestContext.js +76 -0
- package/dist/node/runtime/bearer.js +84 -0
- package/dist/node/runtime/engineEnvironment.js +79 -0
- package/dist/node/runtime/loadEnv.js +105 -0
- package/dist/node/runtime/pageFacets.js +85 -0
- package/dist/node/runtime/pageFilters.js +103 -0
- package/dist/node/runtime/pageGuard.js +84 -0
- package/dist/node/runtime/pageQuery.js +160 -0
- package/dist/node/runtime/pageSort.js +114 -0
- package/dist/node/runtime/redact.js +43 -0
- package/dist/node/runtime/withTimeout.js +71 -0
- package/dist/node/service/cluster/ClusterManager.js +202 -0
- package/dist/node/service/cluster/ClusterProbeAggregator.js +120 -0
- package/dist/node/service/cluster/ClusterRelay.js +74 -0
- package/dist/node/service/cluster/clusterMaster.js +65 -0
- package/dist/node/service/cluster/clusterMessage.js +70 -0
- package/dist/node/service/cluster/cpuQuota.js +59 -0
- package/dist/node/service/cluster/instanceProbe.js +52 -0
- package/dist/node/service/cluster/podEnvironment.js +48 -0
- package/dist/node/service/cluster/processProbe.js +70 -0
- package/dist/node/service/cluster/richProcessProbe.js +115 -0
- package/dist/node/service/cluster/topology.js +71 -0
- package/dist/node/service/dev/BootReporter.js +490 -0
- package/dist/node/service/dev/DevSupervisor.js +1004 -0
- package/dist/node/service/dev/bootVerdict.js +158 -0
- package/dist/node/service/dev/detachedStart.js +372 -0
- package/dist/node/service/dev/devProcess.js +1137 -0
- package/dist/node/service/dev/devProjects.js +138 -0
- package/dist/node/service/dev/devStatusReport.js +395 -0
- package/dist/node/service/dev/devStop.js +263 -0
- package/dist/node/service/fetchService.js +35 -0
- package/dist/node/service/gitService.js +62 -0
- package/dist/node/syslog/Pdu.js +224 -0
- package/dist/node/syslog/Syslog.js +1159 -0
- package/dist/node/syslog/drivers/ClusterFileLogDriver.js +114 -0
- package/dist/node/syslog/drivers/FileLogDriver.js +127 -0
- package/dist/node/syslog/drivers/ILogDriver.js +26 -0
- package/dist/node/syslog/drivers/LokiLogDriver.js +144 -0
- package/dist/node/syslog/drivers/MemoryLogDriver.js +33 -0
- package/dist/node/syslog/drivers/OpenSearchLogDriver.js +159 -0
- package/dist/node/syslog/drivers/builtinLogDrivers.js +114 -0
- package/dist/node/syslog/drivers/filterPdus.js +71 -0
- package/dist/node/syslog/drivers/logDriverRegistry.js +83 -0
- package/dist/node/syslog/drivers/opensearchShared.js +17 -0
- package/dist/node/syslog/drivers/pduFlow.js +106 -0
- package/dist/node/syslog/drivers/pduProtocol.js +28 -0
- package/dist/node/syslog/httpFetch.js +43 -0
- package/dist/node/syslog/logColor.js +80 -0
- package/dist/node/syslog/sinks/FileSink.js +142 -0
- package/dist/node/syslog/transports/BatchingHttpTransport.js +98 -0
- package/dist/node/syslog/transports/ConsoleTransport.js +14 -0
- package/dist/node/syslog/transports/FileTransport.js +17 -0
- package/dist/node/syslog/transports/HttpTransport.js +44 -0
- package/dist/node/syslog/transports/LokiTransport.js +80 -0
- package/dist/node/syslog/transports/OpenSearchTransport.js +53 -0
- package/dist/node/syslog/transports/SyslogTransport.js +13 -0
- package/dist/node/syslog/transports/index.js +8 -0
- package/dist/node/testing/index.js +190 -0
- package/dist/types/Cli.d.ts +177 -0
- package/dist/types/Container.d.ts +221 -0
- package/dist/types/Error.d.ts +162 -0
- package/dist/types/Event.d.ts +171 -0
- package/dist/types/FileClass.d.ts +184 -0
- package/dist/types/Nodefony.d.ts +66 -0
- package/dist/types/Service.d.ts +165 -0
- package/dist/types/Tools.d.ts +116 -0
- package/dist/types/bin/resolveLocalCli.d.ts +49 -0
- package/dist/types/bundler/index.d.ts +66 -0
- package/dist/types/cli/agentTargets.d.ts +378 -0
- package/dist/types/cli/aiMcp.d.ts +239 -0
- package/dist/types/cli/aiMcpReport.d.ts +113 -0
- package/dist/types/cli/aiSync.d.ts +68 -0
- package/dist/types/cli/aiSyncReport.d.ts +149 -0
- package/dist/types/cli/card.d.ts +49 -0
- package/dist/types/cli/cardReport.d.ts +127 -0
- package/dist/types/cli/completion.d.ts +154 -0
- package/dist/types/cli/create.d.ts +177 -0
- package/dist/types/cli/env.d.ts +103 -0
- package/dist/types/cli/envReport.d.ts +153 -0
- package/dist/types/cli/execPortable.d.ts +54 -0
- package/dist/types/cli/gitHooks.d.ts +48 -0
- package/dist/types/cli/gitHooksReport.d.ts +101 -0
- package/dist/types/cli/globalFlags.d.ts +48 -0
- package/dist/types/cli/helpReport.d.ts +110 -0
- package/dist/types/cli/manPage.d.ts +21 -0
- package/dist/types/cli/nodefonyBin.d.ts +45 -0
- package/dist/types/cli/outdated.d.ts +119 -0
- package/dist/types/cli/progress.d.ts +349 -0
- package/dist/types/cli/projectRoot.d.ts +19 -0
- package/dist/types/cli/promptPassword.d.ts +22 -0
- package/dist/types/cli/prompts.d.ts +102 -0
- package/dist/types/cli/scaffold/destination.d.ts +70 -0
- package/dist/types/cli/scaffold/engine.d.ts +545 -0
- package/dist/types/cli/scaffold/entityFields.d.ts +238 -0
- package/dist/types/cli/scaffold/format.d.ts +78 -0
- package/dist/types/cli/scaffold/interactive.d.ts +11 -0
- package/dist/types/cli/scaffold/moduleLayout.d.ts +69 -0
- package/dist/types/cli/scaffold/reservedEntities.d.ts +49 -0
- package/dist/types/cli/scaffold/spec.d.ts +159 -0
- package/dist/types/cli/scaffold/steps.d.ts +24 -0
- package/dist/types/cli/scaffold/userContractSource.d.ts +86 -0
- package/dist/types/cli/scaffold/versions.d.ts +14 -0
- package/dist/types/cli/scaffold/writer.d.ts +100 -0
- package/dist/types/cli/startMenu.d.ts +195 -0
- package/dist/types/cli/symbols.d.ts +84 -0
- package/dist/types/cli/sysexits.d.ts +31 -0
- package/dist/types/cli/tableReport.d.ts +44 -0
- package/dist/types/cli/usageReport.d.ts +108 -0
- package/dist/types/client/ClientKernel.d.ts +90 -0
- package/dist/types/client/IClientKernel.d.ts +195 -0
- package/dist/types/client/angular/index.d.ts +273 -0
- package/dist/types/client/announce.d.ts +74 -0
- package/dist/types/client/debugbar/DebugBar.d.ts +279 -0
- package/dist/types/client/debugbar/format.d.ts +48 -0
- package/dist/types/client/debugbar/hmr.d.ts +16 -0
- package/dist/types/client/debugbar/index.d.ts +30 -0
- package/dist/types/client/debugbar/model.d.ts +158 -0
- package/dist/types/client/debugbar/network.d.ts +55 -0
- package/dist/types/client/debugbar/profile.d.ts +99 -0
- package/dist/types/client/index.d.ts +47 -0
- package/dist/types/client/react/index.d.ts +207 -0
- package/dist/types/client/realtime/AdaptiveRate.d.ts +138 -0
- package/dist/types/client/realtime/BrowserWsTransport.d.ts +27 -0
- package/dist/types/client/realtime/RealtimeClient.d.ts +573 -0
- package/dist/types/client/realtime/localEvents.d.ts +53 -0
- package/dist/types/client/realtime/notice.d.ts +70 -0
- package/dist/types/client/realtime/observe.d.ts +284 -0
- package/dist/types/client/roles/index.d.ts +15 -0
- package/dist/types/client/roles/registry.d.ts +72 -0
- package/dist/types/client/roles/roles.d.ts +68 -0
- package/dist/types/client/shim/cli-color.d.ts +2 -0
- package/dist/types/client/shim/events.d.ts +39 -0
- package/dist/types/client/shim/util.d.ts +14 -0
- package/dist/types/client/svelte/index.d.ts +216 -0
- package/dist/types/client/syslog/context.d.ts +76 -0
- package/dist/types/client/syslog/errors.d.ts +46 -0
- package/dist/types/client/syslog/uplink.d.ts +89 -0
- package/dist/types/client/transport/websocket.d.ts +5 -0
- package/dist/types/client/vue/index.d.ts +234 -0
- package/dist/types/colors.d.ts +32 -0
- package/dist/types/command/Builder.d.ts +47 -0
- package/dist/types/command/Command.d.ts +268 -0
- package/dist/types/config/configMeta.d.ts +53 -0
- package/dist/types/config/configProvenance.d.ts +58 -0
- package/dist/types/config/defaults.d.ts +33 -0
- package/dist/types/config/defineConfig.d.ts +70 -0
- package/dist/types/config/defineEnv.d.ts +170 -0
- package/dist/types/config/envExample.d.ts +23 -0
- package/dist/types/config/envOverride.d.ts +236 -0
- package/dist/types/config/index.d.ts +23 -0
- package/dist/types/config/infra.d.ts +171 -0
- package/dist/types/config/reactivity.d.ts +36 -0
- package/dist/types/config/reservedEnv.d.ts +145 -0
- package/dist/types/config/schema.d.ts +113 -0
- package/dist/types/config/types.d.ts +374 -0
- package/dist/types/config/use.d.ts +80 -0
- package/dist/types/finder/File.d.ts +26 -0
- package/dist/types/finder/FileResult.d.ts +14 -0
- package/dist/types/finder/Finder.d.ts +51 -0
- package/dist/types/finder/Result.d.ts +10 -0
- package/dist/types/index.d.ts +205 -0
- package/dist/types/kernel/BootConfigurationError.d.ts +50 -0
- package/dist/types/kernel/CliKernel.d.ts +289 -0
- package/dist/types/kernel/Kernel.d.ts +1255 -0
- package/dist/types/kernel/Module.d.ts +326 -0
- package/dist/types/kernel/adminPlane/adminCaller.d.ts +105 -0
- package/dist/types/kernel/adminPlane/adminRbac.d.ts +44 -0
- package/dist/types/kernel/adminPlane/catalog.d.ts +122 -0
- package/dist/types/kernel/adminPlane/executeAdmin.d.ts +99 -0
- package/dist/types/kernel/bootReport.d.ts +112 -0
- package/dist/types/kernel/checks/deep.d.ts +122 -0
- package/dist/types/kernel/checks/freshness.d.ts +49 -0
- package/dist/types/kernel/checks/gating.d.ts +134 -0
- package/dist/types/kernel/checks/guards.d.ts +57 -0
- package/dist/types/kernel/checks/lastBoot.d.ts +189 -0
- package/dist/types/kernel/checks/live.d.ts +110 -0
- package/dist/types/kernel/checks/packageDeps.d.ts +44 -0
- package/dist/types/kernel/checks/readiness.d.ts +97 -0
- package/dist/types/kernel/checks/renderReport.d.ts +107 -0
- package/dist/types/kernel/checks/report.d.ts +414 -0
- package/dist/types/kernel/checks/runDoctor.d.ts +361 -0
- package/dist/types/kernel/checks/surface.d.ts +148 -0
- package/dist/types/kernel/checks/walk.d.ts +45 -0
- package/dist/types/kernel/checks/wiring.d.ts +54 -0
- package/dist/types/kernel/commands/AiMcpCommand.d.ts +39 -0
- package/dist/types/kernel/commands/AiSyncCommand.d.ts +28 -0
- package/dist/types/kernel/commands/BuildCommand.d.ts +13 -0
- package/dist/types/kernel/commands/CardCommand.d.ts +34 -0
- package/dist/types/kernel/commands/ClusterCommand.d.ts +29 -0
- package/dist/types/kernel/commands/CompletionCommand.d.ts +17 -0
- package/dist/types/kernel/commands/CreateCommand.d.ts +16 -0
- package/dist/types/kernel/commands/DevCommand.d.ts +40 -0
- package/dist/types/kernel/commands/DoctorCommand.d.ts +55 -0
- package/dist/types/kernel/commands/EnvCommand.d.ts +35 -0
- package/dist/types/kernel/commands/GitHooksCommand.d.ts +27 -0
- package/dist/types/kernel/commands/InspectCommand.d.ts +59 -0
- package/dist/types/kernel/commands/InstallCommand.d.ts +7 -0
- package/dist/types/kernel/commands/MenuCommand.d.ts +58 -0
- package/dist/types/kernel/commands/OutdatedCommand.d.ts +47 -0
- package/dist/types/kernel/commands/ProdCommand.d.ts +29 -0
- package/dist/types/kernel/commands/StatusCommand.d.ts +17 -0
- package/dist/types/kernel/commands/StopCommand.d.ts +17 -0
- package/dist/types/kernel/commands/SymbolsCommand.d.ts +29 -0
- package/dist/types/kernel/commands/runtimeLauncher.d.ts +76 -0
- package/dist/types/kernel/decorators/kernelDecorator.d.ts +76 -0
- package/dist/types/kernel/injector/injector.d.ts +47 -0
- package/dist/types/kernel/injector/serviceOrder.d.ts +29 -0
- package/dist/types/kernel/inspect/adminSubjects.d.ts +169 -0
- package/dist/types/kernel/inspect/docOutline.d.ts +53 -0
- package/dist/types/kernel/lifecycleTags.d.ts +79 -0
- package/dist/types/kernel/moduleConfig.d.ts +35 -0
- package/dist/types/kernel/moduleGating.d.ts +78 -0
- package/dist/types/kernel/readinessRegistry.d.ts +104 -0
- package/dist/types/kernel/resolveModuleEntry.d.ts +46 -0
- package/dist/types/mcp/caller.d.ts +55 -0
- package/dist/types/mcp/guard.d.ts +66 -0
- package/dist/types/mcp/protocol.d.ts +163 -0
- package/dist/types/mcp/server.d.ts +70 -0
- package/dist/types/mcp/tools.d.ts +209 -0
- package/dist/types/oauth/authorizationServer.d.ts +204 -0
- package/dist/types/oauth/protectedResource.d.ts +339 -0
- package/dist/types/realtime/IRealtimeSocket.d.ts +142 -0
- package/dist/types/realtime/IRealtimeTransport.d.ts +50 -0
- package/dist/types/realtime/JsonRpcPeer.d.ts +251 -0
- package/dist/types/realtime/RealtimeEventMap.d.ts +269 -0
- package/dist/types/realtime/channelRate.d.ts +55 -0
- package/dist/types/realtime/platformChannels.d.ts +147 -0
- package/dist/types/runtime/GcScheduler.d.ts +96 -0
- package/dist/types/runtime/RequestContext.d.ts +152 -0
- package/dist/types/runtime/bearer.d.ts +88 -0
- package/dist/types/runtime/engineEnvironment.d.ts +115 -0
- package/dist/types/runtime/loadEnv.d.ts +86 -0
- package/dist/types/runtime/pageFacets.d.ts +104 -0
- package/dist/types/runtime/pageFilters.d.ts +139 -0
- package/dist/types/runtime/pageGuard.d.ts +78 -0
- package/dist/types/runtime/pageQuery.d.ts +138 -0
- package/dist/types/runtime/pageSort.d.ts +86 -0
- package/dist/types/runtime/redact.d.ts +27 -0
- package/dist/types/runtime/withTimeout.d.ts +51 -0
- package/dist/types/service/cluster/ClusterManager.d.ts +112 -0
- package/dist/types/service/cluster/ClusterProbeAggregator.d.ts +68 -0
- package/dist/types/service/cluster/ClusterRelay.d.ts +57 -0
- package/dist/types/service/cluster/clusterMaster.d.ts +40 -0
- package/dist/types/service/cluster/clusterMessage.d.ts +94 -0
- package/dist/types/service/cluster/cpuQuota.d.ts +37 -0
- package/dist/types/service/cluster/instanceProbe.d.ts +82 -0
- package/dist/types/service/cluster/podEnvironment.d.ts +35 -0
- package/dist/types/service/cluster/processProbe.d.ts +53 -0
- package/dist/types/service/cluster/richProcessProbe.d.ts +77 -0
- package/dist/types/service/cluster/topology.d.ts +64 -0
- package/dist/types/service/dev/BootReporter.d.ts +67 -0
- package/dist/types/service/dev/DevSupervisor.d.ts +117 -0
- package/dist/types/service/dev/bootVerdict.d.ts +99 -0
- package/dist/types/service/dev/detachedStart.d.ts +164 -0
- package/dist/types/service/dev/devProcess.d.ts +638 -0
- package/dist/types/service/dev/devProjects.d.ts +121 -0
- package/dist/types/service/dev/devStatusReport.d.ts +141 -0
- package/dist/types/service/dev/devStop.d.ts +57 -0
- package/dist/types/service/fetchService.d.ts +29 -0
- package/dist/types/service/gitService.d.ts +24 -0
- package/dist/types/syslog/Pdu.d.ts +134 -0
- package/dist/types/syslog/Syslog.d.ts +482 -0
- package/dist/types/syslog/drivers/ClusterFileLogDriver.d.ts +40 -0
- package/dist/types/syslog/drivers/FileLogDriver.d.ts +55 -0
- package/dist/types/syslog/drivers/ILogDriver.d.ts +177 -0
- package/dist/types/syslog/drivers/LokiLogDriver.d.ts +44 -0
- package/dist/types/syslog/drivers/MemoryLogDriver.d.ts +20 -0
- package/dist/types/syslog/drivers/OpenSearchLogDriver.d.ts +40 -0
- package/dist/types/syslog/drivers/builtinLogDrivers.d.ts +43 -0
- package/dist/types/syslog/drivers/filterPdus.d.ts +21 -0
- package/dist/types/syslog/drivers/logDriverRegistry.d.ts +100 -0
- package/dist/types/syslog/drivers/opensearchShared.d.ts +11 -0
- package/dist/types/syslog/drivers/pduFlow.d.ts +53 -0
- package/dist/types/syslog/drivers/pduProtocol.d.ts +20 -0
- package/dist/types/syslog/httpFetch.d.ts +48 -0
- package/dist/types/syslog/logColor.d.ts +59 -0
- package/dist/types/syslog/sinks/FileSink.d.ts +78 -0
- package/dist/types/syslog/transports/BatchingHttpTransport.d.ts +59 -0
- package/dist/types/syslog/transports/ConsoleTransport.d.ts +8 -0
- package/dist/types/syslog/transports/FileTransport.d.ts +13 -0
- package/dist/types/syslog/transports/HttpTransport.d.ts +15 -0
- package/dist/types/syslog/transports/LokiTransport.d.ts +45 -0
- package/dist/types/syslog/transports/OpenSearchTransport.d.ts +40 -0
- package/dist/types/syslog/transports/SyslogTransport.d.ts +9 -0
- package/dist/types/syslog/transports/index.d.ts +12 -0
- package/dist/types/testing/index.d.ts +197 -0
- package/dist/types/types/IAdminApi.d.ts +246 -0
- package/dist/types/types/ICliKernel.d.ts +28 -0
- package/dist/types/types/ICommand.d.ts +14 -0
- package/dist/types/types/IContainer.d.ts +35 -0
- package/dist/types/types/IIdempotencyStore.d.ts +159 -0
- package/dist/types/types/IKernel.d.ts +138 -0
- package/dist/types/types/IMcpTool.d.ts +157 -0
- package/dist/types/types/IModule.d.ts +73 -0
- package/dist/types/types/IModuleManifest.d.ts +49 -0
- package/dist/types/types/IPage.d.ts +119 -0
- package/dist/types/types/IService.d.ts +62 -0
- package/dist/types/types/ISyslog.d.ts +58 -0
- package/dist/types/types/ITransport.d.ts +5 -0
- package/dist/types/types/globals.d.ts +47 -0
- package/docs/angular-services.md +318 -0
- package/docs/catalogue.md +184 -0
- package/docs/cli.md +369 -0
- package/docs/client.md +616 -0
- package/docs/debugbar.md +218 -0
- package/docs/environnement.md +308 -0
- package/docs/index.md +388 -0
- package/docs/kernel.md +670 -0
- package/docs/progression.md +228 -0
- package/docs/react-hooks.md +686 -0
- package/docs/request-context.md +507 -0
- package/docs/service.md +590 -0
- package/docs/svelte-reactivite.md +293 -0
- package/docs/syslog.md +848 -0
- package/docs/testing.md +203 -0
- package/docs/vue-composables.md +255 -0
- package/man/nodefony.1 +152 -0
- package/package.json +163 -83
- package/templates/app/agents/AGENTS.md.tpl +967 -0
- package/templates/app/agents/POINTEUR.md.tpl +12 -0
- package/templates/app/base/Dockerfile.tpl +104 -0
- package/templates/app/base/README.md.tpl +314 -0
- package/templates/app/base/dockerignore.tpl +28 -0
- package/templates/app/base/env.ts.tpl +130 -0
- package/templates/app/base/gitattributes.tpl +28 -0
- package/templates/app/base/github/workflows/ci.yml.tpl +91 -0
- package/templates/app/base/gitignore.tpl +46 -0
- package/templates/app/base/gitlab-ci.yml.tpl +42 -0
- package/templates/app/base/index.ts.tpl +69 -0
- package/templates/app/base/nodefony.config.ts.tpl +342 -0
- package/templates/app/base/oxlintrc.json.tpl +127 -0
- package/templates/app/base/package.json.tpl +75 -0
- package/templates/app/base/prettierignore.tpl +24 -0
- package/templates/app/base/prettierrc.json.tpl +12 -0
- package/templates/app/base/rolldown.config.ts.tpl +8 -0
- package/templates/app/base/tests/config.test.ts.tpl +29 -0
- package/templates/app/base/tests/e2e.setup.ts.tpl +181 -0
- package/templates/app/base/tests/e2e.test.ts.tpl +105 -0
- package/templates/app/base/tests/migrations.e2e.test.ts.tpl +579 -0
- package/templates/app/base/tsconfig.json.tpl +47 -0
- package/templates/app/base/vitest.config.ts.tpl +88 -0
- package/templates/app/base/vitest.e2e.config.ts.tpl +39 -0
- package/templates/app/complete/compose.yaml.tpl +328 -0
- package/templates/app/complete/deploy/migrate-job.yaml.tpl +100 -0
- package/templates/app/complete/docker/db/init-nodefony-e2e.sql.tpl +30 -0
- package/templates/app/complete/docker/grafana/provisioning/datasources/loki.yaml.tpl +15 -0
- package/templates/app/complete/env.local.tpl +11 -0
- package/templates/app/complete/env.tpl +53 -0
- package/templates/app/complete/nodefony/entity/User.ts.tpl +69 -0
- package/templates/app/complete/nodefony/security/provisionUsers.ts.tpl +124 -0
- package/templates/app/complete/nodefony/service/AppBannerService.ts.tpl +98 -0
- package/templates/app/complete/nodefony/service/AppInfoService.ts.tpl +85 -0
- package/templates/app/frontend/angular/frontend/src/accent.css.tpl +34 -0
- package/templates/app/frontend/angular/frontend/src/app/app.component.ts.tpl +400 -0
- package/templates/app/frontend/react/frontend/src/App.tsx.tpl +421 -0
- package/templates/app/frontend/react/frontend/src/accent.css.tpl +30 -0
- package/templates/app/frontend/shared/frontend/src/brand.ts.tpl +3 -0
- package/templates/app/frontend/shared/frontend/src/showcase.css.tpl +224 -0
- package/templates/app/frontend/shared/nodefony/controllers/AppController.ts.tpl +45 -0
- package/templates/app/frontend/svelte/frontend/src/App.svelte.tpl +371 -0
- package/templates/app/frontend/svelte/frontend/src/accent.css.tpl +34 -0
- package/templates/app/frontend/vue/frontend/src/App.vue.tpl +367 -0
- package/templates/app/frontend/vue/frontend/src/accent.css.tpl +34 -0
- package/templates/app/home/nodefony/controllers/HomeController.ts.tpl +38 -0
- package/templates/command/nodefony/command/__NAME__.ts.tpl +132 -0
- package/templates/controller/duplex/nodefony/controllers/__NAME__.ts.tpl +188 -0
- package/templates/controller/example/nodefony/controllers/__NAME__.ts.tpl +348 -0
- package/templates/controller/hello/nodefony/controllers/__NAME__.ts.tpl +143 -0
- package/templates/controller/realtime/nodefony/controllers/__NAME__.ts.tpl +153 -0
- package/templates/controller/realtime/tests/__KEBAB__-realtime.test.ts.tpl +79 -0
- package/templates/controller/rest/nodefony/controllers/__NAME__.ts.tpl +159 -0
- package/templates/entity/base/nodefony/entity/__PASCAL__.schema.ts.tpl +31 -0
- package/templates/entity/base/nodefony/entity/__PASCAL__.ts.tpl +68 -0
- package/templates/entity/controller/nodefony/controllers/__PASCAL__Controller.ts.tpl +335 -0
- package/templates/entity/service/nodefony/service/__PASCAL__Service.ts.tpl +126 -0
- package/templates/entity/tests/tests/__KEBAB__.e2e.test.ts.tpl +358 -0
- package/templates/entity/tests/tests/__KEBAB__.test.ts.tpl +87 -0
- package/templates/front/angular/frontend/src/app/app.component.ts.tpl +30 -0
- package/templates/front/base/nodefony/controllers/__NAME__.ts.tpl +60 -0
- package/templates/front/react/frontend/src/App.tsx.tpl +26 -0
- package/templates/front/svelte/frontend/src/App.svelte.tpl +19 -0
- package/templates/front/vue/frontend/src/App.vue.tpl +23 -0
- package/templates/module/ai/AGENTS.md.tpl +71 -0
- package/templates/module/base/README.md.tpl +62 -0
- package/templates/module/base/docs/index.md.tpl +55 -0
- package/templates/module/base/index.ts.tpl +50 -0
- package/templates/module/base/nodefony/config/config.ts.tpl +60 -0
- package/templates/module/base/nodefony/config/defineModuleConfig.ts.tpl +55 -0
- package/templates/module/base/nodefony/src/errors/__PASCAL__Error.ts.tpl +20 -0
- package/templates/module/base/package.json.tpl +53 -0
- package/templates/module/base/rolldown.config.ts.tpl +14 -0
- package/templates/module/base/tests/__KEBAB__.test.ts.tpl +39 -0
- package/templates/module/base/tsconfig.json.tpl +42 -0
- package/templates/module/base/vitest.config.ts.tpl +27 -0
- package/templates/module/packages/CLAUDE.md.tpl +51 -0
- package/templates/module/packages/MEMORY.md.tpl +39 -0
- package/templates/module/packages/tsconfig.declarations.json.tpl +19 -0
- package/templates/module/packages/tsconfig.tests.json.tpl +11 -0
- package/templates/module/service/nodefony/interfaces/I__PASCAL__Service.ts.tpl +14 -0
- package/templates/module/service/nodefony/interfaces/index.ts.tpl +1 -0
- package/templates/module/service/nodefony/service/__PASCAL__Service.ts.tpl +116 -0
- package/templates/service/nodefony/interfaces/I__PASCAL__Service.ts.tpl +19 -0
- package/templates/service/nodefony/service/__PASCAL__Service.ts.tpl +136 -0
- package/templates/service/tests/__PASCAL__Service.test.ts.tpl +53 -0
- package/templates/shared/front-entry/angular/frontend/src/main.ts.tpl +17 -0
- package/templates/shared/front-entry/react/frontend/src/main.tsx.tpl +11 -0
- package/templates/shared/front-entry/svelte/frontend/src/main.ts.tpl +13 -0
- package/templates/shared/front-entry/vue/frontend/src/main.ts.tpl +12 -0
- package/templates/shared/front-registrar/nodefony/frontend/register__PASCAL__Entry.ts.tpl +40 -0
- package/templates/shared/front-shell/frontend/index.html.tpl +39 -0
- package/templates/shared/ng-app-tsconfig/frontend/tsconfig.app.json.tpl +18 -0
- package/templates/shared/svelte-shim/frontend/src/env.d.ts.tpl +12 -0
- package/templates/shared/vue-shim/frontend/src/env.d.ts.tpl +15 -0
- package/.yarnclean +0 -45
- package/CHANGELOG.md +0 -406
- package/autoloader.es6 +0 -253
- package/builder.es6 +0 -366
- package/cli/builder/bundles/bundle.js +0 -328
- package/cli/builder/bundles/controller.js +0 -73
- package/cli/builder/bundles/users-bundle/.yarnclean +0 -45
- package/cli/builder/bundles/users-bundle/Command/fixtureTask.js +0 -47
- package/cli/builder/bundles/users-bundle/Command/usersCommand.js +0 -105
- package/cli/builder/bundles/users-bundle/Entity/mongoose/userEntity.js +0 -168
- package/cli/builder/bundles/users-bundle/Entity/sequelize/userEntity.js +0 -231
- package/cli/builder/bundles/users-bundle/Fixtures/users.js +0 -117
- package/cli/builder/bundles/users-bundle/Fixtures/usersFixtures.js +0 -114
- package/cli/builder/bundles/users-bundle/Resources/config/config.js +0 -90
- package/cli/builder/bundles/users-bundle/Resources/config/routing.js +0 -17
- package/cli/builder/bundles/users-bundle/Resources/config/security.js +0 -96
- package/cli/builder/bundles/users-bundle/Resources/config/services.js +0 -7
- package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.dev.config.js +0 -13
- package/cli/builder/bundles/users-bundle/Resources/config/webpack/webpack.prod.config.js +0 -31
- package/cli/builder/bundles/users-bundle/Resources/config/webpack.config.js +0 -146
- package/cli/builder/bundles/users-bundle/Resources/js/users.js +0 -153
- package/cli/builder/bundles/users-bundle/Resources/public/favicon.ico +0 -0
- package/cli/builder/bundles/users-bundle/Resources/public/images/users-logo.png +0 -0
- package/cli/builder/bundles/users-bundle/Resources/scss/awesome/font-awesome.config.js +0 -11
- package/cli/builder/bundles/users-bundle/Resources/scss/custom.scss +0 -23
- package/cli/builder/bundles/users-bundle/Resources/scss/users.scss +0 -59
- package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/login.js +0 -235
- package/cli/builder/bundles/users-bundle/Resources/swagger/openapi/users.js +0 -232
- package/cli/builder/bundles/users-bundle/Resources/translations/login.en_en.yml +0 -14
- package/cli/builder/bundles/users-bundle/Resources/translations/login.fr_fr.yml +0 -14
- package/cli/builder/bundles/users-bundle/Resources/translations/users.en_en.yml +0 -35
- package/cli/builder/bundles/users-bundle/Resources/translations/users.fr_fr.yml +0 -36
- package/cli/builder/bundles/users-bundle/Resources/views/base.html.twig +0 -32
- package/cli/builder/bundles/users-bundle/Resources/views/footer.html.twig +0 -7
- package/cli/builder/bundles/users-bundle/Resources/views/header.html.twig +0 -90
- package/cli/builder/bundles/users-bundle/Resources/views/login/login.html.twig +0 -43
- package/cli/builder/bundles/users-bundle/Resources/views/users/createUser.html.twig +0 -296
- package/cli/builder/bundles/users-bundle/Resources/views/users/readUsers.html.twig +0 -94
- package/cli/builder/bundles/users-bundle/controller/api/graphql/graphqlController.js +0 -56
- package/cli/builder/bundles/users-bundle/controller/api/graphql/userResolver.js +0 -121
- package/cli/builder/bundles/users-bundle/controller/api/graphql/usertype.js +0 -58
- package/cli/builder/bundles/users-bundle/controller/api/openapi/loginApiController.js +0 -210
- package/cli/builder/bundles/users-bundle/controller/api/openapi/restUserController.js +0 -244
- package/cli/builder/bundles/users-bundle/controller/loginController.js +0 -91
- package/cli/builder/bundles/users-bundle/controller/usersController.js +0 -332
- package/cli/builder/bundles/users-bundle/package.json +0 -58
- package/cli/builder/bundles/users-bundle/readme.md +0 -360
- package/cli/builder/bundles/users-bundle/services/usersService.js +0 -411
- package/cli/builder/bundles/users-bundle/src/providers/mongoose/userProvider.js +0 -47
- package/cli/builder/bundles/users-bundle/src/providers/sequelize/userProvider.js +0 -48
- package/cli/builder/bundles/users-bundle/tests/loginTest.js +0 -182
- package/cli/builder/bundles/users-bundle/usersBundle.js +0 -26
- package/cli/builder/microService/microService.js +0 -261
- package/cli/builder/microService/skeletons/.editorconfig +0 -18
- package/cli/builder/microService/skeletons/.env-cmdrc.js +0 -32
- package/cli/builder/microService/skeletons/.jshintrc +0 -37
- package/cli/builder/microService/skeletons/README.md +0 -117
- package/cli/builder/microService/skeletons/bin/bash/hello.sh +0 -5
- package/cli/builder/microService/skeletons/bin/cli +0 -13
- package/cli/builder/microService/skeletons/bin/python/hello.py +0 -20
- package/cli/builder/microService/skeletons/config/config.js +0 -29
- package/cli/builder/microService/skeletons/config/pm2.config.js +0 -72
- package/cli/builder/microService/skeletons/config/webpack/webpack.config.dev.js +0 -8
- package/cli/builder/microService/skeletons/config/webpack/webpack.config.prod.js +0 -25
- package/cli/builder/microService/skeletons/config/webpack.config.js +0 -114
- package/cli/builder/microService/skeletons/package.json +0 -76
- package/cli/builder/microService/skeletons/src/browser/index.css +0 -3
- package/cli/builder/microService/skeletons/src/browser/index.js +0 -16
- package/cli/builder/microService/skeletons/src/browser/socketio.js +0 -46
- package/cli/builder/microService/skeletons/src/cli/cli.js +0 -224
- package/cli/builder/microService/skeletons/src/cli/menu.js +0 -28
- package/cli/builder/microService/skeletons/src/n-api/README.md +0 -1
- package/cli/builder/microService/skeletons/src/n-api/binding.gyp +0 -14
- package/cli/builder/microService/skeletons/src/n-api/hello.cc +0 -14
- package/cli/builder/microService/skeletons/src/n-api/hello.js +0 -23
- package/cli/builder/microService/skeletons/src/n-api/package.json +0 -15
- package/cli/builder/microService/skeletons/src/node/examples/index.js +0 -120
- package/cli/builder/microService/skeletons/src/node/index.js +0 -102
- package/cli/builder/microService/skeletons/src/node/services/markdown/markdown.js +0 -27
- package/cli/builder/microService/skeletons/src/node/services/servers/http.js +0 -45
- package/cli/builder/microService/skeletons/src/node/services/servers/https.js +0 -44
- package/cli/builder/microService/skeletons/src/node/services/socketio/socketio.js +0 -46
- package/cli/builder/microService/skeletons/src/node/services/syscall/syscall.js +0 -111
- package/cli/builder/microService/skeletons/src/node/services/worker/thread.js +0 -59
- package/cli/builder/microService/skeletons/src/node/services/worker/worker.js +0 -60
- package/cli/builder/microService/skeletons/src/templates/base.html +0 -12
- package/cli/builder/microService/skeletons/src/templates/socket.html +0 -23
- package/cli/builder/microService/skeletons/tests/unit/serviceTest.js +0 -30
- package/cli/builder/project/project.js +0 -474
- package/cli/builder/project/skeletons/README.md +0 -778
- package/cli/builder/project/skeletons/bin/dev-deploy.sh +0 -5
- package/cli/builder/project/skeletons/bin/generateCertificates.sh.skeleton +0 -180
- package/cli/builder/project/skeletons/bin/prod-deploy.sh +0 -3
- package/cli/builder/project/skeletons/config/config.js.skeleton +0 -178
- package/cli/builder/project/skeletons/config/openssl/ca/openssl.cnf.skeleton +0 -150
- package/cli/builder/project/skeletons/config/openssl/ca_intermediate/openssl.cnf.skeleton +0 -152
- package/cli/builder/project/skeletons/config/pm2.config.js.skeleton +0 -62
- package/cli/builder/project/skeletons/documentation.html.twig +0 -24
- package/cli/builder/project/skeletons/editorconfig.skeleton +0 -18
- package/cli/builder/project/skeletons/eslintignore.skeleton +0 -15
- package/cli/builder/project/skeletons/eslintrc.js.skeleton +0 -97
- package/cli/builder/project/skeletons/gitignore.skeleton +0 -32
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.37.entity-user.js +0 -137
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.38.entity-session.js +0 -97
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.39.entity-requests.js +0 -115
- package/cli/builder/project/skeletons/migrations/2022.12.25T17.37.40.entity-jwts.js +0 -97
- package/cli/builder/project/skeletons/migrations/migrations.skeleton.js +0 -101
- package/cli/builder/project/skeletons/package.json.twig +0 -71
- package/cli/builder/react/reactBuilder.js +0 -224
- package/cli/builder/react/skeletons/app/Resources/databases/nodefony.db +0 -0
- package/cli/builder/react/skeletons/app/Resources/translations/messages.en_en.yml +0 -5
- package/cli/builder/react/skeletons/app/Resources/translations/messages.fr_fr.yml +0 -5
- package/cli/builder/react/skeletons/app/Resources/views/base.html.twig +0 -33
- package/cli/builder/react/skeletons/app/config/config.js +0 -392
- package/cli/builder/react/skeletons/app/config/routing.js +0 -10
- package/cli/builder/react/skeletons/app/config/security.js +0 -74
- package/cli/builder/react/skeletons/app/controller/appController.js +0 -22
- package/cli/builder/sandbox/sandBoxBuilder.js +0 -610
- package/cli/builder/sandbox/skeletons/Resources/css/entry.css +0 -48
- package/cli/builder/sandbox/skeletons/Resources/js/entry.js +0 -60
- package/cli/builder/sandbox/skeletons/Resources/public/manifest.json +0 -32
- package/cli/builder/sandbox/skeletons/Resources/translations/messages.en_en.yml +0 -5
- package/cli/builder/sandbox/skeletons/Resources/translations/messages.fr_fr.yml +0 -5
- package/cli/builder/sandbox/skeletons/Resources/views/base.html.twig +0 -46
- package/cli/builder/sandbox/skeletons/Resources/views/index.html.twig +0 -34
- package/cli/builder/sandbox/skeletons/bootstrap/custom.scss +0 -27
- package/cli/builder/sandbox/skeletons/bootstrap/entry.scss +0 -60
- package/cli/builder/sandbox/skeletons/workbox/templates/index.html.twig +0 -32
- package/cli/builder/sandbox/skeletons/workbox/workers/service-worker.js +0 -196
- package/cli/builder/skeletons/Resources/public/favicon.ico +0 -0
- package/cli/builder/skeletons/Resources/public/images/app-logo.png +0 -0
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/401.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/401.json.twig +0 -24
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/403.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/403.json.twig +0 -20
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/404.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/404.json.twig +0 -20
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/500.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/base.html.twig +0 -30
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/exception.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/exception.json.twig +0 -24
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/footer.html.twig +0 -33
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/header.html.twig +0 -6
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/index.html.twig +0 -6
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/index.json.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/layout.html.twig +0 -125
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/layout.json.twig +0 -5
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/timeout.html.twig +0 -1
- package/cli/builder/skeletons/Resources/views/framework-bundle/views/timeout.json.twig +0 -24
- package/cli/builder/skeletons/app/appKernel.js +0 -133
- package/cli/builder/skeletons/binding/binding.cc +0 -26
- package/cli/builder/skeletons/binding/binding.skeleton +0 -8
- package/cli/builder/skeletons/bundle/bundleClass.js +0 -37
- package/cli/builder/skeletons/command/commandClass.js +0 -11
- package/cli/builder/skeletons/command/taskClass.js +0 -20
- package/cli/builder/skeletons/config/config.js +0 -138
- package/cli/builder/skeletons/config/nodefony/elastic-bundle.js +0 -37
- package/cli/builder/skeletons/config/nodefony/framework-bundle.js +0 -22
- package/cli/builder/skeletons/config/nodefony/http-bundle.js +0 -104
- package/cli/builder/skeletons/config/nodefony/mail-bundle.js +0 -44
- package/cli/builder/skeletons/config/nodefony/mongoose-bundle.js +0 -51
- package/cli/builder/skeletons/config/nodefony/monitoring-bundle.js +0 -34
- package/cli/builder/skeletons/config/nodefony/realtime-bundle.js +0 -15
- package/cli/builder/skeletons/config/nodefony/redis-bundle.js +0 -44
- package/cli/builder/skeletons/config/nodefony/security-bundle.js +0 -25
- package/cli/builder/skeletons/config/nodefony/sequelize-bundle.js +0 -156
- package/cli/builder/skeletons/config/routing.js +0 -55
- package/cli/builder/skeletons/config/security.js +0 -102
- package/cli/builder/skeletons/config/services.js +0 -1
- package/cli/builder/skeletons/config/webpack/webpack.dev.config.js +0 -13
- package/cli/builder/skeletons/config/webpack/webpack.prod.config.js +0 -20
- package/cli/builder/skeletons/config/webpack.config.js +0 -148
- package/cli/builder/skeletons/controller/controllerClass.js +0 -75
- package/cli/builder/skeletons/package.json.twig +0 -57
- package/cli/builder/skeletons/unittest/testFile.js +0 -46
- package/cli/builder/vue/skeletons/Resources/public/images/app-logo.png +0 -0
- package/cli/builder/vue/skeletons/Resources/translations/messages.en_en.yml +0 -5
- package/cli/builder/vue/skeletons/Resources/translations/messages.fr_fr.yml +0 -5
- package/cli/builder/vue/skeletons/vue.config.js +0 -129
- package/cli/builder/vue/vueBuilder.js +0 -410
- package/cli/generate/generate.es6 +0 -103
- package/cli/install/install.js +0 -190
- package/cli/sequelize/sequelize.js +0 -94
- package/cli/start.js +0 -702
- package/cli/tools/pm2.es6 +0 -112
- package/cli/tools/tools.es6 +0 -97
- package/cli.es6 +0 -925
- package/container.es6 +0 -272
- package/error.es6 +0 -293
- package/fileClass.es6 +0 -242
- package/finder/file.es6 +0 -33
- package/finder/fileResult.es6 +0 -138
- package/finder/finder2.es6 +0 -275
- package/finder.es6 +0 -427
- package/kernel/annotations/annotations.es6 +0 -286
- package/kernel/api/api.es6 +0 -61
- package/kernel/api/graphqlApi.es6 +0 -107
- package/kernel/api/jsonApi.es6 +0 -177
- package/kernel/api/openApi.es6 +0 -139
- package/kernel/api/schemas/openApiSchema.js +0 -394
- package/kernel/babylon.es6 +0 -162
- package/kernel/bundle.es6 +0 -1200
- package/kernel/cliKernel.es6 +0 -869
- package/kernel/command.es6 +0 -78
- package/kernel/commands/nodefonyCommand.es6 +0 -247
- package/kernel/commands/tasks/bundlesTask.es6 +0 -59
- package/kernel/controllers/controller.es6 +0 -791
- package/kernel/fixture.es6 +0 -19
- package/kernel/injections/injections.es6 +0 -424
- package/kernel/kernel.es6 +0 -1960
- package/kernel/kernelWatcher.es6 +0 -387
- package/kernel/orm/entity.es6 +0 -59
- package/kernel/orm/orm.es6 +0 -139
- package/kernel/reader.es6 +0 -290
- package/kernel/security/encoder.es6 +0 -17
- package/kernel/security/factories/factory.es6 +0 -111
- package/kernel/security/factories/passeportFactory.es6 +0 -61
- package/kernel/security/provider.es6 +0 -58
- package/kernel/security/providers/chainProvider.es6 +0 -99
- package/kernel/security/providers/memoryProvider.es6 +0 -55
- package/kernel/security/providers/providerManager.es6 +0 -67
- package/kernel/security/providers/userEntityProvider.es6 +0 -50
- package/kernel/security/role.es6 +0 -12
- package/kernel/security/secureArea.es6 +0 -431
- package/kernel/security/tokens/token.es6 +0 -171
- package/kernel/security/user.es6 +0 -106
- package/kernel/serviceRealTime.es6 +0 -21
- package/kernel/services/connectionsService.es6 +0 -93
- package/kernel/services/cron/cronService.es6 +0 -123
- package/kernel/task.es6 +0 -80
- package/kernel/templates.es6 +0 -22
- package/kernel/templating/twig.es6 +0 -218
- package/kernel/tests/cliTest.js +0 -59
- package/kernel/tests/containerTest.js +0 -232
- package/kernel/tests/kernelTest.js +0 -39
- package/nodefony.es6 +0 -1084
- package/notificationsCenter.es6 +0 -118
- package/protocol.es6 +0 -86
- package/protocols/bayeux.es6 +0 -174
- package/protocols/jsonRpc/jsonrpc.es6 +0 -56
- package/result.es6 +0 -99
- package/service.es6 +0 -288
- package/syslog/pdu.es6 +0 -141
- package/syslog/syslog.es6 +0 -754
- package/watcher.es6 +0 -113
|
@@ -0,0 +1,630 @@
|
|
|
1
|
+
import { version } from "../package.js";
|
|
2
|
+
import Syslog from "../syslog/Syslog.js";
|
|
3
|
+
import "../cli/sysexits.js";
|
|
4
|
+
import { toImportSpecifier } from "./resolveModuleEntry.js";
|
|
5
|
+
import Cli from "../Cli.js";
|
|
6
|
+
import { shouldColorize, usableWidth } from "./checks/report.js";
|
|
7
|
+
import { renderHelp } from "../cli/helpReport.js";
|
|
8
|
+
import { buildCliManifest, runCompleteQuery, runCompletionCommand, writeCliManifest } from "../cli/completion.js";
|
|
9
|
+
import Menu from "./commands/MenuCommand.js";
|
|
10
|
+
import { isStandaloneDevCommand, runStandaloneDevCommand } from "../service/dev/devStatusReport.js";
|
|
11
|
+
import Dev from "./commands/DevCommand.js";
|
|
12
|
+
import Build from "./commands/BuildCommand.js";
|
|
13
|
+
import Prod from "./commands/ProdCommand.js";
|
|
14
|
+
import Cluster from "./commands/ClusterCommand.js";
|
|
15
|
+
import Install from "./commands/InstallCommand.js";
|
|
16
|
+
import Outdated from "./commands/OutdatedCommand.js";
|
|
17
|
+
import Status from "./commands/StatusCommand.js";
|
|
18
|
+
import { runEnvCommand } from "../cli/env.js";
|
|
19
|
+
import { isDoctorCommand, runDoctorCommand, runDoctorWithoutLive, wantsLiveDoctor } from "./checks/runDoctor.js";
|
|
20
|
+
import Check from "./commands/DoctorCommand.js";
|
|
21
|
+
import Inspect from "./commands/InspectCommand.js";
|
|
22
|
+
import Stop from "./commands/StopCommand.js";
|
|
23
|
+
import { runAiSyncCommand } from "../cli/aiSync.js";
|
|
24
|
+
import AiSync from "./commands/AiSyncCommand.js";
|
|
25
|
+
import { runAiMcpCommand } from "../cli/aiMcp.js";
|
|
26
|
+
import AiMcp from "./commands/AiMcpCommand.js";
|
|
27
|
+
import { runGitHooksCommand } from "../cli/gitHooks.js";
|
|
28
|
+
import GitHooks from "./commands/GitHooksCommand.js";
|
|
29
|
+
import { isDetachRequested, runDetachedStart } from "../service/dev/detachedStart.js";
|
|
30
|
+
import Completion from "./commands/CompletionCommand.js";
|
|
31
|
+
import { runCreateCommand } from "../cli/create.js";
|
|
32
|
+
import Create from "./commands/CreateCommand.js";
|
|
33
|
+
import Env from "./commands/EnvCommand.js";
|
|
34
|
+
import { runCardCommand } from "../cli/card.js";
|
|
35
|
+
import Card from "./commands/CardCommand.js";
|
|
36
|
+
import { runSymbolsCommand } from "../cli/symbols.js";
|
|
37
|
+
import Symbols from "./commands/SymbolsCommand.js";
|
|
38
|
+
import Kernel, { CONSOLE_RUN_PROFILE } from "./Kernel.js";
|
|
39
|
+
import path from "node:path";
|
|
40
|
+
//#region src/kernel/CliKernel.ts
|
|
41
|
+
const cliOptions = {
|
|
42
|
+
autoLogger: false,
|
|
43
|
+
asciify: false,
|
|
44
|
+
version,
|
|
45
|
+
warning: true,
|
|
46
|
+
pid: true
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Kernel spécialisé pour les invocations CLI (`npx nodefony <command>`).
|
|
50
|
+
*
|
|
51
|
+
* **N'étend PAS {@link Kernel}** mais {@link Cli} (Commander wrapper). Le `Kernel` applicatif
|
|
52
|
+
* est instancié séparément par {@link start} et linké à `this.kernel`. Sa raison d'être :
|
|
53
|
+
* parser argv via Commander, sélectionner une commande, configurer l'environnement
|
|
54
|
+
* (`SERVER` vs `CONSOLE`), puis déléguer au `Kernel` pour le boot.
|
|
55
|
+
*
|
|
56
|
+
* **Piège lifecycle connu** : `environment` peut être `undefined` au constructor — les
|
|
57
|
+
* sous-commandes le set dans leur hook `onKernelStart()`. Ne jamais conditionner du code
|
|
58
|
+
* sur `this.environment` dans le constructor.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* // bin/nodefony.ts
|
|
63
|
+
* import { CliKernel } from "nodefony";
|
|
64
|
+
* const cli = new CliKernel();
|
|
65
|
+
* await cli.start(); // boote le Kernel + parse argv + exécute la command
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
var CliKernel = class CliKernel extends Cli {
|
|
69
|
+
runProfile = { ...CONSOLE_RUN_PROFILE };
|
|
70
|
+
app = null;
|
|
71
|
+
packageManager = this.pnpm;
|
|
72
|
+
/**
|
|
73
|
+
* Boot SILENCIEUX : pour les commandes CLI utilitaires (help global, commandes
|
|
74
|
+
* de module type `frontend:status`) dont la sortie doit être propre — les logs
|
|
75
|
+
* de cycle de vie (NOTICE/INFO/DEBUG) sont coupés, seuls EMERGENCY..ERROR
|
|
76
|
+
* surfacent (cf {@link initSyslog}). Mis à `true` par {@link dispatchGlobalHelp}
|
|
77
|
+
* et {@link dispatchModuleCommand}. `-d/--debug` rétablit le détail.
|
|
78
|
+
*/
|
|
79
|
+
quietBoot = false;
|
|
80
|
+
/**
|
|
81
|
+
* @param environment - environnement initial (`"development"` / `"production"` / `"test"`).
|
|
82
|
+
* Peut être `undefined` — sera set par la sous-commande dans `onKernelStart()`.
|
|
83
|
+
*/
|
|
84
|
+
constructor(environment) {
|
|
85
|
+
super("NODEFONY", cliOptions);
|
|
86
|
+
if (environment) this.environment = environment;
|
|
87
|
+
this.initSyslog();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Sélectionne le package manager pour les commandes `install`/`outdated`.
|
|
91
|
+
*
|
|
92
|
+
* @param manager - `"npm"` / `"yarn"` / `"pnpm"`. Défaut = `this.options.packageManager` (pnpm).
|
|
93
|
+
* @returns la fonction package manager liée à `this`.
|
|
94
|
+
*/
|
|
95
|
+
setPackageManager(manager = this.options?.packageManager) {
|
|
96
|
+
switch (manager) {
|
|
97
|
+
case "yarn":
|
|
98
|
+
this.packageManager = this.yarn;
|
|
99
|
+
break;
|
|
100
|
+
case "pnpm":
|
|
101
|
+
this.packageManager = this.pnpm;
|
|
102
|
+
break;
|
|
103
|
+
default: this.packageManager = this.npm;
|
|
104
|
+
}
|
|
105
|
+
return this.packageManager;
|
|
106
|
+
}
|
|
107
|
+
showHelp(quit, context) {
|
|
108
|
+
super.showHelp(quit, context);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Parse argv synchroniquement via Commander (cf {@link parseCommandAsync} pour async).
|
|
112
|
+
*
|
|
113
|
+
* @param argv - args (défaut `process.argv`).
|
|
114
|
+
* @returns instance Commander après parse.
|
|
115
|
+
*/
|
|
116
|
+
parseCommand(argv) {
|
|
117
|
+
return this.parse(argv || process.argv);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Parse argv et exécute la commande matched (peut être async — `.action(async () => ...)`).
|
|
121
|
+
*
|
|
122
|
+
* @param argv - args (défaut `process.argv`).
|
|
123
|
+
* @returns Promise résolue avec l'instance Commander après exécution.
|
|
124
|
+
*/
|
|
125
|
+
parseCommandAsync(argv) {
|
|
126
|
+
return this.parseAsync(argv || process.argv);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Boot complet : instancie le Kernel, enregistre les commandes built-in, parse argv,
|
|
130
|
+
* lance `kernel.start()`.
|
|
131
|
+
*
|
|
132
|
+
* Comportement Commander :
|
|
133
|
+
* - `--help` / `--version` → terminate(0) propre
|
|
134
|
+
* - Erreur Commander (option/commande inconnue) → terminate(1) + re-throw —
|
|
135
|
+
* **JAMAIS de fallback serveur** (legacy supprimé : une erreur de parse ne doit
|
|
136
|
+
* pas démarrer un runtime).
|
|
137
|
+
* - Exception kernel → terminate(1) puis re-throw
|
|
138
|
+
*
|
|
139
|
+
* @param options - options surchargées pour le `new Kernel(env, this, options)`.
|
|
140
|
+
* @returns le Kernel booté.
|
|
141
|
+
* @throws Si Commander absent OR si kernel.start() crash.
|
|
142
|
+
*/
|
|
143
|
+
async start(options) {
|
|
144
|
+
const requested = this.getRequestedCommandName();
|
|
145
|
+
if (requested !== null && isStandaloneDevCommand(requested)) return process.exit(await runStandaloneDevCommand(requested));
|
|
146
|
+
if (this.isVersionRequested()) {
|
|
147
|
+
process.stdout.write(`${version}\n`);
|
|
148
|
+
return process.exit(0);
|
|
149
|
+
}
|
|
150
|
+
if (requested === "completion") return process.exit(runCompletionCommand(process.argv));
|
|
151
|
+
if (requested === "__complete") return process.exit(runCompleteQuery(process.argv, () => this.buildBuiltinManifest()));
|
|
152
|
+
if (requested === "create") return process.exit(await runCreateCommand(process.argv));
|
|
153
|
+
if (isDoctorCommand(requested) && !wantsLiveDoctor(requested, process.argv)) return process.exit(await runDoctorCommand(process.argv));
|
|
154
|
+
if (requested === "env") return process.exit(await runEnvCommand(process.argv));
|
|
155
|
+
if (requested === "card" || requested === "devkit:card") return process.exit(runCardCommand(process.argv, version));
|
|
156
|
+
if (requested === "symbols") return process.exit(runSymbolsCommand(process.argv));
|
|
157
|
+
if (requested === "ai:sync") return process.exit(runAiSyncCommand(process.argv));
|
|
158
|
+
if (requested === "ai:mcp") return process.exit(await runAiMcpCommand(process.argv));
|
|
159
|
+
if (requested === "git:hooks") return process.exit(runGitHooksCommand(process.argv));
|
|
160
|
+
if (requested !== null && (/* @__PURE__ */ new Set([
|
|
161
|
+
"development",
|
|
162
|
+
"dev",
|
|
163
|
+
"production",
|
|
164
|
+
"prod",
|
|
165
|
+
"cluster"
|
|
166
|
+
])).has(requested) && isDetachRequested(process.argv.slice(2))) {
|
|
167
|
+
const code = await runDetachedStart(process.argv);
|
|
168
|
+
return process.exit(code);
|
|
169
|
+
}
|
|
170
|
+
this.kernel = new Kernel(this.environment, this, options);
|
|
171
|
+
try {
|
|
172
|
+
if (this.commander) {
|
|
173
|
+
this.registerBuiltinCommands();
|
|
174
|
+
if (requested !== null && this.getCommand(requested)?.quietBoot) this.quietBoot = true;
|
|
175
|
+
this.commander.exitOverride();
|
|
176
|
+
this.commander.name("nodefony");
|
|
177
|
+
this.commander.showHelpAfterError(false);
|
|
178
|
+
this.commander.showSuggestionAfterError(true);
|
|
179
|
+
this.commander.configureHelp({
|
|
180
|
+
sortOptions: true,
|
|
181
|
+
showGlobalOptions: true,
|
|
182
|
+
subcommandTerm: (cmd) => {
|
|
183
|
+
const aliases = cmd.aliases?.() ?? [];
|
|
184
|
+
return aliases.length ? `${cmd.name()}|${aliases.join("|")}` : cmd.name();
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
if (process.argv.slice(2).length === 0 && this.kernel?.isTTY) process.argv.push("menu");
|
|
188
|
+
if (this.isGlobalHelpRequested()) return this.dispatchGlobalHelp();
|
|
189
|
+
if (requested !== null && !this.getBuiltinCommandNames().has(requested)) return this.dispatchModuleCommand(requested);
|
|
190
|
+
let booting = false;
|
|
191
|
+
return this.commander?.parseAsync().then(async () => {
|
|
192
|
+
if (!this.kernel) throw new Error(`Kernel not found`);
|
|
193
|
+
booting = true;
|
|
194
|
+
return this.kernel.start();
|
|
195
|
+
}).catch(async (e) => {
|
|
196
|
+
const code = e?.code;
|
|
197
|
+
if (code === "commander.help" || code === "commander.helpDisplayed" || code === "commander.version") return this.kernel?.terminate(0);
|
|
198
|
+
const err = e;
|
|
199
|
+
if (booting && wantsLiveDoctor(requested, process.argv)) {
|
|
200
|
+
const cause = e instanceof Error ? e.message : String(e ?? "cause inconnue");
|
|
201
|
+
const reportCode = await runDoctorWithoutLive(process.argv, `l'application n'a pas démarré — ${cause}`, "corrige la cause ci-dessus, puis relance `nodefony doctor --live`");
|
|
202
|
+
return this.kernel?.terminate(reportCode);
|
|
203
|
+
}
|
|
204
|
+
if (!err.presented) this.log(e, "ERROR");
|
|
205
|
+
await this.kernel?.terminate(err.exitCode ?? 1);
|
|
206
|
+
throw e;
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
throw new Error(`Commander not found`);
|
|
210
|
+
} catch (e) {
|
|
211
|
+
if (!e.presented) this.log(e, "ERROR");
|
|
212
|
+
throw e;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Enregistre les commandes built-in dans commander (idempotent : skip si déjà
|
|
217
|
+
* fait). Ordre = ordre des groupes dans le help (Commander rend les groupes dans
|
|
218
|
+
* l'ordre de 1ʳᵉ rencontre) : Serveur → Build → Projet → Console/jobs.
|
|
219
|
+
* Partagé entre `start()` et le fallback de complétion (built-ins sans boot).
|
|
220
|
+
*/
|
|
221
|
+
registerBuiltinCommands() {
|
|
222
|
+
if (this.commands["development"]) return;
|
|
223
|
+
this.addCommand(Dev);
|
|
224
|
+
this.addCommand(Prod);
|
|
225
|
+
this.addCommand(Cluster);
|
|
226
|
+
this.addCommand(Build);
|
|
227
|
+
this.addCommand(Install);
|
|
228
|
+
this.addCommand(Outdated);
|
|
229
|
+
this.addCommand(Menu);
|
|
230
|
+
this.addCommand(Status);
|
|
231
|
+
this.addCommand(Stop);
|
|
232
|
+
this.addCommand(Completion);
|
|
233
|
+
this.addCommand(Create);
|
|
234
|
+
this.addCommand(Check);
|
|
235
|
+
this.addCommand(Env);
|
|
236
|
+
this.addCommand(Card);
|
|
237
|
+
this.addCommand(Symbols);
|
|
238
|
+
this.addCommand(Inspect);
|
|
239
|
+
this.addCommand(AiSync);
|
|
240
|
+
this.addCommand(AiMcp);
|
|
241
|
+
this.addCommand(GitHooks);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Écrit le manifest de complétion shell (cache par projet) depuis l'état COURANT
|
|
245
|
+
* de commander — appelé par le Kernel à `onPreRegister` en dev, une fois les
|
|
246
|
+
* commandes de module posées. Best-effort côté appelant (fire-and-forget).
|
|
247
|
+
*/
|
|
248
|
+
async writeCompletionManifest(cwd = process.cwd()) {
|
|
249
|
+
if (!this.commander) return;
|
|
250
|
+
await writeCliManifest(this.commander, cwd, version);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Manifest de complétion construit en MÉMOIRE depuis commander (sans cache) —
|
|
254
|
+
* fallback du fast-path `__complete` hors projet.
|
|
255
|
+
*/
|
|
256
|
+
buildBuiltinManifest() {
|
|
257
|
+
this.registerBuiltinCommands();
|
|
258
|
+
return buildCliManifest(this.commander, version);
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Nom de la commande demandée = premier token non-option de `process.argv`.
|
|
262
|
+
*
|
|
263
|
+
* `null` si aucun (invocation nue, `--help`, `--version`) → on retombe sur le
|
|
264
|
+
* flow built-in inchangé.
|
|
265
|
+
*
|
|
266
|
+
* @returns nom de commande demandé ou `null`.
|
|
267
|
+
*/
|
|
268
|
+
getRequestedCommandName() {
|
|
269
|
+
for (const arg of process.argv.slice(2)) if (!arg.startsWith("-")) return arg;
|
|
270
|
+
return null;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* `true` si l'invocation demande la **version globale** : `nodefony -v` ou
|
|
274
|
+
* `nodefony --version` (que des options, aucun positionnel).
|
|
275
|
+
*
|
|
276
|
+
* Un positionnel présent → la commande décide (`nodefony dev --version` n'est pas
|
|
277
|
+
* une demande de version du CLI) : on laisse commander trancher.
|
|
278
|
+
*
|
|
279
|
+
* @returns `true` si la version du CLI est demandée.
|
|
280
|
+
*/
|
|
281
|
+
isVersionRequested() {
|
|
282
|
+
const args = process.argv.slice(2);
|
|
283
|
+
for (const arg of args) if (!arg.startsWith("-")) return false;
|
|
284
|
+
return args.includes("-v") || args.includes("--version");
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* `true` si l'invocation demande le **help global** : `nodefony` nu,
|
|
288
|
+
* `nodefony --help` ou `nodefony -h` (que des options, aucun positionnel).
|
|
289
|
+
*
|
|
290
|
+
* Exclut volontairement `--version` (fast-path standalone, cf `isVersionRequested`)
|
|
291
|
+
* et `nodefony <cmd> --help` (help d'une sous-commande, laissé à commander / au
|
|
292
|
+
* dispatch de module — il y a un positionnel).
|
|
293
|
+
*
|
|
294
|
+
* @returns `true` si le help global est demandé.
|
|
295
|
+
*/
|
|
296
|
+
isGlobalHelpRequested() {
|
|
297
|
+
const args = process.argv.slice(2);
|
|
298
|
+
if (args.length === 0) return true;
|
|
299
|
+
for (const arg of args) if (!arg.startsWith("-")) return false;
|
|
300
|
+
return args.includes("-h") || args.includes("--help");
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Noms + alias des commandes built-in déjà enregistrées dans commander.
|
|
304
|
+
*
|
|
305
|
+
* Dérivé de commander (pas de liste en dur → suit l'ajout/retrait de built-ins).
|
|
306
|
+
* À appeler APRÈS `addCommand(...)` des built-ins et AVANT que les modules
|
|
307
|
+
* n'enregistrent les leurs.
|
|
308
|
+
*
|
|
309
|
+
* @returns set des noms et alias built-in.
|
|
310
|
+
*/
|
|
311
|
+
getBuiltinCommandNames() {
|
|
312
|
+
const names = /* @__PURE__ */ new Set();
|
|
313
|
+
for (const cmd of this.commander?.commands ?? []) {
|
|
314
|
+
names.add(cmd.name());
|
|
315
|
+
for (const alias of cmd.aliases?.() ?? []) names.add(alias);
|
|
316
|
+
}
|
|
317
|
+
return names;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Dispatch DIFFÉRÉ d'une commande de module.
|
|
321
|
+
*
|
|
322
|
+
* commander ignore la commande au boot (posée par le module à `onPreRegister`,
|
|
323
|
+
* chargé depuis `config.modules`). On parse donc argv depuis un listener
|
|
324
|
+
* `onPreRegister` lui-même posé via `onStart` : `loadApp()` (qui pose le listener
|
|
325
|
+
* `loadModulesFromManifest`) précède `onStart`, et `emitAsync` est séquentiel →
|
|
326
|
+
* notre listener tourne APRÈS le chargement des modules, donc quand toutes les
|
|
327
|
+
* commandes de module sont connues, mais
|
|
328
|
+
* AVANT les phases qu'elles ciblent (`onRegister`/`onReady`/…) → leur
|
|
329
|
+
* `kernel.once(kernelEvent)` fire normalement. Le kernel reste en mode CONSOLE
|
|
330
|
+
* (aucune commande serveur ne fixe `type=SERVER`) → 0 serveur démarré. Commande
|
|
331
|
+
* réellement introuvable (typo) → `terminate(1)`, jamais de fallback serveur.
|
|
332
|
+
*
|
|
333
|
+
* @param requested - nom de commande demandé (pour le message d'erreur).
|
|
334
|
+
* @returns le Kernel booté (terminé après exécution de la commande).
|
|
335
|
+
*/
|
|
336
|
+
dispatchModuleCommand(requested) {
|
|
337
|
+
const kernel = this.kernel;
|
|
338
|
+
this.quietBoot = true;
|
|
339
|
+
kernel.once("onStart", () => {
|
|
340
|
+
kernel.once("onPreRegister", async () => {
|
|
341
|
+
try {
|
|
342
|
+
await this.commander?.parseAsync();
|
|
343
|
+
} catch (e) {
|
|
344
|
+
const code = e?.code;
|
|
345
|
+
if (code === "commander.helpDisplayed" || code === "commander.version") {
|
|
346
|
+
await this.kernel?.terminate(0);
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
this.log(`command not found: ${requested}`, "ERROR");
|
|
350
|
+
await this.kernel?.terminate(64);
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
});
|
|
354
|
+
return kernel.start().catch(async (e) => {
|
|
355
|
+
const code = e.exitCode ?? 70;
|
|
356
|
+
await this.kernel?.terminate(code);
|
|
357
|
+
throw e;
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Boote le kernel jusqu'à `onPreRegister` (modules instanciés → leurs commandes
|
|
362
|
+
* sont posées dans commander), affiche le help COMPLET puis `terminate(0)`.
|
|
363
|
+
*
|
|
364
|
+
* Même mécanique de timing que {@link dispatchModuleCommand} : le listener
|
|
365
|
+
* `onPreRegister` est posé depuis `onStart` pour passer APRÈS le chargement des modules
|
|
366
|
+
* (`emitAsync` séquentiel). Le kernel reste CONSOLE (aucune commande → 0 serveur)
|
|
367
|
+
* et `terminate(0)` stoppe le boot avant `onRegister` (process.exit au nextTick).
|
|
368
|
+
*
|
|
369
|
+
* Boot KO (hors d'une app, config invalide) → fallback : help built-in seul
|
|
370
|
+
* (déjà enregistré dans commander) + `terminate(0)`. L'utilisateur a toujours un help.
|
|
371
|
+
*
|
|
372
|
+
* @returns le Kernel (terminé après affichage du help).
|
|
373
|
+
*/
|
|
374
|
+
async dispatchGlobalHelp() {
|
|
375
|
+
const kernel = this.kernel;
|
|
376
|
+
this.quietBoot = true;
|
|
377
|
+
if (await kernel.isTrunk() === null) return this.renderStandaloneHelp(kernel);
|
|
378
|
+
let shown = false;
|
|
379
|
+
const render = async () => {
|
|
380
|
+
if (!shown) {
|
|
381
|
+
shown = true;
|
|
382
|
+
await this.writeCompletionManifest().catch(() => {});
|
|
383
|
+
this.writeHelp();
|
|
384
|
+
}
|
|
385
|
+
await this.kernel?.terminate(0);
|
|
386
|
+
};
|
|
387
|
+
kernel.once("onStart", () => {
|
|
388
|
+
kernel.once("onPreRegister", render);
|
|
389
|
+
});
|
|
390
|
+
return kernel.start().catch(async () => {
|
|
391
|
+
await render();
|
|
392
|
+
return kernel;
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* L'aide des commandes INTÉGRÉES, sans démarrer quoi que ce soit.
|
|
397
|
+
*
|
|
398
|
+
* Le repli de {@link dispatchGlobalHelp} quand il n'y a pas d'application à
|
|
399
|
+
* interroger : hors de tout projet, ou dans une application qui n'est pas
|
|
400
|
+
* encore installée ni construite. Les commandes de module manqueront —
|
|
401
|
+
* personne ne peut les connaître sans charger les modules — et c'est dit.
|
|
402
|
+
*
|
|
403
|
+
* Sort en **0** : demander de l'aide n'est pas une erreur, et un code 1
|
|
404
|
+
* casse un `nodefony --help | less` autant qu'un script d'installation.
|
|
405
|
+
*
|
|
406
|
+
* @param kernel - le kernel, terminé après l'affichage.
|
|
407
|
+
* @returns le kernel.
|
|
408
|
+
*/
|
|
409
|
+
async renderStandaloneHelp(kernel) {
|
|
410
|
+
const hint = kernel.diagnoseUnbootableProject();
|
|
411
|
+
this.writeHelp(hint ? { note: hint.split("\n").join(" ") } : {
|
|
412
|
+
note: "hors d'une application Nodefony : seules les commandes intégrées sont listées.",
|
|
413
|
+
noteAction: "nodefony create app <nom>"
|
|
414
|
+
});
|
|
415
|
+
return await kernel.terminate(0, true);
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Les commandes qui répondent en JSON — la seule chose qu'un agent cherche
|
|
419
|
+
* d'abord, et que rien n'affichait.
|
|
420
|
+
*
|
|
421
|
+
* Écrite ici plutôt que dérivée d'un `--json` cherché dans les options : la
|
|
422
|
+
* moitié des commandes en portent un pour un usage local (un fragment, un
|
|
423
|
+
* fichier), et les lister toutes noierait celles qui rendent un DOCUMENT
|
|
424
|
+
* exploitable. La liste est courte et se relit d'un coup d'œil.
|
|
425
|
+
*/
|
|
426
|
+
static JSON_COMMANDS = [
|
|
427
|
+
"doctor --json",
|
|
428
|
+
"inspect <sujet> --json",
|
|
429
|
+
"env --json",
|
|
430
|
+
"card --json"
|
|
431
|
+
];
|
|
432
|
+
/**
|
|
433
|
+
* Compose le modèle d'aide depuis commander, et l'écrit.
|
|
434
|
+
*
|
|
435
|
+
* 🔴 Le modèle se lit sur COMMANDER, jamais sur `cli.commands` : les
|
|
436
|
+
* commandes de module ne sont pas dans ce registre (elles s'enregistrent
|
|
437
|
+
* directement dans commander depuis `Module`), et c'est ce trou qui faisait
|
|
438
|
+
* déjà perdre des commandes au menu. Le groupe voyage donc avec la commande,
|
|
439
|
+
* posé par son constructeur (`OptionsCommandInterface.helpGroup`).
|
|
440
|
+
*
|
|
441
|
+
* @param extra - une note de situation, quand l'aide est rendue hors d'une
|
|
442
|
+
* application ou dans une application non installée.
|
|
443
|
+
*/
|
|
444
|
+
writeHelp(extra) {
|
|
445
|
+
const c = this.commander;
|
|
446
|
+
let shownVersion = "";
|
|
447
|
+
try {
|
|
448
|
+
const v = c?.version();
|
|
449
|
+
if (typeof v === "string") shownVersion = v;
|
|
450
|
+
} catch {}
|
|
451
|
+
const owner = {};
|
|
452
|
+
const modules = this.kernel?.getModules?.() ?? {};
|
|
453
|
+
for (const name in modules) {
|
|
454
|
+
const cmds = modules[name].commands;
|
|
455
|
+
for (const cn in cmds ?? {}) owner[cn] = name;
|
|
456
|
+
}
|
|
457
|
+
const commands = (c?.commands ?? []).filter((cmd) => cmd.name() !== "help").map((cmd) => {
|
|
458
|
+
const group = cmd.helpGroup?.();
|
|
459
|
+
const arg = cmd.registeredArguments?.[0];
|
|
460
|
+
const values = arg?.argChoices ?? [];
|
|
461
|
+
const entry = {
|
|
462
|
+
name: cmd.name(),
|
|
463
|
+
aliases: cmd.aliases?.() ?? [],
|
|
464
|
+
description: cmd.description() || ""
|
|
465
|
+
};
|
|
466
|
+
if (typeof group === "string" && group) entry.group = group;
|
|
467
|
+
const module = owner[cmd.name()];
|
|
468
|
+
if (module) entry.module = module;
|
|
469
|
+
if (values.length) entry.accepts = {
|
|
470
|
+
label: arg?.name() ?? "valeurs",
|
|
471
|
+
values
|
|
472
|
+
};
|
|
473
|
+
return entry;
|
|
474
|
+
});
|
|
475
|
+
const globalOptions = (c?.options ?? []).map((o) => ({
|
|
476
|
+
flags: o.flags,
|
|
477
|
+
description: o.description
|
|
478
|
+
})).concat([{
|
|
479
|
+
flags: "-h, --help",
|
|
480
|
+
description: "affiche cette aide"
|
|
481
|
+
}]).sort((a, b) => a.flags.localeCompare(b.flags));
|
|
482
|
+
const loaded = Object.keys(modules).filter((m) => m !== "app");
|
|
483
|
+
const out = process.stdout;
|
|
484
|
+
const lines = renderHelp({
|
|
485
|
+
version: shownVersion,
|
|
486
|
+
commands,
|
|
487
|
+
globalOptions,
|
|
488
|
+
...loaded.length ? { modules: loaded } : {},
|
|
489
|
+
jsonCommands: CliKernel.JSON_COMMANDS,
|
|
490
|
+
...extra?.note ? { note: extra.note } : {},
|
|
491
|
+
...extra?.noteAction ? { noteAction: extra.noteAction } : {}
|
|
492
|
+
}, {
|
|
493
|
+
width: usableWidth(out.columns),
|
|
494
|
+
color: shouldColorize(process.env, Boolean(this.kernel?.isTTY))
|
|
495
|
+
});
|
|
496
|
+
out.write(`${lines.join("\n")}\n`);
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* Définit le profil d'exécution du run (cf {@link IRunProfile}) — déclaré par les
|
|
500
|
+
* commandes serveur/daemon. Le Kernel le recopie depuis `cli.runProfile` à `onStart`.
|
|
501
|
+
*
|
|
502
|
+
* @param profile - profil à appliquer (`servers`/`lifetime`/`interactive`).
|
|
503
|
+
* @returns le profil appliqué.
|
|
504
|
+
*/
|
|
505
|
+
setRunProfile(profile) {
|
|
506
|
+
this.runProfile = profile;
|
|
507
|
+
if (this.kernel) this.kernel.runProfile = profile;
|
|
508
|
+
return this.runProfile;
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Point UNIQUE de résolution d'une commande matchée — appelé par le callback
|
|
512
|
+
* commander de {@link Command} (parse pur : le match ne fait que signaler) et par
|
|
513
|
+
* `StartCommand` (sélection interactive).
|
|
514
|
+
*
|
|
515
|
+
* Fait, dans l'ordre :
|
|
516
|
+
* 1. lie la commande au Kernel (`kernel.command` / `kernel.commandArgs`) ;
|
|
517
|
+
* 2. applique le **profil déclaré** (`command.runProfile`) s'il existe —
|
|
518
|
+
* `setRunProfile` resynchronise AUSSI `kernel.runProfile`, donc une commande
|
|
519
|
+
* résolue APRÈS `onStart` (commande de module, posée à `onPreRegister`) peut
|
|
520
|
+
* être serveur : la décision de monter les serveurs se joue plus tard
|
|
521
|
+
* (`onReady → initServers`) ;
|
|
522
|
+
* 3. câble les hooks lifecycle + l'exécution à `kernelEvent` (`setEvents`).
|
|
523
|
+
*
|
|
524
|
+
* @param command - commande matchée.
|
|
525
|
+
* @param args - arguments produits par le parse commander.
|
|
526
|
+
*/
|
|
527
|
+
resolveCommand(command, args) {
|
|
528
|
+
const kernel = this.kernel;
|
|
529
|
+
kernel.command = command;
|
|
530
|
+
kernel.commandArgs = args;
|
|
531
|
+
if (command.runProfile) this.setRunProfile({ ...command.runProfile });
|
|
532
|
+
command.setEvents(...args);
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Enregistre une commande CLI dans le registre du CliKernel + Commander.
|
|
536
|
+
*
|
|
537
|
+
* @param cliCommand - constructeur de la commande (signature `new (cli: CliKernel) => Command`).
|
|
538
|
+
* @returns instance de la commande créée.
|
|
539
|
+
*/
|
|
540
|
+
addCommand(cliCommand) {
|
|
541
|
+
const command = new cliCommand(this);
|
|
542
|
+
this.commands[command.name] = command;
|
|
543
|
+
return command;
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Charge dynamiquement un module ES depuis le filesystem local.
|
|
547
|
+
*
|
|
548
|
+
* Résout les chemins relatifs par rapport à `cwd`. Capture les erreurs d'import et les log
|
|
549
|
+
* en ERROR avant de les re-throw.
|
|
550
|
+
*
|
|
551
|
+
* @param moduleName - chemin absolu OR relatif vers le module à importer.
|
|
552
|
+
* @param cwd - racine pour résoudre `moduleName` (défaut `process.cwd()`).
|
|
553
|
+
* @returns export default du module ou `null`.
|
|
554
|
+
* @throws L'erreur d'import est re-throw après log.
|
|
555
|
+
*/
|
|
556
|
+
async loadLocalModule(moduleName, cwd = process.cwd()) {
|
|
557
|
+
try {
|
|
558
|
+
const detectpath = path.isAbsolute(moduleName) ? moduleName : path.resolve(cwd, moduleName);
|
|
559
|
+
return (await import(toImportSpecifier(detectpath))).default;
|
|
560
|
+
} catch (error) {
|
|
561
|
+
this.log(error, "ERROR");
|
|
562
|
+
throw error;
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
/**
|
|
566
|
+
* Configure le pipeline Syslog selon environnement et mode debug.
|
|
567
|
+
*
|
|
568
|
+
* Sans kernel attaché → délègue à {@link Cli.initSyslog} parent. Avec kernel :
|
|
569
|
+
* - Sévérités `[0..6]` (EMERGENCY..INFO) toujours
|
|
570
|
+
* - `+7` (DEBUG) si `debug === true` OR `this.debug`
|
|
571
|
+
* - `+4, +5` (WARNING, NOTICE) si type === SERVER et env === development
|
|
572
|
+
* - mode MACHINE (`--json`) ou {@link quietBoot} → `[0..3]` seulement, que
|
|
573
|
+
* `Syslog.rawLog` dirige vers la sortie d'erreur : le flux de données reste
|
|
574
|
+
* pur, et un échec reste lisible.
|
|
575
|
+
*
|
|
576
|
+
* Le `pid` est ajouté en préfixe de chaque ligne SAUF en dev mono-process.
|
|
577
|
+
*
|
|
578
|
+
* @param environment - environnement (override de `this.environment`).
|
|
579
|
+
* @param debug - active sévérité DEBUG (override de `this.debug`).
|
|
580
|
+
* @param options - conditions de filtrage Syslog custom.
|
|
581
|
+
*/
|
|
582
|
+
initSyslog(environment, debug, options) {
|
|
583
|
+
if (!this.kernel) return super.initSyslog(environment, debug, options);
|
|
584
|
+
const { syslog } = this;
|
|
585
|
+
const argvDebug = process.argv.includes("-d") || process.argv.includes("--debug");
|
|
586
|
+
const argvMachine = process.argv.includes("--json") || process.argv.includes("-j");
|
|
587
|
+
const data = (this.quietBoot || argvMachine) && !(debug || this.debug || argvDebug) ? [
|
|
588
|
+
0,
|
|
589
|
+
1,
|
|
590
|
+
2,
|
|
591
|
+
3
|
|
592
|
+
] : [
|
|
593
|
+
0,
|
|
594
|
+
1,
|
|
595
|
+
2,
|
|
596
|
+
3,
|
|
597
|
+
4,
|
|
598
|
+
5,
|
|
599
|
+
6
|
|
600
|
+
];
|
|
601
|
+
if (debug || this.debug) data.push(7);
|
|
602
|
+
if (this.kernel.runProfile?.servers && this.kernel.environment === "development") {
|
|
603
|
+
data.push(4);
|
|
604
|
+
data.push(5);
|
|
605
|
+
}
|
|
606
|
+
const conditions = { severity: { data } };
|
|
607
|
+
const format = Syslog.formatDebug(debug || this.debug);
|
|
608
|
+
if (typeof format === "object") conditions.msgid = { data: format };
|
|
609
|
+
syslog?.removeAllListeners("onLog");
|
|
610
|
+
return syslog?.listenWithConditions(conditions, (pdu) => {
|
|
611
|
+
const pid = this.environment === "development" ? "" : this.pid?.toString();
|
|
612
|
+
Syslog.rawLog(pdu, pid);
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
/**
|
|
616
|
+
* Arrêt propre — délègue à `kernel.terminate()` si kernel présent, sinon `super.terminate()`.
|
|
617
|
+
*
|
|
618
|
+
* @param code - exit code Unix (0 = succès, 1+ = erreur). Défaut `0`.
|
|
619
|
+
* @param quiet - supprime les messages de terminaison si `true`.
|
|
620
|
+
*/
|
|
621
|
+
async terminate(code = 0, quiet) {
|
|
622
|
+
if (this.kernel) {
|
|
623
|
+
await this.kernel.terminate(code, quiet);
|
|
624
|
+
return;
|
|
625
|
+
}
|
|
626
|
+
return Promise.resolve(super.terminate(code, quiet));
|
|
627
|
+
}
|
|
628
|
+
};
|
|
629
|
+
//#endregion
|
|
630
|
+
export { CliKernel as default };
|