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,318 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Fonctions d'injection Angular — nodefony/angular"
|
|
3
|
+
navTitle: Fonctions d'injection Angular
|
|
4
|
+
lang: fr
|
|
5
|
+
module: "@nodefony/core"
|
|
6
|
+
topic: angular-services
|
|
7
|
+
coverageModule: nodefony-core
|
|
8
|
+
coveragePackage: "nodefony (cœur)"
|
|
9
|
+
coverageFiles: "client/angular/index.ts,client/realtime/observe.ts"
|
|
10
|
+
section: "Cœur runtime"
|
|
11
|
+
audience: [developer]
|
|
12
|
+
tags:
|
|
13
|
+
[
|
|
14
|
+
angular,
|
|
15
|
+
injection,
|
|
16
|
+
signals,
|
|
17
|
+
provider,
|
|
18
|
+
temps-reel,
|
|
19
|
+
websocket,
|
|
20
|
+
abonnement,
|
|
21
|
+
zone,
|
|
22
|
+
identite,
|
|
23
|
+
isomorphe,
|
|
24
|
+
]
|
|
25
|
+
version: "doc"
|
|
26
|
+
status: stable
|
|
27
|
+
updated: 2026-08-28
|
|
28
|
+
source: "src/nodefony/docs/angular-services.md"
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Fonctions d'injection Angular — `nodefony/angular`
|
|
32
|
+
|
|
33
|
+
> Le subpath `nodefony/angular` branche un composant Angular sur la socket Nodefony **sans une ligne
|
|
34
|
+
> de glue** : un fournisseur posé dans les `providers` de l'application, puis des fonctions
|
|
35
|
+
> d'injection qui s'abonnent à la construction et rendent l'abonnement à la destruction. Elles ne
|
|
36
|
+
> gèrent **que** l'abonnement — ouvrir et maintenir la connexion reste le travail du client, décrit
|
|
37
|
+
> dans [Client isomorphe](client.md). Le pendant exact de [Hooks React](react-hooks.md) et de
|
|
38
|
+
> [Composables Vue](vue-composables.md) : même surface, mêmes noms, mêmes garanties. Ancré sur
|
|
39
|
+
> `src/nodefony/src/client/angular/index.ts`.
|
|
40
|
+
|
|
41
|
+
📍 [Documentation](../../../docs/index.md) › [Cœur — @nodefony/core](index.md) › **Fonctions d'injection Angular**
|
|
42
|
+
|
|
43
|
+
## 🧠 Le modèle mental — une prise, N composants branchés dessus
|
|
44
|
+
|
|
45
|
+
Un composant vit et meurt au gré de la navigation. Une socket, elle, doit rester ouverte. La liaison
|
|
46
|
+
tient les deux bouts : **le fil est unique et long**, **les branchements sont nombreux et courts**.
|
|
47
|
+
|
|
48
|
+
```mermaid
|
|
49
|
+
flowchart LR
|
|
50
|
+
APP["main.ts<br/>provideNodefony({ url }) — UNE fois"] --> CL
|
|
51
|
+
subgraph CL["RealtimeClient (hors Angular)"]
|
|
52
|
+
direction TB
|
|
53
|
+
S["état · identité · notices"]
|
|
54
|
+
C["canaux ref-comptés"]
|
|
55
|
+
end
|
|
56
|
+
CL --> A["injectNodefonyState()<br/>Signal<RealtimeState>"]
|
|
57
|
+
CL --> B["injectNodefonyChannelData()<br/>Signal<T | null>"]
|
|
58
|
+
CL --> D["injectNodefonySnapshot()<br/>Signal<SocketSnapshot>"]
|
|
59
|
+
A --> V["le gabarit se réévalue"]
|
|
60
|
+
B --> V
|
|
61
|
+
D --> V
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 📖 Lexique
|
|
65
|
+
|
|
66
|
+
| Terme | Ce que c'est ici |
|
|
67
|
+
| ------------------------ | --------------------------------------------------------------------------------------------------------------------- |
|
|
68
|
+
| **fournisseur** | Un enregistrement d'injection de dépendances. C'est là que vit une politique, en Angular. |
|
|
69
|
+
| **fonction d'injection** | Une fonction appelée dans un contexte d'injection, qui installe des effets et rend de l'état. L'idiome d'Angular 20+. |
|
|
70
|
+
| **contexte d'injection** | Un initialiseur de champ, un constructeur, ou `runInInjectionContext` — le seul endroit où `inject()` a un sens. |
|
|
71
|
+
| **`Signal<T>`** | Une valeur lue par appel (`etat()`), dont toute lecture dans un gabarit déclenche sa réévaluation. |
|
|
72
|
+
| **`DestroyRef`** | La durée de vie du composant. Ce qu'on y enregistre est rendu à sa destruction. |
|
|
73
|
+
| **zone** | `zone.js`, l'ancien moteur de détection de changements d'Angular. Absent en `provideZonelessChangeDetection()`. |
|
|
74
|
+
|
|
75
|
+
## Pourquoi un fournisseur, et pas un composant enveloppant
|
|
76
|
+
|
|
77
|
+
React publie un `<NodefonyProvider>` parce qu'en React tout est composant. Vue installe un plugin.
|
|
78
|
+
En Angular, une politique qui vaut pour l'application entière s'écrit dans ses `providers` :
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
bootstrapApplication(AppComponent, {
|
|
82
|
+
providers: [provideNodefony({ url: "/api/live/realtime" })],
|
|
83
|
+
});
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Traduire littéralement le fournisseur React aurait donné un composant de plus dans l'arbre, que
|
|
87
|
+
personne n'aurait pensé à chercher. **Une liaison idiomatique n'est pas une traduction mot à mot :
|
|
88
|
+
c'est la même garantie, dite dans la langue du framework.**
|
|
89
|
+
|
|
90
|
+
## 🔴 Pourquoi ce subpath ne publie AUCUN décorateur Angular
|
|
91
|
+
|
|
92
|
+
Il n'y a ni `@Injectable`, ni `NgModule`, ni classe décorée dans `nodefony/angular` — et ce n'est
|
|
93
|
+
pas un raccourci.
|
|
94
|
+
|
|
95
|
+
Un décorateur Angular n'est pas du JavaScript : c'est une instruction pour le compilateur d'Angular,
|
|
96
|
+
qui doit la **transformer**. Une bibliothèque qui en publie doit donc être bâtie par `ng-packagr`, au
|
|
97
|
+
format de paquet Angular (_partial compilation_, puis _linker_ côté application) — une seconde chaîne
|
|
98
|
+
de build pour un subpath sur quatre, et un couplage du paquet publié aux majeures d'Angular. Non
|
|
99
|
+
compilé, un décorateur marche parfois en développement, quand `@angular/compiler` se trouve chargé
|
|
100
|
+
dans la page, et **casse en production**, où il ne l'est pas : exactement le défaut qui ne se voit
|
|
101
|
+
jamais chez celui qui l'écrit.
|
|
102
|
+
|
|
103
|
+
La forme retenue — `InjectionToken`, `makeEnvironmentProviders`, fonctions `inject*()` — est celle
|
|
104
|
+
qu'Angular emploie **pour lui-même** : `provideHttpClient()`, `provideRouter()`,
|
|
105
|
+
`takeUntilDestroyed()`. C'est du TypeScript ordinaire, que le bundler du framework produit comme le
|
|
106
|
+
reste, avec une injection de dépendances et un `DestroyRef` intacts.
|
|
107
|
+
|
|
108
|
+
> ⚠️ **Cela ne restreint en rien ton application.** `@Component`, `@Injectable`, `@Directive`,
|
|
109
|
+
> `@Pipe` y sont compilés par le plugin Angular du builder Nodefony
|
|
110
|
+
> (`@analogjs/vite-plugin-angular`, qui embarque `@angular/compiler-cli`). Les fonctions ci-dessous
|
|
111
|
+
> s'appellent depuis tes propres classes décorées.
|
|
112
|
+
|
|
113
|
+
## La règle qu'Angular impose, et qui est chiffrée : hors zone
|
|
114
|
+
|
|
115
|
+
Avec `zone.js`, Angular remplace `WebSocket` pour savoir quand relancer la détection de changements.
|
|
116
|
+
Une socket ouverte **dans** la zone déclenche donc une détection **globale à chaque trame** : un
|
|
117
|
+
canal à 10 Hz coûte dix détections par seconde à toute l'application — et rien ne le dirait, la page
|
|
118
|
+
s'affiche parfaitement.
|
|
119
|
+
|
|
120
|
+
`provideNodefony` ouvre donc la connexion dans `NgZone.runOutsideAngular`
|
|
121
|
+
(`src/nodefony/src/client/angular/index.ts:202`). Les valeurs, elles, arrivent par des **signals**,
|
|
122
|
+
qui notifient leurs lecteurs sans zone : justes dans les deux mondes, `zone.js` ou
|
|
123
|
+
`provideZonelessChangeDetection()`.
|
|
124
|
+
|
|
125
|
+
## 🚀 Démarrage rapide
|
|
126
|
+
|
|
127
|
+
### 1. Le fournisseur, sur l'application
|
|
128
|
+
|
|
129
|
+
```ts
|
|
130
|
+
// frontend/src/main.ts
|
|
131
|
+
import { bootstrapApplication } from "@angular/platform-browser";
|
|
132
|
+
import { provideZonelessChangeDetection } from "@angular/core";
|
|
133
|
+
import { provideNodefony } from "nodefony/angular";
|
|
134
|
+
import { AppComponent } from "./app/app.component";
|
|
135
|
+
|
|
136
|
+
bootstrapApplication(AppComponent, {
|
|
137
|
+
providers: [
|
|
138
|
+
provideZonelessChangeDetection(),
|
|
139
|
+
provideNodefony({ url: "/api/live/realtime" }),
|
|
140
|
+
],
|
|
141
|
+
}).catch((err) => console.error(err));
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
L'adresse est écrite **ici, et nulle part ailleurs**. Le framework n'en devine aucune : une adresse
|
|
145
|
+
devinée marche en développement et se trompe en production. Sans `url` ni `client`, le fournisseur
|
|
146
|
+
refuse — et il refuse **à la composition des providers**
|
|
147
|
+
(`src/nodefony/src/client/angular/index.ts:186`), pas au premier rendu d'un composant, où l'erreur
|
|
148
|
+
se lirait loin de sa cause.
|
|
149
|
+
|
|
150
|
+
### 2. La page
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
// frontend/src/app/app.component.ts
|
|
154
|
+
import { Component } from "@angular/core";
|
|
155
|
+
import {
|
|
156
|
+
injectNodefony,
|
|
157
|
+
injectNodefonyChannelData,
|
|
158
|
+
injectNodefonyState,
|
|
159
|
+
} from "nodefony/angular";
|
|
160
|
+
|
|
161
|
+
interface LiveEvent {
|
|
162
|
+
text: string;
|
|
163
|
+
ts: number;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
@Component({
|
|
167
|
+
selector: "app-root",
|
|
168
|
+
template: `
|
|
169
|
+
<p>connexion : {{ state() }}</p>
|
|
170
|
+
@if (last(); as e) {
|
|
171
|
+
<p>{{ e.text }}</p>
|
|
172
|
+
}
|
|
173
|
+
<button (click)="say('bonjour')">envoyer</button>
|
|
174
|
+
`,
|
|
175
|
+
})
|
|
176
|
+
export class AppComponent {
|
|
177
|
+
private readonly live = injectNodefony();
|
|
178
|
+
readonly state = injectNodefonyState();
|
|
179
|
+
readonly last = injectNodefonyChannelData<LiveEvent>("live:events");
|
|
180
|
+
|
|
181
|
+
say(text: string): void {
|
|
182
|
+
this.live.emit("live:say", { text });
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Il n'y a **rien à libérer** : `DestroyRef` rend les abonnements à la destruction du composant. C'est
|
|
188
|
+
la différence visible avec un câblage à la main, où il fallait tenir une liste de fonctions de
|
|
189
|
+
libération et n'en oublier aucune.
|
|
190
|
+
|
|
191
|
+
### 3. Quand l'application possède son cycle de connexion
|
|
192
|
+
|
|
193
|
+
```ts
|
|
194
|
+
import { RealtimeClient } from "nodefony/client";
|
|
195
|
+
import { provideNodefony } from "nodefony/angular";
|
|
196
|
+
|
|
197
|
+
declare const maSocket: RealtimeClient;
|
|
198
|
+
|
|
199
|
+
// La socket fournie l'emporte sur `url`, et son cycle n'est pas touché :
|
|
200
|
+
// ni `connect`, ni `disconnect`.
|
|
201
|
+
provideNodefony({ client: maSocket });
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### 4. Un canal qui change
|
|
205
|
+
|
|
206
|
+
```ts
|
|
207
|
+
import { Component, signal } from "@angular/core";
|
|
208
|
+
import { injectNodefonyChannelData } from "nodefony/angular";
|
|
209
|
+
|
|
210
|
+
interface Message {
|
|
211
|
+
text: string;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
@Component({ selector: "app-salon", template: `` })
|
|
215
|
+
export class SalonComponent {
|
|
216
|
+
readonly salle = signal("salon:general");
|
|
217
|
+
// L'abonnement SUIT le signal : l'ancien canal est rendu avant que le
|
|
218
|
+
// nouveau soit pris. Aucun tableau de dépendances à tenir.
|
|
219
|
+
readonly messages = injectNodefonyChannelData<Message>(this.salle);
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
Un argument constant ne coûte **aucun** effet : le branchement est direct, et seule une source
|
|
224
|
+
_fonction_ installe un `effect` (`src/nodefony/src/client/angular/index.ts:263`).
|
|
225
|
+
|
|
226
|
+
## 🧰 Les fonctions
|
|
227
|
+
|
|
228
|
+
Toutes rendent un `Signal` en lecture — on l'appelle (`etat()`), y compris dans un gabarit. La
|
|
229
|
+
socket, elle, n'est pas un signal : c'est un objet, pas un état.
|
|
230
|
+
|
|
231
|
+
| Fonction | Rend | À quoi ça sert |
|
|
232
|
+
| ----------------------------------------- | ---------------------------------- | ------------------------------------------------------------ |
|
|
233
|
+
| `provideNodefony(opts)` | `EnvironmentProviders` | le fournisseur : enregistre la socket, connecte hors zone |
|
|
234
|
+
| `injectNodefony()` | `RealtimeClient` | l'échappatoire : `emit`, `request`, `mutate`, `ping` |
|
|
235
|
+
| `injectNodefonyState()` | `Signal<RealtimeState>` | afficher l'état, griser un bouton pendant une reconnexion |
|
|
236
|
+
| `injectNodefonyIdentity()` | `Signal<RealtimeIdentity \| null>` | savoir qui est connecté — sans appeler `/auth/me` |
|
|
237
|
+
| `injectNodefonyChannel(canal, onMessage)` | — | réagir à chaque message (journal, son, animation) |
|
|
238
|
+
| `injectNodefonyChannelData<T>(canal)` | `Signal<T \| null>` | la dernière valeur — le cas le plus courant |
|
|
239
|
+
| `injectNodefonyAdaptiveChannel(…)` | `Signal<number>` | même chose, en cadence auto-ajustée ; rend la cadence |
|
|
240
|
+
| `injectNodefonyAdaptiveChannelData<T>(…)` | `{ data, intervalMs }` | la dernière valeur **et** la cadence |
|
|
241
|
+
| `injectNodefonyChannelStats(canal)` | `Signal<MessageStats \| null>` | débit et série d'un canal, pour un VU-mètre |
|
|
242
|
+
| `injectNodefonySnapshot()` | `Signal<SocketSnapshot \| null>` | ce que la socket sait d'elle-même : canaux, trames, dernière |
|
|
243
|
+
| `injectNodefonySyslog(opts?)` | `Signal<unknown[]>` | le flux de journal, anneau borné et filtre de sévérité |
|
|
244
|
+
| `injectNodefonyNotifications(onNotice)` | — | les notices normalisées — à monter **une seule fois** |
|
|
245
|
+
| `injectNodefonyNoticeLog(opts?)` | `Signal<NodefonyNotice[]>` | l'historique borné des incidents |
|
|
246
|
+
|
|
247
|
+
La déclaration de chacune se lit dans `src/nodefony/src/client/angular/index.ts:284` et suivantes.
|
|
248
|
+
|
|
249
|
+
Sont aussi réexportés depuis ce subpath : `NODEFONY_CLIENT` (le jeton, pour fournir une AUTRE socket
|
|
250
|
+
à un sous-arbre), `rateChannel`, `parseRate`, `isRateChannel` (fabriquer un nom de canal cadencé), et
|
|
251
|
+
les types `RealtimeIdentity`, `RealtimeState`, `NodefonyNotice`, `SocketSnapshot` — pour qu'un
|
|
252
|
+
composant puisse **nommer** ce qu'il reçoit.
|
|
253
|
+
|
|
254
|
+
Les arguments « canal » et « cadence » acceptent une valeur, un signal ou une fonction : l'abonnement
|
|
255
|
+
suit, sans liste de dépendances.
|
|
256
|
+
|
|
257
|
+
## 🏗️ Cycle de vie d'un abonnement
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
construction → subscribe (si premier consommateur du canal)
|
|
261
|
+
message reçu → le signal change → le gabarit se réévalue
|
|
262
|
+
canal qui change → unsubscribe de l'ancien, subscribe du nouveau
|
|
263
|
+
reconnexion → le client rejoue TOUS les abonnements, sans rien à faire
|
|
264
|
+
destruction → unsubscribe (si dernier consommateur)
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Ce qui est **partagé** et ne dépend pas d'Angular — le comptage de références, le rejeu après
|
|
268
|
+
reconnexion, l'appariement `on`↔`subscribe` — vit dans le socle agnostique et est prouvé une fois
|
|
269
|
+
pour les quatre fronts. Ce qui est **propre à Angular** — le contexte d'injection, les signals,
|
|
270
|
+
l'ouverture hors zone, la libération — est prouvé dans
|
|
271
|
+
`src/nodefony/src/tests/clientAngular.test.ts:1`.
|
|
272
|
+
|
|
273
|
+
La socket, elle, **n'est jamais coupée par un composant**. Elle appartient à la page : la fermer à la
|
|
274
|
+
destruction trancherait les requêtes en vol des autres consommateurs.
|
|
275
|
+
|
|
276
|
+
## ⚠️ Pièges (symptôme → cause → correction)
|
|
277
|
+
|
|
278
|
+
| Symptôme | Cause | Correction |
|
|
279
|
+
| ------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
|
280
|
+
| `injectNodefony() : provideNodefony() n'est pas dans les providers` | La fonction est appelée dans une application où le fournisseur n'est pas posé | Ajouter `provideNodefony({ url })` aux `providers` de `bootstrapApplication` |
|
|
281
|
+
| `NG0203: inject() must be called from an injection context` | Appel dans un gestionnaire d'événement, un `setTimeout`, au niveau du module | Appeler dans un initialiseur de champ ou le constructeur |
|
|
282
|
+
| Le fournisseur lève à la composition | Ni `url` ni `client` fourni — le framework ne devine aucune adresse | Passer l'URL du serveur temps réel |
|
|
283
|
+
| L'application rame dès qu'un canal débite | La socket a été ouverte DANS la zone (câblage manuel, `zone.js` actif) | Passer par `provideNodefony`, qui ouvre hors zone |
|
|
284
|
+
| Rien n'arrive et l'état reste `disconnected` | Le serveur n'écoute pas cette adresse, ou la socket a été coupée | Vérifier l'adresse du fournisseur, et qu'aucun code n'appelle `disconnect()` |
|
|
285
|
+
| `Module 'nodefony' has no exported member 'RealtimeClient'` | Condition d'export `browser` inactive dans le `tsconfig.json` de l'app | Importer depuis `nodefony/client`, ou ajouter `customConditions: ["browser"]` |
|
|
286
|
+
| Le canal se ré-abonne sans raison | Le nom du canal est recalculé par une fonction qui lit trop de signals | Ne faire dépendre la source que de ce qui doit vraiment ré-abonner |
|
|
287
|
+
| `needs to be compiled using the JIT compiler` dans un test | Un contexte Angular est monté sans compilateur | `import "@angular/compiler";` en tête du banc — jamais dans le code livré |
|
|
288
|
+
| Notices en double | `injectNodefonyNotifications` appelé dans plusieurs composants | Un seul appel, au shell de l'application |
|
|
289
|
+
| Une exception dans un rappel disparaît sans trace | Le dispatch du client isole les erreurs de handler | Envelopper le corps du rappel dans son propre `try`/`catch` |
|
|
290
|
+
|
|
291
|
+
## 🧪 Tests & couverture
|
|
292
|
+
|
|
293
|
+
- **Les règles du temps réel** (comptage de références, rejeu après reconnexion, dernier reçu gagne,
|
|
294
|
+
anneaux, filtres) sont prouvées **une fois pour les quatre fronts** dans
|
|
295
|
+
`src/nodefony/src/tests/clientObserve.test.ts`. Les rejouer à travers Angular mesurerait le socle.
|
|
296
|
+
- **La traduction Angular** est prouvée dans `src/nodefony/src/tests/clientAngular.test.ts` :
|
|
297
|
+
contexte d'injection exigé, canal signal qui déplace l'abonnement, **ouverture hors zone** — jugée
|
|
298
|
+
sur le moment où le transport est fabriqué, puisque c'est lui que `zone.js` remplace — et surtout
|
|
299
|
+
**la destruction qui rend l'abonnement au serveur**, comptée sur les trames émises, seul juge
|
|
300
|
+
d'une fuite.
|
|
301
|
+
- **La surface publiée** est tenue par `clientSubpathSurface.types.test.ts` : ce que les fonctions
|
|
302
|
+
rendent doit pouvoir être **nommé** par un consommateur, et les quatre subpaths parlent des mêmes
|
|
303
|
+
types, pas de jumeaux.
|
|
304
|
+
- **Le banc monte une vraie application** (`createApplication`, ce que `bootstrapApplication`
|
|
305
|
+
appelle) : un injecteur fabriqué à la main n'exercerait pas le chemin réel — `effect()` y lève
|
|
306
|
+
`NG0201`, faute du planificateur de détection de changements.
|
|
307
|
+
|
|
308
|
+
Couverture : `npm run coverage` dans `src/nodefony`.
|
|
309
|
+
|
|
310
|
+
## 🔗 Pour aller plus loin
|
|
311
|
+
|
|
312
|
+
- ⬆️ **Retour au hub** : [@nodefony/core — vue d'ensemble](index.md) · [Toute la documentation](../../../docs/index.md)
|
|
313
|
+
- 🧭 **Pages sœurs** : [Client isomorphe](client.md) — la socket, le transport, la reconnexion, les
|
|
314
|
+
rôles · [Hooks React](react-hooks.md) · [Composables Vue](vue-composables.md) — la même surface,
|
|
315
|
+
dans les autres langues · [Journalisation](syslog.md)
|
|
316
|
+
- Le vocabulaire commun aux deux bords du fil → [Vocabulaire de la socket](../../packages/@nodefony/realtime/docs/vocabulaire.md)
|
|
317
|
+
- Le module serveur qui pousse les canaux → [@nodefony/realtime](../../packages/@nodefony/realtime/docs/index.md)
|
|
318
|
+
- Qui sert et reconstruit ton interface → [@nodefony/frontend](../../packages/@nodefony/frontend/docs/index.md)
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Catalogue des modules — quel module pour quel besoin"
|
|
3
|
+
navTitle: Catalogue des modules
|
|
4
|
+
lang: fr
|
|
5
|
+
module: "@nodefony/core"
|
|
6
|
+
topic: catalogue
|
|
7
|
+
section: "Cœur runtime"
|
|
8
|
+
audience: [developer]
|
|
9
|
+
tags:
|
|
10
|
+
[
|
|
11
|
+
catalogue,
|
|
12
|
+
modules,
|
|
13
|
+
dependances,
|
|
14
|
+
choix,
|
|
15
|
+
orm,
|
|
16
|
+
realtime,
|
|
17
|
+
security,
|
|
18
|
+
redis,
|
|
19
|
+
manifeste,
|
|
20
|
+
]
|
|
21
|
+
version: "doc"
|
|
22
|
+
status: stable
|
|
23
|
+
updated: 2026-07-25
|
|
24
|
+
source: "src/nodefony/docs/catalogue.md"
|
|
25
|
+
# Page d'ORIENTATION, pas de référence : elle envoie vers des modules et n'explique
|
|
26
|
+
# aucune brique. Lui réclamer des ancres `fichier:ligne` fabriquerait du faux.
|
|
27
|
+
hub: true
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# Catalogue des modules — quel module pour quel besoin
|
|
31
|
+
|
|
32
|
+
📍 [Documentation](../../../docs/index.md) › [Cœur — @nodefony/core](index.md) › **Catalogue des modules**
|
|
33
|
+
|
|
34
|
+
> Nodefony ne fournit pas UNE façon de tout faire : il fournit un socle, et des modules qu'une
|
|
35
|
+
> application **déclare**. Cette page répond à la seule question qu'on se pose avant d'écrire du
|
|
36
|
+
> code : _quel paquet installer pour ce besoin, et lequel ne PAS installer_. Elle est publiée
|
|
37
|
+
> avec le cœur — une application l'a donc sous la main dans
|
|
38
|
+
> `node_modules/nodefony/docs/catalogue.md`, sans réseau ni dépôt.
|
|
39
|
+
|
|
40
|
+
## 🧭 Par où commencer
|
|
41
|
+
|
|
42
|
+
1. Trouve ton besoin dans les familles ci-dessous — chaque entrée dit aussi **quand ne PAS**
|
|
43
|
+
prendre le module, ce qu'aucune page de vente ne fait.
|
|
44
|
+
2. Déclare-le (trois pas, section suivante).
|
|
45
|
+
3. Vérifie sur pièce : `nodefony inspect modules --json` liste ce qui est **réellement** chargé.
|
|
46
|
+
|
|
47
|
+
## Déclarer un module — le geste, une fois pour toutes
|
|
48
|
+
|
|
49
|
+
Trois pas, toujours les mêmes :
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npm install @nodefony/<module>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
// nodefony.config.ts — manifeste `modules`
|
|
57
|
+
use("@nodefony/<module>", {/* options */});
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
nodefony inspect modules --json # ce qui est RÉELLEMENT chargé, sans ouvrir de port
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Les clés de configuration ne sont pas dans cette page** — et c'est voulu : elles vivent dans le
|
|
65
|
+
schéma du module, `node_modules/@nodefony/<module>/dist/nodefony/config/config.js`, où chaque clé
|
|
66
|
+
porte son défaut et sa description. Une page qui les recopierait mentirait à la première évolution.
|
|
67
|
+
`nodefony inspect config <module>` en donne la valeur **effective** et sa provenance.
|
|
68
|
+
|
|
69
|
+
## Le socle — présent dans toute application
|
|
70
|
+
|
|
71
|
+
Ces trois-là ne se choisissent pas : `nodefony create app` les pose.
|
|
72
|
+
|
|
73
|
+
| Paquet | Ce qu'il apporte |
|
|
74
|
+
| --------------------- | ---------------------------------------------------------------------------------------------- |
|
|
75
|
+
| `nodefony` | Le cœur : `Service`, conteneur d'injection, `Kernel`, `Module`, journal, CLI, client isomorphe |
|
|
76
|
+
| `@nodefony/http` | Serveurs HTTP/HTTP2/WebSocket, contextes de requête, sessions, TLS |
|
|
77
|
+
| `@nodefony/framework` | Routeur, contrôleurs, décorateurs de route, idempotence |
|
|
78
|
+
|
|
79
|
+
## Sécurité & identité
|
|
80
|
+
|
|
81
|
+
<!-- prettier-ignore -->
|
|
82
|
+
| Paquet | Prends-le quand… | Ne le prends pas si… |
|
|
83
|
+
| --- | --- | --- |
|
|
84
|
+
| `@nodefony/security` | une partie de l'application doit être fermée : zones de pare-feu, six méthodes d'authentification, autorisation par voters, CSRF/CORS, 2FA, passkeys, journal d'audit | l'application est entièrement publique — mais la fermer plus tard coûte alors une reprise des routes |
|
|
85
|
+
| `@nodefony/user` | tu veux des comptes utilisateurs (contrat `IUser`, encodeurs de mot de passe) sans dépendre du pare-feu | l'identité vient d'ailleurs (jeton d'un fournisseur externe, service amont) |
|
|
86
|
+
|
|
87
|
+
`@nodefony/security` embarque déjà `@nodefony/user` : le déclarer seul n'a de sens que pour gérer
|
|
88
|
+
des comptes **sans** fermer de routes.
|
|
89
|
+
|
|
90
|
+
## Données
|
|
91
|
+
|
|
92
|
+
Un contrat commun, plusieurs implémentations : écris contre le contrat, choisis le moteur ensuite.
|
|
93
|
+
|
|
94
|
+
<!-- prettier-ignore -->
|
|
95
|
+
| Paquet | Prends-le quand… | Ne le prends pas si… |
|
|
96
|
+
| --- | --- | --- |
|
|
97
|
+
| `@nodefony/orm-core` | jamais directement — c'est le contrat, tiré par l'adaptateur que tu choisis | — |
|
|
98
|
+
| `@nodefony/drizzle` | **le défaut** : SQL (PostgreSQL, MySQL/MariaDB, SQLite), `nodefony create entity` cible lui | tes données sont des documents sans schéma stable |
|
|
99
|
+
| `@nodefony/mongoose` | MongoDB, données orientées document | tu as besoin d'un des **stores qu'il ne fournit pas** : il en couvre 5 (session, user, tokens, passkeys, webhooks) là où `drizzle` en couvre 8 — `totp`, `audit` et `idempotency` lui manquent |
|
|
100
|
+
| `@nodefony/redis` | cache, sessions partagées entre pods, backplane du temps réel en cluster | un seul processus : les sessions en mémoire et le backplane local suffisent |
|
|
101
|
+
|
|
102
|
+
**L'arbitrage qui revient le plus souvent** : `drizzle` ou `mongoose` ? Le générateur d'entités
|
|
103
|
+
(`nodefony create entity`) produit du Drizzle natif du dialecte ; partir sur Mongoose, c'est écrire
|
|
104
|
+
ses modèles à la main. Prends `mongoose` parce que tes données SONT des documents, pas pour éviter
|
|
105
|
+
de choisir un dialecte SQL.
|
|
106
|
+
|
|
107
|
+
**La couverture d'un adaptateur est ADAPTÉE, pas identique.** Chaque adaptateur déclare les
|
|
108
|
+
_stores_ qu'il sait tenir (`nodefony.stores` de son `package.json`) : `drizzle` les huit,
|
|
109
|
+
`mongoose` cinq, `redis` quatre. Ce n'est pas un retard de développement mais un choix — stocker
|
|
110
|
+
un journal d'audit ou un verrou d'idempotence dans un moteur documentaire n'a pas de sens partout.
|
|
111
|
+
Conséquence pratique : un adaptateur ne remplace pas l'autre, ils se **complètent**, et
|
|
112
|
+
`nodefony inspect stores` dit où chaque donnée atterrit RÉELLEMENT dans ton application.
|
|
113
|
+
|
|
114
|
+
**Et `redis` ?** Il ne sert à rien tant que l'application tourne dans un seul processus. Il devient
|
|
115
|
+
nécessaire à l'instant où il y en a deux : sans lui, deux pods ont deux annuaires de sessions et
|
|
116
|
+
deux hubs temps réel qui ne se parlent pas.
|
|
117
|
+
|
|
118
|
+
## Temps réel & interface
|
|
119
|
+
|
|
120
|
+
| Paquet | Prends-le quand… | Ne le prends pas si… |
|
|
121
|
+
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
|
|
122
|
+
| `@nodefony/realtime` | le serveur doit **pousser** : une connexion qui multiplexe N canaux bidirectionnels, actions RPC, backplane cluster | un simple echo WebSocket suffit — `@nodefony/http` le fait déjà |
|
|
123
|
+
| `@nodefony/frontend` | l'application sert une interface Vite (React, Vue, Angular), en rechargement à chaud en développement et pré-construite en production | l'application n'est qu'une API |
|
|
124
|
+
| `@nodefony/studio` | tu veux voir l'intérieur en marche : routes, services, configuration, sessions, journaux, en **développement** | production — c'est un outil de développement, pas un tableau de bord public |
|
|
125
|
+
| `@nodefony/documentation` | tu publies des pages de documentation servies par l'application elle-même | tu écris de la documentation lue seulement dans le dépôt |
|
|
126
|
+
| `@nodefony/devkit` | tu développes l'application **avec un agent** : carte de visite de l'application, portes de découverte de l'outillage | production — ce qu'il expose n'y est plus une aide, mais une divulgation |
|
|
127
|
+
|
|
128
|
+
`@nodefony/studio` tire `@nodefony/frontend` : le déclarer suffit à avoir les deux.
|
|
129
|
+
|
|
130
|
+
`@nodefony/devkit` se déclare `policy: "dev"` : hors développement, il n'est même pas importé.
|
|
131
|
+
|
|
132
|
+
## 🗂️ La documentation de chaque module
|
|
133
|
+
|
|
134
|
+
Une fois le module choisi, sa documentation est **installée avec lui** — lis ciblé, jamais tout le
|
|
135
|
+
dossier.
|
|
136
|
+
|
|
137
|
+
```nodefony-cards
|
|
138
|
+
[
|
|
139
|
+
{ "icon": "🔌", "title": "@nodefony/http", "href": "../../packages/@nodefony/http/docs/index.md",
|
|
140
|
+
"desc": "Serveurs, contextes, sessions, TLS.", "meta": "le transport" },
|
|
141
|
+
{ "icon": "🧭", "title": "@nodefony/framework", "href": "../../packages/@nodefony/framework/docs/index.md",
|
|
142
|
+
"desc": "Routeur, contrôleurs, décorateurs.", "meta": "tu écris des routes" },
|
|
143
|
+
{ "icon": "🛡️", "title": "@nodefony/security", "href": "../../packages/@nodefony/security/docs/index.md",
|
|
144
|
+
"desc": "Pare-feu par zones, authentification, autorisation, audit.", "meta": "fermer l'application" },
|
|
145
|
+
{ "icon": "👤", "title": "@nodefony/user", "href": "../../packages/@nodefony/user/docs/index.md",
|
|
146
|
+
"desc": "Contrat `IUser`, stockage des comptes, mots de passe.", "meta": "les comptes" },
|
|
147
|
+
{ "icon": "📐", "title": "@nodefony/orm-core", "href": "../../packages/@nodefony/orm-core/docs/index.md",
|
|
148
|
+
"desc": "Le contrat commun à tous les moteurs.", "meta": "le contrat" },
|
|
149
|
+
{ "icon": "🐘", "title": "@nodefony/drizzle", "href": "../../packages/@nodefony/drizzle/docs/index.md",
|
|
150
|
+
"desc": "SQL — PostgreSQL, MySQL/MariaDB, SQLite.", "meta": "le défaut" },
|
|
151
|
+
{ "icon": "🍃", "title": "@nodefony/mongoose", "href": "../../packages/@nodefony/mongoose/docs/index.md",
|
|
152
|
+
"desc": "MongoDB, données orientées document.", "meta": "document" },
|
|
153
|
+
{ "icon": "⚡", "title": "@nodefony/redis", "href": "../../packages/@nodefony/redis/docs/index.md",
|
|
154
|
+
"desc": "Cache, sessions partagées, backplane du temps réel.", "meta": "dès le 2ᵉ processus" },
|
|
155
|
+
{ "icon": "🛰️", "title": "@nodefony/realtime", "href": "../../packages/@nodefony/realtime/docs/index.md",
|
|
156
|
+
"desc": "Une connexion, N canaux bidirectionnels, backplane cluster.", "meta": "le serveur pousse" },
|
|
157
|
+
{ "icon": "🎨", "title": "@nodefony/frontend", "href": "../../packages/@nodefony/frontend/docs/index.md",
|
|
158
|
+
"desc": "Build Vite, rechargement à chaud, React/Vue/Angular.", "meta": "servir une interface" },
|
|
159
|
+
{ "icon": "🛠️", "title": "@nodefony/studio", "href": "../../packages/@nodefony/studio/docs/index.md",
|
|
160
|
+
"desc": "L'administration web : voir l'intérieur en marche.", "meta": "développement" },
|
|
161
|
+
{ "icon": "📘", "title": "@nodefony/documentation", "href": "../../packages/@nodefony/documentation/docs/index.md",
|
|
162
|
+
"desc": "Le portail qui rend ces pages, et son data plane.", "meta": "méta" },
|
|
163
|
+
{ "icon": "🧰", "title": "@nodefony/devkit", "href": "../../packages/@nodefony/devkit/docs/index.md",
|
|
164
|
+
"desc": "Carte de visite de l'application, portes de découverte pour un agent.", "meta": "développement" }
|
|
165
|
+
]
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Ce que ce catalogue ne dit pas
|
|
169
|
+
|
|
170
|
+
- **Les clés de configuration** — elles vivent dans le schéma du module (voir plus haut). Les
|
|
171
|
+
recopier ici les périmerait.
|
|
172
|
+
- **Les versions** — une publication les fixe toutes ensemble ; `npm install @nodefony/<module>`
|
|
173
|
+
prend celle qui correspond à ton cœur.
|
|
174
|
+
- **Ce que ton application charge vraiment** — `nodefony inspect modules --json` le dit, et lui ne
|
|
175
|
+
peut pas se tromper.
|
|
176
|
+
|
|
177
|
+
## 🔗 Pour aller plus loin
|
|
178
|
+
|
|
179
|
+
- ⬆️ **Retour au hub** : [Cœur — @nodefony/core](index.md)
|
|
180
|
+
- 🧭 **Le cycle de vie** qui charge ces modules : [kernel.md](kernel.md) · les commandes qui les
|
|
181
|
+
interrogent : [cli.md](cli.md)
|
|
182
|
+
- ⚙️ **Régler un module sans toucher au code** — variables, cascade des `.env`, précédence :
|
|
183
|
+
[environnement.md](environnement.md)
|
|
184
|
+
- 📖 [Lexique général](../../../docs/lexique.md) du framework.
|