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,171 @@
|
|
|
1
|
+
import { EventEmitter } from "node:events";
|
|
2
|
+
/**
|
|
3
|
+
* Listener générique — args et retour non contraints. Volontairement basé sur
|
|
4
|
+
* `unknown` (pas `any`) : reste assignable aux signatures `EventEmitter`
|
|
5
|
+
* (`(...args: any[]) => void`) tout en forçant le narrowing côté appelant.
|
|
6
|
+
*/
|
|
7
|
+
type Listener = (...args: unknown[]) => unknown;
|
|
8
|
+
interface EventDefaultInterface {
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}
|
|
11
|
+
interface EventOptionInterface {
|
|
12
|
+
nbListeners?: number;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}
|
|
15
|
+
/** `this` bindé sur les listeners auto-enregistrés (non contraint). */
|
|
16
|
+
type ContextType = unknown;
|
|
17
|
+
/**
|
|
18
|
+
* Information sur un listener pendant une émission gardée
|
|
19
|
+
* ({@link Event.emitAsyncGuarded}).
|
|
20
|
+
*/
|
|
21
|
+
export interface IGuardedListenerInfo {
|
|
22
|
+
/** Index du listener dans l'ordre d'enregistrement. */
|
|
23
|
+
index: number;
|
|
24
|
+
/** Référence du listener (pour lire d'éventuels tags posés par l'appelant). */
|
|
25
|
+
listener: object;
|
|
26
|
+
/** `true` si le listener a été interrompu par le timeout. */
|
|
27
|
+
timedOut: boolean;
|
|
28
|
+
/** Durée d'exécution mesurée (ms) — `0` si la mesure est off (`warnMs ≤ 0`). */
|
|
29
|
+
durationMs: number;
|
|
30
|
+
}
|
|
31
|
+
/** Erreur collectée pour un listener pendant {@link Event.emitAsyncGuarded}. */
|
|
32
|
+
export interface IGuardedEmitError {
|
|
33
|
+
/** Index du listener fautif. */
|
|
34
|
+
index: number;
|
|
35
|
+
/** Erreur levée par le listener (ou erreur de timeout). */
|
|
36
|
+
error: unknown;
|
|
37
|
+
/** `true` si l'échec est un dépassement de `timeoutMs`. */
|
|
38
|
+
timedOut: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Options de {@link Event.emitAsyncGuarded} — purement MÉCANIQUES : aucune notion
|
|
42
|
+
* de module / criticité / log (ça, c'est la POLITIQUE, décidée par l'appelant via
|
|
43
|
+
* les callbacks). Sépare le « comment on isole un listener » du « quoi faire d'un
|
|
44
|
+
* échec ».
|
|
45
|
+
*/
|
|
46
|
+
export interface IGuardedEmitOptions {
|
|
47
|
+
/**
|
|
48
|
+
* Timeout par listener (ms). `0` / absent = pas de timeout (0 timer alloué).
|
|
49
|
+
*
|
|
50
|
+
* Une FONCTION permet de décider listener par listener — la mécanique ne juge
|
|
51
|
+
* toujours rien, elle DEMANDE. C'est ce qui permet à un appelant d'exempter un
|
|
52
|
+
* écouteur qui n'est pas de la même nature que les autres (cf
|
|
53
|
+
* `Kernel.fireLifecycle` : l'action d'une commande n'est pas un hook de boot),
|
|
54
|
+
* sans que cette garde ait à connaître la notion de commande.
|
|
55
|
+
*/
|
|
56
|
+
timeoutMs?: number | ((listener: object, index: number) => number);
|
|
57
|
+
/** Seuil d'alerte de lenteur par listener (ms). `0` / absent = 0 mesure (0 `Date.now`). */
|
|
58
|
+
warnMs?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Appelé quand un listener rejette OU dépasse `timeoutMs`.
|
|
61
|
+
*
|
|
62
|
+
* @returns `true` pour **arrêter** la chaîne (les listeners suivants ne sont
|
|
63
|
+
* pas appelés) ; toute autre valeur = on continue (fail-soft).
|
|
64
|
+
*/
|
|
65
|
+
onListenerError?: (error: unknown, info: IGuardedListenerInfo) => boolean | void;
|
|
66
|
+
/** Appelé quand un listener réussit mais dépasse `warnMs` (observabilité). */
|
|
67
|
+
onListenerSlow?: (info: IGuardedListenerInfo) => void;
|
|
68
|
+
}
|
|
69
|
+
/** Résultat de {@link Event.emitAsyncGuarded}. */
|
|
70
|
+
export interface IGuardedEmitResult {
|
|
71
|
+
/** Valeurs résolues par les listeners ayant réussi (ordre d'exécution). */
|
|
72
|
+
results: unknown[];
|
|
73
|
+
/** Erreurs / timeouts collectés (vide si tout a réussi). */
|
|
74
|
+
errors: IGuardedEmitError[];
|
|
75
|
+
/** `true` si la chaîne a été arrêtée par `onListenerError`. */
|
|
76
|
+
stopped: boolean;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Bus d'événements Nodefony — extension de Node.js {@link EventEmitter} avec
|
|
80
|
+
* deux ajouts maison : `emitAsync` (await tous les listeners en séquence) et
|
|
81
|
+
* `settingsToListen` (mapping config → listeners via convention `onXxx`).
|
|
82
|
+
*
|
|
83
|
+
* Utilisé par {@link Service} comme `notificationsCenter`. Une seule instance
|
|
84
|
+
* peut être partagée entre plusieurs services — chaque service track ses
|
|
85
|
+
* propres listeners pour les retirer proprement à `clean()`.
|
|
86
|
+
*
|
|
87
|
+
* @example Bus dédié
|
|
88
|
+
* ```ts
|
|
89
|
+
* const bus = new Event({ onReady: () => console.log("ready!") }, this);
|
|
90
|
+
* bus.fire("onReady");
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* @example Bus partagé entre services
|
|
94
|
+
* ```ts
|
|
95
|
+
* const sharedBus = new Event();
|
|
96
|
+
* new ServiceA(name, container, sharedBus);
|
|
97
|
+
* new ServiceB(name, container, sharedBus);
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
declare class Event extends EventEmitter {
|
|
101
|
+
/**
|
|
102
|
+
* @param settings - objet de config dont les clés `onXxx` sont auto-bindées
|
|
103
|
+
* comme listeners (via {@link settingsToListen}).
|
|
104
|
+
* @param context - `this` à bind sur les listeners auto-enregistrés.
|
|
105
|
+
* @param options - `nbListeners` surcharge la limite d'abonnés de Node.js ;
|
|
106
|
+
* absent, c'est celle de Node qui s'applique (10), et le dépassement
|
|
107
|
+
* signale une fuite probable. La valeur `0` vaut **illimité**, comme dans
|
|
108
|
+
* `setMaxListeners` — un bus dont on SAIT qu'il portera beaucoup d'abonnés
|
|
109
|
+
* se déclare ainsi, au lieu de subir un avertissement qui n'annonce rien.
|
|
110
|
+
*/
|
|
111
|
+
constructor(settings?: EventDefaultInterface, context?: ContextType, options?: EventOptionInterface);
|
|
112
|
+
/**
|
|
113
|
+
* Parcourt `localSettings` et enregistre chaque clé matchant `/^on(.*)$/`
|
|
114
|
+
* comme listener — convention héritée des composants WebComponent / config
|
|
115
|
+
* Nodefony historique. Utile pour wirer des hooks via config plate.
|
|
116
|
+
*
|
|
117
|
+
* @param localSettings - objet plat ; les clés `onReady`, `onClose`, etc.
|
|
118
|
+
* sont prises comme noms d'événements ET comme listeners.
|
|
119
|
+
* @param context - si fourni, le listener est bindé sur ce contexte.
|
|
120
|
+
*/
|
|
121
|
+
settingsToListen(localSettings: EventDefaultInterface, context?: ContextType): void;
|
|
122
|
+
/**
|
|
123
|
+
* Bind `listener` sur `context` puis l'enregistre. Renvoie une fonction
|
|
124
|
+
* dispatcher qui ré-émet l'événement avec ses propres args (façon trigger).
|
|
125
|
+
*
|
|
126
|
+
* @returns dispatcher `(...args) => this.emit(eventName, ...args)` — pratique
|
|
127
|
+
* pour exposer un trigger sans donner accès au bus complet.
|
|
128
|
+
*/
|
|
129
|
+
listen(context: ContextType, eventName: string | symbol, listener: Listener): (...args: unknown[]) => boolean;
|
|
130
|
+
/** Alias `emit` — émission synchrone (API EventEmitter standard). */
|
|
131
|
+
fire(eventName: string | symbol, ...args: unknown[]): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Émet et attend chaque listener en séquence (`await Reflect.apply` un par
|
|
134
|
+
* un). Différent de `emit` qui appelle synchroniquement sans attendre les
|
|
135
|
+
* Promises retournées.
|
|
136
|
+
*
|
|
137
|
+
* @returns tableau des valeurs résolues par chaque listener (ordre d'append),
|
|
138
|
+
* ou `false` si aucun listener n'est attaché.
|
|
139
|
+
* @remarks Séquentiel par design — si tu veux Promise.all, fais un wrapper
|
|
140
|
+
* au-dessus. La séquence garantit l'ordre prévisible des side-effects.
|
|
141
|
+
*/
|
|
142
|
+
emitAsync(eventName: string | symbol, ...args: unknown[]): Promise<false | unknown[]>;
|
|
143
|
+
/** Alias `emitAsync`. */
|
|
144
|
+
fireAsync(eventName: string | symbol, ...args: unknown[]): Promise<false | unknown[]>;
|
|
145
|
+
/**
|
|
146
|
+
* Variante **gardée** de {@link emitAsync} : émet les listeners en SÉRIE (ordre
|
|
147
|
+
* préservé) mais isole chacun par un `try/catch` + un `timeout` optionnel, et
|
|
148
|
+
* COLLECTE les échecs au lieu de laisser le premier rejet faire sauter les
|
|
149
|
+
* suivants (ou un listener figé geler tout le reste).
|
|
150
|
+
*
|
|
151
|
+
* Ne décide d'AUCUNE politique (log, criticité, propagation) : c'est l'appelant
|
|
152
|
+
* qui tranche via `onListenerError` (continuer / arrêter) et `onListenerSlow`.
|
|
153
|
+
* Cette séparation MÉCANIQUE / POLITIQUE permet de réutiliser la garde hors boot
|
|
154
|
+
* en toute connaissance de cause.
|
|
155
|
+
*
|
|
156
|
+
* 🚨 **Coût** : quand `timeoutMs > 0`, 1 timer + 1 Promise de course PAR listener.
|
|
157
|
+
* Réservé au **boot / lifecycle / jobs** (cf `Kernel.fireLifecycle`) — appelé
|
|
158
|
+
* ≪ 1×/process. **JAMAIS dans le hot path HTTP/WS** : celui-ci garde `emitAsync`
|
|
159
|
+
* nu (aucun timer, aucune alloc par requête).
|
|
160
|
+
*
|
|
161
|
+
* @param eventName - événement à émettre.
|
|
162
|
+
* @param options - garde (timeout/seuil de lenteur) + callbacks de politique.
|
|
163
|
+
* @param args - arguments passés à chaque listener.
|
|
164
|
+
* @returns `{ results, errors, stopped }` (cf {@link IGuardedEmitResult}).
|
|
165
|
+
*/
|
|
166
|
+
emitAsyncGuarded(eventName: string | symbol, options?: IGuardedEmitOptions, ...args: unknown[]): Promise<IGuardedEmitResult>;
|
|
167
|
+
}
|
|
168
|
+
declare const create: (settings?: EventDefaultInterface, context?: ContextType, options?: EventOptionInterface) => Event;
|
|
169
|
+
declare const notification: typeof Event;
|
|
170
|
+
export default Event;
|
|
171
|
+
export { notification, create, EventDefaultInterface };
|
|
@@ -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,66 @@
|
|
|
1
|
+
import type Kernel from "./kernel/Kernel.js";
|
|
2
|
+
/**
|
|
3
|
+
* Façade statique du framework — point d'entrée global remplaçant le singleton JS legacy.
|
|
4
|
+
*
|
|
5
|
+
* Expose le `Kernel` courant (registre des modules + services), la version du
|
|
6
|
+
* package, et des générateurs d'identifiants UUID. Constructeur privé — aucune
|
|
7
|
+
* instance ne doit être créée ; tout passe par les statics.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { Nodefony } from "nodefony";
|
|
12
|
+
* const kernel = Nodefony.getKernel();
|
|
13
|
+
* const id = Nodefony.generateId();
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @remarks Le `Kernel` est `null` tant qu'il n'a pas été instancié par
|
|
17
|
+
* `bin/nodefony` ou par un test — toujours tester avec `?.`.
|
|
18
|
+
*/
|
|
19
|
+
export declare class Nodefony {
|
|
20
|
+
#private;
|
|
21
|
+
/** Version du package `nodefony` (lue depuis `package.json` au build). */
|
|
22
|
+
static readonly version: string;
|
|
23
|
+
private constructor();
|
|
24
|
+
/**
|
|
25
|
+
* Retourne le `Kernel` courant ou `null` s'il n'a pas encore été instancié.
|
|
26
|
+
*
|
|
27
|
+
* @returns instance unique du Kernel ou `null` (avant boot ou après shutdown).
|
|
28
|
+
*/
|
|
29
|
+
static getKernel(): Kernel | null;
|
|
30
|
+
/**
|
|
31
|
+
* Enregistre le `Kernel` courant — appelé une seule fois au boot.
|
|
32
|
+
*
|
|
33
|
+
* @param k - instance du Kernel à mémoriser.
|
|
34
|
+
* @remarks Appels multiples écrasent la référence précédente sans warning.
|
|
35
|
+
*/
|
|
36
|
+
static setKernel(k: Kernel): void;
|
|
37
|
+
/**
|
|
38
|
+
* Génère un UUID v4 (aléatoire) — utilisé pour `requestId`, ids divers, etc.
|
|
39
|
+
* Natif `node:crypto` (CSPRNG) — plus de dépendance `uuid`.
|
|
40
|
+
*
|
|
41
|
+
* @returns string UUID format `8-4-4-4-12`.
|
|
42
|
+
*/
|
|
43
|
+
static generateId(): string;
|
|
44
|
+
/**
|
|
45
|
+
* Génère un UUID **v7** (RFC 9562) — identifiant **ordonné dans le temps**, à
|
|
46
|
+
* préférer pour une clé primaire de base de données.
|
|
47
|
+
*
|
|
48
|
+
* Pourquoi lui plutôt que {@link generateId} (v4) sur une clé primaire : les 48
|
|
49
|
+
* premiers bits portent l'horodatage, donc les lignes insérées à la suite
|
|
50
|
+
* atterrissent **côte à côte dans l'index** ; un UUID v4, purement aléatoire,
|
|
51
|
+
* fragmente le B-tree à chaque insertion. Et contrairement à un auto-incrément,
|
|
52
|
+
* il ne donne pas l'énumération de toutes les ressources.
|
|
53
|
+
*
|
|
54
|
+
* ⚠️ **Deux limites à connaître.**
|
|
55
|
+
* 1. **Pas d'ordre garanti dans une même milliseconde** : Node n'implémente pas le
|
|
56
|
+
* compteur monotone optionnel de la RFC (§6.2) — mesuré : ~50 % d'inversions
|
|
57
|
+
* entre identifiants tirés dans la même milliseconde. Trier des créations se
|
|
58
|
+
* fait sur `createdAt`, **jamais** sur l'identifiant.
|
|
59
|
+
* 2. **Pas un secret** : la RFC l'interdit explicitement comme capacité de sécurité
|
|
60
|
+
* (« MUST NOT be used as security capabilities ») — l'instant de création fuit et
|
|
61
|
+
* une partie est devinable. Pour un jeton imprévisible → {@link generateId} (v4).
|
|
62
|
+
*
|
|
63
|
+
* @returns UUID v7, format `8-4-4-4-12`.
|
|
64
|
+
*/
|
|
65
|
+
static generateSortableId(): string;
|
|
66
|
+
}
|
|
@@ -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 };
|