
dotenv-diff
अपने कोडबेस को स्कैन करें ताकि हर पर्यावरण चर संदर्भ का पता लगाया जा सके। यह आपको लापता, अप्रयुक्त, डुप्लिकेट और गलत तरीके से उपयोग किए गए चरों को जल्दी पकड़ने में मदद करता है, इससे पहले कि वे रनटाइम त्रुटियों का कारण बनें।
SvelteKit, Next.js और Nuxt के लिए प्रथम श्रेणी का समर्थन। आधुनिक JavaScript/TypeScript प्रोजेक्ट्स और Node.js और Vue जैसे फ्रेमवर्क्स में भी अच्छी तरह से काम करता है — या किसी भी अन्य सेटअप में जहाँ आप विश्वसनीय .env फ़ाइल तुलना चाहते हैं।
✨ awesome-cli-apps में फीचर्ड - शानदार CLI अनुप्रयोगों की एक क्यूरेटेड सूची

dotenv-diff क्यों?
- सुनिश्चित करें कि सभी आवश्यक पर्यावरण चर परिभाषित हैं
- लापता या गलत कॉन्फ़िगर किए गए चरों को पकड़ें
- टीमों को आवश्यक चरों पर संरेखित रखकर सहयोग में सुधार करें
- संवेदनशील डेटा कमिट करने का जोखिम कम करें
- मोनोरेपो और बहु-पर्यावरण सेटअप के लिए आसानी से स्केल करें
यह कैसे काम करता है
→ स्कैनर क्या जाँचता है और यह कैसे काम करता है, इसके विवरण के लिए क्षमताएँ दस्तावेज़ीकरण देखें।
कॉन्फ़िगरेशन (--init)
एक डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल उत्पन्न करें:
dotenv-diff --init
→ अधिक विवरण के लिए कॉन्फ़िगरेशन दस्तावेज़ीकरण देखें।
Git हुक और CI/CD एकीकरण
पर्यावरण चर स्थिरता लागू करने के लिए dotenv-diff को अपने Git हुक या CI/CD पाइपलाइनों में आसानी से एकीकृत करें।
→ अधिक विवरण के लिए Git हुक दस्तावेज़ीकरण देखें।
फ्रेमवर्क-विशिष्ट चेतावनियाँ
SvelteKit, Next.js और Nuxt प्रोजेक्ट्स में, dotenv-diff फ्रेमवर्क-विशिष्ट पर्यावरण चर दुरुपयोग का पता लगाता है।
▸ Framework issues (SvelteKit)
──────────────────────────────────────────────────────────────────────
PUBLIC_API_URL $env/dynamic/private
variables must not start
with "PUBLIC_"
src/routes/+page.server.ts:3
──────────────────────────────────────────────────────────────────────
→ अधिक विवरण के लिए फ्रेमवर्क दस्तावेज़ीकरण देखें।
एक अच्छा .env.example लिखना
एक .env.example इस तरह लिखा गया है कि टीम के नए योगदानकर्ताओं के लिए समझना आसान हो:
# Node environment (development, production, etc.)
# @optional
NODE_ENV=development
# Public API URL is used to call our backend
PUBLIC_API_URL=http://localhost:3000
# Temporary token for the partner API sandbox — ask the integrations team for a new one
# @expire 2027-03-31
PARTNER_API_TOKEN=
→ और पढ़ें: एक अच्छा .env.example लिखना
ड्रिफ्ट चेतावनियाँ
एक स्कैन आपके कोड की तुलना एक एकल फ़ाइल से करता है — इसलिए आपके द्वारा .env में जोड़ा गया और .env.example में भूला गया कोई भी कुंजी तब तक अदृश्य रहती है जब तक कोई नया योगदानकर्ता रिपोजिटरी क्लोन नहीं करता। ड्रिफ्ट चेतावनियाँ ठीक यही पकड़ती हैं:
▸ Drift between .env and .env.example
──────────────────────────────────────────────────────────────────────
STRIPE_SECRET not documented in .env.example
──────────────────────────────────────────────────────────────────────
डिफ़ॉल्ट रूप से चालू; --no-drift-warnings के साथ ऑप्ट आउट करें।
→ अधिक विवरण के लिए ड्रिफ्ट चेतावनियाँ देखें।
समाप्ति चेतावनियाँ
अपने पर्यावरण चरों में समाप्ति मेटाडेटा जोड़ें ताकि उनके समाप्त होने वाले होने पर चेतावनियाँ प्राप्त हों। उदाहरण के लिए, अपनी .env फ़ाइल में:
# @expire 2025-12-31
API_TOKEN=
→ अधिक विवरण के लिए समाप्ति दस्तावेज़ीकरण देखें।
टिप्पणियाँ अनदेखा करें
आप अपने कोड में टिप्पणियाँ जोड़कर विशिष्ट पर्यावरण चर चेतावनियों को अनदेखा कर सकते हैं। उदाहरण के लिए:
const apiKey = process.env.API_KEY; // dotenv-diff-ignore
यह तब सहायक होता है जब आप जानते हैं कि आपके स्रोत कोड में कोई विशिष्ट चेतावनी सुरक्षित है।
→ अधिक विवरण के लिए टिप्पणियाँ अनदेखा करें दस्तावेज़ीकरण देखें।
मौजूदा चेतावनियों को दबाएँ (--baseline)
उन प्रोजेक्ट्स में dotenv-diff अपनाएँ जिनमें पहले से ज्ञात चेतावनियाँ हैं, वर्तमान स्थिति को एक बेसलाइन फ़ाइल में रिकॉर्ड करके। भविष्य के रन केवल नई शुरू की गई समस्याओं की रिपोर्ट करेंगे:
dotenv-diff --baseline
→ अधिक विवरण के लिए बेसलाइन दस्तावेज़ीकरण देखें।
एक चर समझाएँ (--explain)
किसी विशिष्ट पर्यावरण चर का निरीक्षण करें ताकि देखा जा सके कि यह कहाँ परिभाषित है, कोडबेस में कहाँ उपयोग किया गया है, और इसकी समग्र स्थिति क्या है:
dotenv-diff --explain DATABASE_URL
→ अधिक विवरण के लिए --explain दस्तावेज़ीकरण देखें।
मोनोरेपो समर्थन
कई ऐप्स और पैकेजों वाले मोनोरेपो में, आप साझा फ़ोल्डर शामिल कर सकते हैं:
{
"scripts": {
"dotenv-diff": "dotenv-diff --example .env.example --include-files '../../packages/**/*' --ignore VITE_MODE"
}
}
→ अधिक विवरण के लिए मोनोरेपो दस्तावेज़ीकरण देखें।
यह:
- वर्तमान ऐप को स्कैन करेगा
- साझा पैकेज शामिल करेगा
- केवल विशिष्ट पर्यावरणों में उपयोग किए जाने वाले चरों को अनदेखा करेगा
एग्ज़िट कोड
0→ कोई त्रुटि नहीं1→ त्रुटियाँ मिलीं (या सख्त मोड में चेतावनियाँ)
दस्तावेज़ीकरण
→ पूर्ण दस्तावेज़ीकरण के लिए dotenv-diff दस्तावेज़ीकरण देखें
योगदान
मुद्दे और पुल रिक्वेस्ट का स्वागत है।
→ विवरण के लिए CONTRIBUTING देखें।
इस प्रोजेक्ट में योगदान देने वाले इन अद्भुत लोगों को धन्यवाद:
लाइसेंस
MIT लाइसेंस के तहत लाइसेंस प्राप्त।
chrilleweb द्वारा निर्मित।