xPulse
🇩🇪 DE

@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


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:

Kein Toolbar-Badge.


Offene Fragen

Frage Stand
Multiline-Werte in .env? TBD – vorerst nicht
.env.production / .env.development automatisch laden? TBD
de/spec.md 2026-04-10