Nodefony 10.0.0-beta.5
Framework Node.js fullstack — HTTP & WebSocket, même contexte

Référence d'API — nodefony — kernel

stable

Documentation › Référence d’API › nodefony › kernel

Générée depuis les déclarations de types publiées de nodefony 10.0.0-beta.5 : exactement ce que reçoit une application qui l’installe. Cette page n’existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

nodefony#

import { … } from "nodefony" — 42 symboles.

Classes (4)#

BootConfigurationError#

class BootConfigurationError extends Error

Erreur de configuration détectée pendant le boot — TOUJOURS fatale, dans TOUS les environnements et pour TOUT module, là où un échec de boot ordinaire n’est fatal qu’en production pour un module critique (fail-soft ailleurs).

CliKernel#

class CliKernel extends Cli

Kernel spécialisé pour les invocations CLI (npx nodefony <command>).

Kernel#

class Kernel extends Service implements IKernel

Orchestrateur central de Nodefony — gère le boot, les modules, le DI Container racine, et expose les events lifecycle auxquels services/modules se branchent.

Module#

class Module<TConfig = Record<string, unknown>> extends Service implements IModule

Unité fonctionnelle de Nodefony — successeur direct du concept “Bundle” (Symfony / Nodefony JS).

Fonctions (11)#

connectorMigrationsDir#

function connectorMigrationsDir(appDir: string, connector: string): string

Dossier des migrations PROPRES à un connecteur — la seule règle qui dit où elles vivent.

connectorVersionsMigrations#

function connectorVersionsMigrations(connector: string, appDir: string, list?: IListMigrationsDir): boolean

Des migrations versionnées CONCERNENT-elles ce connecteur ?

isReservedConnectorName#

function isReservedConnectorName(connector: string): boolean

Le nom de ce connecteur collisionne-t-il avec un dossier de dialecte ?

overlayField#

function overlayField<T extends ZodType>(field: T): ZodType<output<T>, output<T>>

Retire le défaut d’un champ de schéma, pour le réutiliser dans une LISTE BLANCHE de surcharge (Module.overlaySchema).

ownsSharedMigrations#

function ownsSharedMigrations(connector: string): boolean

Ce connecteur possède-t-il les migrations du framework et de l’application ?

parseModuleConfig#

function parseModuleConfig<T>(schema: ZodType<T>, input: unknown, packageName: string): T

Valide la configuration d’un module contre son schéma Zod, et transforme un refus en BootConfigurationError nommant le module et la clé fautive.

parseStoreManifest#

function parseStoreManifest(raw: unknown): IStoreManifest | null

Lit la déclaration nodefony d’un package.json déjà analysé.

runNeedsExternalServices#

function runNeedsExternalServices(kernel: { runProfile?: IRunProfile | null; } | null): boolean

Ce run a-t-il DÉCLARÉ avoir besoin de l’infrastructure de l’application ?

runWorksOnSchema#

function runWorksOnSchema(kernel: { runProfile?: IRunProfile | null; } | null): boolean

Ce run travaille-t-il le schéma de la base ? Point d’appel UNIQUE de la question.

storeConnectivity#

function storeConnectivity(kernel: { runProfile?: IRunProfile | null; } | null): IStoreConnectivity

Les briques du framework peuvent-elles, dans ce run, résoudre leur store auto vers un backend CONNECTÉ (base, cache) — et sinon, pourquoi ?

versionsMigrations#

function versionsMigrations(dir: string, list?: IListMigrationsDir): boolean

Ce dossier versionne-t-il au moins une migration ?

Constantes (5)#

CONSOLE_DATA_RUN_PROFILE#

const CONSOLE_DATA_RUN_PROFILE: Readonly<IRunProfile>

Profil d’une commande console qui a besoin de l’infrastructure — orm:migrate, security:user:add, tout ce qui LIT ou ÉCRIT des données.

CONSOLE_RUN_PROFILE#

const CONSOLE_RUN_PROFILE: Readonly<IRunProfile>

Profil par défaut — équivaut à l’ancien type = "CONSOLE" (one-shot, sans serveur).

CONSOLE_SCHEMA_RUN_PROFILE#

const CONSOLE_SCHEMA_RUN_PROFILE: Readonly<IRunProfile>

Profil d’une commande qui TRAVAILLE le schéma (orm:generate, orm:migrate…) : connectée, mais sans schéma dérivé au démarrage ni store durable auto. Cf IRunProfile.schemaWork.

FRAMEWORK_SQL_CONNECTOR#

const FRAMEWORK_SQL_CONNECTOR = "default"

Connecteur SQL conventionnel qui héberge le schéma du framework et des entités de l’application ("default" pour Drizzle ; Mongoose a le sien).

RESERVED_MIGRATION_DIRS#

const RESERVED_MIGRATION_DIRS: readonly string[]

Noms qui ne peuvent PAS désigner le dossier d’un connecteur secondaire : ce sont ceux des dossiers de dialecte (et du journal) que le connecteur du framework range déjà sous migrations/. Un connecteur postgres y lirait les migrations de default comme les siennes.

Interfaces (17)#

FilterInterface#

interface FilterInterface

IBootFailure#

interface IBootFailure

Un module ignoré ou en échec non fatal pendant le boot (fail-soft). Agrégé par le Kernel pour expliquer, en une ligne par module, pourquoi le boot est dégradé — au lieu de N WARNING enterrés dans le JSONL.

interface IBootLink

Une adresse à OUVRIR — ce que le développeur tape dans son navigateur.

IBootLinkDeclaration#

interface IBootLinkDeclaration

Déclaration d’un lien par un module : un CHEMIN, que le noyau résout contre l’origine de l’application. Le module ne connaît ni le port ni l’hôte — et ne doit pas les connaître : ils changent avec la configuration.

IBootModuleGated#

interface IBootModuleGated

Un module du manifeste volontairement NON chargé par le gating policy/when de config.modules. Ce n’est PAS un échec (cf IBootFailure) — mais un gating silencieux se lit comme un module perdu : le bilan de boot l’affiche AVEC sa raison pour que le dev sache pourquoi son module manque.

IBootNotice#

interface IBootNotice

Un point d’attention du démarrage — CE QUI MANQUE OU S’EST DÉGRADÉ, dit par le module qui le constate, avec le geste qui le corrige.

IBootReport#

interface IBootReport

Verdict agrégé du dernier boot. healthy=false ⇒ le boot est raté ou dégradé de façon bloquante (typiquement : profil serveur attendu mais 0 serveur en écoute).

IBootServerInfo#

interface IBootServerInfo

Un serveur réseau réellement en écoute à la fin du boot.

IMigrationsDirEntry#

interface IMigrationsDirEntry

Une entrée de dossier, telle que la rend IListMigrationsDir.

IReadinessContributor#

interface IReadinessContributor

Un contributeur et son verdict, tels qu’un diagnostic les restitue.

IRunProfile#

interface IRunProfile

Profil d’exécution d’un run — remplace l’ancien binaire KernelType (SERVER/CONSOLE) qui écrasait 3 axes orthogonaux en un seul drapeau. Déclaré par chaque commande.

IStoreManifest#

interface IStoreManifest

Ce qu’un module DÉCLARE, dans son package.json, de son rapport aux magasins du framework (sessions, jetons, passkeys, audit, 2FA, idempotence).

KernelNetworkResult#

interface KernelNetworkResult

Résultat de Kernel.getNetwork() — définition UNIQUE, ré-exportée par types/IKernel.ts (ce module feuille n’importe rien du noyau : aucun cycle).

NetworkInterface#

interface NetworkInterface

ServiceConstructor#

interface ServiceConstructor

ServiceWithInit#

interface ServiceWithInit extends Service

Interface-marqueur du hook de cycle de vie async de boot (pattern NestJS OnModuleInit). Un service qui implémente init est initialisé une fois au démarrage — par Kernel.addKernelService (service kernel) ou Module.addService (service de module) — sous garde de boot (Kernel.guardInitialize : timeout + politique de criticité).

TypeKernelOptions#

interface TypeKernelOptions extends DefaultOptionsService

Types (5)#

BootNoticeLevel#

type BootNoticeLevel = "error" | "warning" | "info"

Gravité d’un point d’attention du démarrage, de la plus urgente à la moins urgente : error bloque (✗), warning est à corriger (⚠), info renseigne (ℹ).

FamilyType#

type FamilyType = "IPv4" | "IPv6"

IListMigrationsDir#

type IListMigrationsDir = (dir: string) => readonly IMigrationsDirEntry[]

Lit les entrées d’un dossier — injectable : le démarrage lit le disque, le générateur lit sa transaction (fichiers en attente compris).

KernelEventsType#

type KernelEventsType = keyof EventsType

RunLifetime#

type RunLifetime = "oneshot" | "longrunning"

Durée de vie d’un run : "oneshot" = fait sa tâche puis le process sort (build, install, help) ; "longrunning" = reste vivant jusqu’à un signal (serveur, daemon, REPL) — maintenu soit par un socket en écoute, soit par un park explicite.


← Toutes les références d’API