Seiten
Inhalt
@xpulse/dotenv – Component Spec
Status: CONCEPT · Erstellt März 2026 Übergeordnet:
GLOBAL_concept-ecosystem.md
Übersicht
Lädt .env Dateien und befüllt process.env. Zero dependencies.
Kein Wrapper um dotenv (npm) – eigene, schlanke Implementierung.
Nur was xPulse braucht, kein Overhead.
API
Laden
| import dotenv from '@xpulse/dotenv'; |
| // Lädt .env aus dem aktuellen Arbeitsverzeichnis |
| await dotenv.load(); |
| // Expliziter Pfad |
| await dotenv.load({ path: '/app/.env' }); |
Zugriff
Nach dotenv.load() sind alle Werte in process.env verfügbar:
| process.env.PORT // '3000' |
| process.env.CHAT_URL // 'https://chat.xpulse.one' |
Zusätzlich direkt über dotenv:
| dotenv.get('PORT') // '3000' |
| dotenv.get('PORT', '8080') // '3000' (Fallback wenn nicht gesetzt) |
| dotenv.get('MISSING', '42') // '42' |
Introspection
| // Wurde bereits geladen? |
| dotenv.loaded; |
| // → true |
.env Format
Standard .env Syntax:
| # Kommentare werden ignoriert |
| PORT=3000 |
| CHAT_URL=https://chat.xpulse.one |
| # Anführungszeichen werden entfernt |
| APP_NAME="xPulse Web" |
| APP_NAME='xPulse Web' |
| # Leerzeilen werden ignoriert |
| # Werte mit Leerzeichen brauchen Anführungszeichen |
| GREETING="Hello World" |
Verhalten
- Bestehende
process.envWerte werden nicht überschrieben — System-Env hat Vorrang - Kommentare (
#) und Leerzeilen werden ignoriert - Anführungszeichen (
"und') werden vom Wert entfernt - Keine Interpolation (
${VAR}in.envwird nicht aufgelöst — das macht@xpulse/config)
Paket-Struktur
| @xpulse/dotenv/ |
| index.js ← default export: dotenv-Objekt |
| README.md |
| package.json |
Dependencies
Keine.
Debug Integration
Wenn @xpulse/debug als devDependency installiert ist, stellt @xpulse/dotenv
automatisch einen DataCollector bereit. @xpulse/debug discovert ihn via
node_modules/@xpulse/dotenv/src/datacollectors/ – keine Konfiguration nötig.
| "optionalDependencies": { |
| "@xpulse/debug": "^1.0.0" |
| } |
Der EnvCollector (name: 'env', icon: '🌍') zeigt im Web Profiler:
- Loaded Files (list): alle geladenen
.env-Dateien mit vollständigem Pfad - Process ENV (table): Snapshot aller
process.env-Einträge zum Zeitpunkt des Requests mit Key und Wert
Kein Toolbar-Badge.
Offene Fragen
| Frage | Stand |
|---|---|
Multiline-Werte in .env? |
TBD – vorerst nicht |
.env.production / .env.development automatisch laden? |
TBD |