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
package/docs/debugbar.md
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Barre de débogage — nodefony/debugbar"
|
|
3
|
+
lang: fr
|
|
4
|
+
module: "@nodefony/core"
|
|
5
|
+
topic: debugbar
|
|
6
|
+
source: "src/nodefony/docs/debugbar.md"
|
|
7
|
+
updated: 2026-09-01
|
|
8
|
+
navTitle: Barre de débogage
|
|
9
|
+
coverageModule: nodefony-core
|
|
10
|
+
coveragePackage: "nodefony (cœur)"
|
|
11
|
+
coverageFiles: "client/debugbar/DebugBar.ts,client/debugbar/model.ts,client/debugbar/index.ts"
|
|
12
|
+
section: "Cœur runtime"
|
|
13
|
+
audience: [developer]
|
|
14
|
+
tags:
|
|
15
|
+
[
|
|
16
|
+
debugbar,
|
|
17
|
+
developpement,
|
|
18
|
+
observabilite,
|
|
19
|
+
journaux,
|
|
20
|
+
temps-reel,
|
|
21
|
+
requestId,
|
|
22
|
+
accessibilite,
|
|
23
|
+
stockage-local,
|
|
24
|
+
]
|
|
25
|
+
version: "doc"
|
|
26
|
+
status: stable
|
|
27
|
+
updated: 2026-08-31
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# Barre de débogage
|
|
31
|
+
|
|
32
|
+
Une bande fine en bas de page, en développement, qui montre ce que le serveur est
|
|
33
|
+
en train de faire : le débit temps réel, la charge, la mémoire, les requêtes
|
|
34
|
+
réseau et les journaux — sans quitter l'écran qu'on est en train de construire.
|
|
35
|
+
|
|
36
|
+
Elle est livrée avec le cœur et ne dépend d'aucun cadre front : elle s'installe
|
|
37
|
+
dans une page rendue par un serveur comme dans une application React, Vue,
|
|
38
|
+
Angular ou Svelte.
|
|
39
|
+
|
|
40
|
+
📍 [Documentation](../../../docs/index.md) › [`nodefony` — le cœur](index.md) › **Barre de débogage**
|
|
41
|
+
|
|
42
|
+
## Démarrage rapide
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
import { mountDebugBar } from "nodefony/debugbar";
|
|
46
|
+
|
|
47
|
+
// En développement uniquement — la barre n'a rien à faire en production.
|
|
48
|
+
if (import.meta.env.DEV) mountDebugBar();
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Sur une page rendue par le serveur, sans étape de construction :
|
|
52
|
+
|
|
53
|
+
```html
|
|
54
|
+
<script
|
|
55
|
+
type="module"
|
|
56
|
+
src="/node_modules/nodefony/dist/client/debugbar.standalone.js"
|
|
57
|
+
></script>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
La barre s'abonne au canal temps réel de l'application. Elle n'ouvre **aucune**
|
|
61
|
+
seconde connexion : elle partage la socket déjà présente si la page en a une.
|
|
62
|
+
|
|
63
|
+
## Ce qu'on voit, et ce qu'on peut faire
|
|
64
|
+
|
|
65
|
+
Le **bandeau** porte l'essentiel en une ligne : l'état de la connexion,
|
|
66
|
+
l'environnement, la branche git, puis le débit temps réel, la charge processeur
|
|
67
|
+
et la mémoire, enfin les compteurs réseau, journaux et erreurs.
|
|
68
|
+
|
|
69
|
+
Chaque élément du bandeau porte une aide qui s'ouvre au survol **et au focus
|
|
70
|
+
clavier**, et chaque indicateur est un raccourci : cliquer « cpu » ouvre l'onglet
|
|
71
|
+
qui le détaille. Le bandeau lui-même ne se replie pas au clic — seul le chevron
|
|
72
|
+
de droite le fait, et lui seul.
|
|
73
|
+
|
|
74
|
+
| Contrôle | Ce qu'il fait |
|
|
75
|
+
| ----------------- | ------------------------------------------------------------------------------------- |
|
|
76
|
+
| `flux OFF` / `ON` | Abonne aux mesures et aux journaux en direct. **Coupé par défaut** (voir ci-dessous). |
|
|
77
|
+
| `⇄` | Change la barre de côté. |
|
|
78
|
+
| `—` | Réduit la barre en pastille flottante. |
|
|
79
|
+
| `▴` | Déplie ou replie le panneau. |
|
|
80
|
+
|
|
81
|
+
> **Pourquoi le flux est coupé par défaut** : l'abonnement fait tourner des
|
|
82
|
+
> compteurs et un émetteur de journaux côté serveur. En développement on ouvre
|
|
83
|
+
> beaucoup d'onglets ; les laisser tous branchés en permanence ferait payer à
|
|
84
|
+
> l'application un travail que personne ne regarde. C'est un choix d'adhésion,
|
|
85
|
+
> pas une option cachée.
|
|
86
|
+
|
|
87
|
+
## Les cinq onglets
|
|
88
|
+
|
|
89
|
+
**Realtime** — débit, transport, protocole, état de la socket, frames reçues,
|
|
90
|
+
pic. C'est la vue de la socket elle-même.
|
|
91
|
+
|
|
92
|
+
**Network** — les requêtes de la page (`fetch` et `XHR`), leur durée décomposée
|
|
93
|
+
et leur statut. Désactivable (`network: false`) : c'est le seul onglet qui
|
|
94
|
+
instrumente des fonctions globales du navigateur.
|
|
95
|
+
|
|
96
|
+
**Perf** — processeur, mémoire, boucle d'événements du serveur.
|
|
97
|
+
|
|
98
|
+
**Logs** — les journaux du serveur, en direct. Voir la section suivante.
|
|
99
|
+
|
|
100
|
+
**Runtime** — l'identité du processus servi (version, environnement, `pid`,
|
|
101
|
+
disponibilité, cœurs, mémoire), et **ce que la barre garde sur ce navigateur**.
|
|
102
|
+
|
|
103
|
+
## L'onglet Logs
|
|
104
|
+
|
|
105
|
+
Chaque entrée affiche son heure, sa sévérité, son module, son message et — quand
|
|
106
|
+
elle est connue — sa **requête** (`requestId`). C'est ce dernier champ qui fait la
|
|
107
|
+
différence : la même valeur relie ce journal à sa route, à ses requêtes de base de
|
|
108
|
+
données et à sa réponse. Une entrée s'ouvre au clic (ou à `Entrée` au clavier)
|
|
109
|
+
et montre son horodatage complet, sa catégorie, son worker et sa requête —
|
|
110
|
+
de quoi coller une trace dans un ticket.
|
|
111
|
+
|
|
112
|
+
La barre d'outils permet de :
|
|
113
|
+
|
|
114
|
+
- **filtrer par sévérité** — les puces `err` et `warn` sont des bascules ;
|
|
115
|
+
recliquer celle qui est active la retire ;
|
|
116
|
+
- **chercher** dans le texte, le module, la catégorie ou la requête ;
|
|
117
|
+
- **suspendre** l'affichage. Les entrées continuent d'arriver : à la reprise, la
|
|
118
|
+
liste se recompose complète — une pause ne fait rien perdre ;
|
|
119
|
+
- **copier** ce qui est affiché, **vider** la liste (sans rien effacer côté
|
|
120
|
+
serveur).
|
|
121
|
+
|
|
122
|
+
La liste est mise à jour **en insérant** les nouvelles entrées, jamais en la
|
|
123
|
+
reconstruisant : une sélection de texte survit à l'arrivée d'une ligne, et la
|
|
124
|
+
position de défilement ne saute pas.
|
|
125
|
+
|
|
126
|
+
## Ce que la barre garde sur votre navigateur
|
|
127
|
+
|
|
128
|
+
Six valeurs, uniquement d'apparence, dans le stockage local — visibles dans
|
|
129
|
+
l'onglet Runtime, avec un bouton pour les effacer :
|
|
130
|
+
|
|
131
|
+
| Clé | Ce qu'elle retient |
|
|
132
|
+
| --------------------- | ---------------------------- |
|
|
133
|
+
| `nf.debugbar.v` | version du format ci-dessous |
|
|
134
|
+
| `nf.debugbar.visible` | barre affichée ou masquée |
|
|
135
|
+
| `nf.debugbar.min` | réduite en pastille |
|
|
136
|
+
| `nf.debugbar.side` | côté du dock |
|
|
137
|
+
| `nf.debugbar.tab` | dernier onglet ouvert |
|
|
138
|
+
| `nf.debugbar.h` | hauteur du panneau |
|
|
139
|
+
| `nf.debugbar.live` | flux en direct activé |
|
|
140
|
+
|
|
141
|
+
Rien d'autre n'est stocké : aucun journal, aucune donnée d'application, aucune
|
|
142
|
+
identité. L'état est **versionné** — si le format change, l'ancien est effacé au
|
|
143
|
+
chargement plutôt que réinterprété, ce qui éviterait un état incohérent qu'on ne
|
|
144
|
+
saurait pas défaire.
|
|
145
|
+
|
|
146
|
+
## Options
|
|
147
|
+
|
|
148
|
+
```ts
|
|
149
|
+
mountDebugBar({
|
|
150
|
+
url: "/nodefony/studio/api/realtime", // adresse du canal temps réel
|
|
151
|
+
client: maSocket, // socket déjà ouverte à partager
|
|
152
|
+
position: "bottom", // ou "top"
|
|
153
|
+
open: false, // panneau déplié au montage
|
|
154
|
+
network: true, // onglet Network (instrumente fetch/XHR)
|
|
155
|
+
});
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
`mountDebugBar()` est idempotent : une seule barre par page.
|
|
159
|
+
|
|
160
|
+
## Accessibilité
|
|
161
|
+
|
|
162
|
+
Tous les contrôles sont des boutons : ils s'atteignent au clavier, portent un nom
|
|
163
|
+
et annoncent leur état (le replieur expose `aria-expanded`, le flux
|
|
164
|
+
`aria-pressed`). L'aide de chaque indicateur s'ouvre aussi bien au focus qu'au
|
|
165
|
+
survol. La barre se déclare comme un contenu d'appoint (`complementary`), ce qui
|
|
166
|
+
évite que tout ce qu'elle affiche soit compté hors de tout point de repère par un
|
|
167
|
+
audit de la page hôte.
|
|
168
|
+
|
|
169
|
+
## Coût
|
|
170
|
+
|
|
171
|
+
La barre est une entrée séparée du paquet (`nodefony/debugbar`) : elle ne pèse
|
|
172
|
+
**rien** sur une application qui ne l'importe pas. Son budget est vérifié à chaque
|
|
173
|
+
publication (`npm run size:check`).
|
|
174
|
+
|
|
175
|
+
## 📖 Lexique
|
|
176
|
+
|
|
177
|
+
| Terme | Ce que c'est |
|
|
178
|
+
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
179
|
+
| **Entrée séparée** | Un sous-chemin du paquet (`nodefony/debugbar`) importé à part. Ce qui n'est pas importé n'entre pas dans votre bundle. |
|
|
180
|
+
| **`mountDebugBar`** | La seule fonction à appeler (`index.ts:46`). Elle installe la barre et rend une poignée pour la piloter ou la retirer. |
|
|
181
|
+
| **Poignée** (_handle_) | Ce que le montage rend en retour (`DebugBarHandle`, `DebugBar.ts:511`) : de quoi fermer, rouvrir ou démonter proprement. |
|
|
182
|
+
| **Options** | Ce qu'on passe au montage (`DebugBarOptions`, `DebugBar.ts:108`) — l'adresse du socket, la position (`bottom` ou `top`), le panneau ouvert d'emblée, et l'interception réseau, qu'on peut refuser entièrement. |
|
|
183
|
+
| **Charge utile** | Ce que le serveur pousse : statistiques (`StatsPayload`, `model.ts:25`) et journaux (`LogEntry`, `model.ts:49`). |
|
|
184
|
+
| **`requestId`** | L'identifiant qu'une requête porte de bout en bout. C'est lui qui relie une ligne de journal à l'appel réseau qui l'a produite. |
|
|
185
|
+
|
|
186
|
+
## ⚠️ Pièges
|
|
187
|
+
|
|
188
|
+
- **Elle n'a rien à faire en production.** C'est un outil de développement : ce qu'elle affiche
|
|
189
|
+
décrit votre application à qui regarde l'écran. Ne l'importez que dans le bundle de
|
|
190
|
+
développement.
|
|
191
|
+
- **Ce qu'elle garde vit dans le navigateur de chacun**, pas sur le serveur : un onglet ouvert,
|
|
192
|
+
un filtre, une position. Une fenêtre privée ou un autre navigateur repart donc de zéro — ce
|
|
193
|
+
n'est pas une panne.
|
|
194
|
+
- **Une barre montée deux fois n'affiche pas deux barres**, mais laisse un montage orphelin :
|
|
195
|
+
gardez la poignée rendue par `mountDebugBar()` et démontez avant de remonter.
|
|
196
|
+
- **Elle ne remplace pas les journaux du serveur.** Ce qu'elle montre est ce que le serveur a bien
|
|
197
|
+
voulu pousser vers le navigateur ; un incident au boot, avant qu'elle existe, ne s'y verra
|
|
198
|
+
jamais.
|
|
199
|
+
|
|
200
|
+
## 🧪 Tests & couverture
|
|
201
|
+
|
|
202
|
+
Les chiffres exacts vivent dans la carte de l'aperçu, régénérée en comptant — jamais figés ici.
|
|
203
|
+
|
|
204
|
+
<!-- prettier-ignore -->
|
|
205
|
+
| Type | Où | Ce qui est prouvé |
|
|
206
|
+
| --- | --- | --- |
|
|
207
|
+
| Unitaires | `nodefony` `DebugBar.test.ts` | le montage, les options, ce que la poignée rend, le rendu des cinq onglets |
|
|
208
|
+
| Unitaires (interaction) | `nodefony` `debugbarInteraction.test.ts` | l'ouverture et la fermeture, le filtrage des journaux, ce qui est gardé d'une visite à l'autre |
|
|
209
|
+
|
|
210
|
+
## 🔗 Pour aller plus loin
|
|
211
|
+
|
|
212
|
+
- ⬆️ **Retour au hub** : [`nodefony` — le cœur](index.md) ·
|
|
213
|
+
[Toute la documentation](../../../docs/index.md)
|
|
214
|
+
- 📜 **Ce qu'elle affiche vient de là** : [journalisation](syslog.md)
|
|
215
|
+
- 🔗 **L'identifiant qui relie une ligne à sa requête** :
|
|
216
|
+
[contexte de requête](request-context.md)
|
|
217
|
+
- 🛠️ **La même observation, mais côté serveur** :
|
|
218
|
+
[`@nodefony/studio`](../../packages/@nodefony/studio/docs/index.md)
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Environnement — variables, cascade des .env, et qui gagne"
|
|
3
|
+
navTitle: Environnement
|
|
4
|
+
lang: fr
|
|
5
|
+
module: "@nodefony/core"
|
|
6
|
+
topic: environnement
|
|
7
|
+
coverageModule: nodefony-core
|
|
8
|
+
coveragePackage: "nodefony (cœur)"
|
|
9
|
+
coverageFiles: "runtime/loadEnv.ts,config/defineEnv.ts,config/envOverride.ts,cli/envReport.ts"
|
|
10
|
+
section: "Cœur runtime"
|
|
11
|
+
audience: [developer, devops]
|
|
12
|
+
tags:
|
|
13
|
+
[
|
|
14
|
+
environnement,
|
|
15
|
+
env,
|
|
16
|
+
dotenv,
|
|
17
|
+
variables,
|
|
18
|
+
precedence,
|
|
19
|
+
cascade,
|
|
20
|
+
secrets,
|
|
21
|
+
configuration,
|
|
22
|
+
NF,
|
|
23
|
+
]
|
|
24
|
+
version: "doc"
|
|
25
|
+
status: stable
|
|
26
|
+
updated: 2026-07-25
|
|
27
|
+
source: "src/nodefony/docs/environnement.md"
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# Environnement — variables, cascade des `.env`, et qui gagne
|
|
31
|
+
|
|
32
|
+
📍 [Documentation](../../../docs/index.md) › [Cœur — @nodefony/core](index.md) › **Environnement**
|
|
33
|
+
|
|
34
|
+
> Une variable d'environnement qui « ne prend pas » est le bug le plus long à comprendre du
|
|
35
|
+
> métier : rien n'échoue, rien ne s'affiche, la valeur est simplement ignorée et un défaut
|
|
36
|
+
> s'applique en silence. Cette page dit **où poser une valeur**, **qui l'emporte**, et surtout
|
|
37
|
+
> comment le **vérifier** au lieu de le supposer.
|
|
38
|
+
|
|
39
|
+
## 🧭 Démarrage rapide
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
nodefony env # la cascade, chaque variable, sa valeur EFFECTIVE et sa PROVENANCE
|
|
43
|
+
nodefony env --json # le même rapport, pour un script ou un agent
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
La commande ne démarre rien ([`cli/env.ts:208`](../src/cli/env.ts)) — elle répond même sur une
|
|
47
|
+
application qui ne boote plus, ce qui est précisément le moment où on la lance. Elle sort en
|
|
48
|
+
**78** (`EX_CONFIG`) si une variable requise manque, pour qu'un script s'arrête là plutôt que de
|
|
49
|
+
tenter un démarrage voué à l'échec.
|
|
50
|
+
|
|
51
|
+
Ce qu'elle montre, et qu'aucune lecture de fichier ne donne :
|
|
52
|
+
|
|
53
|
+
- la **cascade réelle** — quels fichiers sont lus, dans quel ordre, lesquels existent ;
|
|
54
|
+
- chaque variable **déclarée** par l'application, sa valeur effective et **le fichier qui l'a
|
|
55
|
+
fournie** ;
|
|
56
|
+
- ce qui est **masqué** : une valeur écrite dans un fichier de rang inférieur, donc sans effet ;
|
|
57
|
+
- les variables `NF_` **inconnues** — presque toujours une faute de frappe, avec la correction
|
|
58
|
+
probable ;
|
|
59
|
+
- les variables **posées par le framework** lui-même, à part, avec ce que chacune signale.
|
|
60
|
+
|
|
61
|
+
> **Pourquoi ces deux dernières listes sont séparées.** Le framework écrit des `NF_*` dans
|
|
62
|
+
> l'environnement sans que vous les ayez demandées : le lanceur du CLI marque sa délégation au
|
|
63
|
+
> `nodefony` du projet (`NF_CLI_DELEGATED`), les commandes de démarrage inscrivent le mode
|
|
64
|
+
> (`NF_MODE_START`), le maître de grappe signale la grappe (`NF_CLUSTER`), la déclaration MCP
|
|
65
|
+
> porte son jeton (`NF_MCP_TOKEN`). Rangées parmi les inconnues, elles vous accusaient d'une
|
|
66
|
+
> faute de frappe que vous n'aviez pas commise — et proposaient de « corriger »
|
|
67
|
+
> `NF_CLI_DELEGATED` en `NF_ADMIN_PASSWORD`. Elles ne sont pas tues pour autant : une variable
|
|
68
|
+
> présente que le rapport passe sous silence vous ferait chercher pourquoi votre environnement
|
|
69
|
+
> ne ressemble pas à ce qu'il montre.
|
|
70
|
+
|
|
71
|
+
## Le modèle : deux axes, une cascade, un seul lecteur
|
|
72
|
+
|
|
73
|
+
Trois décisions gouvernent tout ce qui suit, et rien d'autre n'est à retenir.
|
|
74
|
+
|
|
75
|
+
**Deux axes plutôt qu'un** : _comment_ le code s'exécute (le mode) et _où_ il s'exécute (le
|
|
76
|
+
déploiement) sont deux questions distinctes — un `staging` tourne en mode `production`.
|
|
77
|
+
|
|
78
|
+
**Une cascade, jamais un écrasement** : chaque source pose ce que les plus fortes n'ont pas déjà
|
|
79
|
+
posé. La précédence n'est donc pas une règle appliquée quelque part, c'est une **conséquence** de
|
|
80
|
+
l'ordre de lecture — il n'y a rien à synchroniser, et rien qui puisse diverger.
|
|
81
|
+
|
|
82
|
+
**Un seul lecteur de `process.env`** : `env.ts`. Tout le reste de l'application lit un objet
|
|
83
|
+
typé, validé au démarrage. Une variable non déclarée là n'existe pas, quoi qu'en dise un fichier
|
|
84
|
+
`.env` — c'est ce qui rend une faute de frappe muette, et c'est pourquoi `nodefony env` existe.
|
|
85
|
+
|
|
86
|
+
## Les deux axes : mode et déploiement
|
|
87
|
+
|
|
88
|
+
Nodefony sépare ce que la plupart des frameworks confondent :
|
|
89
|
+
|
|
90
|
+
| Axe | Variable | Valeurs | Ce qu'il décide |
|
|
91
|
+
| --------------- | -------------------- | ----------------------------------- | --------------------------------------------------- |
|
|
92
|
+
| **Mode** | `NODE_ENV` | `development` / `production` | comment le code s'exécute (optimisations, journaux) |
|
|
93
|
+
| **Déploiement** | `APP_ENV` / `NF_ENV` | chaîne libre : `staging`, `canary`… | **où** il s'exécute (quelle base, quels secrets) |
|
|
94
|
+
|
|
95
|
+
Un `staging` tourne en mode `production` : ce sont deux questions différentes, et les mélanger
|
|
96
|
+
oblige à choisir entre « optimisé » et « pointe la bonne base ». Le déploiement est **plus
|
|
97
|
+
spécifique** que le mode, donc plus fort dans la cascade.
|
|
98
|
+
|
|
99
|
+
## Et si `NODE_ENV` n'est pas posé ?
|
|
100
|
+
|
|
101
|
+
C'est le cas de tous les jours sur une machine de développement — et la réponse n'est pas
|
|
102
|
+
« au hasard ». **Poser `NODE_ENV` est un acte de déploiement ; ne rien poser est l'état d'un
|
|
103
|
+
poste de développement.**
|
|
104
|
+
|
|
105
|
+
| `NODE_ENV` | Mode retenu | Pourquoi |
|
|
106
|
+
| ------------------------------------------------- | ----------------- | ------------------------------------------------- |
|
|
107
|
+
| `development` / `dev` | **`development`** | déclaré |
|
|
108
|
+
| `production` / `prod` | **`production`** | déclaré |
|
|
109
|
+
| **absent** | **`development`** | personne n'a rien dit → poste de développement |
|
|
110
|
+
| posé mais autre (`staging`, `canary`, `prod-eu`…) | **`production`** | un DÉPLOIEMENT est nommé — il tourne comme prod |
|
|
111
|
+
| chaîne vide | **`production`** | choix conservateur : « vidée » ≠ « jamais posée » |
|
|
112
|
+
|
|
113
|
+
Une chaîne vide compte comme posée : on ne distingue pas « vidée par erreur » de « vidée
|
|
114
|
+
exprès », et se tromper vers la production ne coûte qu'une commande utilitaire, là où l'inverse
|
|
115
|
+
exposerait la console d'administration d'un serveur.
|
|
116
|
+
|
|
117
|
+
**Le défaut ne gouverne jamais un serveur.** `nodefony development`, `nodefony production`
|
|
118
|
+
(alias `start`, `prod`) et `nodefony cluster` posent leur mode eux-mêmes, et il n'existe pas
|
|
119
|
+
d'autre façon d'en démarrer un. Le défaut ne concerne donc que les commandes utilitaires —
|
|
120
|
+
`inspect`, `check`, `env`, `security:*`.
|
|
121
|
+
|
|
122
|
+
> ⚠️ **Le piège à connaître : une commande utilitaire ne tourne PAS dans le mode du serveur que
|
|
123
|
+
> vous avez lancé.** Chacune démarre son propre noyau. Si votre serveur tourne par
|
|
124
|
+
> `nodefony development` mais que `NODE_ENV` n'est pas dans votre shell, une commande lancée à
|
|
125
|
+
> côté partira bien en `development` — mais le jour où vous exportez `NODE_ENV=production` pour
|
|
126
|
+
> un essai, elle changera de base de données sans rien dire d'autre. **Demandez le mode plutôt
|
|
127
|
+
> que de le supposer :**
|
|
128
|
+
>
|
|
129
|
+
> ```bash
|
|
130
|
+
> npx nodefony env # le mode, et d'où vient chaque variable
|
|
131
|
+
> npx nodefony inspect routes # la dernière ligne indique l'environnement
|
|
132
|
+
> ```
|
|
133
|
+
>
|
|
134
|
+
> Pour forcer explicitement, préfixez la commande : `NODE_ENV=production npx nodefony …`.
|
|
135
|
+
|
|
136
|
+
## La cascade — qui gagne
|
|
137
|
+
|
|
138
|
+
Du **plus fort** au **plus faible**. Le premier niveau qui pose une valeur gagne ; les suivants
|
|
139
|
+
sont ignorés, sans message.
|
|
140
|
+
|
|
141
|
+
| Rang | Source | Committé ? | Rôle |
|
|
142
|
+
| ---- | -------------------------- | ---------- | ---------------------------------------------- |
|
|
143
|
+
| 1 | `process.env` | — | shell, orchestrateur, k8s — **gagne toujours** |
|
|
144
|
+
| 2 | `.env.<déploiement>.local` | ❌ non | secrets de CE déploiement, sur CETTE machine |
|
|
145
|
+
| 3 | `.env.<mode>.local` | ❌ non | secrets du mode |
|
|
146
|
+
| 4 | `.env.local` | ❌ non | secrets communs, machine du développeur |
|
|
147
|
+
| 5 | `.env.<déploiement>` | ✅ oui | réglages partagés du déploiement |
|
|
148
|
+
| 6 | `.env.<mode>` | ✅ oui | réglages partagés du mode |
|
|
149
|
+
| 7 | `.env` | ✅ oui | défauts communs — le plus faible |
|
|
150
|
+
|
|
151
|
+
Deux règles suffisent à retrouver cet ordre de mémoire : **les `*.local` priment sur les
|
|
152
|
+
committés**, et **à rang égal, le plus spécifique gagne**.
|
|
153
|
+
|
|
154
|
+
L'ordre est produit par une fonction unique, [`envFileOrder`](../src/runtime/loadEnv.ts)
|
|
155
|
+
([`loadEnv.ts:72`](../src/runtime/loadEnv.ts)) — celle-là même que `nodefony env` affiche : un
|
|
156
|
+
ordre montré qui différerait de l'ordre appliqué serait pire que pas d'affichage du tout.
|
|
157
|
+
L'injection ([`loadEnv.ts:88`](../src/runtime/loadEnv.ts)) n'écrase **jamais** une clé déjà
|
|
158
|
+
posée, ce dont toute la précédence découle.
|
|
159
|
+
|
|
160
|
+
Le chargement a lieu **une fois**, au démarrage du binaire, **avant** la construction du noyau :
|
|
161
|
+
les configurations de modules lisent `process.env` pendant le boot, il doit donc être peuplé
|
|
162
|
+
avant elles.
|
|
163
|
+
|
|
164
|
+
## Déclarer une variable — `env.ts`
|
|
165
|
+
|
|
166
|
+
`env.ts` est le **seul** endroit du projet qui lit `process.env`
|
|
167
|
+
([`defineEnv.ts:270`](../src/config/defineEnv.ts)). Une variable non déclarée là n'existe pas
|
|
168
|
+
pour l'application, quoi qu'un fichier `.env` en dise.
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
import { defineEnv, envNumber, envEnum, envString } from "nodefony";
|
|
172
|
+
|
|
173
|
+
export const env = defineEnv({
|
|
174
|
+
NF_PORT: envNumber({ default: 5151, description: "Port HTTP." }),
|
|
175
|
+
NF_LOG_DRIVER: envEnum(["stdout", "file", "null"], {
|
|
176
|
+
default: "stdout",
|
|
177
|
+
description: "Destination des journaux.",
|
|
178
|
+
}),
|
|
179
|
+
NF_DATABASE_URL: envString({
|
|
180
|
+
optional: true,
|
|
181
|
+
description: "URL de la base.",
|
|
182
|
+
}),
|
|
183
|
+
});
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Ce que la déclaration apporte, et qu'une lecture directe de `process.env` ne donne pas : la
|
|
187
|
+
valeur est **typée** (`number`, `boolean`, énumération), **validée au démarrage** (une valeur
|
|
188
|
+
hors énumération échoue tout de suite, avec le nom de la variable), **documentée**
|
|
189
|
+
(`description` alimente `.env.example` et `nodefony env`), et **atteignable typée** dans la
|
|
190
|
+
configuration via `ctx.env`.
|
|
191
|
+
|
|
192
|
+
Une variable **requise** est celle qui n'a ni défaut ni `optional: true`. `nodefony env` les
|
|
193
|
+
nomme, et sort en erreur si l'une manque.
|
|
194
|
+
|
|
195
|
+
### Requise LÀ-BAS seulement — `requiredIn`
|
|
196
|
+
|
|
197
|
+
Certaines variables ne sont indispensables qu'en production. Les déclarer `optional` est vrai
|
|
198
|
+
sur le poste du développeur et faux là où ça compte ; les déclarer requises empêcherait de
|
|
199
|
+
démarrer en local. `requiredIn` nomme les environnements où l'absence devient une faute :
|
|
200
|
+
|
|
201
|
+
```typescript
|
|
202
|
+
NF_CSRF_SECRET: envString({
|
|
203
|
+
optional: true,
|
|
204
|
+
requiredIn: ["production"],
|
|
205
|
+
description: "Secret des jetons anti-CSRF — partagé entre process en cluster.",
|
|
206
|
+
}),
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Le cas qui fonde cette règle n'est pas un secret laissé en dur, c'est l'inverse : **un secret
|
|
210
|
+
absent est engendré à la volée**. Rien ne va mal au premier démarrage — c'est au deuxième
|
|
211
|
+
exemplaire que les jetons émis par l'un se font refuser par l'autre, sans une ligne dans les
|
|
212
|
+
journaux.
|
|
213
|
+
|
|
214
|
+
Les noms sont libres : ils se comparent aux **étiquettes** de l'environnement courant, à savoir
|
|
215
|
+
le mode d'exécution (`NODE_ENV`) et l'environnement de déploiement (`NF_ENV`, ou l'alias de
|
|
216
|
+
plateforme `APP_ENV`) quand il en diffère. Une préproduction qui tourne en `production` porte
|
|
217
|
+
donc les deux, et `requiredIn: ["preprod"]` y mord.
|
|
218
|
+
|
|
219
|
+
Trois lecteurs appliquent la MÊME règle
|
|
220
|
+
([`isEnvVarRequired`](../src/config/defineEnv.ts)) : le démarrage refuse de partir, `nodefony
|
|
221
|
+
env` marque la variable, et `nodefony doctor` la nomme avant qu'on déploie.
|
|
222
|
+
|
|
223
|
+
### Demander ce qui manquera ailleurs — `--env`
|
|
224
|
+
|
|
225
|
+
`nodefony doctor --env production` et `nodefony env --env production` évaluent les exigences
|
|
226
|
+
pour l'environnement **visé**, avec les valeurs présentes **ici** : on ne simule pas un
|
|
227
|
+
déploiement, on demande ce qui manquera là-bas. Le rapport l'annonce en tête, et sort en erreur
|
|
228
|
+
si une variable requise à destination n'a aucune valeur.
|
|
229
|
+
|
|
230
|
+
`doctor` signale aussi un fichier `.env*.local` **suivi par git** — l'historique garde les
|
|
231
|
+
secrets même après suppression. Sans dépôt git, il ne conclut pas : il énonce le contrôle comme
|
|
232
|
+
non fait.
|
|
233
|
+
|
|
234
|
+
## Secrets : `<VARIABLE>_FILE`
|
|
235
|
+
|
|
236
|
+
Un secret monté par Docker ou Kubernetes est un **fichier**, pas une valeur. Toute variable
|
|
237
|
+
accepte donc la forme `<VARIABLE>_FILE`, qui pointe le fichier à lire :
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
NF_TOTP_KEY_FILE=/run/secrets/totp_key # au lieu de NF_TOTP_KEY=…
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Poser les deux échoue au démarrage : entre deux sources contradictoires, deviner serait le pire
|
|
244
|
+
service. Les valeurs des variables dont le nom évoque un secret ne sont jamais rendues en clair
|
|
245
|
+
par `nodefony env` — seulement leur présence, leur longueur et leur provenance.
|
|
246
|
+
|
|
247
|
+
## Surcharger une clé de module — `NF__`
|
|
248
|
+
|
|
249
|
+
Deux mécanismes coexistent, et les confondre est l'erreur la plus fréquente :
|
|
250
|
+
|
|
251
|
+
| Forme | Ce que c'est | Où c'est déclaré |
|
|
252
|
+
| ------------------------------------- | ----------------------------------------------- | ------------------------------------------ |
|
|
253
|
+
| `NF_PORT=5151` | variable de l'**application**, typée et validée | `env.ts` — non déclarée = **sans effet** |
|
|
254
|
+
| `NF__HTTP__SERVERS__HTTPS__PORT=8443` | surcharge **directe** d'une clé de module | rien à déclarer — `__` sépare les segments |
|
|
255
|
+
|
|
256
|
+
Le second ([`envOverride.ts:80`](../src/config/envOverride.ts)) vise une clé de configuration
|
|
257
|
+
par son chemin, sans passer par `env.ts` : `NF__<MODULE>__<CHEMIN…>`. Une liste s'écrit en
|
|
258
|
+
valeurs séparées par des virgules. Un segment mal orthographié est signalé au démarrage avec la
|
|
259
|
+
clé la plus proche — le « vouliez-vous dire » de git.
|
|
260
|
+
|
|
261
|
+
Réserve ce mécanisme à ce qu'il fait bien : régler une brique en exploitation sans toucher au
|
|
262
|
+
code. Ce que l'application possède en propre se déclare dans `env.ts`.
|
|
263
|
+
|
|
264
|
+
## 🧪 Tests
|
|
265
|
+
|
|
266
|
+
Le calcul du rapport est un module **pur** ([`envReport.ts:177`](../src/cli/envReport.ts)) : il
|
|
267
|
+
reçoit la cascade déjà lue et l'environnement effectif, et conclut. Cette séparation est ce qui
|
|
268
|
+
rend éprouvables les trois affirmations sur lesquelles on va se fier pour corriger une
|
|
269
|
+
configuration — d'où vient une valeur, ce qui est masqué, ce qui n'a aucun effet. Se tromper sur
|
|
270
|
+
l'une d'elles est pire que de ne rien afficher : on croit le rapport, et on cherche ailleurs.
|
|
271
|
+
|
|
272
|
+
## ⚠️ Pièges
|
|
273
|
+
|
|
274
|
+
- **La valeur est dans le fichier, et n'a aucun effet.** Elle est posée à un rang inférieur à
|
|
275
|
+
celui qui la définit déjà — typiquement `.env` alors que `.env.local` la porte. `nodefony env`
|
|
276
|
+
l'affiche comme _ignorée dans …_, avec le fichier gagnant.
|
|
277
|
+
- **Le shell gagne toujours.** Une variable exportée dans le terminal (ou par l'orchestrateur)
|
|
278
|
+
ne peut être contredite par aucun fichier. C'est voulu : en production, l'orchestrateur fait
|
|
279
|
+
autorité.
|
|
280
|
+
- **Une faute de frappe est silencieuse.** `NF_PROT` au lieu de `NF_PORT` n'échoue pas : la
|
|
281
|
+
variable est inconnue, donc ignorée, et le défaut s'applique. Aucun démarrage ne le dira —
|
|
282
|
+
`nodefony env` est le seul endroit qui la montre.
|
|
283
|
+
- **Un `.env.local` n'est jamais committé.** C'est la règle qui rend les secrets tenables ; le
|
|
284
|
+
`.gitignore` généré l'applique dès la création de l'application. Un secret dans `.env` part
|
|
285
|
+
dans le dépôt.
|
|
286
|
+
- **Le catalogue exige un build.** `nodefony env` lit les variables déclarées dans le `dist/` de
|
|
287
|
+
l'application. Sans build, la cascade reste exacte et le rapport **dit** que la liste manque —
|
|
288
|
+
il ne se tait pas.
|
|
289
|
+
|
|
290
|
+
## 📖 Lexique
|
|
291
|
+
|
|
292
|
+
- **Cascade** — la suite ordonnée des sources d'environnement, du shell au `.env` commun.
|
|
293
|
+
- **Mode** (`NODE_ENV`) — comment le code s'exécute : `development` ou `production`.
|
|
294
|
+
- **Déploiement** (`APP_ENV`) — où il s'exécute : `staging`, `canary`, `prod-eu`… chaîne libre.
|
|
295
|
+
- **Masquée** — variable définie dans un fichier, mais fournie par une source plus forte : elle
|
|
296
|
+
est ignorée.
|
|
297
|
+
- **Effective** — la valeur que l'application verra réellement, après application de la cascade.
|
|
298
|
+
- **Catalogue** — l'ensemble des variables qu'une application déclare dans `env.ts`, avec leur
|
|
299
|
+
type, leur défaut et leur description.
|
|
300
|
+
|
|
301
|
+
## 🔗 Pour aller plus loin
|
|
302
|
+
|
|
303
|
+
- ⬆️ **Retour au hub** : [Cœur — @nodefony/core](index.md)
|
|
304
|
+
- ⚙️ **Configurer les modules** (le `use()` du manifeste, les schémas Zod) :
|
|
305
|
+
[guide de configuration](../../../docs/guides/configuration.md)
|
|
306
|
+
- 🧩 **Quel module installer** : [catalogue des modules](catalogue.md)
|
|
307
|
+
- 🖥️ **Les autres commandes** : [CLI](cli.md) · le cycle de vie qui consomme cet
|
|
308
|
+
environnement : [kernel](kernel.md)
|