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,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composition de la CARTE DE VISITE d'une application — module PUR.
|
|
3
|
+
*
|
|
4
|
+
* Deux portes la servent, et c'est tout l'intérêt de vivre ici :
|
|
5
|
+
* - la CLI (`nodefony card`, standalone 0-boot — `cli/card.ts`), qui répond même
|
|
6
|
+
* sur une application NON CONSTRUITE ou lancée sans `NODE_ENV` ;
|
|
7
|
+
* - le module `@nodefony/devkit` (route HTTP + service), qui la dérive du Kernel
|
|
8
|
+
* en marche et connaît alors les modules réellement CHARGÉS.
|
|
9
|
+
*
|
|
10
|
+
* Pourquoi au cœur et non dans le module : une capacité qui doit répondre
|
|
11
|
+
* **sans installation** ou **application cassée** ne peut pas dépendre d'un
|
|
12
|
+
* module, par construction — c'est la règle que `check`, `env` et `inspect`
|
|
13
|
+
* suivent déjà. Le module, lui, importe cette fonction : une seule composition,
|
|
14
|
+
* deux portes, aucune divergence possible.
|
|
15
|
+
*/
|
|
16
|
+
/** Identité de l'application qui répond. */
|
|
17
|
+
export interface ICardAppInfo {
|
|
18
|
+
/** Nom de l'application. */
|
|
19
|
+
name: string;
|
|
20
|
+
/** Version déclarée par son `package.json`. */
|
|
21
|
+
version: string;
|
|
22
|
+
/** Environnement de run (`development`, `production`, `staging`…). */
|
|
23
|
+
environment: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Une PORTE : un endroit où aller chercher la suite.
|
|
27
|
+
*
|
|
28
|
+
* Volontairement plat et ORDONNÉ (un tableau, pas un objet indexé) : ce qui est
|
|
29
|
+
* lu en premier est ce qui compte, et un lecteur qui s'arrête au milieu garde le
|
|
30
|
+
* plus utile. Mesuré au banc : un agent lit la tête d'un fichier, pas sa fin.
|
|
31
|
+
*/
|
|
32
|
+
export interface ICardDoor {
|
|
33
|
+
/** Ce que la porte ouvre, en quelques mots. */
|
|
34
|
+
title: string;
|
|
35
|
+
/** URL servie, ou chemin de fichier relatif à la racine de l'application. */
|
|
36
|
+
where: string;
|
|
37
|
+
/** Pourquoi y aller — la raison, pas la description. */
|
|
38
|
+
why: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Un VERBE : une commande à lancer.
|
|
42
|
+
*
|
|
43
|
+
* ⚠️ Toujours préfixée `npx` — le binaire vit dans les `node_modules` de
|
|
44
|
+
* l'application, et `nodefony` nu rend 127.
|
|
45
|
+
*/
|
|
46
|
+
export interface ICardVerb {
|
|
47
|
+
/** Commande complète, prête à coller dans un terminal. */
|
|
48
|
+
command: string;
|
|
49
|
+
/** Ce qu'elle répond. */
|
|
50
|
+
why: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* D'où vient la liste de modules — et donc ce que la carte a le droit d'affirmer.
|
|
54
|
+
*
|
|
55
|
+
* `runtime` : l'application tourne, ce sont les modules CHARGÉS (le gating
|
|
56
|
+
* `policy`/`when` a déjà eu lieu). `static` : rien n'a démarré, ce sont les
|
|
57
|
+
* modules INSTALLÉS lus dans le `package.json` — un module installé peut très
|
|
58
|
+
* bien ne pas être chargé. La distinction est rendue à l'écran : une carte qui
|
|
59
|
+
* présenterait les deux du même mot mentirait la moitié du temps.
|
|
60
|
+
*/
|
|
61
|
+
export type CardSource = "runtime" | "static";
|
|
62
|
+
/** La carte de visite complète de l'application. */
|
|
63
|
+
export interface ICard {
|
|
64
|
+
app: ICardAppInfo;
|
|
65
|
+
/** Version du framework qui sert cette application. */
|
|
66
|
+
nodefony: {
|
|
67
|
+
version: string;
|
|
68
|
+
};
|
|
69
|
+
/** Modules, triés — chargés ou installés selon {@link ICard.source}. */
|
|
70
|
+
modules: string[];
|
|
71
|
+
/** Ce que `modules` décrit réellement. */
|
|
72
|
+
source: CardSource;
|
|
73
|
+
/** Où aller, par valeur décroissante. */
|
|
74
|
+
doors: ICardDoor[];
|
|
75
|
+
/** Quoi lancer, par valeur décroissante. */
|
|
76
|
+
verbs: ICardVerb[];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* État minimal dont {@link ICard} se dérive.
|
|
80
|
+
*
|
|
81
|
+
* INJECTÉ, jamais lu : c'est ce qui rend la construction de la carte éprouvable
|
|
82
|
+
* sans Kernel ni serveur, et ce qui l'empêche d'inventer quoi que ce soit.
|
|
83
|
+
*/
|
|
84
|
+
export interface ICardInput {
|
|
85
|
+
appName: string;
|
|
86
|
+
appVersion: string;
|
|
87
|
+
nodefonyVersion: string;
|
|
88
|
+
environment: string;
|
|
89
|
+
/** Noms courts des modules (la clé du conteneur, pas le nom npm). */
|
|
90
|
+
modules: string[];
|
|
91
|
+
/** Ce que `modules` décrit — défaut `runtime` (l'appel historique). */
|
|
92
|
+
source?: CardSource;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Construit la carte de visite d'une application à partir de son état.
|
|
96
|
+
*
|
|
97
|
+
* Fonction **PURE** : elle reçoit l'état, elle ne le lit pas. C'est ce qui la
|
|
98
|
+
* rend éprouvable sans Kernel ni serveur — et ce qui garantit qu'elle ne peut
|
|
99
|
+
* rien inventer : tout ce qu'elle rend vient de ce qu'on lui a passé.
|
|
100
|
+
*
|
|
101
|
+
* ## Pourquoi les commandes portent `npx`
|
|
102
|
+
*
|
|
103
|
+
* Le binaire `nodefony` vit dans les `node_modules` de l'application : `nodefony`
|
|
104
|
+
* nu rend 127. Mesuré sur agent réel — il recopie la FORME qu'on lui montre, pas
|
|
105
|
+
* la règle écrite à côté. Une seule commande nue suffit à l'envoyer dans le mur
|
|
106
|
+
* au premier geste.
|
|
107
|
+
*
|
|
108
|
+
* @param input - l'état de l'application (injecté, jamais lu ici).
|
|
109
|
+
* @returns la carte, prête à rendre en texte ({@link renderCard}) ou en JSON.
|
|
110
|
+
*/
|
|
111
|
+
export declare function buildCard(input: ICardInput): ICard;
|
|
112
|
+
/**
|
|
113
|
+
* Rend la carte pour un HUMAIN (ou un agent qui lit un terminal).
|
|
114
|
+
*
|
|
115
|
+
* PURE : elle ne touche ni au kernel ni au système de fichiers, donc elle
|
|
116
|
+
* s'éprouve seule. Écrite sur `stdout` par ses appelants plutôt que par le
|
|
117
|
+
* journal — une carte de visite n'est pas un événement de log, et le préfixe
|
|
118
|
+
* horodaté rendrait le copier-coller inutilisable.
|
|
119
|
+
*
|
|
120
|
+
* La ligne des modules DIT sa provenance : « chargés » n'est vrai que si
|
|
121
|
+
* l'application tournait au moment de la lecture. Sans cette mention, une carte
|
|
122
|
+
* lue à froid ferait croire que le gating `policy`/`when` a déjà eu lieu.
|
|
123
|
+
*
|
|
124
|
+
* @param card - la carte composée par {@link buildCard}.
|
|
125
|
+
* @returns le texte complet, prêt à écrire tel quel.
|
|
126
|
+
*/
|
|
127
|
+
export declare function renderCard(card: ICard): string;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import type { Command as CommanderCommand } from "commander";
|
|
2
|
+
/**
|
|
3
|
+
* Complétion shell du CLI Nodefony (`nodefony completion <shell>` + requête
|
|
4
|
+
* `nodefony __complete -- <mots>`).
|
|
5
|
+
*
|
|
6
|
+
* Contrainte d'archi : les commandes de MODULE ne sont connues qu'après le chargement
|
|
7
|
+
* du manifeste `config.modules` (`onPreRegister`) — booter le kernel à chaque TAB est
|
|
8
|
+
* exclu (secondes). Solution : un **manifest cache** (`node_modules/.cache/nodefony/
|
|
9
|
+
* cli-manifest.json`) écrit à chaque boot DEV (commandes built-in + modules, extraites
|
|
10
|
+
* de commander), lu par le fast-path standalone `__complete` en millisecondes. Hors
|
|
11
|
+
* projet / manifest absent → fallback built-ins (fourni par l'appelant, sans boot).
|
|
12
|
+
*
|
|
13
|
+
* Pur outillage process (même famille que status/stop) : AUCUN boot kernel côté
|
|
14
|
+
* requête ; `__complete` sort TOUJOURS en `EX_OK` (une complétion qui échoue doit
|
|
15
|
+
* rendre une liste vide, jamais polluer le TAB du shell).
|
|
16
|
+
*/
|
|
17
|
+
/** Une commande du manifest de complétion. */
|
|
18
|
+
export interface ICliManifestCommand {
|
|
19
|
+
name: string;
|
|
20
|
+
aliases: string[];
|
|
21
|
+
description: string;
|
|
22
|
+
/** Flags candidats (`-w`, `--workers`, …) — sans leurs placeholders `<arg>`. */
|
|
23
|
+
options: string[];
|
|
24
|
+
/**
|
|
25
|
+
* Choix des arguments POSITIONNELS, par position (`args[0]` = 1er argument).
|
|
26
|
+
* Rempli depuis les `.choices()` déclarés à commander (ex. `create <type>` →
|
|
27
|
+
* `[["app"]]`) ; `[]` = argument libre (rien à proposer). Absent sur les
|
|
28
|
+
* manifests cache antérieurs → traité comme libre (compat lecture).
|
|
29
|
+
*/
|
|
30
|
+
args?: string[][];
|
|
31
|
+
/**
|
|
32
|
+
* Le groupe d'INTENTION déclaré par la commande (cf `HELP_GROUPS`).
|
|
33
|
+
*
|
|
34
|
+
* Porté par le manifeste parce que ses deux autres lecteurs en ont besoin
|
|
35
|
+
* et ne peuvent pas le retrouver : le menu interactif s'ouvre à `onStart`,
|
|
36
|
+
* trop tôt pour connaître les commandes de module, et la page de manuel se
|
|
37
|
+
* rend hors de tout boot. Sans lui, les deux rangeaient tout un pan du CLI
|
|
38
|
+
* dans un fourre-tout, là où l'aide le classe.
|
|
39
|
+
*/
|
|
40
|
+
group?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Les flags qui attendent une VALEUR, avec ce qu'on peut proposer.
|
|
43
|
+
*
|
|
44
|
+
* Un tableau vide dit « une valeur est attendue, mais je ne sais pas
|
|
45
|
+
* laquelle » — et c'est déjà l'essentiel : sans cela, le TAB proposait les
|
|
46
|
+
* AUTRES options juste après `--env`, ce qui laissait croire qu'aucun
|
|
47
|
+
* argument n'était requis. Absent des manifests antérieurs (compat lecture).
|
|
48
|
+
*/
|
|
49
|
+
optionValues?: Record<string, string[]>;
|
|
50
|
+
}
|
|
51
|
+
/** Manifest de complétion (cache par projet). */
|
|
52
|
+
export interface ICliManifest {
|
|
53
|
+
version: string;
|
|
54
|
+
/** Flags globaux du programme (`-d`, `--debug`, …). */
|
|
55
|
+
globalOptions: string[];
|
|
56
|
+
commands: ICliManifestCommand[];
|
|
57
|
+
}
|
|
58
|
+
/** Chemin du manifest cache — même dossier que le pidfile superviseur. */
|
|
59
|
+
export declare function cliManifestFile(cwd: string): string;
|
|
60
|
+
/** Extrait les flags candidats d'une chaîne commander (`"-w, --workers <number>"`). */
|
|
61
|
+
export declare function extractFlags(flags: string): string[];
|
|
62
|
+
/**
|
|
63
|
+
* Construit le manifest depuis l'état COURANT de commander — appelé après que les
|
|
64
|
+
* modules ont posé leurs commandes (`onPreRegister`) pour un manifest complet, ou
|
|
65
|
+
* avec les seuls built-ins pour le fallback sans boot.
|
|
66
|
+
*/
|
|
67
|
+
export declare function buildCliManifest(commander: CommanderCommand, version: string): ICliManifest;
|
|
68
|
+
/**
|
|
69
|
+
* Écrit le manifest cache (mkdir -p + write async). Best-effort : l'appelant décide
|
|
70
|
+
* du fire-and-forget — un échec (FS read-only, pas de node_modules) ne doit JAMAIS
|
|
71
|
+
* impacter le boot.
|
|
72
|
+
*/
|
|
73
|
+
export declare function writeCliManifest(commander: CommanderCommand, cwd: string, version: string): Promise<void>;
|
|
74
|
+
/** Lit le manifest cache — `null` si absent ou corrompu (jamais de throw). */
|
|
75
|
+
export declare function readCliManifest(cwd: string): ICliManifest | null;
|
|
76
|
+
/**
|
|
77
|
+
* Calcule les candidats de complétion pour les mots tapés.
|
|
78
|
+
*
|
|
79
|
+
* Protocole : `words` = tous les mots APRÈS le nom du binaire, dernier mot inclus
|
|
80
|
+
* même vide (les scripts shell le transmettent tel quel). Le DERNIER mot est celui
|
|
81
|
+
* en cours de frappe → la sélection de commande ne regarde que les mots VALIDÉS
|
|
82
|
+
* (`slice(0, -1)`), et le shell filtre les candidats par le préfixe courant.
|
|
83
|
+
*
|
|
84
|
+
* - commande déjà validée → les CHOIX de l'argument positionnel en cours (s'il
|
|
85
|
+
* en déclare, ex. `create` → `app`) + ses options + les options globales ;
|
|
86
|
+
* - sinon → noms + alias de toutes les commandes.
|
|
87
|
+
*/
|
|
88
|
+
export declare function computeCompletions(manifest: ICliManifest, words: string[]): string[];
|
|
89
|
+
/** Shells supportés par `nodefony completion <shell>`. */
|
|
90
|
+
export declare const COMPLETION_SHELLS: readonly ["bash", "zsh", "fish"];
|
|
91
|
+
export type CompletionShell = (typeof COMPLETION_SHELLS)[number];
|
|
92
|
+
/**
|
|
93
|
+
* Rend le script de complétion à sourcer pour un shell. Le script est STABLE (il
|
|
94
|
+
* délègue tout au binaire via `__complete`) : les commandes de module apparaissent
|
|
95
|
+
* sans jamais regénérer le script — seule la donnée (manifest cache) bouge.
|
|
96
|
+
*/
|
|
97
|
+
export declare function renderCompletionScript(shell: CompletionShell): string;
|
|
98
|
+
/** Détecte le shell courant depuis `$SHELL` (fallback interactif du sous-commande nu). */
|
|
99
|
+
export declare function detectShell(): CompletionShell | null;
|
|
100
|
+
/** Cibles d'installation d'un shell : fichier script + rc à marquer (`null` = aucun). */
|
|
101
|
+
export declare function completionInstallTargets(shell: CompletionShell, home: string): {
|
|
102
|
+
scriptFile: string;
|
|
103
|
+
rcFile: string | null;
|
|
104
|
+
};
|
|
105
|
+
/** Retire le bloc marqué (avec ses marqueurs) d'un contenu rc — no-op si absent. */
|
|
106
|
+
export declare function removeBlock(content: string): string;
|
|
107
|
+
/** Insère (ou remplace) le bloc marqué sourçant `scriptFile` — idempotent. */
|
|
108
|
+
export declare function upsertBlock(content: string, scriptFile: string): string;
|
|
109
|
+
/**
|
|
110
|
+
* Installe la complétion pour un shell : écrit le script (mkdir -p) et, si le shell
|
|
111
|
+
* en a besoin, upsert le bloc marqué dans son rc (créé s'il n'existe pas).
|
|
112
|
+
*
|
|
113
|
+
* @returns les chemins touchés (pour le rapport utilisateur).
|
|
114
|
+
*/
|
|
115
|
+
export declare function installCompletion(shell: CompletionShell, home: string): {
|
|
116
|
+
scriptFile: string;
|
|
117
|
+
rcFile: string | null;
|
|
118
|
+
};
|
|
119
|
+
/** Désinstalle : retire le bloc du rc et supprime le fichier script. */
|
|
120
|
+
export declare function uninstallCompletion(shell: CompletionShell, home: string): {
|
|
121
|
+
scriptFile: string;
|
|
122
|
+
rcFile: string | null;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Fast-path `nodefony completion [install|uninstall] [shell]` — imprime le script,
|
|
126
|
+
* ou l'installe/désinstalle dans le rc du shell (bloc marqué idempotent).
|
|
127
|
+
*
|
|
128
|
+
* @returns exit code (`EX_OK`, ou `EX_USAGE` si shell inconnu et indétectable).
|
|
129
|
+
*/
|
|
130
|
+
export declare function runCompletionCommand(argv: string[]): number;
|
|
131
|
+
/**
|
|
132
|
+
* Fusionne les commandes du **code courant** (built-ins, construits en mémoire) avec
|
|
133
|
+
* celles que seul le manifest cache connaît (les commandes de MODULE, posées à
|
|
134
|
+
* `onPreRegister` — impossible de les lister sans booter).
|
|
135
|
+
*
|
|
136
|
+
* Pourquoi cette asymétrie : le cache est écrit au boot dev et n'est jamais invalidé
|
|
137
|
+
* (sa clé est la version du paquet, identique d'un build à l'autre en développement).
|
|
138
|
+
* S'il faisait autorité sur les built-ins, la complétion resterait figée sur l'état du
|
|
139
|
+
* dernier boot — un `create` enrichi d'un nouveau type ne le proposerait jamais (vécu).
|
|
140
|
+
* Le binaire, lui, est toujours à jour par construction : il EST le code courant.
|
|
141
|
+
*
|
|
142
|
+
* Un module retiré peut donc survivre dans la liste jusqu'au prochain boot dev — un
|
|
143
|
+
* candidat en trop au TAB, sans conséquence, corrigé au boot suivant.
|
|
144
|
+
*/
|
|
145
|
+
export declare function mergeManifests(builtins: ICliManifest, cached: ICliManifest | null): ICliManifest;
|
|
146
|
+
/**
|
|
147
|
+
* Fast-path `nodefony __complete -- <mots>` — imprime un candidat par ligne.
|
|
148
|
+
*
|
|
149
|
+
* Source : built-ins du binaire courant (`builtins`, construits en mémoire par le
|
|
150
|
+
* CliKernel, sans boot) + commandes de module lues dans le manifest cache. Sort
|
|
151
|
+
* TOUJOURS `EX_OK` : le pire résultat d'une complétion est une liste vide, jamais une
|
|
152
|
+
* erreur dans le TAB.
|
|
153
|
+
*/
|
|
154
|
+
export declare function runCompleteQuery(argv: string[], builtins: () => ICliManifest): number;
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { SysExit } from "./sysexits.js";
|
|
2
|
+
import { type TScaffoldAnswers } from "./scaffold/engine.js";
|
|
3
|
+
import { type IScaffoldChange } from "./scaffold/writer.js";
|
|
4
|
+
import { type IAgentTarget } from "./agentTargets.js";
|
|
5
|
+
/**
|
|
6
|
+
* Adaptateur CLI du scaffold `nodefony create <type> [name]` — front n°1 et n°2
|
|
7
|
+
* du moteur (`scaffold/engine.ts`, partagé avec Studio) :
|
|
8
|
+
*
|
|
9
|
+
* - **CLI rapide** : tout est dit en flags (`create app x --preset minimal
|
|
10
|
+
* --frontend react --link`) → zéro question, scriptable.
|
|
11
|
+
* - **CLI interactif** (défaut en TTY) : les questions de la spec NON couvertes
|
|
12
|
+
* par les flags sont posées en readline natif, récap + confirmation.
|
|
13
|
+
* - Hors TTY (CI, spawn de test) : les défauts de la spec s'appliquent —
|
|
14
|
+
* comportement stable pour les scripts, `--yes` force la même chose en TTY.
|
|
15
|
+
*
|
|
16
|
+
* Pur outillage standalone (même famille que status/stop/completion) : AUCUN
|
|
17
|
+
* boot kernel — cas nominal HORS projet : `npx nodefony create app mon-app`.
|
|
18
|
+
*/
|
|
19
|
+
/** Types de scaffold disponibles. */
|
|
20
|
+
export declare const CREATE_TYPES: readonly ["app", "module", "controller", "service", "front", "entity", "command"];
|
|
21
|
+
export type TCreateType = (typeof CREATE_TYPES)[number];
|
|
22
|
+
export interface ICreateRequest {
|
|
23
|
+
/** `true` si l'on veut seulement la page d'aide. */
|
|
24
|
+
help: boolean;
|
|
25
|
+
/** `undefined` seulement avec `--describe-json` (décrire TOUS les types). */
|
|
26
|
+
type?: TCreateType;
|
|
27
|
+
/** Réponses partielles issues des flags (le reste : interactif ou défauts). */
|
|
28
|
+
answers: TScaffoldAnswers;
|
|
29
|
+
/** Dossier cible (défaut : `./<name>` une fois le nom connu). */
|
|
30
|
+
dir?: string;
|
|
31
|
+
force: boolean;
|
|
32
|
+
/** `--yes` : accepter les défauts sans poser de question (même en TTY). */
|
|
33
|
+
yes: boolean;
|
|
34
|
+
/** `--no-install` : ne pas lancer `npm install` après la génération. */
|
|
35
|
+
install: boolean;
|
|
36
|
+
/** `--no-git` : ne pas faire `git init` + first commit après la génération. */
|
|
37
|
+
git: boolean;
|
|
38
|
+
/** `--dry-run` : montrer ce qui serait écrit, ne rien écrire. */
|
|
39
|
+
dryRun: boolean;
|
|
40
|
+
/** `--describe-json` : décrire le scaffold en JSON et sortir (mode machine). */
|
|
41
|
+
describeJson: boolean;
|
|
42
|
+
/** `--answers-json <fichier|->` : source des réponses (fichier, ou `-` = stdin). */
|
|
43
|
+
answersJson?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Parse l'argv complet du process après le mot `create`. Ne valide QUE la forme
|
|
47
|
+
* des flags — les valeurs (nom, preset…) sont jugées par la spec du moteur.
|
|
48
|
+
*
|
|
49
|
+
* @returns la requête, ou un message d'usage si invalide
|
|
50
|
+
*/
|
|
51
|
+
export declare function parseCreateArgv(argv: string[]): ICreateRequest | {
|
|
52
|
+
error: string;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Rend le plan d'un `--dry-run` : ce qui serait créé, et surtout le DIFF de ce
|
|
56
|
+
* qui serait réécrit.
|
|
57
|
+
*
|
|
58
|
+
* Les créations sont listées à plat (leur contenu n'écrase rien, l'inventaire
|
|
59
|
+
* suffit) ; les réécritures sont les seules opérations qui touchent au travail
|
|
60
|
+
* existant — c'est là que la simulation a une valeur, donc c'est là qu'on
|
|
61
|
+
* dépense de la place.
|
|
62
|
+
*/
|
|
63
|
+
export declare function renderDryRun(changes: IScaffoldChange[], notes?: string[]): string;
|
|
64
|
+
/**
|
|
65
|
+
* Le code de sortie de `create`, décidé à part — parce qu'il se teste.
|
|
66
|
+
*
|
|
67
|
+
* Le défaut qu'il ferme : la commande affichait « npm run build a échoué »
|
|
68
|
+
* puis rendait **0**. L'application existait bien, c'est vrai — mais elle
|
|
69
|
+
* n'était PAS utilisable, et aucun automate ne pouvait le savoir : ni une
|
|
70
|
+
* chaîne d'intégration continue, ni un banc, ni un agent qui enchaîne. C'est
|
|
71
|
+
* exactement ce qui a laissé le front d'une application générée ne pas se
|
|
72
|
+
* bâtir sans que rien ne tombe, le message se noyant dans la sortie.
|
|
73
|
+
*
|
|
74
|
+
* La règle : **ce qui est ÉCRIT reste écrit** (les fichiers ne sont pas
|
|
75
|
+
* retirés, les prochaines étapes sont affichées, `npm run build` y figure),
|
|
76
|
+
* mais le code de sortie DIT qu'il reste quelque chose à faire.
|
|
77
|
+
*
|
|
78
|
+
* L'installation sautée (`--no-install`) ne compte pas comme un échec : rien
|
|
79
|
+
* n'a été tenté, et la commande l'annonce dans ses prochaines étapes.
|
|
80
|
+
*
|
|
81
|
+
* 🔴 **Sautée et ratée sont deux états, pas un booléen.** Les deux étapes
|
|
82
|
+
* étaient rendues par `boolean`, où `false` disait à la fois « on ne l'a pas
|
|
83
|
+
* lancée » et « on l'a lancée et elle a échoué ». Une installation ratée
|
|
84
|
+
* tombait donc du bon côté : code 0. Or elle emporte TOUT ce qui la suit — le
|
|
85
|
+
* formatage, le build, la migration initiale — et l'utilisateur reçoit une
|
|
86
|
+
* application qui ne peut pas démarrer, sous un succès. Constaté sur le décor
|
|
87
|
+
* du banc de découvrabilité, dont l'application témoin n'avait jamais eu de
|
|
88
|
+
* `dist/` ni de `migrations/` : le manifeste pointait encore vers un registre
|
|
89
|
+
* où aucun paquet `@nodefony/*` n'est publié.
|
|
90
|
+
*
|
|
91
|
+
* @param install - l'installation des dépendances : sautée, réussie, échouée.
|
|
92
|
+
* @param build - `npm run build` : sauté (l'install n'a pas eu lieu), réussi,
|
|
93
|
+
* échoué.
|
|
94
|
+
* @returns `OK`, ou `SOFTWARE` dès qu'une étape TENTÉE a échoué.
|
|
95
|
+
*/
|
|
96
|
+
export declare function createExitCode(install: CreateStepOutcome, build: CreateStepOutcome): SysExit;
|
|
97
|
+
/**
|
|
98
|
+
* Ce qu'une étape de post-génération a fait : rien, ou réussi, ou échoué.
|
|
99
|
+
*
|
|
100
|
+
* Trois états parce que deux ne suffisent pas — cf {@link createExitCode}.
|
|
101
|
+
*/
|
|
102
|
+
export type CreateStepOutcome = "skipped" | "succeeded" | "failed";
|
|
103
|
+
/**
|
|
104
|
+
* Un type manquant se DEMANDE-t-il, ou l'usage est-il la bonne réponse ? PURE.
|
|
105
|
+
*
|
|
106
|
+
* Trois conditions, et chacune dit quelque chose de différent :
|
|
107
|
+
* - l'erreur est bien « aucun type » — un type FAUTIF (`create ap`) se corrige,
|
|
108
|
+
* il ne se remplace pas par une question qui masquerait la faute de frappe ;
|
|
109
|
+
* - un terminal répond en face — sans lui, une question est un blocage muet ;
|
|
110
|
+
* - `--yes` n'a pas été demandé : il dit « ne me demande rien », et le
|
|
111
|
+
* respecter vaut mieux que de rendre service.
|
|
112
|
+
*
|
|
113
|
+
* @param error - le motif rendu par l'analyse de la ligne de commande.
|
|
114
|
+
* @param ctx - terminal disponible, et présence de `--yes`.
|
|
115
|
+
*/
|
|
116
|
+
export declare function shouldAskForType(error: string, ctx: {
|
|
117
|
+
isTTY: boolean;
|
|
118
|
+
yes: boolean;
|
|
119
|
+
}): boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Décide si `create app` CÂBLE la porte MCP chez les agents choisis. PURE.
|
|
122
|
+
*
|
|
123
|
+
* Deux refus, deux raisons qui n'ont rien à voir :
|
|
124
|
+
* - **aucun agent choisi** — et c'est le DÉFAUT (la question de la spec part
|
|
125
|
+
* vide). Déclarer une porte chez un agent ÉCRIT dans la configuration d'un
|
|
126
|
+
* autre outil : rien de coché, rien d'écrit, en terminal comme ailleurs.
|
|
127
|
+
* C'est le choix explicite qui autorise, pas la présence d'un humain — ce
|
|
128
|
+
* qui rend le geste servable par Studio, qui n'est pas un terminal.
|
|
129
|
+
* - **app ni installée ni construite** (`--no-install`, ou une install en
|
|
130
|
+
* échec) : `ai:mcp` enchaîne sur l'émission du jeton, qui DÉMARRE le kernel.
|
|
131
|
+
* Sans `node_modules` ni `dist`, on provoquerait soi-même l'échec — le geste
|
|
132
|
+
* est alors NOMMÉ plutôt que joué.
|
|
133
|
+
*
|
|
134
|
+
* @param ctx - nombre d'agents choisis, et état réel de l'app générée.
|
|
135
|
+
* @returns la proposition, ou le motif du refus (affiché tel quel).
|
|
136
|
+
*/
|
|
137
|
+
export declare function mcpWiringPlan(ctx: {
|
|
138
|
+
chosen: number;
|
|
139
|
+
installed: boolean;
|
|
140
|
+
built: boolean;
|
|
141
|
+
}): {
|
|
142
|
+
propose: true;
|
|
143
|
+
} | {
|
|
144
|
+
propose: false;
|
|
145
|
+
pattern: string;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Traduit le choix d'agents de développement en appel `ai:mcp` — PURE.
|
|
149
|
+
*
|
|
150
|
+
* ⭐ **Ce qui se choisit, c'est l'AGENT ; la porte MCP vient AVEC.** Demander
|
|
151
|
+
* « veux-tu déclarer une porte MCP ? » posait la question à l'envers : personne
|
|
152
|
+
* n'installe un protocole, on se sert d'un assistant — et c'est lui qui a besoin
|
|
153
|
+
* de la porte. Une seule question, dans les mots de celui qui répond.
|
|
154
|
+
*
|
|
155
|
+
* Deux familles d'agents, une seule liste : ceux qui se déclarent par LEUR CLI
|
|
156
|
+
* (`--agent <clés>`) et ceux qui lisent le `.mcp.json` du projet — pour ces
|
|
157
|
+
* derniers, écrire le fichier EST la déclaration, d'où `none` plutôt que rien :
|
|
158
|
+
* `--agent none` dit « n'appelle aucune CLI », pas « ne fais rien ».
|
|
159
|
+
*
|
|
160
|
+
* `--auth` : l'en-tête porte `${NF_MCP_TOKEN}`, jamais le jeton lui-même. Une
|
|
161
|
+
* app neuve naît avec sa porte fermée ; l'ouvrir sans authentification serait un
|
|
162
|
+
* défaut par défaut.
|
|
163
|
+
*
|
|
164
|
+
* @param chosen - clés cochées par l'utilisateur.
|
|
165
|
+
* @param detected - agents présents sur ce poste (source unique `AGENT_TARGETS`).
|
|
166
|
+
* @param dest - racine de l'app générée.
|
|
167
|
+
* @returns l'argv à passer à `ai:mcp`, ou `null` quand aucun agent n'est choisi
|
|
168
|
+
* — coder seul est un choix, et rien ne doit alors être écrit.
|
|
169
|
+
*/
|
|
170
|
+
export declare function argvMcpWiring(chosen: readonly string[], detected: readonly IAgentTarget[], dest: string): string[] | null;
|
|
171
|
+
/**
|
|
172
|
+
* Commande `nodefony create` — orchestre l'adaptateur : parse argv, complète en
|
|
173
|
+
* interactif si TTY, délègue au moteur, rend le récap.
|
|
174
|
+
*
|
|
175
|
+
* @returns exit code sémantique (`OK`, `USAGE`, `CANTCREAT`, `SOFTWARE`)
|
|
176
|
+
*/
|
|
177
|
+
export declare function runCreateCommand(argv: string[]): Promise<number>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { type NamedEnvVarMeta } from "../config/defineEnv.js";
|
|
2
|
+
import { type IEnvReport } from "./envReport.js";
|
|
3
|
+
/**
|
|
4
|
+
* `nodefony env [--json]` — dit TOUT de l'environnement d'une application :
|
|
5
|
+
* quels fichiers sont lus et dans quel ordre, quelles variables sont déclarées,
|
|
6
|
+
* quelle valeur est effective, d'OÙ elle vient, et ce qui est ignoré.
|
|
7
|
+
*
|
|
8
|
+
* Pourquoi une commande à part, et non un sujet d'`inspect` : `inspect`
|
|
9
|
+
* interroge une application BOOTÉE (routes, services, configuration résolue).
|
|
10
|
+
* Or on cherche une variable d'environnement précisément quand l'application
|
|
11
|
+
* NE démarre pas — variable requise manquante, valeur qui ne prend pas, fichier
|
|
12
|
+
* qu'on croit lu. Cette commande est donc standalone, comme `status` et `check` :
|
|
13
|
+
* elle ne lit que des fichiers, et répond même sur une application cassée.
|
|
14
|
+
*
|
|
15
|
+
* Ce qu'elle répare : la cascade `loadEnv` est correcte mais INVISIBLE — elle
|
|
16
|
+
* n'était écrite que dans un commentaire du framework. Un agent, comme un
|
|
17
|
+
* humain, ne pouvait que la deviner, et deviner produit toujours la même erreur :
|
|
18
|
+
* poser la variable dans un fichier de rang inférieur à celui qui la définit
|
|
19
|
+
* déjà, puis conclure que « ça ne marche pas ».
|
|
20
|
+
*/
|
|
21
|
+
/** Ce que la ligne de commande demande. */
|
|
22
|
+
interface IEnvRequest {
|
|
23
|
+
json: boolean;
|
|
24
|
+
/** `--example` : générer/vérifier `.env.example` au lieu du rapport. */
|
|
25
|
+
example: boolean;
|
|
26
|
+
/** `--check` : ne rien écrire, échouer si `.env.example` diverge. */
|
|
27
|
+
check: boolean;
|
|
28
|
+
/** Racine de recherche (défaut : le cwd). */
|
|
29
|
+
cwd: string;
|
|
30
|
+
/**
|
|
31
|
+
* `--env <e>` : évaluer les exigences sous CET environnement plutôt que celui
|
|
32
|
+
* d'ici. Les valeurs restent celles de la machine — on ne simule pas un
|
|
33
|
+
* déploiement, on demande « qu'est-ce qui manquera là-bas ? ».
|
|
34
|
+
*/
|
|
35
|
+
targetEnv: string | null;
|
|
36
|
+
/** `true` si l'on veut seulement la page d'aide. */
|
|
37
|
+
help: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** Parse l'argv après le mot `env`. */
|
|
40
|
+
export declare function parseEnvArgv(argv: string[]): IEnvRequest | {
|
|
41
|
+
error: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Commande `nodefony env` — orchestre : résout le projet, lit la cascade et le
|
|
45
|
+
* catalogue, délègue le calcul au module pur, rend.
|
|
46
|
+
*
|
|
47
|
+
* @returns exit code sémantique (`OK`, `USAGE`, `CONFIG` si une requise manque)
|
|
48
|
+
*/
|
|
49
|
+
/**
|
|
50
|
+
* Compose le rapport d'environnement d'un projet — la MÊME donnée pour tous ses
|
|
51
|
+
* lecteurs.
|
|
52
|
+
*
|
|
53
|
+
* Extraite de {@link runEnvCommand} pour que `nodefony doctor` puisse dire « il
|
|
54
|
+
* manque une variable REQUISE » sans réimplémenter la cascade : deux définitions
|
|
55
|
+
* de « quelle valeur est effective » divergeraient, et chacune passerait ses
|
|
56
|
+
* propres tests. Le second lecteur ne rend d'ailleurs pas le rapport, il n'en
|
|
57
|
+
* lit que les manquantes — raison de plus pour qu'il ne le RECALCULE pas.
|
|
58
|
+
*
|
|
59
|
+
* @param projectRoot - racine de l'application, ou `null` hors projet (le
|
|
60
|
+
* catalogue des variables déclarées est alors inconnu : il se lit dans le
|
|
61
|
+
* `dist/` de l'application).
|
|
62
|
+
* @param cwd - dossier de départ, utilisé comme racine hors projet.
|
|
63
|
+
* @returns le rapport complet (fichiers lus, variables, provenance, notes).
|
|
64
|
+
*/
|
|
65
|
+
export declare function buildProjectEnvReport(projectRoot: string | null, cwd: string, targetEnv?: string | null): Promise<IEnvReport>;
|
|
66
|
+
/**
|
|
67
|
+
* Compose le contenu de `.env.example` d'une application — PUR.
|
|
68
|
+
*
|
|
69
|
+
* @param catalog - catalogue des variables (via `getEnvCatalog`).
|
|
70
|
+
* @returns le texte complet du fichier.
|
|
71
|
+
*/
|
|
72
|
+
export declare function composeEnvExample(catalog: readonly NamedEnvVarMeta[], customHeader?: string | null): string;
|
|
73
|
+
/**
|
|
74
|
+
* L'en-tête curé du projet, s'il en a un — convention `.env.example.head` à la
|
|
75
|
+
* racine (versionné). Il PRIME sur l'en-tête générique : un projet qui a écrit
|
|
76
|
+
* son onboarding le garde, le corps reste dérivé du catalogue dans tous les
|
|
77
|
+
* cas. C'est ce qui a permis au dépôt self-hosted de MIGRER de son script
|
|
78
|
+
* `gen-env-example.ts` vers cette commande sans perdre sa prose.
|
|
79
|
+
*
|
|
80
|
+
* @param projectRoot - racine de l'application.
|
|
81
|
+
* @returns le contenu du fichier, ou `null` s'il n'existe pas.
|
|
82
|
+
*/
|
|
83
|
+
export declare function readExampleHeader(projectRoot: string): string | null;
|
|
84
|
+
/**
|
|
85
|
+
* Applique (ou vérifie) le contenu sur le `.env.example` du projet — I/O seul,
|
|
86
|
+
* la composition appartient à {@link composeEnvExample}.
|
|
87
|
+
*
|
|
88
|
+
* Idempotence FORTE : un fichier déjà identique n'est pas réécrit — même
|
|
89
|
+
* doctrine qu'`ai:sync`, un outil qui salit l'horodatage est un outil qu'on
|
|
90
|
+
* hésite à lancer.
|
|
91
|
+
*
|
|
92
|
+
* @param projectRoot - racine de l'application.
|
|
93
|
+
* @param content - contenu attendu, composé en amont.
|
|
94
|
+
* @param check - `true` : ne rien écrire, seulement comparer.
|
|
95
|
+
* @returns `synced` : le fichier correspond (déjà, ou après écriture) ;
|
|
96
|
+
* `wrote` : une écriture a eu lieu.
|
|
97
|
+
*/
|
|
98
|
+
export declare function applyEnvExample(projectRoot: string, content: string, check: boolean): {
|
|
99
|
+
synced: boolean;
|
|
100
|
+
wrote: boolean;
|
|
101
|
+
};
|
|
102
|
+
export declare function runEnvCommand(argv: string[]): Promise<number>;
|
|
103
|
+
export {};
|