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,184 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import fs from "node:fs";
|
|
4
|
+
interface FileClassInterface {
|
|
5
|
+
path: fs.PathOrFileDescriptor;
|
|
6
|
+
name: string;
|
|
7
|
+
ext: string;
|
|
8
|
+
shortName: string;
|
|
9
|
+
type: string | undefined;
|
|
10
|
+
stats: fs.Stats;
|
|
11
|
+
dirName: string;
|
|
12
|
+
parse: path.ParsedPath;
|
|
13
|
+
encoding?: string;
|
|
14
|
+
mimeType?: string | false;
|
|
15
|
+
extention?: string | false;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Wrapper fs Node.js avec métadonnées pré-parsées (path, name, ext, mime, stats).
|
|
19
|
+
*
|
|
20
|
+
* Utilisé par le Kernel/Module pour résoudre des chemins, par le `Finder` pour représenter
|
|
21
|
+
* un résultat de recherche, et par les Controllers HTTP pour servir des fichiers statiques.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* import { FileClass } from "nodefony";
|
|
26
|
+
* const file = new FileClass("/path/to/file.txt");
|
|
27
|
+
* file.isFile(); // true
|
|
28
|
+
* file.mimeType; // "text/plain"
|
|
29
|
+
* const content = file.read();
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @remarks Le constructeur `new FileClass(path)` fait un `fs.lstatSync()` **synchrone**
|
|
33
|
+
* (bloque l'event-loop) — réservé au boot/CLI. Dans **tout hot path** (requête HTTP,
|
|
34
|
+
* Finder, upload), utiliser `await FileClass.from(path)` qui résout les stats en async
|
|
35
|
+
* (`fsp.lstat`/`fsp.realpath`) sans bloquer la loop. Idem `moveAsync()` vs `move()`.
|
|
36
|
+
*/
|
|
37
|
+
declare class FileClass {
|
|
38
|
+
stats: fs.Stats;
|
|
39
|
+
type: string | undefined;
|
|
40
|
+
path: fs.PathOrFileDescriptor;
|
|
41
|
+
parse: path.ParsedPath;
|
|
42
|
+
name: string;
|
|
43
|
+
shortName: string;
|
|
44
|
+
ext: string;
|
|
45
|
+
mimeType: string | false;
|
|
46
|
+
encoding: string;
|
|
47
|
+
extention: string | false;
|
|
48
|
+
dirName: string;
|
|
49
|
+
match: RegExpExecArray | null;
|
|
50
|
+
/**
|
|
51
|
+
* Construit un FileClass à partir d'un chemin (absolu OR relatif à `process.cwd()`).
|
|
52
|
+
*
|
|
53
|
+
* Par défaut : résout `lstatSync` (suit pas les symlinks) + `realpathSync.native`, parse
|
|
54
|
+
* le path, devine le MIME type — **synchrone, bloque l'event-loop** (boot/CLI uniquement).
|
|
55
|
+
* Passer `{ defer: true }` n'effectue AUCUNE I/O (utilisé par `FileClass.from()` async).
|
|
56
|
+
*
|
|
57
|
+
* @param Path - chemin absolu OR relatif vers le fichier/dossier.
|
|
58
|
+
* @param options - `defer: true` → pas de stat au constructeur (hydrater via `stat()`).
|
|
59
|
+
* @throws Si `Path` est falsy OR si `lstatSync` échoue (fichier inexistant, hors defer).
|
|
60
|
+
*/
|
|
61
|
+
constructor(Path: string | fs.PathOrFileDescriptor, options?: {
|
|
62
|
+
defer?: boolean;
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* Construit un FileClass SANS I/O synchrone — `fsp.lstat`/`fsp.realpath` async.
|
|
66
|
+
*
|
|
67
|
+
* À utiliser dans tout hot path (Finder, upload, render controller) pour ne PAS
|
|
68
|
+
* bloquer l'event-loop. Équivalent async de `new FileClass(path)`.
|
|
69
|
+
*
|
|
70
|
+
* @param Path - chemin absolu ou relatif à `process.cwd()`.
|
|
71
|
+
* @returns une instance hydratée (stats résolus).
|
|
72
|
+
* @throws Si `Path` est falsy ou si `lstat` échoue (inexistant).
|
|
73
|
+
*/
|
|
74
|
+
static from(Path: string | fs.PathOrFileDescriptor): Promise<FileClass>;
|
|
75
|
+
/**
|
|
76
|
+
* Résout les stats en async (`fsp.lstat` + `fsp.realpath`) puis hydrate l'instance.
|
|
77
|
+
* Aucune I/O synchrone. Appelé par `FileClass.from()` ; rappelable pour rafraîchir.
|
|
78
|
+
*
|
|
79
|
+
* @returns `this` (chaînable, type polymorphe pour les sous-classes type `File`).
|
|
80
|
+
*/
|
|
81
|
+
stat(): Promise<this>;
|
|
82
|
+
/**
|
|
83
|
+
* Renseigne stats/type/path/parse/name/mime à partir de stats déjà résolus.
|
|
84
|
+
* Partagé par le constructeur sync et `stat()` async — **aucune I/O ici** (pur).
|
|
85
|
+
*
|
|
86
|
+
* @param stats - résultat d'un `lstat` (sync ou async).
|
|
87
|
+
* @param resolvedPath - path réel (realpath) ou path original si symlink.
|
|
88
|
+
*/
|
|
89
|
+
private hydrate;
|
|
90
|
+
/**
|
|
91
|
+
* @returns le path absolu (utile pour les concat string).
|
|
92
|
+
*/
|
|
93
|
+
toString(): string;
|
|
94
|
+
/**
|
|
95
|
+
* Sérialise les métadonnées du fichier en objet plain (compatible JSON.stringify).
|
|
96
|
+
*
|
|
97
|
+
* @returns objet contenant path, name, ext, stats, mime, etc.
|
|
98
|
+
*/
|
|
99
|
+
toJson(): FileClassInterface;
|
|
100
|
+
/**
|
|
101
|
+
* Détermine le type — `"File"`, `"Directory"`, `"SymbolicLink"`, etc.
|
|
102
|
+
*
|
|
103
|
+
* @returns nom du type ou `undefined` si stats indéterminé.
|
|
104
|
+
*/
|
|
105
|
+
checkType(): string | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* Calcule le hash du contenu du fichier (synchronous).
|
|
108
|
+
*
|
|
109
|
+
* @param type - algorithme (`"md5"` défaut, `"sha1"`, `"sha256"`, etc.).
|
|
110
|
+
* @param hasOption - options crypto.HashOptions.
|
|
111
|
+
* @returns hash hexadécimal.
|
|
112
|
+
*/
|
|
113
|
+
checkSum(type?: string, hasOption?: crypto.HashOptions): string;
|
|
114
|
+
getMimeType(name?: string): string | false;
|
|
115
|
+
getExtension(mimeType: string | false): string | false;
|
|
116
|
+
/**
|
|
117
|
+
* Canonicalise un chemin par la voie SYSTÈME (`uv_fs_realpath`), la même que
|
|
118
|
+
* `fsp.realpath` employé par la voie async.
|
|
119
|
+
*
|
|
120
|
+
* @remarks `fs.realpathSync` (sans `.native`) est une implémentation JavaScript qui
|
|
121
|
+
* se contente de dérouler les liens : sous Windows elle **conserve les noms courts
|
|
122
|
+
* 8.3** (`C:\Users\RUNNER~1\…`) là où la voie système rend la forme longue
|
|
123
|
+
* (`C:\Users\runneradmin\…`). Deux canonicalisations pour un même fichier, donc
|
|
124
|
+
* deux `path` différents selon qu'on est passé par le constructeur ou par
|
|
125
|
+
* `FileClass.from()` — et toute comparaison de chemins (dédup, cache, garde
|
|
126
|
+
* « la cible reste-t-elle sous le dossier autorisé ? ») devient fausse sans un mot.
|
|
127
|
+
* Sous POSIX les deux voies sont identiques : l'alignement ne change rien.
|
|
128
|
+
*
|
|
129
|
+
* @param Path - chemin à canonicaliser.
|
|
130
|
+
* @param options - encodage (cf `fs.EncodingOption`).
|
|
131
|
+
* @returns le chemin réel, forme canonique du système de fichiers.
|
|
132
|
+
*/
|
|
133
|
+
getRealpath(Path: string, options?: fs.EncodingOption): string;
|
|
134
|
+
matchName(ele: RegExp | string): boolean | RegExpExecArray | null;
|
|
135
|
+
matchType(type: string): boolean;
|
|
136
|
+
/** @returns `true` si le path pointe vers un fichier régulier. */
|
|
137
|
+
isFile(): boolean;
|
|
138
|
+
/** @returns `true` si le path pointe vers un dossier. */
|
|
139
|
+
isDirectory(): boolean;
|
|
140
|
+
/** @returns `true` si le path est un lien symbolique. */
|
|
141
|
+
isSymbolicLink(): boolean;
|
|
142
|
+
dirname(): string;
|
|
143
|
+
/** @returns `true` si le nom commence par `.` (fichier caché Unix). */
|
|
144
|
+
isHidden(): boolean;
|
|
145
|
+
content(encoding?: string): string | Buffer;
|
|
146
|
+
/**
|
|
147
|
+
* Lit le contenu du fichier (synchronous).
|
|
148
|
+
*
|
|
149
|
+
* @param encoding - encoding (défaut `"utf8"`). Si non fourni → retourne Buffer.
|
|
150
|
+
* @returns contenu sous forme de string OR Buffer.
|
|
151
|
+
*/
|
|
152
|
+
read(encoding?: string): string | Buffer;
|
|
153
|
+
readAsync(encoding?: string): Promise<string | Buffer>;
|
|
154
|
+
readByLine(callback: (line: string, n: number) => void, encoding?: string): string | Buffer<ArrayBufferLike>;
|
|
155
|
+
/**
|
|
156
|
+
* Écrit du contenu dans le fichier (synchronous).
|
|
157
|
+
*
|
|
158
|
+
* @param data - contenu à écrire (string OR Buffer).
|
|
159
|
+
* @param options - options fs.write (encoding, flags).
|
|
160
|
+
* @returns this (chaînable).
|
|
161
|
+
*/
|
|
162
|
+
write(data: string | NodeJS.ArrayBufferView, options: fs.WriteFileOptions): void;
|
|
163
|
+
/**
|
|
164
|
+
* Déplace/renomme le fichier (synchronous).
|
|
165
|
+
*
|
|
166
|
+
* @param target - chemin de destination.
|
|
167
|
+
* @returns nouvelle instance FileClass pointant vers `target`.
|
|
168
|
+
*/
|
|
169
|
+
move(target: fs.PathLike): FileClass;
|
|
170
|
+
/**
|
|
171
|
+
* Déplace/renomme le fichier en **async** (`fsp.rename`) — variante non bloquante
|
|
172
|
+
* de `move()`. À préférer dans le pipeline (upload, controller).
|
|
173
|
+
*
|
|
174
|
+
* @param target - chemin de destination.
|
|
175
|
+
* @returns nouvelle instance FileClass (hydratée async) sur `target`.
|
|
176
|
+
*/
|
|
177
|
+
moveAsync(target: fs.PathLike): Promise<FileClass>;
|
|
178
|
+
/** Supprime le fichier du filesystem (synchronous, irréversible). */
|
|
179
|
+
unlink(): void;
|
|
180
|
+
/** Supprime le fichier du filesystem en **async** (`fsp.unlink`). */
|
|
181
|
+
unlinkAsync(): Promise<void>;
|
|
182
|
+
}
|
|
183
|
+
export default FileClass;
|
|
184
|
+
export { FileClassInterface };
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { DebugType, EnvironmentType } from "./types/globals.js";
|
|
2
|
+
import type { IService, DefaultOptionsService, EventListener } from "./types/IService.js";
|
|
3
|
+
import type { IKernel } from "./types/IKernel.js";
|
|
4
|
+
import Container, { DynamicParam } from "./Container.js";
|
|
5
|
+
import Event, { EventDefaultInterface } from "./Event.js";
|
|
6
|
+
import type { IGuardedEmitOptions, IGuardedEmitResult } from "./Event.js";
|
|
7
|
+
import Pdu, { Severity, Msgid, Message, Pci } from "./syslog/Pdu.js";
|
|
8
|
+
import Syslog, { conditionsInterface } from "./syslog/Syslog.js";
|
|
9
|
+
/**
|
|
10
|
+
* Brique de base de tout composant Nodefony — câble un nom, un {@link Container} DI,
|
|
11
|
+
* un {@link Syslog} et un bus d'événements {@link Event} (notificationsCenter).
|
|
12
|
+
*
|
|
13
|
+
* Tous les services, modules, kernels et controllers héritent de cette classe.
|
|
14
|
+
* Délègue son API EventEmitter à `notificationsCenter` et son API DI au `container`.
|
|
15
|
+
*
|
|
16
|
+
* Cycle de vie attendu :
|
|
17
|
+
* - `new Service(name, container?, nc?, options?)` — initialise les dépendances
|
|
18
|
+
* - `initSyslog(env, debug, options?)` — démarre la sortie console (optionnel)
|
|
19
|
+
* - `clean()` — retire les listeners trackés et libère les références
|
|
20
|
+
*
|
|
21
|
+
* @remarks Si `notificationsCenter === false`, le service est créé sans bus
|
|
22
|
+
* d'événements — utile pour des services purement utilitaires.
|
|
23
|
+
*/
|
|
24
|
+
declare class Service implements IService {
|
|
25
|
+
#private;
|
|
26
|
+
name: string;
|
|
27
|
+
options: DefaultOptionsService;
|
|
28
|
+
container: Container | null;
|
|
29
|
+
kernel: IKernel | null;
|
|
30
|
+
syslog: Syslog | null;
|
|
31
|
+
get notificationsCenter(): Event | undefined;
|
|
32
|
+
private get nc();
|
|
33
|
+
/**
|
|
34
|
+
* Initialise le service — réutilise les ressources du conteneur si possible,
|
|
35
|
+
* sinon les crée à la volée.
|
|
36
|
+
*
|
|
37
|
+
* @param name - identifiant logique du service (apparaît dans les logs comme `msgid`).
|
|
38
|
+
* @param container - {@link Container} DI partagé ; sinon un nouveau est instancié.
|
|
39
|
+
* @param notificationsCenter - {@link Event} bus existant à partager, ou `false`
|
|
40
|
+
* pour désactiver les events, ou `null`/`undefined` pour créer un bus dédié.
|
|
41
|
+
* @param options - surcharge des défauts (`events.nbListeners`, `syslog.moduleName`…).
|
|
42
|
+
*/
|
|
43
|
+
constructor(name: string, container?: Container, notificationsCenter?: Event | false | null, options?: DefaultOptionsService);
|
|
44
|
+
/**
|
|
45
|
+
* Convention `onXxx` → enregistre les listeners déclarés en config (clé
|
|
46
|
+
* matchant `/^on(.+)$/`) via {@link Service.on} pour que {@link clean}
|
|
47
|
+
* puisse les retirer du bus partagé. Variante trackée de
|
|
48
|
+
* {@link Event.settingsToListen}.
|
|
49
|
+
*/
|
|
50
|
+
private attachConfiguredListeners;
|
|
51
|
+
/**
|
|
52
|
+
* Démarre la sortie console du Syslog avec l'environnement et la verbosité voulus.
|
|
53
|
+
*
|
|
54
|
+
* @param environment - `"production"` (défaut) ou `"development"`.
|
|
55
|
+
* @param debug - flag de verbosité (true ou {@link DebugType}).
|
|
56
|
+
* @param options - {@link conditionsInterface} pour filtrer les Pdu (severity, msgid…).
|
|
57
|
+
* @returns le résultat de {@link Syslog.init} ou `null` si pas de Syslog.
|
|
58
|
+
*/
|
|
59
|
+
initSyslog(environment?: EnvironmentType, debug?: DebugType, options?: conditionsInterface): ReturnType<Syslog["init"]> | null;
|
|
60
|
+
/** Renvoie le nom logique du service (utilisé comme `msgid` syslog par défaut). */
|
|
61
|
+
getName(): string;
|
|
62
|
+
/**
|
|
63
|
+
* Libère les ressources — retire les listeners trackés du bus partagé pour
|
|
64
|
+
* éviter les fuites mémoire, puis détache container/kernel/syslog/nc.
|
|
65
|
+
*
|
|
66
|
+
* @param syslog - si `true`, appelle aussi {@link Syslog.reset} (transports fermés).
|
|
67
|
+
* @remarks Après `clean()`, toute API héritée (log, event, container) lèvera une erreur.
|
|
68
|
+
*/
|
|
69
|
+
clean(syslog?: boolean): void;
|
|
70
|
+
/**
|
|
71
|
+
* Émet une entrée de log structurée — point d'entrée central pour TOUT log Nodefony.
|
|
72
|
+
*
|
|
73
|
+
* @param pci - charge utile (string, objet, Error…). Stockée dans {@link Pdu.payload}.
|
|
74
|
+
* @param severity - niveau syslog (`INFO`, `WARNING`, `ERROR`, `CRITIC`, `DEBUG`…).
|
|
75
|
+
* @param msgid - identifiant logique ; défaut = `this.name`.
|
|
76
|
+
* @param msg - message libre additionnel.
|
|
77
|
+
* @returns le {@link Pdu} émis (utile pour chaîner des transports).
|
|
78
|
+
* @remarks Si syslog est down, fabrique un Pdu directement et catch toute exception.
|
|
79
|
+
*/
|
|
80
|
+
log(pci: Pci, severity?: Severity, msgid?: Msgid, msg?: Message): Pdu;
|
|
81
|
+
/** Raccourci debug — log severity `DEBUG` + `console.debug` formaté. */
|
|
82
|
+
logger(pci: Pci, ...args: unknown[]): void;
|
|
83
|
+
/** Comme {@link logger} mais `console.trace` (avec stack trace). */
|
|
84
|
+
trace(pci: Pci, ...args: unknown[]): void;
|
|
85
|
+
private trackListener;
|
|
86
|
+
private untrackListener;
|
|
87
|
+
/** Liste les noms d'événements ayant au moins un listener. */
|
|
88
|
+
eventNames(): (string | symbol)[];
|
|
89
|
+
/** Alias `emit` — émet l'événement de manière synchrone. */
|
|
90
|
+
fire(eventName: string | symbol, ...args: unknown[]): boolean;
|
|
91
|
+
/** Émet l'événement et attend que tous les listeners async résolvent. */
|
|
92
|
+
fireAsync(eventName: string | symbol, ...args: unknown[]): Promise<unknown>;
|
|
93
|
+
/** Émet l'événement (API EventEmitter standard). */
|
|
94
|
+
emit(eventName: string | symbol, ...args: unknown[]): boolean;
|
|
95
|
+
/** Émet et attend les listeners async — équivalent de {@link fireAsync}. */
|
|
96
|
+
emitAsync(eventName: string | symbol, ...args: unknown[]): Promise<unknown>;
|
|
97
|
+
/**
|
|
98
|
+
* Variante **gardée** de {@link emitAsync} (cf `Event.emitAsyncGuarded`) : isole
|
|
99
|
+
* chaque listener par try/catch + timeout et collecte les échecs. Réservé au
|
|
100
|
+
* **boot / lifecycle / jobs** (cf `Kernel.fireLifecycle`) — JAMAIS le hot path.
|
|
101
|
+
*/
|
|
102
|
+
emitAsyncGuarded(eventName: string | symbol, options?: IGuardedEmitOptions, ...args: unknown[]): Promise<IGuardedEmitResult>;
|
|
103
|
+
/** Enregistre un listener (tracké pour cleanup). Voir aussi {@link on}. */
|
|
104
|
+
addListener(eventName: string | symbol, listener: EventListener): this;
|
|
105
|
+
/**
|
|
106
|
+
* Bind le listener sur `this` puis l'enregistre — utile quand le listener
|
|
107
|
+
* référence `this.foo` et ne peut pas être tracké à l'identique.
|
|
108
|
+
*
|
|
109
|
+
* @returns le listener wrappé (ne PAS passer le listener original à `off()`).
|
|
110
|
+
*/
|
|
111
|
+
listen(eventName: string | symbol, listener: EventListener): (...args: unknown[]) => boolean;
|
|
112
|
+
/** Enregistre un listener (tracké pour cleanup). Alias EventEmitter de {@link addListener}. */
|
|
113
|
+
on(eventName: string | symbol, listener: EventListener): this;
|
|
114
|
+
/** Enregistre un listener one-shot — auto-retiré après le premier `emit`. */
|
|
115
|
+
once(eventName: string | symbol, listener: EventListener): this;
|
|
116
|
+
/** Retire un listener (alias EventEmitter de {@link removeListener}). */
|
|
117
|
+
off(eventName: string | symbol, listener: EventListener): this;
|
|
118
|
+
/**
|
|
119
|
+
* Enregistre les événements déclarés dans `localSettings.events.listeners`
|
|
120
|
+
* — utilisé en config pour mapper des hooks sans code impératif.
|
|
121
|
+
*/
|
|
122
|
+
settingsToListen(localSettings: EventDefaultInterface, context: object): void;
|
|
123
|
+
/** Augmente la limite Node.js (défaut 10) pour éviter le warning MaxListeners. */
|
|
124
|
+
setMaxListeners(n: number): this;
|
|
125
|
+
/** Retire un listener spécifique et nettoie le tracking interne. */
|
|
126
|
+
removeListener(eventName: string | symbol, listener: EventListener): this;
|
|
127
|
+
/** Retire tous les listeners (ou ceux d'un événement précis si fourni). */
|
|
128
|
+
removeAllListeners(eventName?: string | symbol): this;
|
|
129
|
+
/** Comme {@link once} mais inséré en tête de la liste des listeners. */
|
|
130
|
+
prependOnceListener(eventName: string | symbol, listener: EventListener): this;
|
|
131
|
+
/** Comme {@link on} mais inséré en tête de la liste des listeners. */
|
|
132
|
+
prependListener(eventName: string | symbol, listener: EventListener): this;
|
|
133
|
+
/** Limite courante de listeners avant warning Node.js. */
|
|
134
|
+
getMaxListeners(): number;
|
|
135
|
+
/** Nombre de listeners attachés à un événement (filtré sur `listener` si fourni). */
|
|
136
|
+
listenerCount(eventName: string | symbol, listener?: EventListener): number;
|
|
137
|
+
/** Copie de la liste des listeners (résolus, sans le wrapper `once`). */
|
|
138
|
+
listeners(eventName: string | symbol): EventListener[];
|
|
139
|
+
/** Comme {@link listeners} mais retourne les wrappers Node.js bruts (avec once). */
|
|
140
|
+
rawListeners(eventName: string | symbol): EventListener[];
|
|
141
|
+
/** Récupère un service du DI container par nom. Retourne `null` si absent ou clean(). */
|
|
142
|
+
get<T>(name: string): T | null;
|
|
143
|
+
/**
|
|
144
|
+
* Enregistre un objet dans le DI container.
|
|
145
|
+
* @throws Error si `clean()` a déjà détaché le container.
|
|
146
|
+
*/
|
|
147
|
+
set<T>(name: string, obj: T): void;
|
|
148
|
+
/**
|
|
149
|
+
* Retire un service du container — si c'est un `Service`, appelle d'abord
|
|
150
|
+
* son `clean()` pour libérer ses listeners.
|
|
151
|
+
* @returns `true` si retiré, `false` si introuvable ou container détaché.
|
|
152
|
+
*/
|
|
153
|
+
remove(name: string): boolean;
|
|
154
|
+
/** Récupère un paramètre dynamique (config résolue) — `null` si absent. */
|
|
155
|
+
getParameters(name: string): DynamicParam | null;
|
|
156
|
+
/**
|
|
157
|
+
* Définit un paramètre dynamique dans le container.
|
|
158
|
+
* @throws Error si `clean()` a déjà détaché le container.
|
|
159
|
+
*/
|
|
160
|
+
setParameters<T>(name: string, ele: T): DynamicParam | null;
|
|
161
|
+
/** Vérifie l'existence d'un service ou paramètre dans le container. */
|
|
162
|
+
has(name: string): boolean;
|
|
163
|
+
}
|
|
164
|
+
export default Service;
|
|
165
|
+
export type { IService, IKernel, DefaultOptionsService, EventListener };
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import Container from "./Container.js";
|
|
2
|
+
/** Alias direct de `Array.isArray` — exporté pour usage cohérent dans les modules. */
|
|
3
|
+
declare const isArray: (arg: any) => arg is any[];
|
|
4
|
+
/**
|
|
5
|
+
* Type guard — `true` si `value` est une fonction (incluant arrow et classes).
|
|
6
|
+
*
|
|
7
|
+
* @param value - valeur inconnue à tester.
|
|
8
|
+
*/
|
|
9
|
+
declare const isFunction: (value: unknown) => value is (...args: unknown[]) => unknown;
|
|
10
|
+
/**
|
|
11
|
+
* Type guard — `true` si `value` est une instance `RegExp`.
|
|
12
|
+
*
|
|
13
|
+
* @param value - valeur inconnue à tester.
|
|
14
|
+
*/
|
|
15
|
+
declare const isRegExp: (value: unknown) => value is RegExp;
|
|
16
|
+
/**
|
|
17
|
+
* Vérifie qu'un objet est un "plain object" — `{}` ou `Object.create(null)`.
|
|
18
|
+
*
|
|
19
|
+
* Rejette les instances de classes, les `Array`, `Date`, `RegExp`, etc.
|
|
20
|
+
* Implémentation alignée sur jQuery.isPlainObject (compatible cross-realm).
|
|
21
|
+
*
|
|
22
|
+
* @param obj - valeur à tester.
|
|
23
|
+
* @returns `true` si l'objet vient directement de `Object` ou n'a pas de prototype.
|
|
24
|
+
*/
|
|
25
|
+
declare const isPlainObject: (obj: unknown) => boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Type guard — `true` si `value === undefined` (strict, jamais `null`).
|
|
28
|
+
*
|
|
29
|
+
* @param value - valeur à tester.
|
|
30
|
+
*/
|
|
31
|
+
declare const isUndefined: (value: unknown) => value is undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Vérifie qu'un objet existe et ne contient aucune clé propre énumérable.
|
|
34
|
+
*
|
|
35
|
+
* @param obj - objet à inspecter (peut être `null`/`undefined`).
|
|
36
|
+
* @returns `true` si `obj` est défini ET `Object.keys(obj).length === 0`.
|
|
37
|
+
*/
|
|
38
|
+
declare const isEmptyObject: (obj: object | null | undefined) => boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Fusionne plusieurs objets dans une cible — API compatible `jQuery.extend`.
|
|
41
|
+
*
|
|
42
|
+
* Mode `shallow` (défaut) : copie les clés du dernier au premier source.
|
|
43
|
+
* Mode `deep` (1er arg `true`) : récurse dans les plain objects et arrays.
|
|
44
|
+
* Sécurité : ignore `__proto__`, `constructor`, `prototype` (anti prototype pollution).
|
|
45
|
+
*
|
|
46
|
+
* @param args - `[target, ...sources]` ou `[true, target, ...sources]` pour deep.
|
|
47
|
+
* @returns la cible mutée (ou objet vide si appel à un seul argument).
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* extend({ a: 1 }, { b: 2 }); // { a: 1, b: 2 }
|
|
52
|
+
* extend(true, { a: { x: 1 } }, { a: { y: 2 } }); // { a: { x: 1, y: 2 } }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
declare const extend: (...args: any[]) => any;
|
|
56
|
+
declare const typeOf: (value: any) => string | null;
|
|
57
|
+
/**
|
|
58
|
+
* Type guard — `true` si la valeur est une instance de `Container` (DI).
|
|
59
|
+
*
|
|
60
|
+
* @param container - valeur à tester.
|
|
61
|
+
*/
|
|
62
|
+
declare const isContainer: (container: unknown) => container is Container;
|
|
63
|
+
/**
|
|
64
|
+
* Vérifie qu'une valeur est une `Promise` ou un thenable (duck-typing `.then`).
|
|
65
|
+
*
|
|
66
|
+
* Accepte les promesses natives ET les bibliothèques tierces (Bluebird, etc.)
|
|
67
|
+
* qui implémentent le protocole Promises/A+.
|
|
68
|
+
*
|
|
69
|
+
* @param obj - valeur à tester.
|
|
70
|
+
* @returns `true` si `obj instanceof Promise` ou `typeof obj.then === "function"`.
|
|
71
|
+
*/
|
|
72
|
+
declare const isPromise: (obj: any) => boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Vérifie qu'une classe hérite (directement ou non) d'une autre.
|
|
75
|
+
*
|
|
76
|
+
* @param subclass - classe enfant supposée.
|
|
77
|
+
* @param superclass - classe parent attendue.
|
|
78
|
+
* @returns `true` si `subclass.prototype instanceof superclass`.
|
|
79
|
+
*/
|
|
80
|
+
declare const isSubclassOf: (subclass: any, superclass: any) => boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Retire les barres obliques finales d'une chaîne, sans expression régulière.
|
|
83
|
+
*
|
|
84
|
+
* **Pourquoi pas `value.replace(/\/+$/, "")`** — la forme évidente, et celle qui
|
|
85
|
+
* était recopiée à cinq endroits. Elle est QUADRATIQUE quand la reconnaissance
|
|
86
|
+
* ÉCHOUE : le moteur reprend l'essai à chaque position, consomme la suite des
|
|
87
|
+
* barres, puis bute sur l'ancre de fin. Mesuré sur des barres suivies d'un
|
|
88
|
+
* caractère quelconque — 1 000 → 1,4 ms, 4 000 → 21 ms, 16 000 → **309 ms** ;
|
|
89
|
+
* la même entrée passe ici en 0 ms. Le cas qui RÉUSSIT, lui, coûte 0,03 ms :
|
|
90
|
+
* c'est l'échec qui est cher, et c'est le cas qu'une entrée hostile provoque.
|
|
91
|
+
*
|
|
92
|
+
* Deux propriétés utiles en chemin chaud : la lecture est en O(n) sans retour
|
|
93
|
+
* arrière, et **rien n'est alloué** quand il n'y a rien à couper — la chaîne
|
|
94
|
+
* d'origine est rendue telle quelle, là où `replace` alloue à chaque appel.
|
|
95
|
+
*
|
|
96
|
+
* @param value - la chaîne à normaliser (typiquement un chemin ou une URL).
|
|
97
|
+
* @returns la chaîne sans ses barres obliques finales ; la chaîne elle-même si elle n'en avait pas.
|
|
98
|
+
*/
|
|
99
|
+
declare const stripTrailingSlashes: (value: string) => string;
|
|
100
|
+
/**
|
|
101
|
+
* Neutralise les métacaractères d'une chaîne destinée à être insérée dans une
|
|
102
|
+
* expression régulière, pour qu'elle n'y vaille que pour elle-même.
|
|
103
|
+
*
|
|
104
|
+
* **Pourquoi c'est ici** — le même motif était recopié à sept endroits, dans
|
|
105
|
+
* cinq paquets. Une liste de caractères recopiée est une liste qui diverge : il
|
|
106
|
+
* suffit qu'une copie oublie `|` pour qu'un littéral cesse d'être un littéral.
|
|
107
|
+
* `|` est d'ailleurs le plus coûteux à omettre, parce qu'il ne fait pas
|
|
108
|
+
* qu'élargir la reconnaissance : il DÉSANCRE. `new RegExp("^/a|b$")` ne
|
|
109
|
+
* reconnaît pas « /a ou /b » — il reconnaît « commence par /a » **ou** « finit
|
|
110
|
+
* par b », donc `/n/importe/quoi/b`.
|
|
111
|
+
*
|
|
112
|
+
* @param value - la chaîne à traiter comme un littéral.
|
|
113
|
+
* @returns la même chaîne, chaque métacaractère précédé d'une barre inverse.
|
|
114
|
+
*/
|
|
115
|
+
declare const escapeRegExp: (value: string) => string;
|
|
116
|
+
export { extend, isEmptyObject, isPlainObject, isUndefined, isRegExp, isContainer, typeOf, isFunction, isArray, isPromise, isSubclassOf, stripTrailingSlashes, escapeRegExp, };
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type Syslog from "../syslog/Syslog.js";
|
|
2
|
+
import type { ClientIdentity, ClientKernelEvent, ClientKernelOptions, ClientKernelState, IClientKernel, NodefonyClientServices } from "./IClientKernel.js";
|
|
3
|
+
/**
|
|
4
|
+
* Kernel client — obtenu par {@link createClientKernel}, jamais construit en
|
|
5
|
+
* singleton de module (testabilité, HMR-safe : un module réévalué par Vite
|
|
6
|
+
* dédoublerait un singleton, gotcha vécu sur le contexte React de Studio).
|
|
7
|
+
*/
|
|
8
|
+
export declare class ClientKernel implements IClientKernel {
|
|
9
|
+
#private;
|
|
10
|
+
/** Journal client de série — `Pdu` isomorphes, corrélables au back. */
|
|
11
|
+
readonly syslog: Syslog;
|
|
12
|
+
constructor(options?: ClientKernelOptions);
|
|
13
|
+
/**
|
|
14
|
+
* Récupère un service composé, typé par le registre.
|
|
15
|
+
*
|
|
16
|
+
* Rend `undefined` pour un service absent — le registre est décrit par des
|
|
17
|
+
* propriétés optionnelles, si bien que `kernel.get("realtime")` est de type
|
|
18
|
+
* `RealtimeClient | undefined` et nourrit `<NodefonyProvider client={…}>` sans
|
|
19
|
+
* la moindre conversion de type forcée.
|
|
20
|
+
*/
|
|
21
|
+
get<K extends keyof NodefonyClientServices>(name: K): NodefonyClientServices[K];
|
|
22
|
+
/** Enregistre un service sous son nom contractuel. */
|
|
23
|
+
set<K extends keyof NodefonyClientServices>(name: K, svc: NodefonyClientServices[K]): void;
|
|
24
|
+
/** Teste la présence d'un service — nom libre, y compris hors contrat. */
|
|
25
|
+
has(name: string): boolean;
|
|
26
|
+
/** État courant — jamais régressif. */
|
|
27
|
+
get state(): ClientKernelState;
|
|
28
|
+
/**
|
|
29
|
+
* Compose et connecte les services. **Idempotent** : rappelé pendant ou après
|
|
30
|
+
* un premier boot, il ne recompose rien et ne réémet aucun événement. Depuis
|
|
31
|
+
* l'état `terminated`, il ne fait rien — l'état ne régresse jamais.
|
|
32
|
+
*/
|
|
33
|
+
boot(): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Flush l'observabilité et déconnecte. Idempotent, et **best-effort** : appelé
|
|
36
|
+
* sur `pagehide`, il n'a aucune garantie d'aller au bout — d'où l'ordre choisi,
|
|
37
|
+
* l'événement d'abord, le débranchement ensuite.
|
|
38
|
+
*/
|
|
39
|
+
terminate(): Promise<void>;
|
|
40
|
+
/** Nom du kernel — celui donné à la fabrique, `CLIENT KERNEL` par défaut. */
|
|
41
|
+
get name(): string;
|
|
42
|
+
/** Identité runtime courante, telle que l'application l'a déclarée. */
|
|
43
|
+
get identity(): ClientIdentity | null;
|
|
44
|
+
/**
|
|
45
|
+
* Déclare l'identité runtime — et applique la règle de sécurité D9, née d'une
|
|
46
|
+
* fuite vécue en production.
|
|
47
|
+
*
|
|
48
|
+
* Deux gardes, chacune payée par une régression réelle :
|
|
49
|
+
*
|
|
50
|
+
* 1. **`disconnect()` uniquement sur un VRAI changement de compte** (une clé
|
|
51
|
+
* connue remplacée par une autre). La socket grave l'identité au handshake ;
|
|
52
|
+
* le pont « API souveraine » rejouerait sinon des requêtes avec le jeton du
|
|
53
|
+
* compte précédent. Couper impose un nouveau handshake, donc la relecture du
|
|
54
|
+
* cookie courant.
|
|
55
|
+
* 2. **`connect()` HORS de cette garde.** Au tout premier chargement, la clé
|
|
56
|
+
* passe de `null` à une valeur : couper là romprait les requêtes EN VOL qui
|
|
57
|
+
* passent par le pont, et l'écran resterait en attente jusqu'au délai de
|
|
58
|
+
* garde (régression « tourne en boucle »).
|
|
59
|
+
*
|
|
60
|
+
* Une clé inchangée n'est pas un changement de compte : le profil est rafraîchi
|
|
61
|
+
* en silence, sans toucher à la socket ni réveiller l'application.
|
|
62
|
+
*/
|
|
63
|
+
setIdentity(identity: ClientIdentity | null): void;
|
|
64
|
+
/** Abonne un handler à un événement du kernel (bus `Event` du cœur, chaînable). */
|
|
65
|
+
on(event: ClientKernelEvent, handler: (...args: unknown[]) => void): this;
|
|
66
|
+
/** Retire un handler abonné par {@link on}. */
|
|
67
|
+
off(event: ClientKernelEvent, handler: (...args: unknown[]) => void): this;
|
|
68
|
+
/**
|
|
69
|
+
* Nombre de listeners navigateur encore posés.
|
|
70
|
+
*
|
|
71
|
+
* Sonde de fuite à l'usage des tests : un kernel terminé doit en compter zéro,
|
|
72
|
+
* et c'est la seule façon de le CONSTATER plutôt que de le supposer.
|
|
73
|
+
*/
|
|
74
|
+
get browserListenerCount(): number;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Fabrique un kernel client.
|
|
78
|
+
*
|
|
79
|
+
* Factory et non singleton : plusieurs kernels doivent pouvoir coexister en test,
|
|
80
|
+
* et un état de module global se dédouble sous le rechargement à chaud de Vite.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* const kernel = createClientKernel({ realtime: { url: "/nodefony/realtime" } });
|
|
85
|
+
* await kernel.boot();
|
|
86
|
+
* kernel.setIdentity({ key: user.id });
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare function createClientKernel(options?: ClientKernelOptions): ClientKernel;
|
|
90
|
+
export default ClientKernel;
|