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,361 @@
|
|
|
1
|
+
import { checkPackageDeps } from "./packageDeps.js";
|
|
2
|
+
import { checkWiring } from "./wiring.js";
|
|
3
|
+
import type { ILastBoot } from "./lastBoot.js";
|
|
4
|
+
import { type IReadinessResult } from "./readiness.js";
|
|
5
|
+
import { type IFreshnessResult } from "./freshness.js";
|
|
6
|
+
import { type ISurfaceResult } from "./surface.js";
|
|
7
|
+
import { type IGuardResult } from "./guards.js";
|
|
8
|
+
import { type DeepReporter, type IDeepProgress, type IDeepResult } from "./deep.js";
|
|
9
|
+
import { type ILiveResult } from "./live.js";
|
|
10
|
+
import { type IPalette, type DoctorFamily, type IExecution } from "./report.js";
|
|
11
|
+
/** Ce que la ligne de commande demande. */
|
|
12
|
+
export interface ICheckRequest {
|
|
13
|
+
json: boolean;
|
|
14
|
+
/** Dossier de DÉPART de la remontée vers la racine (défaut : le cwd). */
|
|
15
|
+
cwd: string;
|
|
16
|
+
/**
|
|
17
|
+
* `true` si un contrôle SAUTÉ doit faire échouer la commande.
|
|
18
|
+
*
|
|
19
|
+
* Même doctrine que les gates de test du dépôt (`vitest.gates.ts`) : devant
|
|
20
|
+
* un humain, un contrôle sauté est une information — il lit la section et
|
|
21
|
+
* décide. Dans une chaîne automatisée, personne ne lit : un angle mort
|
|
22
|
+
* silencieux y devient un quitus, et c'est ainsi qu'une passe « verte »
|
|
23
|
+
* n'exerce plus rien.
|
|
24
|
+
*/
|
|
25
|
+
strict: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* `true` si l'on veut DEMANDER à l'application, pas seulement à ses fichiers.
|
|
28
|
+
*
|
|
29
|
+
* Coûteux (un boot console, sans le moindre port ouvert) et pas toujours
|
|
30
|
+
* possible — c'est pourquoi il se demande. Le rapport statique reste rendu
|
|
31
|
+
* quoi qu'il arrive : un étage 2 en échec devient un constat lisible, jamais
|
|
32
|
+
* une exception qui emporterait le diagnostic dont on a précisément besoin
|
|
33
|
+
* quand l'application va mal.
|
|
34
|
+
*/
|
|
35
|
+
live: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* `true` si l'on veut LANCER ce que le projet déclare — étage 3.
|
|
38
|
+
*
|
|
39
|
+
* Les autres étages LISENT ; celui-ci exécute les scripts du projet
|
|
40
|
+
* (`typecheck`, `lint`, `test`) et interroge le registre npm. Il coûte donc
|
|
41
|
+
* des dizaines de secondes là où `doctor` en coûte moins d'une, et c'est
|
|
42
|
+
* exactement pourquoi il se demande : un diagnostic qui coûte une minute
|
|
43
|
+
* cesse d'être lancé, et un contrôle qu'on ne lance plus ne garde rien.
|
|
44
|
+
*/
|
|
45
|
+
deep: boolean;
|
|
46
|
+
/** `true` si l'on demande seulement l'usage. */
|
|
47
|
+
help: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* L'environnement dont on veut connaître les manques, s'il n'est pas celui
|
|
50
|
+
* d'ici (`--env production`).
|
|
51
|
+
*
|
|
52
|
+
* C'est la question qu'on se pose AVANT de déployer, et à laquelle rien ne
|
|
53
|
+
* répondait : une variable requise en production seulement est invisible sur
|
|
54
|
+
* un poste de développement, où elle est légitimement absente. Les valeurs
|
|
55
|
+
* restent celles de la machine — on ne simule pas un déploiement.
|
|
56
|
+
*/
|
|
57
|
+
targetEnv: string | null;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* L'usage, rendu avec le même soin que le rapport.
|
|
61
|
+
*
|
|
62
|
+
* Il se lit dans deux situations opposées : on découvre la commande, ou on
|
|
63
|
+
* vient de se tromper de drapeau. Il porte donc les deux réponses — ce que la
|
|
64
|
+
* commande FAIT, et ce que chaque option change — plus les codes de sortie,
|
|
65
|
+
* qu'aucune autre page ne donne et qu'un script doit connaître.
|
|
66
|
+
*
|
|
67
|
+
* @param p - la peinture en vigueur.
|
|
68
|
+
* @returns le texte complet, retour chariot final compris.
|
|
69
|
+
*/
|
|
70
|
+
export declare function usage(p: IPalette, width?: number): string;
|
|
71
|
+
/**
|
|
72
|
+
* La distance d'édition entre deux mots, bornée.
|
|
73
|
+
*
|
|
74
|
+
* Bornée parce qu'on ne cherche pas à mesurer : on cherche à savoir si deux
|
|
75
|
+
* mots sont à une ou deux frappes l'un de l'autre. Au-delà, la réponse est
|
|
76
|
+
* « non » et le calcul ne sert plus à rien.
|
|
77
|
+
*/
|
|
78
|
+
export declare function editDistance(a: string, b: string, max?: number): number;
|
|
79
|
+
/**
|
|
80
|
+
* Le mode connu dont cet environnement est visiblement une faute de frappe.
|
|
81
|
+
*
|
|
82
|
+
* 🔴 Vécu, et c'est le pire mode de défaillance d'un diagnostic : `doctor --env
|
|
83
|
+
* produntion` rendait un rapport COMPLET et plausible, verdict compris, sur un
|
|
84
|
+
* environnement qui n'existe nulle part — le mot inventé s'affichait tel quel
|
|
85
|
+
* dans chaque phrase. Un outil dont le rôle est de dire la vérité ne doit pas
|
|
86
|
+
* être le seul à ne pas la vérifier sur sa propre entrée.
|
|
87
|
+
*
|
|
88
|
+
* On ne refuse PAS tout inconnu : un environnement de déploiement est une
|
|
89
|
+
* chaîne libre, et refuser `preprod` rendrait l'option inutilisable là où elle
|
|
90
|
+
* sert. On refuse ce qui est à une ou deux frappes d'un mode connu, sans en
|
|
91
|
+
* être un — c'est la signature d'une faute, pas d'un choix.
|
|
92
|
+
*
|
|
93
|
+
* @param env - l'environnement demandé.
|
|
94
|
+
* @returns le mode dont il est probablement une coquille, sinon `null`.
|
|
95
|
+
*/
|
|
96
|
+
export declare function likelyTypo(env: string): string | null;
|
|
97
|
+
export declare function resolveStrict(word: boolean | undefined, env: Record<string, string | undefined>): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Parse l'argv après le mot `check` (ou son alias `doctor`).
|
|
100
|
+
*
|
|
101
|
+
* La borne est le mot de commande, pas la position : le fast-path passe
|
|
102
|
+
* `process.argv` entier (`node`, chemin du binaire, `check`, …) tandis que le
|
|
103
|
+
* filet de {@link Check.generate} ne passe que les options. Sans mot de
|
|
104
|
+
* commande, tout l'argv reçu est donc considéré comme des options.
|
|
105
|
+
*/
|
|
106
|
+
export declare function parseDoctorArgv(argv: string[]): ICheckRequest | {
|
|
107
|
+
error: string;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Lance le contrôle et écrit le rapport.
|
|
111
|
+
*
|
|
112
|
+
* **La cible est l'APPLICATION, pas le dossier courant.** On remonte donc au
|
|
113
|
+
* premier dossier qui porte `nodefony.config.ts` (`findProjectRoot`, la même
|
|
114
|
+
* définition de « où commence l'app » que le lanceur et les scaffolds). Sans
|
|
115
|
+
* cette remontée, un `check` lancé dans `modules/blog/` ne trouvait ni le
|
|
116
|
+
* manifeste, ni le bilan du dernier démarrage, et concluait « rien à
|
|
117
|
+
* signaler » — le pire mode de défaillance pour un outil de diagnostic :
|
|
118
|
+
* silencieux, et rassurant à tort.
|
|
119
|
+
*
|
|
120
|
+
* Hors de tout projet, on retombe sur le dossier de départ : ce dépôt-ci et
|
|
121
|
+
* n'importe quel dossier de paquets restent contrôlables tels quels.
|
|
122
|
+
*
|
|
123
|
+
* @param argv - ligne de commande (`--json`, `--cwd <path>`).
|
|
124
|
+
* @returns le code de sortie : 0 si rien à signaler, 1 sinon, 64 (`EX_USAGE`)
|
|
125
|
+
* sur une option inconnue. La trace d'un démarrage échoué est
|
|
126
|
+
* RAPPORTÉE mais ne pèse pas sur ce code.
|
|
127
|
+
*/
|
|
128
|
+
/**
|
|
129
|
+
* Rapport de diagnostic statique, tel que toutes les portes le lisent.
|
|
130
|
+
*
|
|
131
|
+
* C'est exactement le document que `check --json` imprime : la commande n'en
|
|
132
|
+
* possède aucune version privée. Ce qui compte, c'est qu'une deuxième porte
|
|
133
|
+
* (le serveur MCP) rende le MÊME objet — un diagnostic qui différerait selon
|
|
134
|
+
* l'outil qui le demande serait pire qu'aucun diagnostic.
|
|
135
|
+
*/
|
|
136
|
+
export interface IDoctorReport {
|
|
137
|
+
/** Racine de l'application effectivement contrôlée. */
|
|
138
|
+
root: string;
|
|
139
|
+
/** `nom version` tel que le manifeste le déclare — vide s'il ne dit rien. */
|
|
140
|
+
appName: string;
|
|
141
|
+
/** Nombre de paquets parcourus. */
|
|
142
|
+
scanned: number;
|
|
143
|
+
/** Manquements de dépendances. */
|
|
144
|
+
findings: ReturnType<typeof checkPackageDeps>["findings"];
|
|
145
|
+
/** Manquements de câblage, avec le nombre de classes contrôlées. */
|
|
146
|
+
wiring: {
|
|
147
|
+
scanned: number;
|
|
148
|
+
findings: ReturnType<typeof checkWiring>["findings"];
|
|
149
|
+
};
|
|
150
|
+
/** Ce qui manque ICI et maintenant (env, modules, deps, ports). */
|
|
151
|
+
readiness: IReadinessResult;
|
|
152
|
+
/** Écarts entre ce qui est ÉCRIT et ce qui s'EXÉCUTERA (build, plancher Node). */
|
|
153
|
+
freshness: IFreshnessResult;
|
|
154
|
+
/**
|
|
155
|
+
* Ce qui est atteignable SANS authentification, et les entités hors dialecte.
|
|
156
|
+
*
|
|
157
|
+
* L'inventaire des ouvertures est une INFORMATION : chacune est légitime
|
|
158
|
+
* prise isolément, et c'est de ne les voir jamais ENSEMBLE qu'une route de
|
|
159
|
+
* mise au point reste ouverte en production.
|
|
160
|
+
*/
|
|
161
|
+
surface: ISurfaceResult;
|
|
162
|
+
/**
|
|
163
|
+
* Les filets du projet — sont-ils ARMÉS ?
|
|
164
|
+
*
|
|
165
|
+
* Aucune occurrence de code n'est signalée ici : le linter le fait déjà, et
|
|
166
|
+
* mieux. Ce qui manquait, c'est de constater que la garde EXISTE — un filet
|
|
167
|
+
* décroché ne fait pas de bruit.
|
|
168
|
+
*/
|
|
169
|
+
guards: IGuardResult;
|
|
170
|
+
/**
|
|
171
|
+
* Étage 3 — ce que le projet DÉCLARE, réellement lancé (`--deep`).
|
|
172
|
+
*
|
|
173
|
+
* `null` quand l'étage n'a pas été demandé : l'absence de résultat et un
|
|
174
|
+
* résultat vide ne se confondent pas, et c'est l'état d'exécution qui le dit
|
|
175
|
+
* au lecteur plutôt qu'un silence.
|
|
176
|
+
*
|
|
177
|
+
* ## Ce qu'un appelant de `--json` y trouve
|
|
178
|
+
*
|
|
179
|
+
* ```json
|
|
180
|
+
* "deep": {
|
|
181
|
+
* "steps": [
|
|
182
|
+
* { "step": "typecheck", "outcome": "passed", "ms": 809 },
|
|
183
|
+
* { "step": "lint", "outcome": "failed", "ms": 784,
|
|
184
|
+
* "detail": "src/a.ts:1:1: warning no-unused-vars" }
|
|
185
|
+
* ],
|
|
186
|
+
* "outdated": { "packages": [], "ahead": [], "counts": { "major": 0, … } },
|
|
187
|
+
* "outdatedReason": ""
|
|
188
|
+
* }
|
|
189
|
+
* ```
|
|
190
|
+
*
|
|
191
|
+
* - `outcome` vaut `passed` · `failed` · `timeout` · `absent`. **`absent`
|
|
192
|
+
* n'est pas un échec** : le script n'est pas déclaré par le projet, et
|
|
193
|
+
* c'est la famille `guards` qui en répond. **`timeout` non plus n'est pas
|
|
194
|
+
* un succès** : le script a été tué par la borne de temps, et le lire
|
|
195
|
+
* comme un `passed` est l'erreur que ce champ existe pour empêcher.
|
|
196
|
+
* - `detail` porte la PREMIÈRE LIGNE UTILE de la sortie, l'annonce de npm
|
|
197
|
+
* sautée. Absent quand le script s'est tu.
|
|
198
|
+
* - `outdated` vaut `null` quand le registre n'a pas répondu ; `outdatedReason`
|
|
199
|
+
* dit alors pourquoi. Un registre muet n'est PAS un défaut de
|
|
200
|
+
* l'application, et rien n'en est déduit.
|
|
201
|
+
* - En `--json`, **aucune progression n'est émise sur aucun canal** : stdout
|
|
202
|
+
* ne porte que ce document, stderr reste vide.
|
|
203
|
+
*/
|
|
204
|
+
deep: IDeepResult | null;
|
|
205
|
+
/**
|
|
206
|
+
* Les bilans de démarrage disponibles — serveur d'abord, console ensuite.
|
|
207
|
+
*
|
|
208
|
+
* DEUX, et pas un : un `nodefony inspect` lancé POUR diagnostiquer une panne
|
|
209
|
+
* de serveur écrasait le bilan qu'il venait lire. Chacun dit désormais QUI a
|
|
210
|
+
* démarré (`profile`) et par quelle commande.
|
|
211
|
+
*/
|
|
212
|
+
lastBoots: ILastBoot[];
|
|
213
|
+
/** Exceptions déclarées, comptées dans le rendu humain. */
|
|
214
|
+
exceptions: number;
|
|
215
|
+
/**
|
|
216
|
+
* Ce que l'application DÉMARRÉE a dit d'elle-même — absent sans `--live`.
|
|
217
|
+
*
|
|
218
|
+
* Séparé du reste parce qu'il n'a pas la même nature : tout ce qui précède
|
|
219
|
+
* se lit sur des fichiers et répond donc même quand l'application ne démarre
|
|
220
|
+
* plus. Ceci exige un boot, et son absence est ÉNONCÉE dans `execution`
|
|
221
|
+
* plutôt que devinée d'un champ manquant.
|
|
222
|
+
*/
|
|
223
|
+
live?: ILiveResult;
|
|
224
|
+
/**
|
|
225
|
+
* Ce que chaque famille a pu — ou n'a PAS pu — regarder.
|
|
226
|
+
*
|
|
227
|
+
* Porté par le rapport lui-même, donc identique dans toutes les portes : un
|
|
228
|
+
* agent qui lit ce document par MCP voit les mêmes angles morts que l'humain
|
|
229
|
+
* devant son terminal. C'est la moitié du diagnostic que l'absence de
|
|
230
|
+
* manquements ne dit pas.
|
|
231
|
+
*/
|
|
232
|
+
execution: Record<DoctorFamily, IExecution>;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Collecte le diagnostic — sans rien imprimer.
|
|
236
|
+
*
|
|
237
|
+
* Séparé du rendu pour la même raison que la table des sujets d'`inspect` :
|
|
238
|
+
* dès qu'une deuxième porte existe, une collecte enfouie dans une fonction qui
|
|
239
|
+
* écrit sur la sortie standard oblige à la réécrire, et les deux divergent.
|
|
240
|
+
*
|
|
241
|
+
* ⚠️ **La cible est l'APPLICATION, pas le dossier où l'on a tapé** : on remonte
|
|
242
|
+
* au premier dossier portant `nodefony.config.ts`. Hors projet, le dossier de
|
|
243
|
+
* départ reste la cible, et l'état d'installation n'est pas contrôlé (sans
|
|
244
|
+
* manifeste ni environnement, une sonde accuserait le premier serveur venu).
|
|
245
|
+
*
|
|
246
|
+
* @param start - dossier de départ de la remontée
|
|
247
|
+
* @returns le rapport complet, sans verdict ni code de sortie
|
|
248
|
+
*/
|
|
249
|
+
export declare function collectDoctorReport(start: string, targetEnv?: string | null, deepRequested?: boolean, report?: DeepReporter): Promise<IDoctorReport>;
|
|
250
|
+
/**
|
|
251
|
+
* Nombre total de manquements d'un rapport — le verdict, en un endroit.
|
|
252
|
+
*
|
|
253
|
+
* Délègue à {@link countFindings} : le rendu compte par la même fonction, et
|
|
254
|
+
* le bilan chiffré ne peut donc plus contredire le sommaire qui le surmonte.
|
|
255
|
+
* Ce nom reste parce qu'il a voyagé (le serveur MCP le lit).
|
|
256
|
+
*/
|
|
257
|
+
export declare function countCheckFindings(report: IDoctorReport): number;
|
|
258
|
+
/**
|
|
259
|
+
* La ligne d'annonce d'un évènement de l'étage profond, ou `null` s'il n'y a
|
|
260
|
+
* rien à dire.
|
|
261
|
+
*
|
|
262
|
+
* Fonction PURE, pour que ce qui s'affiche pendant une attente de plusieurs
|
|
263
|
+
* minutes s'éprouve sans attendre quoi que ce soit.
|
|
264
|
+
*
|
|
265
|
+
* @param e - l'évènement annoncé par l'étage profond.
|
|
266
|
+
* @param p - la palette (couleur ou non, selon le terminal).
|
|
267
|
+
* @returns la ligne à écrire, sans retour chariot, ou `null`.
|
|
268
|
+
*/
|
|
269
|
+
export declare function progressLine(e: IDeepProgress, p: IPalette): string | null;
|
|
270
|
+
/**
|
|
271
|
+
* Le reporter à donner à l'étage profond — ou `undefined` quand personne ne lit.
|
|
272
|
+
*
|
|
273
|
+
* 🔴 **Deux décisions, et elles ne sont pas cosmétiques.**
|
|
274
|
+
*
|
|
275
|
+
* *Le canal* : la progression part sur la sortie d'ERREUR, jamais sur la sortie
|
|
276
|
+
* standard. Celle-ci porte le RAPPORT, que l'on redirige couramment vers un
|
|
277
|
+
* fichier (`nodefony doctor > diagnostic.txt`) ; une progression éphémère qui
|
|
278
|
+
* s'y glisserait salirait un document qu'on relit plus tard, et rendrait le
|
|
279
|
+
* `--json` inexploitable. C'est aussi la convention des outils qui annoncent
|
|
280
|
+
* leur travail — npm, cargo, docker écrivent tous leur progression sur stderr.
|
|
281
|
+
*
|
|
282
|
+
* *Le silence en `--json`* : rien n'est émis du tout, sur aucun canal. Un agent
|
|
283
|
+
* qui capture les deux flux (`2>&1`, ce que font la plupart des harnais) verrait
|
|
284
|
+
* sinon des lignes de décor tomber au milieu de son JSON. La règle est donc
|
|
285
|
+
* simple à documenter et sans exception : **`--json` n'émet aucune
|
|
286
|
+
* progression**.
|
|
287
|
+
*
|
|
288
|
+
* @param json - `true` si le rapport est demandé en JSON.
|
|
289
|
+
* @param write - où écrire (injecté : une fonction qui touche `process.stderr`
|
|
290
|
+
* en dur ne s'éprouve que par capture globale, donc mal).
|
|
291
|
+
* @returns le reporter, ou `undefined` s'il ne faut rien annoncer.
|
|
292
|
+
*/
|
|
293
|
+
export declare function reporterProgression(json: boolean, write?: (line: string) => void, stream?: NodeJS.WriteStream): DeepReporter | undefined;
|
|
294
|
+
export declare function runDoctorCommand(argv: string[]): Promise<number>;
|
|
295
|
+
/**
|
|
296
|
+
* Greffe l'étage 2 sur un rapport statique.
|
|
297
|
+
*
|
|
298
|
+
* En UN endroit, parce que la fusion porte une règle : les deux familles de
|
|
299
|
+
* l'étage 2 sont REMPLACÉES, jamais complétées. `collectDoctorReport` les a
|
|
300
|
+
* posées à « non demandé » — les laisser à côté du vrai résultat afficherait
|
|
301
|
+
* deux états pour un seul contrôle, et le sommaire cesserait de dire la vérité.
|
|
302
|
+
*
|
|
303
|
+
* @param report - le rapport statique, tel que la lecture pure l'a produit
|
|
304
|
+
* @param live - ce que l'application démarrée a dit d'elle-même
|
|
305
|
+
* @returns un rapport neuf ; l'entrée n'est pas modifiée
|
|
306
|
+
*/
|
|
307
|
+
export declare function attachLive(report: IDoctorReport, live: ILiveResult): IDoctorReport;
|
|
308
|
+
/**
|
|
309
|
+
* Rend le rapport et décide du code de sortie.
|
|
310
|
+
*
|
|
311
|
+
* Séparé de la collecte pour une raison précise : `doctor --live` boote, donc
|
|
312
|
+
* il compose son rapport en DEUX temps (les fichiers, puis l'application) et
|
|
313
|
+
* doit rendre le tout par le même chemin. Deux rendus pour un même document
|
|
314
|
+
* finiraient par diverger — et c'est le rendu qui porte la doctrine du verdict.
|
|
315
|
+
*
|
|
316
|
+
* @param report - le rapport complet, étage 2 greffé ou non
|
|
317
|
+
* @param parsed - la demande, telle que la ligne de commande l'a exprimée
|
|
318
|
+
* @returns le code de sortie : 0 si rien à signaler, 1 sinon
|
|
319
|
+
*/
|
|
320
|
+
export declare function renderDoctorReport(report: IDoctorReport, parsed: ICheckRequest, durationMs?: number): number;
|
|
321
|
+
/**
|
|
322
|
+
* La commande demandée est-elle `doctor` ?
|
|
323
|
+
*
|
|
324
|
+
* L'alias historique `check` a été RETIRÉ : il ne disait pas ce qu'il vérifie,
|
|
325
|
+
* et il entrait en collision de sens avec les scripts `typecheck` et
|
|
326
|
+
* `format:check` d'une application. Aucun paquet `@nodefony/*` n'étant publié
|
|
327
|
+
* (#175), ce nom n'a jamais atteint une application installée.
|
|
328
|
+
*
|
|
329
|
+
* @param requested - le nom de commande lu sur la ligne de commande.
|
|
330
|
+
* @returns `true` pour `doctor`.
|
|
331
|
+
*/
|
|
332
|
+
export declare function isDoctorCommand(requested: string | null): boolean;
|
|
333
|
+
/**
|
|
334
|
+
* L'invocation demande-t-elle l'étage 2 — celui qui exige un boot ?
|
|
335
|
+
*
|
|
336
|
+
* Une SEULE implémentation de la règle, parce qu'elle sert à deux endroits qui
|
|
337
|
+
* doivent s'accorder : le fast-path standalone (qui ne se prend PAS quand
|
|
338
|
+
* l'étage 2 est demandé) et le rattrapage d'un boot mort. Écrite deux fois,
|
|
339
|
+
* elle divergerait au premier drapeau ajouté — `--no-live` en est déjà un, que
|
|
340
|
+
* la lecture naïve de `argv` ignorait.
|
|
341
|
+
*
|
|
342
|
+
* @param requested - le nom de commande lu sur la ligne de commande.
|
|
343
|
+
* @param argv - la ligne de commande complète.
|
|
344
|
+
* @returns `true` si l'application doit être démarrée puis interrogée.
|
|
345
|
+
*/
|
|
346
|
+
export declare function wantsLiveDoctor(requested: string | null, argv: readonly string[]): boolean;
|
|
347
|
+
/**
|
|
348
|
+
* Rend le rapport de `doctor` alors que l'application vient d'échouer à démarrer.
|
|
349
|
+
*
|
|
350
|
+
* 🔴 C'est le cas POUR lequel la commande existe. `--live` sort du fast-path et
|
|
351
|
+
* demande un boot : sans ce chemin, une application qui ne démarre plus rendait
|
|
352
|
+
* une pile brute et RIEN d'autre — moins que `doctor` nu. L'étage 2 devient
|
|
353
|
+
* alors un état d'exécution lisible (ce qui a manqué, et le geste), et l'étage
|
|
354
|
+
* 1 est rendu comme d'habitude, code de sortie compris.
|
|
355
|
+
*
|
|
356
|
+
* @param argv - la ligne de commande telle qu'elle a été tapée.
|
|
357
|
+
* @param reason - pourquoi l'application n'a pas pu répondre.
|
|
358
|
+
* @param unlock - le geste qui la rendrait interrogeable.
|
|
359
|
+
* @returns le code de sortie du rapport.
|
|
360
|
+
*/
|
|
361
|
+
export declare function runDoctorWithoutLive(argv: string[], reason: string, unlock?: string): Promise<number>;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/** Ce qui rend une route ou une zone atteignable sans authentification. */
|
|
2
|
+
export type OpeningKind = "bypass-firewall" | "anonymous"
|
|
3
|
+
/** `bypassFirewall: true` posé à la main dans une route programmatique. */
|
|
4
|
+
| "bypass-option" | "public-area";
|
|
5
|
+
/** Un point d'entrée ouvert, tel qu'il s'affiche dans l'inventaire. */
|
|
6
|
+
export interface IOpening {
|
|
7
|
+
kind: OpeningKind;
|
|
8
|
+
/**
|
|
9
|
+
* Ce qui est ouvert : un nom de méthode, le motif d'une zone — ou RIEN.
|
|
10
|
+
*
|
|
11
|
+
* Vide quand le nom n'est pas littéral : une route posée dans une boucle
|
|
12
|
+
* (`Router.createRoute(name, …)`) n'a pas de nom lisible dans le source, et
|
|
13
|
+
* en inventer un serait pire que de n'en donner aucun.
|
|
14
|
+
*/
|
|
15
|
+
what: string;
|
|
16
|
+
/** Le fichier qui le déclare, relatif à la racine analysée. */
|
|
17
|
+
file: string;
|
|
18
|
+
}
|
|
19
|
+
/** Un manquement de surface ou de dialecte. */
|
|
20
|
+
export interface ISurfaceFinding {
|
|
21
|
+
kind: "public-area-covers-all" | "entity-other-dialect";
|
|
22
|
+
message: string;
|
|
23
|
+
file: string;
|
|
24
|
+
}
|
|
25
|
+
/** Ce que le contrôle a relevé. */
|
|
26
|
+
export interface ISurfaceResult {
|
|
27
|
+
findings: ISurfaceFinding[];
|
|
28
|
+
/** L'inventaire — une INFORMATION, jamais un verdict. */
|
|
29
|
+
openings: IOpening[];
|
|
30
|
+
/** Fichiers de source parcourus. */
|
|
31
|
+
scanned: number;
|
|
32
|
+
/** Le dialecte du connecteur, tel qu'on a pu le déterminer. */
|
|
33
|
+
dialect: SqlDialectName | null;
|
|
34
|
+
/** D'où vient ce dialecte, pour que le lecteur puisse le contredire. */
|
|
35
|
+
dialectFrom: string;
|
|
36
|
+
/** Entités relevées, tous dialectes confondus. */
|
|
37
|
+
entitiesScanned: number;
|
|
38
|
+
}
|
|
39
|
+
/** Les moteurs qu'une entité peut viser. */
|
|
40
|
+
export type SqlDialectName = "sqlite" | "postgres" | "mysql";
|
|
41
|
+
export interface ISurfaceCheckOptions {
|
|
42
|
+
/** Cibles à explorer : une application, et ses `modules/*`. */
|
|
43
|
+
roots: string[];
|
|
44
|
+
/** Racine servant à raccourcir les chemins affichés. */
|
|
45
|
+
cwd: string;
|
|
46
|
+
/** Racine du PROJET — c'est elle qui porte le manifeste. */
|
|
47
|
+
projectRoot?: string;
|
|
48
|
+
/**
|
|
49
|
+
* L'environnement, d'où l'on tire l'infrastructure déclarée.
|
|
50
|
+
*
|
|
51
|
+
* Injecté : une fonction qui lit `process.env` ne s'éprouve que dans
|
|
52
|
+
* l'environnement où elle tourne.
|
|
53
|
+
*/
|
|
54
|
+
env: Record<string, string | undefined>;
|
|
55
|
+
/**
|
|
56
|
+
* Les chemins d'entités dont le dialecte divergent est ASSUMÉ.
|
|
57
|
+
*
|
|
58
|
+
* Déclarés par le projet (`package.json` → `nodefony.doctor.entityDialect`).
|
|
59
|
+
* Sans cette porte, un dépôt qui porte volontairement des entités
|
|
60
|
+
* multi-moteurs — un banc de portabilité, par exemple — ne peut jamais être
|
|
61
|
+
* vert, et c'est le contrôle entier qu'on finit par ignorer.
|
|
62
|
+
*/
|
|
63
|
+
dialectExceptions?: readonly string[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Ce motif de zone laisse-t-il passer TOUT l'espace d'URL ?
|
|
67
|
+
*
|
|
68
|
+
* CONSTATÉ, jamais listé : le motif est compilé et éprouvé exactement comme le
|
|
69
|
+
* firewall le fait (`SecuredArea.ts:25` — `new RegExp(pattern, "u")`, non
|
|
70
|
+
* ancré, `test(pathname)`), puis confronté à des chemins sans parenté. Une
|
|
71
|
+
* liste écrite à la main disait le contraire du produit dans les deux sens :
|
|
72
|
+
* elle CONDAMNAIT `^/api`, qui ne couvre que `/api…`, et laissait passer
|
|
73
|
+
* `^/.*`, `.*` et `^`, qui ouvrent réellement tout.
|
|
74
|
+
*
|
|
75
|
+
* @param pattern - le motif tel que le manifeste l'écrit.
|
|
76
|
+
* @returns `true` si aucune route ne peut échapper à cette zone.
|
|
77
|
+
*/
|
|
78
|
+
export declare function coversEverything(pattern: string): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Le contenu d'un bloc d'accolades ÉQUILIBRÉES à partir d'une position.
|
|
81
|
+
*
|
|
82
|
+
* Une expression régulière ne sait pas compter les accolades : un bloc `areas`
|
|
83
|
+
* contenant une zone qui contient ses authentificateurs se ferait couper au
|
|
84
|
+
* premier `}` venu, et la moitié des zones deviendrait invisible — un contrôle
|
|
85
|
+
* de surface qui ne voit qu'une partie de la surface est pire qu'aucun.
|
|
86
|
+
*
|
|
87
|
+
* @param source - le texte à lire.
|
|
88
|
+
* @param open - l'index de l'accolade ouvrante.
|
|
89
|
+
* @returns le contenu entre les accolades, vide si elles ne se referment pas.
|
|
90
|
+
*/
|
|
91
|
+
export declare function balancedBlock(source: string, open: number): string;
|
|
92
|
+
/**
|
|
93
|
+
* Les zones publiques déclarées dans un manifeste.
|
|
94
|
+
*
|
|
95
|
+
* Fonction PURE sur le TEXTE du manifeste : c'est ce qui la rend éprouvable
|
|
96
|
+
* sans écrire de fichier, et ce qui lui permet de répondre sur un manifeste que
|
|
97
|
+
* TypeScript refuserait de compiler.
|
|
98
|
+
*
|
|
99
|
+
* @param manifest - le contenu de `nodefony.config.ts`.
|
|
100
|
+
* @returns une entrée par zone `security: false`, avec son motif.
|
|
101
|
+
*/
|
|
102
|
+
export declare function publicAreas(manifest: string): {
|
|
103
|
+
pattern: string;
|
|
104
|
+
}[];
|
|
105
|
+
/**
|
|
106
|
+
* Le dialecte du connecteur, tel qu'on peut le déterminer SANS démarrer.
|
|
107
|
+
*
|
|
108
|
+
* Trois sources, dans l'ordre de précédence du produit : l'infrastructure
|
|
109
|
+
* déclarée gagne (un hébergeur pose l'URL), puis ce que le manifeste écrit,
|
|
110
|
+
* puis le défaut du module. La provenance est RENDUE avec la valeur : un
|
|
111
|
+
* dialecte affirmé sans dire d'où il vient ne se contredit pas.
|
|
112
|
+
*
|
|
113
|
+
* @param manifest - le contenu de `nodefony.config.ts`.
|
|
114
|
+
* @param env - l'environnement dans lequel le diagnostic tourne.
|
|
115
|
+
* @returns le dialecte et sa provenance, `null` si rien ne le dit.
|
|
116
|
+
*/
|
|
117
|
+
export declare function connectorDialect(manifest: string, env: Record<string, string | undefined>): {
|
|
118
|
+
dialect: SqlDialectName | null;
|
|
119
|
+
from: string;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Réécrit un chemin en séparateurs `/`, quelle que soit sa grammaire d'origine.
|
|
123
|
+
*
|
|
124
|
+
* 🔴 **Axiome 2 : normaliser AVANT de filtrer ou comparer.** Une exception de
|
|
125
|
+
* dialecte est un chemin qui VOYAGE — elle vient de la configuration du projet,
|
|
126
|
+
* écrite une fois et lue sur les trois systèmes, donc en `/`. Le chemin auquel
|
|
127
|
+
* on la compare sort de `path.relative` : sous Windows il porte des `\`. Le
|
|
128
|
+
* filtre ne mordait donc jamais là-bas, et une divergence pourtant DÉCLARÉE
|
|
129
|
+
* par le projet était accusée — forge Windows rouge, même passe verte ailleurs.
|
|
130
|
+
*
|
|
131
|
+
* Les DEUX séparateurs sont traités, pas seulement celui du poste : rien ne dit
|
|
132
|
+
* que l'exception n'a pas été écrite avec la grammaire de la machine où elle a
|
|
133
|
+
* été ajoutée.
|
|
134
|
+
*
|
|
135
|
+
* @param rawPath - le chemin à normaliser.
|
|
136
|
+
* @param sep - la grammaire à appliquer ; injectée pour que la règle
|
|
137
|
+
* s'éprouve avec `path.win32.sep` depuis n'importe quel système — sans elle,
|
|
138
|
+
* le cas Windows ne serait vérifiable que sous Windows.
|
|
139
|
+
* @returns le même chemin, en `/`.
|
|
140
|
+
*/
|
|
141
|
+
export declare function toPortablePath(rawPath: string, sep?: string): string;
|
|
142
|
+
/**
|
|
143
|
+
* Relève la surface ouverte et les entités hors dialecte.
|
|
144
|
+
*
|
|
145
|
+
* @param options - cibles, racine du projet, environnement, exceptions.
|
|
146
|
+
* @returns l'inventaire, les manquements, et ce qui a été parcouru.
|
|
147
|
+
*/
|
|
148
|
+
export declare function checkSurface(options: ISurfaceCheckOptions): ISurfaceResult;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Les dossiers dans lesquels aucun contrôle n'entre.
|
|
3
|
+
*
|
|
4
|
+
* Trois familles, et chacune a son motif : ce qui est INSTALLÉ
|
|
5
|
+
* (`node_modules`), ce qui est PRODUIT (`dist`, `coverage`, `.turbo`, `tmp`,
|
|
6
|
+
* `var`), et ce qui n'est ni servi ni publié (`tests`, `test`, `__tests__`).
|
|
7
|
+
* Tout dossier commençant par un point est écarté en plus, par
|
|
8
|
+
* {@link isSkippedDir}.
|
|
9
|
+
*/
|
|
10
|
+
export declare const SKIPPED_DIRS: ReadonlySet<string>;
|
|
11
|
+
/**
|
|
12
|
+
* Ce dossier est-il hors de portée de tout contrôle ?
|
|
13
|
+
*
|
|
14
|
+
* @param name - le nom du dossier, sans son chemin.
|
|
15
|
+
* @returns `true` s'il ne faut pas y entrer.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isSkippedDir(name: string): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Ce fichier est-il un test ?
|
|
20
|
+
*
|
|
21
|
+
* Reconnaît `x.test.ts` et `x.spec.ts`, dans toutes les extensions de source.
|
|
22
|
+
* Un test n'est ni servi, ni publié, ni bâti : aucun contrôle n'a de raison de
|
|
23
|
+
* le compter, et chacun en avait sa propre définition.
|
|
24
|
+
*
|
|
25
|
+
* @param name - le nom du fichier, ou un chemin.
|
|
26
|
+
* @returns `true` s'il s'agit d'un test.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isTestFile(name: string): boolean;
|
|
29
|
+
/** Ce que l'appelant choisit — le reste est commun à tous les contrôles. */
|
|
30
|
+
export interface IWalkOptions {
|
|
31
|
+
/** Extensions retenues, point compris (ex. `[".ts", ".tsx"]`). */
|
|
32
|
+
extensions: readonly string[];
|
|
33
|
+
/** Sous-dossiers à explorer plutôt que la racine entière. */
|
|
34
|
+
subdirs?: readonly string[];
|
|
35
|
+
/** Profondeur maximale, à partir de la racine explorée. */
|
|
36
|
+
maxDepth?: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Les fichiers de source d'une cible, tests et dossiers produits exclus.
|
|
40
|
+
*
|
|
41
|
+
* @param root - racine à explorer.
|
|
42
|
+
* @param options - extensions retenues, et ce qui restreint le parcours.
|
|
43
|
+
* @returns les chemins absolus, dans l'ordre du système de fichiers.
|
|
44
|
+
*/
|
|
45
|
+
export declare function collectSources(root: string, options: IWalkOptions): string[];
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/** Un câblage manquant, ou un nom qui dépossède un module du framework. */
|
|
2
|
+
export interface IWiringFinding {
|
|
3
|
+
kind: "orphan-entity" | "orphan-controller" | "orphan-service" | "reserved-entity" | "missing-brick" | "route-colon-param" | "reponse-a-la-main" | "firewall-area-enumere" | "hook-lifecycle-inconnu";
|
|
4
|
+
/** Phrase lisible, déjà orientée vers la correction. */
|
|
5
|
+
message: string;
|
|
6
|
+
/** Fichier fautif, relatif à la racine analysée. */
|
|
7
|
+
file: string;
|
|
8
|
+
}
|
|
9
|
+
export interface IWiringCheckOptions {
|
|
10
|
+
/** Cibles à explorer : une application, et ses `modules/*`. */
|
|
11
|
+
roots: string[];
|
|
12
|
+
/** Racine servant à raccourcir les chemins affichés. */
|
|
13
|
+
cwd?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Racine du PROJET — c'est elle qui porte le manifeste des modules.
|
|
16
|
+
*
|
|
17
|
+
* Distincte des cibles : un module vit dans `modules/blog`, mais la brique
|
|
18
|
+
* dont son code dépend se déclare dans le `nodefony.config.ts` de
|
|
19
|
+
* l'application. Absente, le contrôle des briques est simplement sauté.
|
|
20
|
+
*/
|
|
21
|
+
projectRoot?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface IWiringCheckResult {
|
|
24
|
+
findings: IWiringFinding[];
|
|
25
|
+
/** Nombre de fichiers d'entité et de controller réellement analysés. */
|
|
26
|
+
scanned: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Contrôle le câblage d'une application et de ses modules locaux.
|
|
30
|
+
*
|
|
31
|
+
* Trois manquements, tous invisibles à la compilation :
|
|
32
|
+
*
|
|
33
|
+
* - **entité orpheline** — le descripteur n'est nommé nulle part, donc aucun
|
|
34
|
+
* `@entities([…])` ne l'enregistre : sa table ne sera pas créée ;
|
|
35
|
+
* - **controller orphelin** — la classe n'est nommée nulle part, donc aucune de
|
|
36
|
+
* ses routes n'est montée ;
|
|
37
|
+
* - **service orphelin** — la classe porte `@injectable` mais n'apparaît dans
|
|
38
|
+
* aucun `@services([…])` ni enregistrement impératif. Seul manquement dont
|
|
39
|
+
* le critère n'est PAS « quelqu'un te nomme » : un service non déclaré est
|
|
40
|
+
* presque toujours nommé — par le controller qui le reçoit en paramètre. Le
|
|
41
|
+
* framework l'auto-résout alors depuis le registre des classes, ce qui donne
|
|
42
|
+
* une application qui fonctionne et un service qui n'existe pour personne
|
|
43
|
+
* d'autre : hors ordre de démarrage, hors rapport de boot, hors politique
|
|
44
|
+
* d'erreur, hors introspection, construit à la première requête ;
|
|
45
|
+
* - **nom réservé** — l'entité porte le nom d'une entité d'un module du
|
|
46
|
+
* framework (`User`, `session`…). Le registre ORM est PLAT : l'homonyme
|
|
47
|
+
* dépossède le module, et l'application s'arrête au démarrage sur un message
|
|
48
|
+
* qui parle d'une colonne inconnue, jamais du doublon. Le registre est celui
|
|
49
|
+
* du scaffold ({@link findReservedEntity}), pas une seconde liste.
|
|
50
|
+
*
|
|
51
|
+
* @param options - cibles à explorer et racine d'affichage.
|
|
52
|
+
* @returns les manquements et le nombre de fichiers analysés.
|
|
53
|
+
*/
|
|
54
|
+
export declare function checkWiring(options: IWiringCheckOptions): IWiringCheckResult;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import Command from "../../command/Command.js";
|
|
2
|
+
import CliKernel from "../CliKernel.js";
|
|
3
|
+
/**
|
|
4
|
+
* Commande `nodefony ai:mcp` — déclare le serveur MCP de cette application à
|
|
5
|
+
* l'agent (`.mcp.json`).
|
|
6
|
+
*
|
|
7
|
+
* **Exécutée en « standalone » (zéro boot).** L'enregistrement ici sert au help
|
|
8
|
+
* (`nodefony --help`) et à la complétion ; l'exécution réelle est interceptée
|
|
9
|
+
* par le fast-path de {@link CliKernel.start} — elle n'écrit qu'un fichier de
|
|
10
|
+
* câblage, le serveur MCP étant une ROUTE de l'application. Le `generate()`
|
|
11
|
+
* ci-dessous n'est qu'un FILET.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```bash
|
|
15
|
+
* nodefony ai:mcp # écrit/actualise .mcp.json
|
|
16
|
+
* nodefony ai:mcp --dry-run # le plan, sans rien écrire
|
|
17
|
+
* nodefony ai:mcp --auth # mode authentifié (en-tête ${NF_MCP_TOKEN})
|
|
18
|
+
* nodefony ai:mcp --agent gemini,codex # déclare AUSSI la porte via LEUR CLI
|
|
19
|
+
* nodefony ai:mcp --agent all --remove # la retire partout
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* `--agent` accepte `none` — et en interactif, ne rien cocher revient au même :
|
|
23
|
+
* coder sans agent est un choix, pas un oubli qu'il faudrait rattraper.
|
|
24
|
+
*/
|
|
25
|
+
declare class AiMcp extends Command {
|
|
26
|
+
constructor(cli: CliKernel);
|
|
27
|
+
generate(opts?: {
|
|
28
|
+
auth?: boolean;
|
|
29
|
+
noAuth?: boolean;
|
|
30
|
+
agent?: string;
|
|
31
|
+
remove?: boolean;
|
|
32
|
+
global?: boolean;
|
|
33
|
+
url?: string;
|
|
34
|
+
dryRun?: boolean;
|
|
35
|
+
json?: boolean;
|
|
36
|
+
cwd?: string;
|
|
37
|
+
}): Promise<this>;
|
|
38
|
+
}
|
|
39
|
+
export default AiMcp;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import Command from "../../command/Command.js";
|
|
2
|
+
import CliKernel from "../CliKernel.js";
|
|
3
|
+
/**
|
|
4
|
+
* Commande `nodefony ai:sync` — pointeurs vers les skills d'agent livrés par
|
|
5
|
+
* les paquets installés.
|
|
6
|
+
*
|
|
7
|
+
* **Exécutée en « standalone » (zéro boot).** L'enregistrement ici sert au help
|
|
8
|
+
* (`nodefony --help`) et à la complétion ; l'exécution réelle est interceptée
|
|
9
|
+
* par le fast-path de {@link CliKernel.start} — portée par un module
|
|
10
|
+
* `policy: "dev"`, elle n'existerait pas dans un terminal sans `NODE_ENV`,
|
|
11
|
+
* et c'est exactement ce que le fast-path évite. Le `generate()` ci-dessous
|
|
12
|
+
* n'est qu'un FILET.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```bash
|
|
16
|
+
* nodefony ai:sync # pose/rafraîchit .agents/skills + miroir .claude/skills
|
|
17
|
+
* nodefony ai:sync --dry-run # le plan, sans rien écrire
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
declare class AiSync extends Command {
|
|
21
|
+
constructor(cli: CliKernel);
|
|
22
|
+
generate(opts?: {
|
|
23
|
+
dryRun?: boolean;
|
|
24
|
+
json?: boolean;
|
|
25
|
+
cwd?: string;
|
|
26
|
+
}): Promise<this>;
|
|
27
|
+
}
|
|
28
|
+
export default AiSync;
|