Torna agli aggiornamenti
New releaseSep 2, 2026

dotenv-diff [email protected]

Convalida l'uso delle variabili d'ambiente nel codebase

Condividi

dotenv-diff

Analizza il tuo codebase per rilevare ogni riferimento a variabili d'ambiente. Ti aiuta a individuare variabili mancanti, inutilizzate, duplicate o usate in modo errato, prima che causino errori a runtime.

Supporto di prima classe per SvelteKit, Next.js e Nuxt. Funziona bene anche in progetti JavaScript/TypeScript moderni e framework come Node.js e Vue — o in qualsiasi altro setup in cui desideri un confronto affidabile dei file .env.

Coverage Status OpenSSF Scorecard OpenSSF Best Practices npm version npm downloads

✨ In evidenza in awesome-cli-apps - Una lista curata di fantastiche applicazioni CLI


Demo


Perché dotenv-diff?

  • Garantisce che tutte le variabili d'ambiente richieste siano definite
  • Individua variabili mancanti o configurate in modo errato
  • Migliora la collaborazione mantenendo i team allineati sulle variabili richieste
  • Riduce il rischio di committare dati sensibili
  • Si adatta facilmente a monorepo e setup multi-ambiente

Come Funziona

→ Consulta la Documentazione sulle Capacità per i dettagli su cosa controlla lo scanner e come funziona.


Configurazione (--init)

Genera un file di configurazione predefinito:

dotenv-diff --init

→ Consulta la Documentazione sulla Configurazione per maggiori dettagli.


Git hooks e integrazione CI/CD

Integra facilmente dotenv-diff nei tuoi Git hooks o pipeline CI/CD per garantire la coerenza delle variabili d'ambiente.

→ Consulta la Documentazione sui Git Hooks per maggiori dettagli.

Avvisi Specifici per Framework

Nei progetti SvelteKit, Next.js e Nuxt, dotenv-diff rileva l'uso improprio delle variabili d'ambiente specifiche del framework.

▸ Problemi del framework (SvelteKit)
──────────────────────────────────────────────────────────────────────
PUBLIC_API_URL              $env/dynamic/private
                            le variabili non devono
                            iniziare con "PUBLIC_"
                            src/routes/+page.server.ts:3
──────────────────────────────────────────────────────────────────────

→ Consulta la Documentazione sui Framework per maggiori dettagli.


Scrivere un buon .env.example

Un .env.example scritto in modo da essere più facile da comprendere per i nuovi contributori del team:

# Ambiente Node (development, production, ecc.)
# @optional
NODE_ENV=development

# L'URL dell'API pubblica viene utilizzato per chiamare il nostro backend
PUBLIC_API_URL=http://localhost:3000

# Token temporaneo per la sandbox dell'API partner — chiedi un nuovo token al team integrazioni
# @expire 2027-03-31
PARTNER_API_TOKEN=

→ Leggi di più: Scrivere un buon .env.example


Avvisi di Deriva (Drift)

Una scansione confronta il tuo codice con un singolo file — quindi qualsiasi chiave che aggiungi a .env e dimentichi in .env.example rimane invisibile finché un nuovo contributore non clona il repository. Gli avvisi di deriva individuano esattamente questo:

▸ Deriva tra .env e .env.example
──────────────────────────────────────────────────────────────────────
STRIPE_SECRET               non documentata in .env.example
──────────────────────────────────────────────────────────────────────

Attivo per impostazione predefinita; disattivalo con --no-drift-warnings.

→ Consulta Avvisi di Deriva per maggiori dettagli.


Avvisi di Scadenza

Aggiungi metadati di scadenza alle tue variabili d'ambiente per ricevere avvisi quando stanno per scadere. Ad esempio, nel tuo file .env:

# @expire 2025-12-31
API_TOKEN=

→ Consulta la Documentazione sulla Scadenza per maggiori dettagli.


Commenti di Ignoramento

Puoi ignorare avvisi specifici sulle variabili d'ambiente aggiungendo commenti nel tuo codice. Ad esempio:

const apiKey = process.env.API_KEY; // dotenv-diff-ignore

Questo è utile quando sai che un avviso specifico è sicuro nel tuo codice sorgente.

→ Consulta la Documentazione sui Commenti di Ignoramento per maggiori dettagli.


Sopprimere avvisi esistenti (--baseline)

Adotta dotenv-diff in progetti che hanno già avvisi noti registrando lo stato attuale in un file baseline. Le esecuzioni future segnaleranno solo i problemi di nuova introduzione:

dotenv-diff --baseline

→ Consulta la Documentazione sulla Baseline per maggiori dettagli.


Spiegare una variabile (--explain)

Ispeziona una specifica variabile d'ambiente per vedere dove è definita, dove viene utilizzata nel codebase e il suo stato complessivo:

dotenv-diff --explain DATABASE_URL

→ Consulta la Documentazione su --explain per maggiori dettagli.


Supporto Monorepo

Nei monorepo con più app e pacchetti, puoi includere cartelle condivise:

{
  "scripts": {
    "dotenv-diff": "dotenv-diff --example .env.example --include-files '../../packages/**/*' --ignore VITE_MODE"
  }
}

→ Consulta la Documentazione sul Monorepo per maggiori dettagli.

Questo:

  • Analizza l'app corrente
  • Include i pacchetti condivisi
  • Ignora le variabili utilizzate solo in ambienti specifici

Codici di Uscita

  • 0 → Nessun errore
  • 1 → Errori trovati (o avvisi in modalità strict)

Documentazione

→ Consulta la Documentazione di dotenv-diff per la documentazione completa


Contribuire

Issue e pull request sono benvenuti.
→ Consulta CONTRIBUTING per i dettagli.

Grazie a queste fantastiche persone per aver contribuito a questo progetto:


Licenza

Concesso in licenza sotto la licenza MIT.

Creato da chrilleweb

Categorie