
Valider l'utilisation des variables d'environnement dans la base de code.
Analysez votre codebase pour détecter chaque référence de variable d'environnement. Cela vous aide à repérer les variables manquantes, inutilisées, dupliquées ou mal utilisées dès le début, avant qu'elles ne provoquent des erreurs d'exécution.
Prise en charge de première classe pour SvelteKit, Next.js et Nuxt. Fonctionne également bien dans les projets JavaScript/TypeScript modernes et les frameworks comme Node.js et Vue — ou toute autre configuration où vous souhaitez une comparaison fiable des fichiers .env.
✨ Présenté dans awesome-cli-apps - Une liste organisée d'applications CLI impressionnantes

→ Voir la Documentation des capacités pour plus de détails sur ce que le scanner vérifie et comment il fonctionne.
--init)Générer un fichier de configuration par défaut :
dotenv-diff --init
→ Voir la Documentation de configuration pour plus de détails.
Intégrez facilement dotenv-diff dans vos hooks Git ou vos pipelines CI/CD pour garantir la cohérence des variables d'environnement.
→ Voir la Documentation des hooks Git pour plus de détails.
Dans les projets SvelteKit, Next.js et Nuxt, dotenv-diff détecte les mauvaises utilisations de variables d'environnement spécifiques au framework.
▸ Problèmes de framework (SvelteKit)
──────────────────────────────────────────────────────────────────────
PUBLIC_API_URL $env/dynamic/private
les variables ne doivent pas
commencer par "PUBLIC_"
src/routes/+page.server.ts:3
──────────────────────────────────────────────────────────────────────
→ Voir la Documentation des frameworks pour plus de détails.
.env.exampleUn .env.example rédigé de manière à être plus facile à comprendre pour les nouveaux contributeurs de l'équipe :
# Environnement Node (development, production, etc.)
# @optional
NODE_ENV=development
# L'URL de l'API publique est utilisée pour appeler notre backend
PUBLIC_API_URL=http://localhost:3000
# Jeton temporaire pour le bac à sable de l'API partenaire — demandez-en un nouveau à l'équipe intégrations
# @expire 2027-03-31
PARTNER_API_TOKEN=
→ En savoir plus : Rédiger un bon .env.example
Une analyse compare votre code à un seul fichier — donc toute clé que vous ajoutez à .env et oubliez dans .env.example reste invisible jusqu'à ce qu'un nouveau contributeur clone le dépôt. Les avertissements de dérive détectent exactement cela :
▸ Dérive entre .env et .env.example
──────────────────────────────────────────────────────────────────────
STRIPE_SECRET non documenté dans .env.example
──────────────────────────────────────────────────────────────────────
Activé par défaut ; désactivez-le avec --no-drift-warnings.
→ Voir Avertissements de dérive pour plus de détails.
Ajoutez des métadonnées d'expiration à vos variables d'environnement pour recevoir des avertissements lorsqu'elles sont sur le point d'expirer. Par exemple, dans votre fichier .env :
# @expire 2025-12-31
API_TOKEN=
→ Voir la Documentation sur l'expiration pour plus de détails.
Vous pouvez ignorer des avertissements spécifiques de variables d'environnement en ajoutant des commentaires dans votre code. Par exemple :
const apiKey = process.env.API_KEY; // dotenv-diff-ignore
Cela est utile lorsque vous savez qu'un avertissement spécifique est sans danger dans votre code source.
→ Voir la Documentation des commentaires d'ignorance pour plus de détails.
--baseline)Adoptez dotenv-diff dans des projets qui ont déjà des avertissements connus en enregistrant l'état actuel dans un fichier de référence. Les exécutions futures ne signaleront que les problèmes nouvellement introduits :
dotenv-diff --baseline
→ Voir la Documentation sur la référence pour plus de détails.
--explain)Inspectez une variable d'environnement spécifique pour voir où elle est définie, où elle est utilisée dans la codebase, et son statut global :
dotenv-diff --explain DATABASE_URL
→ Voir la Documentation --explain pour plus de détails.
Dans les monorepos avec plusieurs applications et packages, vous pouvez inclure des dossiers partagés :
{
"scripts": {
"dotenv-diff": "dotenv-diff --example .env.example --include-files '../../packages/**/*' --ignore VITE_MODE"
}
}
→ Voir la Documentation sur les monorepos pour plus de détails.
Cela permettra de :
0 → Aucune erreur1 → Erreurs trouvées (ou avertissements en mode strict)→ Voir la Documentation dotenv-diff pour la documentation complète
Les problèmes et les demandes de tirage sont les bienvenus.
→ Voir CONTRIBUTING pour plus de détails.
Merci à ces personnes formidables qui contribuent à ce projet :
Sous licence MIT.
Créé par chrilleweb