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,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Les variables d'environnement que **Nodefony pose lui-même**, et qui ne
|
|
3
|
+
* relèvent donc jamais de la configuration d'une application.
|
|
4
|
+
*
|
|
5
|
+
* ## Pourquoi cette liste existe
|
|
6
|
+
*
|
|
7
|
+
* `nodefony env` range en « inconnues » toutes les `NF_*` qu'aucune déclaration
|
|
8
|
+
* n'explique, et il a raison de le faire : une faute de frappe sur une variable
|
|
9
|
+
* d'environnement ne se voit JAMAIS autrement — la valeur est ignorée et le
|
|
10
|
+
* défaut s'applique en silence.
|
|
11
|
+
*
|
|
12
|
+
* Mais le framework en pose lui-même, dans le dos de l'utilisateur : le lanceur
|
|
13
|
+
* marque sa délégation, les commandes de démarrage inscrivent le mode, le
|
|
14
|
+
* maître de grappe signale la grappe, la déclaration MCP porte le jeton. Elles
|
|
15
|
+
* arrivent alors dans le rapport avec une suggestion de faute de frappe —
|
|
16
|
+
* `NF_CLI_DELEGATED` « vouliez-vous dire NF_ADMIN_PASSWORD ? ». Le rapport
|
|
17
|
+
* accuse l'utilisateur d'une variable qu'il n'a pas écrite.
|
|
18
|
+
*
|
|
19
|
+
* Elles ne sont pas TUES pour autant : le rapport les rend dans sa propre
|
|
20
|
+
* section, avec leur rôle. Taire une variable présente, c'est refaire le défaut
|
|
21
|
+
* dans l'autre sens.
|
|
22
|
+
*
|
|
23
|
+
* ## Une seule implémentation
|
|
24
|
+
*
|
|
25
|
+
* C'est la source unique de ces noms : `resolveLocalCli` importe les siens
|
|
26
|
+
* d'ici plutôt que de les redéclarer. Deux listes divergent en silence, et
|
|
27
|
+
* chacune passe ses propres tests.
|
|
28
|
+
*/
|
|
29
|
+
/** Une variable posée par le framework : son nom et ce qu'elle signale. */
|
|
30
|
+
export interface IReservedEnvVar {
|
|
31
|
+
/** Nom de la variable, préfixe compris. */
|
|
32
|
+
name: string;
|
|
33
|
+
/** Qui la pose, et ce qu'elle veut dire — rendu tel quel dans le rapport. */
|
|
34
|
+
role: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Le catalogue des variables réservées, indexé par nom.
|
|
38
|
+
*
|
|
39
|
+
* Ajouter une entrée ici est OBLIGATOIRE dès qu'un code du framework écrit une
|
|
40
|
+
* `NF_*` dans l'environnement d'un process : sans elle, la variable ressort en
|
|
41
|
+
* « inconnue » chez tout utilisateur qui lance la commande au mauvais moment.
|
|
42
|
+
*/
|
|
43
|
+
export declare const RESERVED_ENV: Readonly<{
|
|
44
|
+
NF_CLI_DELEGATED: {
|
|
45
|
+
name: string;
|
|
46
|
+
role: string;
|
|
47
|
+
};
|
|
48
|
+
NF_CLI_DEBUG: {
|
|
49
|
+
name: string;
|
|
50
|
+
role: string;
|
|
51
|
+
};
|
|
52
|
+
NF_MODE_START: {
|
|
53
|
+
name: string;
|
|
54
|
+
role: string;
|
|
55
|
+
};
|
|
56
|
+
NF_CLUSTER: {
|
|
57
|
+
name: string;
|
|
58
|
+
role: string;
|
|
59
|
+
};
|
|
60
|
+
NF_MCP_TOKEN: {
|
|
61
|
+
name: string;
|
|
62
|
+
role: string;
|
|
63
|
+
};
|
|
64
|
+
NF_ENV: {
|
|
65
|
+
name: string;
|
|
66
|
+
role: string;
|
|
67
|
+
};
|
|
68
|
+
NF_START: {
|
|
69
|
+
name: string;
|
|
70
|
+
role: string;
|
|
71
|
+
};
|
|
72
|
+
NF_WORKERS: {
|
|
73
|
+
name: string;
|
|
74
|
+
role: string;
|
|
75
|
+
};
|
|
76
|
+
NF_CLUSTER_PROBE: {
|
|
77
|
+
name: string;
|
|
78
|
+
role: string;
|
|
79
|
+
};
|
|
80
|
+
NF_POD_NAME: {
|
|
81
|
+
name: string;
|
|
82
|
+
role: string;
|
|
83
|
+
};
|
|
84
|
+
NF_INSTANCE_ID: {
|
|
85
|
+
name: string;
|
|
86
|
+
role: string;
|
|
87
|
+
};
|
|
88
|
+
NF_DEV_CHILD: {
|
|
89
|
+
name: string;
|
|
90
|
+
role: string;
|
|
91
|
+
};
|
|
92
|
+
NF_DEV_PORTS: {
|
|
93
|
+
name: string;
|
|
94
|
+
role: string;
|
|
95
|
+
};
|
|
96
|
+
NF_BOOT_TIMEOUT_MS: {
|
|
97
|
+
name: string;
|
|
98
|
+
role: string;
|
|
99
|
+
};
|
|
100
|
+
NF_BOOT_WARN_MS: {
|
|
101
|
+
name: string;
|
|
102
|
+
role: string;
|
|
103
|
+
};
|
|
104
|
+
NF_KERNEL_TRACE_FILE: {
|
|
105
|
+
name: string;
|
|
106
|
+
role: string;
|
|
107
|
+
};
|
|
108
|
+
NF_NO_TTY: {
|
|
109
|
+
name: string;
|
|
110
|
+
role: string;
|
|
111
|
+
};
|
|
112
|
+
NF_PERF_PROBE: {
|
|
113
|
+
name: string;
|
|
114
|
+
role: string;
|
|
115
|
+
};
|
|
116
|
+
NF_ORM_FLOW: {
|
|
117
|
+
name: string;
|
|
118
|
+
role: string;
|
|
119
|
+
};
|
|
120
|
+
NF_ORM_HEARTBEAT_MS: {
|
|
121
|
+
name: string;
|
|
122
|
+
role: string;
|
|
123
|
+
};
|
|
124
|
+
NF_REALTIME_DRIVER: {
|
|
125
|
+
name: string;
|
|
126
|
+
role: string;
|
|
127
|
+
};
|
|
128
|
+
NF_REALTIME_BACKPLANE_SECRET: {
|
|
129
|
+
name: string;
|
|
130
|
+
role: string;
|
|
131
|
+
};
|
|
132
|
+
NF_REALTIME_BACKPLANE_NAMESPACE: {
|
|
133
|
+
name: string;
|
|
134
|
+
role: string;
|
|
135
|
+
};
|
|
136
|
+
}>;
|
|
137
|
+
/** Cette variable est-elle posée par le framework lui-même ? */
|
|
138
|
+
export declare function isReservedEnv(name: string): boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Le rôle d'une variable réservée, ou `null` si elle ne l'est pas.
|
|
141
|
+
*
|
|
142
|
+
* @param name - le nom lu dans l'environnement.
|
|
143
|
+
* @returns la phrase à rendre à l'utilisateur, ou `null`.
|
|
144
|
+
*/
|
|
145
|
+
export declare function reservedEnvRole(name: string): string | null;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schéma Zod de la config d'application — validé au resolve de `defineConfig` (D1).
|
|
3
|
+
*
|
|
4
|
+
* Vit dans le CORE (zod = peerDep core, back-only) : `import { defineConfig } from
|
|
5
|
+
* "nodefony"` valide tout seul, sans que chaque app porte son propre schéma. But :
|
|
6
|
+
* planter PROPREMENT au boot (message clair) sur une config malformée, plutôt qu'un
|
|
7
|
+
* `Cannot read properties of undefined` plus tard en runtime.
|
|
8
|
+
*
|
|
9
|
+
* Le schéma DÉCRIT (il ne dérive pas les défauts — ceux-ci sont dans `./defaults`).
|
|
10
|
+
* Tous les champs sont `.optional()` : il rejette les TYPES/valeurs invalides, pas
|
|
11
|
+
* l'absence (le merge a déjà rempli les défauts ; le Kernel a des fallbacks
|
|
12
|
+
* résiduels). Les clés inconnues — `module-<x>` (overrides validés par chaque
|
|
13
|
+
* module), `App`, `cluster`… — sont ignorées (objet zod non-strict).
|
|
14
|
+
*/
|
|
15
|
+
import { z } from "zod";
|
|
16
|
+
/**
|
|
17
|
+
* Schéma de la config app résolue. Exposé pour l'introspection (Studio :
|
|
18
|
+
* `z.toJSONSchema(appConfigSchema)` → panneau de config + formulaire éditable).
|
|
19
|
+
*
|
|
20
|
+
* Chaque champ porte un `.describe()` FR (rôle + défaut) → consommé par le
|
|
21
|
+
* panneau de config Studio (`/nodefony/config`, carte de l'app).
|
|
22
|
+
*/
|
|
23
|
+
export declare const appConfigSchema: z.ZodObject<{
|
|
24
|
+
modules: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
25
|
+
locale: z.ZodOptional<z.ZodString>;
|
|
26
|
+
templating: z.ZodOptional<z.ZodString>;
|
|
27
|
+
orm: z.ZodOptional<z.ZodString>;
|
|
28
|
+
packageManager: z.ZodOptional<z.ZodEnum<{
|
|
29
|
+
bun: "bun";
|
|
30
|
+
npm: "npm";
|
|
31
|
+
pnpm: "pnpm";
|
|
32
|
+
yarn: "yarn";
|
|
33
|
+
}>>;
|
|
34
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
35
|
+
domainAlias: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
36
|
+
domainCheck: z.ZodOptional<z.ZodBoolean>;
|
|
37
|
+
servers: z.ZodOptional<z.ZodObject<{
|
|
38
|
+
statics: z.ZodOptional<z.ZodBoolean>;
|
|
39
|
+
http: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
40
|
+
port: z.ZodOptional<z.ZodNumber>;
|
|
41
|
+
}, z.core.$strip>, z.ZodLiteral<false>]>>;
|
|
42
|
+
https: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
43
|
+
port: z.ZodOptional<z.ZodNumber>;
|
|
44
|
+
protocol: z.ZodOptional<z.ZodEnum<{
|
|
45
|
+
1.1: "1.1";
|
|
46
|
+
"2.0": "2.0";
|
|
47
|
+
}>>;
|
|
48
|
+
}, z.core.$strip>, z.ZodLiteral<false>]>>;
|
|
49
|
+
ws: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
|
|
50
|
+
wss: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
|
|
51
|
+
portPolicy: z.ZodOptional<z.ZodEnum<{
|
|
52
|
+
auto: "auto";
|
|
53
|
+
strict: "strict";
|
|
54
|
+
}>>;
|
|
55
|
+
portRetryAttempts: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
}, z.core.$strip>>;
|
|
57
|
+
cluster: z.ZodOptional<z.ZodUnknown>;
|
|
58
|
+
timing: z.ZodOptional<z.ZodObject<{
|
|
59
|
+
enabled: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
60
|
+
verbose: z.ZodOptional<z.ZodBoolean>;
|
|
61
|
+
}, z.core.$strip>>;
|
|
62
|
+
shutdownDeadline: z.ZodOptional<z.ZodNumber>;
|
|
63
|
+
log: z.ZodOptional<z.ZodObject<{
|
|
64
|
+
active: z.ZodOptional<z.ZodBoolean>;
|
|
65
|
+
debug: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
66
|
+
requestFormat: z.ZodOptional<z.ZodEnum<{
|
|
67
|
+
auto: "auto";
|
|
68
|
+
default: "default";
|
|
69
|
+
json: "json";
|
|
70
|
+
pretty: "pretty";
|
|
71
|
+
}>>;
|
|
72
|
+
buffered: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
73
|
+
driver: z.ZodOptional<z.ZodEnum<{
|
|
74
|
+
file: "file";
|
|
75
|
+
null: "null";
|
|
76
|
+
stdout: "stdout";
|
|
77
|
+
}>>;
|
|
78
|
+
dir: z.ZodOptional<z.ZodString>;
|
|
79
|
+
file: z.ZodOptional<z.ZodObject<{
|
|
80
|
+
path: z.ZodOptional<z.ZodString>;
|
|
81
|
+
sync: z.ZodOptional<z.ZodBoolean>;
|
|
82
|
+
}, z.core.$strip>>;
|
|
83
|
+
maxStack: z.ZodOptional<z.ZodNumber>;
|
|
84
|
+
queryFile: z.ZodOptional<z.ZodObject<{
|
|
85
|
+
path: z.ZodOptional<z.ZodString>;
|
|
86
|
+
maxScanBytes: z.ZodOptional<z.ZodNumber>;
|
|
87
|
+
}, z.core.$strip>>;
|
|
88
|
+
queryDriver: z.ZodOptional<z.ZodString>;
|
|
89
|
+
loki: z.ZodOptional<z.ZodObject<{
|
|
90
|
+
url: z.ZodString;
|
|
91
|
+
}, z.core.$strip>>;
|
|
92
|
+
opensearch: z.ZodOptional<z.ZodObject<{
|
|
93
|
+
url: z.ZodString;
|
|
94
|
+
}, z.core.$strip>>;
|
|
95
|
+
}, z.core.$strip>>;
|
|
96
|
+
}, z.core.$strip>;
|
|
97
|
+
/** Type inféré de la config app (source unique TS ↔ runtime). */
|
|
98
|
+
export type AppConfig = z.infer<typeof appConfigSchema>;
|
|
99
|
+
/**
|
|
100
|
+
* JSON Schema introspectable de la config d'application — destiné au panneau de
|
|
101
|
+
* config Studio (`/nodefony/config`, carte de l'app). Documenté via les
|
|
102
|
+
* `.describe()` du schéma (rôle + défaut de chaque champ).
|
|
103
|
+
*/
|
|
104
|
+
export declare function appConfigJsonSchema(): unknown;
|
|
105
|
+
/**
|
|
106
|
+
* Valide la config app résolue ; lève une erreur au message agrégé si invalide.
|
|
107
|
+
*
|
|
108
|
+
* Appelée par `defineConfig().resolve()` après le deep-merge avec les défauts.
|
|
109
|
+
*
|
|
110
|
+
* @param options - config app résolue à valider.
|
|
111
|
+
* @throws Error si la config ne respecte pas {@link appConfigSchema}.
|
|
112
|
+
*/
|
|
113
|
+
export declare function validateAppConfig(options: unknown): void;
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types publics du moteur de configuration `defineConfig` (back-only, D1).
|
|
3
|
+
*
|
|
4
|
+
* Pilier #1 du chantier configuration : **typage impeccable**. Chaque clé de
|
|
5
|
+
* {@link AppConfigInput} porte un bloc TSDoc auto-suffisant (1ʳᵉ phrase + `@default`
|
|
6
|
+
* + `@reactivity`) → dans l'éditeur, taper `{` dans `defineConfig` propose toutes
|
|
7
|
+
* les clés avec leur explication en hover.
|
|
8
|
+
*
|
|
9
|
+
* `@reactivity hot` : la valeur peut s'appliquer À CHAUD (sans redémarrer le
|
|
10
|
+
* serveur — futur `Kernel.applyConfigPatch`). `@reactivity boot` : figée au boot
|
|
11
|
+
* (un changement exige un redémarrage). La métadonnée structurée est dans
|
|
12
|
+
* `./reactivity` (exploitable par Studio + le mécanisme hot-apply).
|
|
13
|
+
*
|
|
14
|
+
* Ces types ne dépendent PAS du Kernel (importables/testables sans serveur).
|
|
15
|
+
*/
|
|
16
|
+
import type { ModulePolicy } from "../types/IModuleManifest.js";
|
|
17
|
+
import type { IInfra } from "./infra.js";
|
|
18
|
+
/**
|
|
19
|
+
* Noms de modules connus du framework — proposés à l'autocomplétion tout en
|
|
20
|
+
* **acceptant n'importe quel module tiers** (astuce `string & {}` : conserve les
|
|
21
|
+
* littéraux connus dans la complétion sans fermer le type aux strings arbitraires).
|
|
22
|
+
*/
|
|
23
|
+
export type KnownModule = "@nodefony/http" | "@nodefony/framework" | "@nodefony/security" | "@nodefony/user" | "@nodefony/frontend" | "@nodefony/studio" | "@nodefony/documentation" | "@nodefony/realtime" | "@nodefony/redis" | "@nodefony/drizzle" | "@nodefony/mongoose" | (string & {});
|
|
24
|
+
/**
|
|
25
|
+
* Entrée détaillée du manifeste `modules` (forme objet). Une `string` nue
|
|
26
|
+
* équivaut à `{ name, policy: "optional" }`.
|
|
27
|
+
*/
|
|
28
|
+
export interface ModuleEntryInput {
|
|
29
|
+
/** Nom du module à charger (résolu par `import()` dynamique au boot). */
|
|
30
|
+
name: KnownModule;
|
|
31
|
+
/** Politique de chargement. Défaut `"optional"`. `"dev"` = hors production. */
|
|
32
|
+
policy?: ModulePolicy;
|
|
33
|
+
/** Garde évaluée sur la config résolue ; `false` → module ignoré (0 coût). */
|
|
34
|
+
when?: (config: ResolvedAppConfig) => boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Config colocalisée du module (deep-mergée sous sa config DEFAULT au boot par
|
|
37
|
+
* le Kernel, avant la validation Zod du module). Remplace les clés legacy
|
|
38
|
+
* `module-<nom>` à la racine. À écrire via {@link use} pour un typage par module
|
|
39
|
+
* (les clés proposées sont celles du module ciblé).
|
|
40
|
+
*/
|
|
41
|
+
config?: Record<string, unknown>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Manifeste ORDONNÉ des modules de l'application (position = ordre de chargement).
|
|
45
|
+
* `policy`/`when` filtrent, ne réordonnent jamais.
|
|
46
|
+
*/
|
|
47
|
+
export type ModuleManifestInput = ReadonlyArray<KnownModule | ModuleEntryInput>;
|
|
48
|
+
/** Métadonnées d'identité de l'application (affichées dans la CLI et les logs d'init). */
|
|
49
|
+
export interface AppMeta {
|
|
50
|
+
/** Année du projet (copyright, bannières). */
|
|
51
|
+
projectYear?: string;
|
|
52
|
+
/** Locale d'affichage des métadonnées. */
|
|
53
|
+
locale?: string;
|
|
54
|
+
/** Nom de l'auteur / mainteneur. */
|
|
55
|
+
authorName?: string;
|
|
56
|
+
/** E-mail de contact de l'auteur. */
|
|
57
|
+
authorMail?: string;
|
|
58
|
+
}
|
|
59
|
+
/** Serveur HTTP plain. */
|
|
60
|
+
export interface HttpServerConfig {
|
|
61
|
+
/**
|
|
62
|
+
* Port d'écoute HTTP plain.
|
|
63
|
+
* @default 5151
|
|
64
|
+
* @reactivity boot
|
|
65
|
+
*/
|
|
66
|
+
port?: number;
|
|
67
|
+
}
|
|
68
|
+
/** Serveur HTTPS (+ WSS hérité). */
|
|
69
|
+
export interface HttpsServerConfig {
|
|
70
|
+
/**
|
|
71
|
+
* Port d'écoute HTTPS.
|
|
72
|
+
* @default 5152
|
|
73
|
+
* @reactivity boot
|
|
74
|
+
*/
|
|
75
|
+
port?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Protocole TLS : `"2.0"` (HTTP/2 + ALPN fallback 1.1) ou `"1.1"` strict.
|
|
78
|
+
* @default "2.0"
|
|
79
|
+
* @reactivity boot
|
|
80
|
+
*/
|
|
81
|
+
protocol?: "1.1" | "2.0";
|
|
82
|
+
}
|
|
83
|
+
/** Serveurs réseau HTTP/HTTPS/WS/WSS (un seul domaine, pas de vhost). */
|
|
84
|
+
export interface ServersConfig {
|
|
85
|
+
/**
|
|
86
|
+
* Active le serveur de fichiers statiques (assets, uploads).
|
|
87
|
+
* @default true
|
|
88
|
+
* @reactivity boot
|
|
89
|
+
*/
|
|
90
|
+
statics?: boolean;
|
|
91
|
+
/** Serveur HTTP plain. `false` = désactivé (déploiement TLS-only). */
|
|
92
|
+
http?: HttpServerConfig | false;
|
|
93
|
+
/**
|
|
94
|
+
* Serveur HTTPS (le WSS en hérite). `false` = désactivé — cas NOMINAL
|
|
95
|
+
* cloud-native : TLS terminé à l'ingress/LB, le pod sert en clair.
|
|
96
|
+
*/
|
|
97
|
+
https?: HttpsServerConfig | false;
|
|
98
|
+
/** Serveur WebSocket (hérite du HTTP associé). */
|
|
99
|
+
ws?: Record<string, unknown>;
|
|
100
|
+
/** Serveur WebSocket Secure (hérite du HTTPS associé). */
|
|
101
|
+
wss?: Record<string, unknown>;
|
|
102
|
+
/**
|
|
103
|
+
* Que faire quand le port désiré est DÉJÀ OCCUPÉ.
|
|
104
|
+
*
|
|
105
|
+
* - `auto` : prendre le prochain port libre. L'app boote au lieu de mourir, et
|
|
106
|
+
* le décalage est **annoncé** (jamais silencieux). Confort de dev : plusieurs
|
|
107
|
+
* apps Nodefony côte à côte.
|
|
108
|
+
* - `strict` : échec fatal (EADDRINUSE).
|
|
109
|
+
*
|
|
110
|
+
* Le défaut dépend de l'environnement, et c'est délibéré :
|
|
111
|
+
* - **production → `strict`.** Le port y est un CONTRAT (service k8s, ingress,
|
|
112
|
+
* sonde de santé). Écouter ailleurs en silence produirait un pod « sain »
|
|
113
|
+
* que personne n'atteint — une panne invisible.
|
|
114
|
+
* - **test → `strict`.** Un port occupé signale un serveur resté debout ; le
|
|
115
|
+
* banc doit s'arrêter net, pas taper à côté.
|
|
116
|
+
* - **développement → `auto`.** Là, un port pris est une nuisance, pas un contrat.
|
|
117
|
+
*
|
|
118
|
+
* @default "auto" en développement, "strict" en production et en test
|
|
119
|
+
* @reactivity boot
|
|
120
|
+
*/
|
|
121
|
+
portPolicy?: "auto" | "strict";
|
|
122
|
+
/**
|
|
123
|
+
* En `portPolicy: "auto"`, nombre de ports essayés après le port désiré.
|
|
124
|
+
* @default 20
|
|
125
|
+
* @reactivity boot
|
|
126
|
+
*/
|
|
127
|
+
portRetryAttempts?: number;
|
|
128
|
+
}
|
|
129
|
+
/** Sortie fichier du Syslog. */
|
|
130
|
+
export interface LogFileConfig {
|
|
131
|
+
/**
|
|
132
|
+
* Chemin explicite du fichier de log (sink `file`). À défaut, le sink écrit
|
|
133
|
+
* `<dir>/nodefony-<pid>.log` (un fichier par worker, 0 lock d'inode partagé).
|
|
134
|
+
* @reactivity boot
|
|
135
|
+
*/
|
|
136
|
+
path?: string;
|
|
137
|
+
/**
|
|
138
|
+
* Écriture synchrone (`writeSync`) par worker au lieu du buffer async.
|
|
139
|
+
* @default false
|
|
140
|
+
* @reactivity boot
|
|
141
|
+
*/
|
|
142
|
+
sync?: boolean;
|
|
143
|
+
}
|
|
144
|
+
/** Options du driver de RELECTURE `file` du log backplane (query plane JSONL). */
|
|
145
|
+
export interface LogQueryFileConfig {
|
|
146
|
+
/**
|
|
147
|
+
* Chemin du fichier JSONL relu par le driver de query `file`. À défaut, dérivé
|
|
148
|
+
* du répertoire de logs.
|
|
149
|
+
* @reactivity boot
|
|
150
|
+
*/
|
|
151
|
+
path?: string;
|
|
152
|
+
/**
|
|
153
|
+
* Plafond d'octets scannés en fin de fichier lors d'une query (garde-fou I/O).
|
|
154
|
+
* @reactivity boot
|
|
155
|
+
*/
|
|
156
|
+
maxScanBytes?: number;
|
|
157
|
+
}
|
|
158
|
+
/** Destination prod queryable du log backplane (Loki / OpenSearch). */
|
|
159
|
+
export interface LogDestinationConfig {
|
|
160
|
+
/** URL HTTP de la destination. */
|
|
161
|
+
url: string;
|
|
162
|
+
}
|
|
163
|
+
/** Observabilité — Syslog Nodefony + log backplane. */
|
|
164
|
+
export interface LogConfig {
|
|
165
|
+
/**
|
|
166
|
+
* Master switch des logs. `false` = silence total (tests).
|
|
167
|
+
* @default true
|
|
168
|
+
* @reactivity hot
|
|
169
|
+
*/
|
|
170
|
+
active?: boolean;
|
|
171
|
+
/**
|
|
172
|
+
* Filtre des sources DEBUG : `"*"` (tout), `[]` (aucun), `["router"]` (ciblé).
|
|
173
|
+
* @default []
|
|
174
|
+
* @reactivity hot
|
|
175
|
+
*/
|
|
176
|
+
debug?: string | string[];
|
|
177
|
+
/**
|
|
178
|
+
* Format de log émis par HttpKernel pour chaque requête finie.
|
|
179
|
+
* `"auto"` choisit selon l'environnement (dev=pretty, prod=json).
|
|
180
|
+
* @default "auto"
|
|
181
|
+
* @reactivity hot
|
|
182
|
+
*/
|
|
183
|
+
requestFormat?: "auto" | "default" | "pretty" | "json";
|
|
184
|
+
/**
|
|
185
|
+
* Bufférisation de la sortie console (`"auto"` = bufférise hors TTY).
|
|
186
|
+
* @default "auto"
|
|
187
|
+
* @reactivity boot
|
|
188
|
+
*/
|
|
189
|
+
buffered?: boolean | "auto";
|
|
190
|
+
/**
|
|
191
|
+
* Sink d'écriture des logs : `"stdout"` (cloud-native), `"file"`, `"null"` (bench).
|
|
192
|
+
* @default "stdout"
|
|
193
|
+
* @reactivity boot
|
|
194
|
+
*/
|
|
195
|
+
driver?: "stdout" | "file" | "null";
|
|
196
|
+
/**
|
|
197
|
+
* Répertoire des logs (fichiers `.log` + JSONL queryable + viewer Studio),
|
|
198
|
+
* résolu sous `process.cwd()`.
|
|
199
|
+
* @default "logs"
|
|
200
|
+
* @reactivity boot
|
|
201
|
+
*/
|
|
202
|
+
dir?: string;
|
|
203
|
+
/** Options du sink fichier. */
|
|
204
|
+
file?: LogFileConfig;
|
|
205
|
+
/**
|
|
206
|
+
* Profondeur du ring de relecture du backplane de log (driver `memory`). Non
|
|
207
|
+
* défini = 2000 en développement (trace d'une requête lisible), sinon repli
|
|
208
|
+
* prod-safe interne.
|
|
209
|
+
* @reactivity boot
|
|
210
|
+
*/
|
|
211
|
+
maxStack?: number;
|
|
212
|
+
/** Options du driver de relecture `file` (query plane JSONL). */
|
|
213
|
+
queryFile?: LogQueryFileConfig;
|
|
214
|
+
/**
|
|
215
|
+
* Driver de RELECTURE du log backplane (≠ sink d'écriture). `auto` (défaut)
|
|
216
|
+
* s'adapte au mode : mono → `memory`, worker de cluster → `cluster-file` (vue
|
|
217
|
+
* unifiée). Toute valeur explicite (`memory`/`file`/`loki`/…) surcharge.
|
|
218
|
+
* @default "auto"
|
|
219
|
+
* @reactivity boot
|
|
220
|
+
*/
|
|
221
|
+
queryDriver?: string;
|
|
222
|
+
/** Destination Loki (active si `queryDriver === "loki"`). @reactivity boot */
|
|
223
|
+
loki?: LogDestinationConfig;
|
|
224
|
+
/** Destination OpenSearch (active si `queryDriver === "opensearch"`). @reactivity boot */
|
|
225
|
+
opensearch?: LogDestinationConfig;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Forme de la configuration d'une application Nodefony, telle qu'écrite par
|
|
229
|
+
* l'utilisateur dans `nodefony.config.ts`. Tous les champs sont optionnels : ce
|
|
230
|
+
* que l'app n'écrit pas vient de {@link defaultAppConfig} (deep-merge au resolve).
|
|
231
|
+
*/
|
|
232
|
+
export interface AppConfigInput {
|
|
233
|
+
/**
|
|
234
|
+
* Manifeste ordonné des modules chargés (liste + policy + gating `when`).
|
|
235
|
+
* Seule source de vérité du chargement (le Kernel l'orchestre à `onPreRegister`).
|
|
236
|
+
* @reactivity boot
|
|
237
|
+
*/
|
|
238
|
+
modules?: ModuleManifestInput;
|
|
239
|
+
/**
|
|
240
|
+
* Locale par défaut de l'app (fallback translation/dates), override par requête.
|
|
241
|
+
* @default "en_en"
|
|
242
|
+
* @reactivity boot
|
|
243
|
+
*/
|
|
244
|
+
locale?: string;
|
|
245
|
+
/** Métadonnées d'identité de l'app (auteur, année) — affichées CLI + logs. */
|
|
246
|
+
App?: AppMeta;
|
|
247
|
+
/**
|
|
248
|
+
* Moteur de templates des vues controllers (`renderView`). Unique : Eta.
|
|
249
|
+
* @default "eta"
|
|
250
|
+
* @reactivity boot
|
|
251
|
+
*/
|
|
252
|
+
templating?: string;
|
|
253
|
+
/**
|
|
254
|
+
* ORM par défaut (commandes CLI + modules sans ORM explicite). Multi-ORM :
|
|
255
|
+
* la forme cible (`{ driver: "drizzle" }`) et le défaut sont définis par le
|
|
256
|
+
* chantier ORM — pas de défaut framework figé ici.
|
|
257
|
+
* @reactivity boot
|
|
258
|
+
*/
|
|
259
|
+
orm?: string;
|
|
260
|
+
/**
|
|
261
|
+
* Gestionnaire de paquets Node.js (commandes install/outdated/build).
|
|
262
|
+
* @default "npm"
|
|
263
|
+
* @reactivity boot
|
|
264
|
+
*/
|
|
265
|
+
packageManager?: "npm" | "yarn" | "pnpm" | "bun";
|
|
266
|
+
/**
|
|
267
|
+
* Domaine d'écoute (un seul, pas de vhost). Prod : `"0.0.0.0"` ou IP fixe.
|
|
268
|
+
* @default "localhost"
|
|
269
|
+
* @reactivity boot
|
|
270
|
+
*/
|
|
271
|
+
domain?: string;
|
|
272
|
+
/**
|
|
273
|
+
* Alias de domaines acceptés (regexps stringifiées), actif si `domainCheck` —
|
|
274
|
+
* validation Host kernel-level (compilée en RegExp). En cours de consolidation
|
|
275
|
+
* avec `http.trustedHosts` (deux barrières Host concurrentes à unifier).
|
|
276
|
+
* @reactivity boot
|
|
277
|
+
*/
|
|
278
|
+
domainAlias?: string[];
|
|
279
|
+
/**
|
|
280
|
+
* Active la validation Host kernel-level (`domain` + `domainAlias`) avant le
|
|
281
|
+
* routing. Off par défaut (opt-in) ; en cours de consolidation avec
|
|
282
|
+
* `http.trustedHosts`.
|
|
283
|
+
* @reactivity boot
|
|
284
|
+
*/
|
|
285
|
+
domainCheck?: boolean;
|
|
286
|
+
/** Serveurs HTTP/HTTPS/WS/WSS. */
|
|
287
|
+
servers?: ServersConfig;
|
|
288
|
+
/**
|
|
289
|
+
* Topologie cluster (cloud-native, sans PM2). Résolue par `resolveTopology`
|
|
290
|
+
* (override runtime : CLI `--workers` > `NF_WORKERS` > ce champ).
|
|
291
|
+
* @reactivity boot
|
|
292
|
+
*/
|
|
293
|
+
cluster?: Record<string, unknown>;
|
|
294
|
+
/**
|
|
295
|
+
* Deadline GLOBALE du shutdown (ms) — au-delà, `Kernel.terminate` force la
|
|
296
|
+
* sortie `code 1` même si un listener `onTerminate` pend (SSE ouvert, store
|
|
297
|
+
* bloqué, module tiers). Filet cloud-native : garder < grace period de
|
|
298
|
+
* l'orchestrateur (30 s k8s, 10 s Docker). Distinct de
|
|
299
|
+
* `http.servers.*.shutdownTimeout` (drain PAR SERVEUR, borne le nominal) :
|
|
300
|
+
* ici c'est le filet de TOUT le terminate. `0` = désactivé. Défaut : `15000`.
|
|
301
|
+
* @reactivity boot
|
|
302
|
+
*/
|
|
303
|
+
shutdownDeadline?: number;
|
|
304
|
+
/**
|
|
305
|
+
* Instrumentation du pipeline — la sonde de phases qui alimente le waterfall
|
|
306
|
+
* (Studio/Playground, debug bar, profiler).
|
|
307
|
+
*
|
|
308
|
+
* `enabled: null` (défaut) = pas d'avis → la règle d'environnement s'applique
|
|
309
|
+
* (active hors production, éteinte en production). Un booléen explicite gagne :
|
|
310
|
+
* `true` allume la sonde EN PRODUCTION (diagnostic à chaud, coût assumé),
|
|
311
|
+
* `false` l'éteint partout. Override sans redéploiement :
|
|
312
|
+
* `NF__APP__TIMING__ENABLED=true`.
|
|
313
|
+
* @reactivity boot
|
|
314
|
+
*/
|
|
315
|
+
timing?: {
|
|
316
|
+
enabled?: boolean | null;
|
|
317
|
+
/** Trace DEBUG d'une ligne par requête détaillant chaque phase. Implique `enabled`. */
|
|
318
|
+
verbose?: boolean;
|
|
319
|
+
};
|
|
320
|
+
/** Observabilité (Syslog + log backplane). */
|
|
321
|
+
log?: LogConfig;
|
|
322
|
+
/**
|
|
323
|
+
* Surcharge de la config DEFAULT d'un module chargé (clé `module-<nom>`).
|
|
324
|
+
* Exemple : `"module-http": { upload: { uploadDir: "/var/upload" } }`.
|
|
325
|
+
* Fusion récursive (deep merge) appliquée par le Kernel à `preRegister`.
|
|
326
|
+
*/
|
|
327
|
+
[moduleOverride: `module-${string}`]: unknown;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Configuration résolue : {@link AppConfigInput} après deep-merge avec les
|
|
331
|
+
* défauts framework et validation Zod. Même forme structurelle (le merge remplit
|
|
332
|
+
* les valeurs ; le Kernel lit défensivement avec ses propres fallbacks résiduels).
|
|
333
|
+
*/
|
|
334
|
+
export type ResolvedAppConfig = AppConfigInput;
|
|
335
|
+
/**
|
|
336
|
+
* Contexte passé à la forme fonction de `defineConfig` — permet de différencier
|
|
337
|
+
* la config par environnement SANS fichier `config.<env>.ts` parallèle (D3).
|
|
338
|
+
*
|
|
339
|
+
* @typeParam E - forme du catalogue d'env typé (inféré de `defineEnv`, Lot 2).
|
|
340
|
+
*
|
|
341
|
+
* @example
|
|
342
|
+
* ```ts
|
|
343
|
+
* defineConfig((ctx) => ({
|
|
344
|
+
* domain: ctx.isProd ? "0.0.0.0" : "127.0.0.1",
|
|
345
|
+
* }));
|
|
346
|
+
* ```
|
|
347
|
+
*/
|
|
348
|
+
export interface ConfigContext<E = Record<string, unknown>> {
|
|
349
|
+
/** Catalogue des variables d'environnement typées (`defineEnv`, Lot 2). */
|
|
350
|
+
readonly env: E;
|
|
351
|
+
/**
|
|
352
|
+
* Infra déclarée résolus depuis l'environnement (modèle « infra déclarée »,
|
|
353
|
+
* Phase 0.8) — `database`/`cache`/`logs`. Sert au gating de modules
|
|
354
|
+
* (ex. `when: () => !!ctx.infra.cache` pour redis) sans relire `process.env`.
|
|
355
|
+
*/
|
|
356
|
+
readonly infra: IInfra;
|
|
357
|
+
/** Environnement applicatif libre (`APP_ENV`/`NF_ENV`) — granularité métier. */
|
|
358
|
+
readonly appEnv: string;
|
|
359
|
+
/** Environnement runtime canonisé (`NODE_ENV`). */
|
|
360
|
+
readonly runtimeEnv: string;
|
|
361
|
+
/** Raccourci `runtimeEnv === "production"`. */
|
|
362
|
+
readonly isProd: boolean;
|
|
363
|
+
/** Raccourci `runtimeEnv === "development"`. */
|
|
364
|
+
readonly isDev: boolean;
|
|
365
|
+
/** Raccourci `runtimeEnv === "test"`. */
|
|
366
|
+
readonly isTest: boolean;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Entrée de `defineConfig` : soit un objet de config, soit une fonction
|
|
370
|
+
* `(ctx) => objet` pour différencier par environnement (D3).
|
|
371
|
+
*
|
|
372
|
+
* @typeParam E - forme du catalogue d'env typé (Lot 2).
|
|
373
|
+
*/
|
|
374
|
+
export type ConfigInput<E = Record<string, unknown>> = AppConfigInput | ((ctx: ConfigContext<E>) => AppConfigInput);
|