Seiten
Inhalt
@xpulse/app – API
app.init(env?)
Bootstrapped den gesamten Stack über den resilienten Service Loader.
| import app from '@xpulse/app'; |
| await app.init(); // env aus APP_ENV → NODE_ENV |
| await app.init('stage'); // explizit |
Bootstrap-Reihenfolge
- App Root setzen
config.load()– xpulse.json + .envdebug.init()– wenn installiert +debug.enabled: truelogger.init()http.init()controller.init()– discovert + registriert Routes- CLI Discovery
Jeder Schritt ist resilient – fehlt ein Package, wird es übersprungen.
app.start()
Startet den HTTP-Server. Feuert app:ready.
app.stop(exitCode?)
Graceful Shutdown. Feuert app:stopping → app:stopped → process.exit().
Helpers
| app.root() // absoluter App Root Pfad |
| app.path('src/x') // Pfad relativ zu App Root |
| app.env // 'development' | 'stage' | 'production' | null |
| app.isDev() |
| app.isProd() |
| app.isStage() |
Events
| Event | Payload | Wann |
|---|---|---|
app:init |
{ env, root } |
Bootstrap beginnt |
app:ready |
{ env, root, uptime } |
Stack bereit |
app:stopping |
{ signal } |
Shutdown eingeleitet |
app:stopped |
{ uptime, exitCode } |
Shutdown abgeschlossen |
app:service:skipped |
{ service, reason } |
Service nicht installiert |
app:service:error |
{ service, error } |
Service Init fehlgeschlagen |
Vollständige Event-Referenz: GLOBAL_adr-010-event-driven.md