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,153 @@
|
|
|
1
|
+
import { type NamedEnvVarMeta } from "../config/defineEnv.js";
|
|
2
|
+
/**
|
|
3
|
+
* Calcul PUR du rapport d'environnement — aucune I/O, aucun `process.env` lu ici.
|
|
4
|
+
*
|
|
5
|
+
* Pourquoi ce module existe séparé de la commande : la question « d'où vient
|
|
6
|
+
* cette valeur ? » ne se répond bien qu'en confrontant la cascade des fichiers à
|
|
7
|
+
* l'environnement réel, et cette confrontation doit être TESTABLE sans écrire un
|
|
8
|
+
* seul fichier sur disque. L'adaptateur (`cli/env.ts`) lit ; ce module conclut.
|
|
9
|
+
*
|
|
10
|
+
* Le calcul ne demande AUCUNE instrumentation de `loadEnv` : au moment où la
|
|
11
|
+
* commande s'exécute, `process.env` est déjà peuplé et l'on a perdu la trace de
|
|
12
|
+
* qui a posé quoi. On la reconstruit — pour chaque variable, le premier fichier
|
|
13
|
+
* de la cascade qui la définit avec la valeur effective EST son origine ; si
|
|
14
|
+
* aucun ne la définit ainsi, elle vient du shell, qui gagne toujours.
|
|
15
|
+
*/
|
|
16
|
+
/** Un niveau de la cascade — `process.env` ou un fichier `.env*`. */
|
|
17
|
+
export interface IEnvLevel {
|
|
18
|
+
/** 1 = le plus prioritaire. */
|
|
19
|
+
rank: number;
|
|
20
|
+
/** `process.env` ou le nom du fichier (`.env.local`…). */
|
|
21
|
+
source: string;
|
|
22
|
+
/** Le niveau existe-t-il (fichier présent) ? */
|
|
23
|
+
exists: boolean;
|
|
24
|
+
/** Nombre de variables qu'il définit. */
|
|
25
|
+
count: number;
|
|
26
|
+
/** Pourquoi ce niveau ne s'applique pas (ex. environnement de déploiement non défini). */
|
|
27
|
+
skipped?: string;
|
|
28
|
+
}
|
|
29
|
+
/** Une variable, telle que le rapport la restitue. */
|
|
30
|
+
export interface IEnvVarReport {
|
|
31
|
+
name: string;
|
|
32
|
+
/** Nature déclarée, ou `unknown` pour une variable présente hors catalogue. */
|
|
33
|
+
kind: string;
|
|
34
|
+
/** Déclarée par `env.ts` (catalogue `defineEnv`) ? */
|
|
35
|
+
declared: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Doit être présente DANS L'ENVIRONNEMENT ÉVALUÉ.
|
|
38
|
+
*
|
|
39
|
+
* Pas seulement « ni défaut ni `optional` » : une variable peut n'être requise
|
|
40
|
+
* qu'en production (`requiredIn`), et le rapport se lit alors sous l'angle de
|
|
41
|
+
* l'environnement visé — celui du poste par défaut, celui de `--env` sinon.
|
|
42
|
+
*/
|
|
43
|
+
required: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Les environnements où sa déclaration l'exige — vide si elle l'est partout
|
|
46
|
+
* ou nulle part. C'est ce qui permet de dire « requise en production » sans
|
|
47
|
+
* le déduire, à tort, du seul fait qu'elle manque ici.
|
|
48
|
+
*/
|
|
49
|
+
requiredIn?: readonly string[];
|
|
50
|
+
/** Nom sensible → la valeur n'est jamais rendue. */
|
|
51
|
+
secret: boolean;
|
|
52
|
+
description?: string;
|
|
53
|
+
/** Valeur effective, masquée si `secret`. `null` = absente. */
|
|
54
|
+
value: string | null;
|
|
55
|
+
/** D'où vient la valeur effective. `null` si absente. */
|
|
56
|
+
origin: string | null;
|
|
57
|
+
/** Défaut déclaré (si la variable est absente, c'est lui qui s'appliquera). */
|
|
58
|
+
default?: unknown;
|
|
59
|
+
/** Valeurs permises (énumération). */
|
|
60
|
+
values?: readonly string[];
|
|
61
|
+
/** Requise ET absente : l'application ne démarrera pas. */
|
|
62
|
+
missing: boolean;
|
|
63
|
+
/** Niveaux qui la définissent mais sont MASQUÉS par l'origine gagnante. */
|
|
64
|
+
shadowed: {
|
|
65
|
+
source: string;
|
|
66
|
+
value: string;
|
|
67
|
+
}[];
|
|
68
|
+
}
|
|
69
|
+
/** Une surcharge directe de configuration de module (`NF__<MODULE>__<CHEMIN>`). */
|
|
70
|
+
export interface IEnvOverrideReport {
|
|
71
|
+
envKey: string;
|
|
72
|
+
module: string;
|
|
73
|
+
path: string[];
|
|
74
|
+
/** Masquée si le chemin porte un secret. */
|
|
75
|
+
value: string;
|
|
76
|
+
origin: string | null;
|
|
77
|
+
}
|
|
78
|
+
/** Rapport complet — la forme rendue par `--json`. */
|
|
79
|
+
export interface IEnvReport {
|
|
80
|
+
/** Mode runtime (`NODE_ENV`). */
|
|
81
|
+
runtimeEnv: string;
|
|
82
|
+
/** Environnement de déploiement (`APP_ENV`/`NF_ENV`), s'il diffère. */
|
|
83
|
+
appEnv: string | null;
|
|
84
|
+
/**
|
|
85
|
+
* L'environnement sous lequel les exigences sont ÉVALUÉES, quand ce n'est pas
|
|
86
|
+
* celui d'ici — ce que demande `--env production` depuis un poste de
|
|
87
|
+
* développement. `null` = le rapport parle de la machine courante.
|
|
88
|
+
*/
|
|
89
|
+
targetEnv: string | null;
|
|
90
|
+
/**
|
|
91
|
+
* Les étiquettes effectivement confrontées à `requiredIn` (mode d'exécution,
|
|
92
|
+
* et environnement de déploiement s'il diffère). Rendues parce qu'un verdict
|
|
93
|
+
* d'exigence est incompréhensible sans savoir sur quoi il a porté.
|
|
94
|
+
*/
|
|
95
|
+
stages: readonly string[];
|
|
96
|
+
/** La cascade, du plus fort au plus faible. */
|
|
97
|
+
levels: IEnvLevel[];
|
|
98
|
+
/** Variables déclarées par l'application. */
|
|
99
|
+
vars: IEnvVarReport[];
|
|
100
|
+
/** Surcharges `NF__…` de configuration de module. */
|
|
101
|
+
overrides: IEnvOverrideReport[];
|
|
102
|
+
/** Variables présentes mais inconnues du catalogue (fautes de frappe probables). */
|
|
103
|
+
unknown: {
|
|
104
|
+
name: string;
|
|
105
|
+
origin: string | null;
|
|
106
|
+
suggestion?: string;
|
|
107
|
+
}[];
|
|
108
|
+
/**
|
|
109
|
+
* Variables posées par le FRAMEWORK lui-même (lanceur, mode de démarrage,
|
|
110
|
+
* grappe, jeton MCP). Elles ne relèvent pas de la configuration de
|
|
111
|
+
* l'application : les compter parmi les inconnues accusait l'utilisateur
|
|
112
|
+
* d'une faute de frappe qu'il n'avait pas commise.
|
|
113
|
+
*/
|
|
114
|
+
reserved: {
|
|
115
|
+
name: string;
|
|
116
|
+
origin: string | null;
|
|
117
|
+
role: string;
|
|
118
|
+
}[];
|
|
119
|
+
/** Le catalogue de l'application a-t-il pu être lu ? */
|
|
120
|
+
catalogAvailable: boolean;
|
|
121
|
+
/** Ce que le rapport n'a pas pu établir, et pourquoi. */
|
|
122
|
+
notes: string[];
|
|
123
|
+
}
|
|
124
|
+
/** Un niveau de fichier tel que l'adaptateur le fournit (`vars: null` = absent). */
|
|
125
|
+
export interface IEnvFileInput {
|
|
126
|
+
source: string;
|
|
127
|
+
vars: Record<string, string> | null;
|
|
128
|
+
skipped?: string;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Construit le rapport d'environnement.
|
|
132
|
+
*
|
|
133
|
+
* @param input.runtimeEnv - mode runtime (`NODE_ENV`).
|
|
134
|
+
* @param input.appEnv - environnement de déploiement, s'il diffère du mode.
|
|
135
|
+
* @param input.processEnv - l'environnement effectif, cascade déjà appliquée.
|
|
136
|
+
* @param input.files - les niveaux de fichiers, du PLUS fort au PLUS faible.
|
|
137
|
+
* @param input.catalog - les variables déclarées par l'app, ou `null` si illisible.
|
|
138
|
+
* @returns le rapport, sérialisable tel quel.
|
|
139
|
+
*/
|
|
140
|
+
export declare function buildEnvReport(input: {
|
|
141
|
+
runtimeEnv: string;
|
|
142
|
+
appEnv?: string | null;
|
|
143
|
+
processEnv: Record<string, string | undefined>;
|
|
144
|
+
files: IEnvFileInput[];
|
|
145
|
+
catalog: readonly NamedEnvVarMeta[] | null;
|
|
146
|
+
/**
|
|
147
|
+
* Environnement à ÉVALUER, s'il n'est pas celui d'ici — ce que demande
|
|
148
|
+
* `nodefony doctor --env production` depuis un poste de développement. Les
|
|
149
|
+
* valeurs restent celles de la machine : on ne simule pas un déploiement, on
|
|
150
|
+
* confronte l'environnement PRÉSENT aux exigences de celui qu'on VISE.
|
|
151
|
+
*/
|
|
152
|
+
targetEnv?: string | null;
|
|
153
|
+
}): IEnvReport;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
/**
|
|
3
|
+
* Lancer un exécutable de l'écosystème npm, sur les trois systèmes.
|
|
4
|
+
*
|
|
5
|
+
* ## Le défaut, et pourquoi il ne se voit jamais sur un poste de développement
|
|
6
|
+
*
|
|
7
|
+
* Sous Windows, `npm`, `npx`, `prettier` et compagnie ne sont pas des exécutables :
|
|
8
|
+
* ce sont des scripts `.cmd`. Depuis le correctif de CVE-2024-27980, Node REFUSE
|
|
9
|
+
* d'exécuter un `.cmd` sans `shell: true` — et il ne le dit pas en ces termes : il
|
|
10
|
+
* rend `spawnSync npm ENOENT`, qui se lit « npm n'est pas installé ». Sur une
|
|
11
|
+
* machine où npm vient de tourner, c'est un message qui envoie chercher très loin
|
|
12
|
+
* de la cause.
|
|
13
|
+
*
|
|
14
|
+
* Ce que cela coûtait EN PRODUIT, et pas seulement en outillage : `nodefony create
|
|
15
|
+
* module` installe le workspace npm qu'il vient d'écrire — c'est ce `npm install`
|
|
16
|
+
* qui crée le lien sans lequel le Kernel ne peut pas importer le module par son
|
|
17
|
+
* nom. Sous Windows il ne s'exécutait pas ; le module était écrit, construit,
|
|
18
|
+
* déclaré au manifeste — et introuvable au boot. L'application démarrait sans lui
|
|
19
|
+
* (fail-soft) et TOUTES ses routes rendaient 404.
|
|
20
|
+
*
|
|
21
|
+
* ## Une seule implémentation, dans le FRAMEWORK
|
|
22
|
+
*
|
|
23
|
+
* La règle a d'abord été écrite dans le banc qui mesure le framework, jamais dans
|
|
24
|
+
* le framework lui-même — si bien que l'outil de mesure était portable et que le
|
|
25
|
+
* produit ne l'était pas. C'est l'utilisateur qui subit la règle : c'est donc ici
|
|
26
|
+
* qu'elle vit, et le banc l'importe.
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* Faut-il passer par le shell pour lancer cette commande ?
|
|
30
|
+
*
|
|
31
|
+
* Vrai sous Windows dans DEUX cas, et une première version n'en voyait qu'un :
|
|
32
|
+
*
|
|
33
|
+
* 1. la commande est cherchée dans le `PATH` (`npm`, `npx`) — elle s'y résout en
|
|
34
|
+
* `.cmd` ;
|
|
35
|
+
* 2. la commande est un chemin ABSOLU qui désigne un script batch
|
|
36
|
+
* (`…\node_modules\.bin\oxlint.cmd`).
|
|
37
|
+
*
|
|
38
|
+
* « Absolu donc exécutable réel » est une inférence, pas un constat : ce qui empêche
|
|
39
|
+
* Node de lancer la chose n'est pas l'endroit où elle est, c'est ce qu'elle EST.
|
|
40
|
+
*
|
|
41
|
+
* Ailleurs que sous Windows, `shell: true` est à éviter : il rouvre l'interprétation
|
|
42
|
+
* des métacaractères sur des arguments qui viennent parfois d'un décor.
|
|
43
|
+
*
|
|
44
|
+
* La plateforme et la grammaire de chemins sont INJECTÉES, et ce n'est pas de la
|
|
45
|
+
* coquetterie : une fonction qui lit `process.platform` ne peut être éprouvée que
|
|
46
|
+
* sur la plateforme qu'elle décrit — c'est-à-dire jamais, sur les postes de ce
|
|
47
|
+
* projet. Injectées, les deux branches se vérifient partout.
|
|
48
|
+
*
|
|
49
|
+
* @param command - ce qu'on s'apprête à lancer.
|
|
50
|
+
* @param plateforme - le système, injectable pour l'épreuve.
|
|
51
|
+
* @param grammar - `path.win32` ou `path.posix`, idem.
|
|
52
|
+
* @returns la valeur à donner à l'option `shell` de `spawn`/`spawnSync`.
|
|
53
|
+
*/
|
|
54
|
+
export declare function needsShell(command: string, plateforme?: NodeJS.Platform, grammar?: Pick<typeof path, "isAbsolute">): boolean;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type IGitHooksPlan } from "./gitHooksReport.js";
|
|
2
|
+
/**
|
|
3
|
+
* Analyse les arguments de `git:hooks`.
|
|
4
|
+
*
|
|
5
|
+
* @param argv - `process.argv` complet.
|
|
6
|
+
* @returns les options, ou une erreur d'usage.
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseGitHooksArgv(argv: string[]): {
|
|
9
|
+
cwd: string;
|
|
10
|
+
json: boolean;
|
|
11
|
+
dryRun: boolean;
|
|
12
|
+
help: boolean;
|
|
13
|
+
} | {
|
|
14
|
+
error: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Pose les hooks natifs dans un projet, et rend le plan de ce qui a été fait.
|
|
18
|
+
*
|
|
19
|
+
* Le geste ENTIER — lire, décider, écrire, configurer — en un exemplaire, pour
|
|
20
|
+
* ses appelants présents et futurs (la commande ; un jour `create app
|
|
21
|
+
* --git-hooks`). Tout refus (hook étranger, `core.hooksPath` géré autrement)
|
|
22
|
+
* interdit TOUT le geste : pas d'état à moitié posé.
|
|
23
|
+
*
|
|
24
|
+
* ⚠️ `core.hooksPath` RELATIF se résout depuis le TOPLEVEL du dépôt git, pas
|
|
25
|
+
* depuis l'application. Quand l'application n'est pas le toplevel (monorepo),
|
|
26
|
+
* la valeur posée est le chemin du dossier de hooks VU DU toplevel — calculée
|
|
27
|
+
* ici, écrite en `/` (elle voyage dans la config du clone).
|
|
28
|
+
*
|
|
29
|
+
* @param projectRoot - racine de l'application, DÉJÀ résolue.
|
|
30
|
+
* @param dryRun - `true` pour calculer sans rien écrire ni configurer.
|
|
31
|
+
* @returns le plan, ou `null` si `projectRoot` n'est dans aucun dépôt git.
|
|
32
|
+
*/
|
|
33
|
+
export declare function installGitHooks(projectRoot: string, dryRun?: boolean): IGitHooksPlan | null;
|
|
34
|
+
/**
|
|
35
|
+
* Commande `nodefony git:hooks` — hooks git natifs (`core.hooksPath`), zéro
|
|
36
|
+
* dépendance.
|
|
37
|
+
*
|
|
38
|
+
* Standalone (0 boot) : elle écrit deux fichiers et une clé de config, et doit
|
|
39
|
+
* répondre dans un terminal qui n'a pas posé `NODE_ENV` — même famille que
|
|
40
|
+
* `ai:sync` et `ai:mcp`, mêmes raisons. Et comme eux, AUCUN `postinstall` ne
|
|
41
|
+
* l'appelle : la pose de hooks est un choix, pas un effet de bord d'un
|
|
42
|
+
* `npm install`.
|
|
43
|
+
*
|
|
44
|
+
* @param argv - `process.argv` complet.
|
|
45
|
+
* @returns exit code sémantique (`OK`, `USAGE`, `NOINPUT` hors projet,
|
|
46
|
+
* `UNAVAILABLE` hors dépôt git, `CANTCREAT` sur refus d'écrasement).
|
|
47
|
+
*/
|
|
48
|
+
export declare function runGitHooksCommand(argv: string[]): number;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composition PURE de `nodefony git:hooks` — hooks git natifs, zéro dépendance.
|
|
3
|
+
*
|
|
4
|
+
* Reçoit un état déjà lu (contenu actuel des hooks, valeur de `core.hooksPath`)
|
|
5
|
+
* et conclut : que poser, que laisser, que REFUSER. Aucune lecture de disque,
|
|
6
|
+
* aucun `git config` — même séparation que `aiSyncReport.ts` / `aiSync.ts`.
|
|
7
|
+
*
|
|
8
|
+
* ## Pourquoi natif, et pas husky
|
|
9
|
+
*
|
|
10
|
+
* Depuis sa v9, husky n'est plus qu'un habillage de `git config core.hooksPath` :
|
|
11
|
+
* la fonctionnalité est dans git lui-même. Une dépendance + un script `prepare`
|
|
12
|
+
* pour ce que deux fichiers sh et une ligne de config font déjà, c'est une
|
|
13
|
+
* surface en trop — et un `postinstall` est exactement ce que `ai:sync` a
|
|
14
|
+
* refusé (`--ignore-scripts` courant, vecteur d'attaque connu). La pose est un
|
|
15
|
+
* GESTE EXPLICITE : cette commande, jamais un script d'installation.
|
|
16
|
+
*
|
|
17
|
+
* ## Pourquoi les hooks générés sont LÉGERS
|
|
18
|
+
*
|
|
19
|
+
* Le filet complet appartient à l'intégration continue — un hook local bloquant
|
|
20
|
+
* est un doublon qui ralentit chaque commit et se contourne d'un `--no-verify`.
|
|
21
|
+
* Qui opte pour les hooks reçoit donc le strict utile : typecheck + lint au
|
|
22
|
+
* commit (rapide), `verify` complet au push (le dernier rempart avant de
|
|
23
|
+
* partager).
|
|
24
|
+
*/
|
|
25
|
+
/** Dossier des hooks, relatif à la racine de l'application, écrit en `/`. */
|
|
26
|
+
export declare const GIT_HOOKS_DIR = ".githooks";
|
|
27
|
+
/**
|
|
28
|
+
* Marqueur d'APPARTENANCE, présent dans chaque hook généré.
|
|
29
|
+
*
|
|
30
|
+
* C'est lui qui sépare « à nous, remplaçable » de « écrit par quelqu'un » : un
|
|
31
|
+
* hook existant qui ne le porte pas n'est JAMAIS écrasé — effacer le travail
|
|
32
|
+
* d'un utilisateur n'est pas le rôle d'une commande de pose.
|
|
33
|
+
*/
|
|
34
|
+
export declare const GIT_HOOKS_MARKER = "pos\u00E9 par `nodefony git:hooks`";
|
|
35
|
+
/** Les hooks que la commande sait poser, dans l'ordre d'affichage. */
|
|
36
|
+
export declare const GIT_HOOK_NAMES: readonly ["pre-commit", "pre-push"];
|
|
37
|
+
export type GitHookName = (typeof GIT_HOOK_NAMES)[number];
|
|
38
|
+
/**
|
|
39
|
+
* Le contenu d'un hook.
|
|
40
|
+
*
|
|
41
|
+
* Sh POSIX strict : sous Windows, git exécute les hooks via le `sh.exe` de Git
|
|
42
|
+
* for Windows — un script simple passe partout, un bashisme non. Le `npx` est
|
|
43
|
+
* nécessaire : un hook git n'a pas `node_modules/.bin` dans son PATH.
|
|
44
|
+
*
|
|
45
|
+
* @param name - lequel des deux.
|
|
46
|
+
* @returns le script complet, marqueur compris.
|
|
47
|
+
*/
|
|
48
|
+
export declare function renderGitHook(name: GitHookName): string;
|
|
49
|
+
/** Ce qu'il faut faire d'un hook, une fois comparé à l'existant. */
|
|
50
|
+
export type GitHookAction = "pose" | "remplace" | "inchange" | "refus-etranger";
|
|
51
|
+
/** Le geste décidé pour un hook. */
|
|
52
|
+
export interface IPlannedGitHook {
|
|
53
|
+
name: GitHookName;
|
|
54
|
+
action: GitHookAction;
|
|
55
|
+
/** Chemin du hook, relatif à la racine de l'application, en `/`. */
|
|
56
|
+
target: string;
|
|
57
|
+
/** Contenu à écrire — celui de `renderGitHook`, tel quel. */
|
|
58
|
+
content: string;
|
|
59
|
+
}
|
|
60
|
+
/** Ce qu'il faut faire de `core.hooksPath`. */
|
|
61
|
+
export type HooksPathAction = "pose" | "inchange" | "refus-autre";
|
|
62
|
+
/**
|
|
63
|
+
* Le plan complet — hooks ET configuration, jugés ensemble.
|
|
64
|
+
*
|
|
65
|
+
* Un seul refus suffit à tout arrêter : poser la moitié d'un jeu de hooks
|
|
66
|
+
* laisse un état qu'il faut comprendre avant de corriger, alors qu'un refus
|
|
67
|
+
* franc se corrige d'un geste.
|
|
68
|
+
*/
|
|
69
|
+
export interface IGitHooksPlan {
|
|
70
|
+
directory: string;
|
|
71
|
+
hooks: IPlannedGitHook[];
|
|
72
|
+
hooksPath: {
|
|
73
|
+
/** Valeur actuelle de `core.hooksPath`, `null` si absente. */
|
|
74
|
+
current: string | null;
|
|
75
|
+
/** Valeur à poser (relative au TOPLEVEL git, en `/`). */
|
|
76
|
+
wanted: string;
|
|
77
|
+
action: HooksPathAction;
|
|
78
|
+
};
|
|
79
|
+
/** `true` dès qu'un refus interdit d'appliquer quoi que ce soit. */
|
|
80
|
+
refused: boolean;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Décide, pour chaque hook et pour `core.hooksPath`, le geste à faire.
|
|
84
|
+
*
|
|
85
|
+
* @param existing - contenu actuel de chaque hook, `null` si absent.
|
|
86
|
+
* @param currentHooksPath - valeur actuelle de `core.hooksPath`, `null` si absente.
|
|
87
|
+
* @param wantedHooksPath - valeur cible (relative au toplevel git, en `/`) —
|
|
88
|
+
* l'appelant la calcule, car SEUL lui sait où est le toplevel : un chemin
|
|
89
|
+
* relatif dans `core.hooksPath` se résout depuis la racine du dépôt git, pas
|
|
90
|
+
* depuis l'application (cas réel : app dans un sous-dossier d'un monorepo).
|
|
91
|
+
* @returns le plan, applicable ou refusé.
|
|
92
|
+
*/
|
|
93
|
+
export declare function planGitHooks(existing: Record<string, string | null>, currentHooksPath: string | null, wantedHooksPath: string): IGitHooksPlan;
|
|
94
|
+
/**
|
|
95
|
+
* Rend le plan pour un humain.
|
|
96
|
+
*
|
|
97
|
+
* @param plan - le plan calculé.
|
|
98
|
+
* @param applique - `false` quand rien n'a été écrit (`--dry-run` ou refus).
|
|
99
|
+
* @returns le texte à écrire sur la sortie standard.
|
|
100
|
+
*/
|
|
101
|
+
export declare function renderGitHooksPlan(plan: IGitHooksPlan, applique: boolean): string;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Les options que le CLI déclare pour TOUTES ses commandes — et ce que les
|
|
3
|
+
* commandes autonomes doivent en faire.
|
|
4
|
+
*
|
|
5
|
+
* ## Le défaut que ce module ferme
|
|
6
|
+
*
|
|
7
|
+
* `nodefony --help` promet `-i, --interactive` et `-d, --debug` : ce sont des
|
|
8
|
+
* options POSÉES sur commander pour l'ensemble du CLI (`Cli.initCommander`).
|
|
9
|
+
* Mais les commandes qui répondent par le raccourci autonome — `create`,
|
|
10
|
+
* `doctor`, `env`, `card`, `symbols` — ne passent jamais par commander : elles
|
|
11
|
+
* lisent `process.argv` elles-mêmes, précisément pour répondre sans démarrer
|
|
12
|
+
* l'application. Elles refusaient donc, avec « option inconnue », ce que l'aide
|
|
13
|
+
* de la ligne au-dessus venait d'annoncer.
|
|
14
|
+
*
|
|
15
|
+
* C'est la faute la plus décourageante qu'un outil puisse commettre : l'aide dit
|
|
16
|
+
* une chose, la commande en dit une autre, et l'utilisateur n'a aucun moyen de
|
|
17
|
+
* savoir laquelle a raison. Vécu sur `nodefony create app --interactive`, la
|
|
18
|
+
* toute première commande qu'on tape.
|
|
19
|
+
*
|
|
20
|
+
* ## Pourquoi ici, et pas dans chaque parseur
|
|
21
|
+
*
|
|
22
|
+
* Cinq parseurs, cinq copies : la sixième commande autonome écrite demain
|
|
23
|
+
* rouvrirait le trou sans que personne le voie. La liste des options globales
|
|
24
|
+
* vit à UN endroit, et chaque parseur l'APPELLE.
|
|
25
|
+
*
|
|
26
|
+
* ## Ce que « accepter » veut dire
|
|
27
|
+
*
|
|
28
|
+
* Absorber, pas exécuter. Ces options n'ont aucun effet propre sur une commande
|
|
29
|
+
* qui ne pose aucune question et n'ouvre aucun journal de débogage — et c'est
|
|
30
|
+
* exactement ce que « mode interactif » signifie là où il n'y a rien à demander.
|
|
31
|
+
* Là où le mode interactif EXISTE (`create`), il est déjà le comportement par
|
|
32
|
+
* défaut en terminal : le drapeau confirme ce qui se produit déjà, il ne
|
|
33
|
+
* l'active pas.
|
|
34
|
+
*
|
|
35
|
+
* @module
|
|
36
|
+
*/
|
|
37
|
+
/** Ce mot est-il une option que le CLI déclare pour toutes ses commandes ? */
|
|
38
|
+
export declare function isGlobalCliFlag(word: string): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Retire d'un `argv` les options globales du CLI.
|
|
41
|
+
*
|
|
42
|
+
* À appeler par un parseur autonome AVANT sa propre lecture : ce qui reste est
|
|
43
|
+
* ce qui appartient en propre à la commande.
|
|
44
|
+
*
|
|
45
|
+
* @param argv - les mots de la ligne de commande.
|
|
46
|
+
* @returns les mots restants, dans l'ordre.
|
|
47
|
+
*/
|
|
48
|
+
export declare function stripGlobalCliFlags(argv: readonly string[]): string[];
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Les groupes d'intention, dans l'ordre de la JOURNÉE de travail.
|
|
3
|
+
*
|
|
4
|
+
* On lance, on regarde ce qui cloche, on fait évoluer — puis viennent les
|
|
5
|
+
* domaines (base, comptes, front) et l'outillage. L'ordre est le contenu : il
|
|
6
|
+
* répond avant qu'on ait lu les titres.
|
|
7
|
+
*/
|
|
8
|
+
export declare const HELP_GROUPS: readonly string[];
|
|
9
|
+
/**
|
|
10
|
+
* Le libellé de chaque intention DANS LE MENU interactif.
|
|
11
|
+
*
|
|
12
|
+
* 🔴 Une seule taxonomie, deux rendus. Le menu s'adresse à quelqu'un qui hésite
|
|
13
|
+
* (phrase, minuscules) et l'aide à quelqu'un qui balaie (titre, capitales) : les
|
|
14
|
+
* libellés diffèrent, le CLASSEMENT non. Écrits séparément, ils divergeaient
|
|
15
|
+
* déjà — une commande rangée sous « Comprendre » au menu et ailleurs dans
|
|
16
|
+
* l'aide apprend au lecteur à ne se fier ni à l'un ni à l'autre.
|
|
17
|
+
*/
|
|
18
|
+
export declare const MENU_GROUP_LABELS: Record<string, string>;
|
|
19
|
+
/** Une commande, réduite à ce que l'aide doit en dire. */
|
|
20
|
+
export interface IHelpCommand {
|
|
21
|
+
/** Le nom principal, tel qu'on le tape. */
|
|
22
|
+
name: string;
|
|
23
|
+
/** Ses alias, s'il en a — ils n'existent que si l'aide les montre. */
|
|
24
|
+
aliases: readonly string[];
|
|
25
|
+
/** Ce qu'elle fait, en une phrase. */
|
|
26
|
+
description: string;
|
|
27
|
+
/** Le groupe d'intention déclaré par la commande. */
|
|
28
|
+
group?: string;
|
|
29
|
+
/** Le module qui la porte, quand elle n'est pas intégrée. */
|
|
30
|
+
module?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Ce que la commande ACCEPTE, rendu sous elle en sous-ligne.
|
|
33
|
+
*
|
|
34
|
+
* DÉRIVÉ des `choices()` de commander, jamais réécrit : c'est ce qu'un agent
|
|
35
|
+
* cherche (« quels sujets sait-il inspecter ? ») et ce qu'un humain devine
|
|
36
|
+
* mal. Une liste recopiée ici divergerait au premier sujet ajouté.
|
|
37
|
+
*/
|
|
38
|
+
accepts?: {
|
|
39
|
+
label: string;
|
|
40
|
+
values: readonly string[];
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/** Une option globale, telle que l'aide la montre. */
|
|
44
|
+
export interface IHelpOption {
|
|
45
|
+
/** Les drapeaux, déjà composés (`-d, --debug`). */
|
|
46
|
+
flags: string;
|
|
47
|
+
description: string;
|
|
48
|
+
}
|
|
49
|
+
/** Tout ce que le rendu a besoin de savoir — et rien d'autre. */
|
|
50
|
+
export interface IHelpModel {
|
|
51
|
+
/** La version affichée en tête, sans le `v`. */
|
|
52
|
+
version: string;
|
|
53
|
+
commands: readonly IHelpCommand[];
|
|
54
|
+
globalOptions: readonly IHelpOption[];
|
|
55
|
+
/** Les modules chargés, s'il y en a — absent hors d'une application. */
|
|
56
|
+
modules?: readonly string[];
|
|
57
|
+
/**
|
|
58
|
+
* Ce que l'aide doit DIRE de la situation, quand elle n'est pas nominale :
|
|
59
|
+
* hors d'une application, ou dans une application non installée.
|
|
60
|
+
*/
|
|
61
|
+
note?: string;
|
|
62
|
+
/** Le geste qui suit cette note (une commande à taper). */
|
|
63
|
+
noteAction?: string;
|
|
64
|
+
/** Les commandes qui répondent en JSON — la phrase de pied pour un agent. */
|
|
65
|
+
jsonCommands?: readonly string[];
|
|
66
|
+
}
|
|
67
|
+
/** Le décor du rendu — tout ce que ce module refuse d'aller chercher. */
|
|
68
|
+
export interface IHelpRenderOptions {
|
|
69
|
+
/** Largeur utile, déjà bornée. */
|
|
70
|
+
width: number;
|
|
71
|
+
/** `true` pour émettre des séquences ANSI. */
|
|
72
|
+
color: boolean;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* La place qui reste pour une description, une fois la colonne des noms posée.
|
|
76
|
+
*
|
|
77
|
+
* 🔴 Exportée pour qu'un GATE puisse s'y adosser au lieu de recopier le calcul.
|
|
78
|
+
* La contrainte « une description tient sur une ligne » ne vaut que rapportée à
|
|
79
|
+
* la colonne du moment, et celle-ci se DÉRIVE des commandes présentes : une
|
|
80
|
+
* borne écrite en dur dans un test deviendrait fausse le jour où un nom plus
|
|
81
|
+
* long élargit la colonne — le test resterait vert pendant que la page se
|
|
82
|
+
* replie.
|
|
83
|
+
*
|
|
84
|
+
* @param commands - les commandes qui composent la page.
|
|
85
|
+
* @param width - la largeur utile du terminal.
|
|
86
|
+
* @returns le nombre de colonnes offertes à une description sur sa première ligne.
|
|
87
|
+
*/
|
|
88
|
+
export declare function descriptionWidth(commands: readonly IHelpCommand[], width: number): number;
|
|
89
|
+
/**
|
|
90
|
+
* Range les commandes par groupe, dans l'ordre d'affichage.
|
|
91
|
+
*
|
|
92
|
+
* Les commandes sans groupe connu tombent sous leur MODULE — ce qui reste vrai
|
|
93
|
+
* pour un module tiers, dont personne ici ne peut deviner l'intention. Sans
|
|
94
|
+
* module ni groupe, elles ferment la marche sous « AUTRES ».
|
|
95
|
+
*
|
|
96
|
+
* @param commands - toutes les commandes connues.
|
|
97
|
+
* @returns les groupes non vides, dans l'ordre de lecture.
|
|
98
|
+
*/
|
|
99
|
+
export declare function groupCommands(commands: readonly IHelpCommand[]): {
|
|
100
|
+
title: string;
|
|
101
|
+
commands: IHelpCommand[];
|
|
102
|
+
}[];
|
|
103
|
+
/**
|
|
104
|
+
* L'aide complète, ligne par ligne, sans retour chariot final.
|
|
105
|
+
*
|
|
106
|
+
* @param model - ce qu'il y a à dire.
|
|
107
|
+
* @param opts - le décor (largeur, couleur).
|
|
108
|
+
* @returns les lignes à écrire, dans l'ordre.
|
|
109
|
+
*/
|
|
110
|
+
export declare function renderHelp(model: IHelpModel, opts: IHelpRenderOptions): string[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ICliManifest } from "./completion.js";
|
|
2
|
+
/** Nom de la page, section 1 (commandes utilisateur). */
|
|
3
|
+
export declare const MAN_PAGE_NAME = "nodefony.1";
|
|
4
|
+
/**
|
|
5
|
+
* Échappe une chaîne pour roff.
|
|
6
|
+
*
|
|
7
|
+
* Trois pièges, tous silencieux — ils ne produisent pas d'erreur, seulement une
|
|
8
|
+
* page mal rendue : la contre-oblique introduit les séquences roff, le tiret nu
|
|
9
|
+
* devient un tiret TYPOGRAPHIQUE (illisible dans une option `--json`, et non
|
|
10
|
+
* copiable), et une ligne qui COMMENCE par un point ou une apostrophe est lue
|
|
11
|
+
* comme une directive.
|
|
12
|
+
*/
|
|
13
|
+
export declare function escapeRoff(text: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Rend la page de manuel complète, en roff.
|
|
16
|
+
*
|
|
17
|
+
* @param manifest - le manifest des commandes INTÉGRÉES (extrait de commander).
|
|
18
|
+
* @param version - version du paquet, affichée dans l'en-tête et le pied.
|
|
19
|
+
* @returns le source roff, terminé par un saut de ligne.
|
|
20
|
+
*/
|
|
21
|
+
export declare function renderManPage(manifest: ICliManifest, version: string): string;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Le chemin du lanceur `nodefony`, tel que CETTE installation l'a reçu.
|
|
3
|
+
*
|
|
4
|
+
* ## Pourquoi une fonction, et pas un chemin écrit à la main
|
|
5
|
+
*
|
|
6
|
+
* Un appelant qui doit démarrer l'application — une suite de tests, un shim de
|
|
7
|
+
* création d'application, un script de déploiement — écrivait jusqu'ici
|
|
8
|
+
* `node_modules/.bin/nodefony`. Trois choses lui donnent tort :
|
|
9
|
+
*
|
|
10
|
+
* 1. **Ce fichier n'existe pas sous Windows.** npm y écrit un `nodefony.cmd`,
|
|
11
|
+
* et Node refuse d'exécuter un script batch sans passer par un shell
|
|
12
|
+
* (correctif de CVE-2024-27980). Le symptôme est un `ENOENT` sur un chemin
|
|
13
|
+
* qui semble pourtant présent — il désigne le fichier SANS extension.
|
|
14
|
+
* 2. **L'emplacement n'est pas garanti.** Hoisting npm, espaces de travail,
|
|
15
|
+
* pnpm et son magasin : le paquet n'est pas toujours dans le
|
|
16
|
+
* `node_modules` du dossier courant.
|
|
17
|
+
* 3. **Le nom du binaire appartient au framework**, pas à ses utilisateurs.
|
|
18
|
+
* Écrit en dur chez chacun, il ne peut plus jamais changer.
|
|
19
|
+
*
|
|
20
|
+
* La résolution passe donc par le MANIFESTE : Node localise `nodefony` comme il
|
|
21
|
+
* localiserait n'importe quel import, et le champ `bin` dit où est le lanceur.
|
|
22
|
+
* Aucune extension à deviner, aucun shell à ouvrir, aucun chemin à supposer.
|
|
23
|
+
*
|
|
24
|
+
* ## Usage
|
|
25
|
+
*
|
|
26
|
+
* Le résultat se donne à `node`, jamais au système : c'est un script, pas un
|
|
27
|
+
* exécutable.
|
|
28
|
+
*
|
|
29
|
+
* ```ts
|
|
30
|
+
* import { execFileSync } from "node:child_process";
|
|
31
|
+
* import { nodefonyBin } from "nodefony";
|
|
32
|
+
*
|
|
33
|
+
* execFileSync(process.execPath, [nodefonyBin(), "production", "--detach", "--wait"]);
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @param since - d'où résoudre, si ce n'est pas depuis ce module (rare). Un
|
|
37
|
+
* appelant installé À CÔTÉ du framework — un shim `create-*`,
|
|
38
|
+
* par exemple — passe son propre `import.meta.url` pour que la
|
|
39
|
+
* résolution parte de SON arbre de dépendances.
|
|
40
|
+
* @returns Le chemin ABSOLU du script de lancement.
|
|
41
|
+
* @throws Si le paquet `nodefony` est introuvable depuis `depuis` — le message
|
|
42
|
+
* dit alors que c'est l'INSTALLATION qui manque, pas le chemin qui est
|
|
43
|
+
* faux.
|
|
44
|
+
*/
|
|
45
|
+
export declare function nodefonyBin(since?: string): string;
|