यह .env फॉर्मेटर आपको क्या करने में मदद करता है
- `KEY=VALUE` लाइनों को सामान्य करें जबकि मानव-पठनीय समूहन के लिए टिप्पणियों और खाली लाइनों को संरक्षित रखें
- `=` और मानों के आसपास की स्पेसिंग साफ करें ताकि स्कैनिंग आसान हो और समीक्षाओं में डिफ्स अधिक कॉम्पैक्ट हों
- डुप्लिकेट कुंजियों को सामने लाएं ताकि आप देख सकें कि रनटाइम पर वास्तव में कौन सी जीतती है, अनुमान लगाने के बजाय
- ट्रेलिंग व्हाइटस्पेस ट्रिम करें और (वैकल्पिक रूप से) **अंतिम न्यूलाइन डालें** विकल्प के माध्यम से EOF पर एक अंतिम न्यूलाइन सुनिश्चित करें
- टिप्पणी लाइनों (`# ...`) को संरक्षित रखें और मानों के अंदर उद्धृत `#` वर्णों को बरकरार रखें
- प्लेसहोल्डर्स जैसे `${VAR}` और एस्केप सीक्वेंस को बिना विस्तार किए वैसे ही रखें जैसे लिखे गए हैं
- क्रॉस-प्लेटफ़ॉर्म प्रोजेक्ट्स के साथ अच्छी तरह काम करें LF/CRLF के लिए लेआउट सामान्य करके और BOM आश्चर्यों से बचें
- सीक्रेट्स-मुक्त `.env.example` प्राप्त करना आसान बनाएं (कुंजियाँ और संरचना कॉपी करें, प्रोडक्शन मान छोड़ें)
- अनुकूल संपादक: `.env`-शैली फ़ाइलों को पेस्ट या अपलोड करें, परिणाम का पूर्वावलोकन करें, फिर साफ आउटपुट कॉपी या डाउनलोड करें
🔧 अपनी .env फ़ाइल को कैसे साफ और फॉर्मेट करें for env-formatter
1. अपना .env पेस्ट या अपलोड करें
अपनी `.env` फ़ाइल को एडिटर में ड्रॉप करें या सीधे कॉन्टेंट पेस्ट करें। यह टूल विशिष्ट डॉटएनवी फॉर्मेट्स जैसे `.env`, `.env.local`, `.env.production`, `.env.test`, `.env.staging`, `.env.example`, आदि के लिए डिज़ाइन किया गया है।
2. फॉर्मेटिंग विकल्पों की समीक्षा और समायोजन करें
उपलब्ध विकल्पों (जैसे **अंतिम न्यूलाइन डालें**) को सक्षम या अक्षम करें और तय करें कि आप कुंजियों और टिप्पणियों को कैसे व्यवस्थित करना चाहते हैं। कई टीमें सुसंगत समूहीकरण लागू करने के लिए इस चरण का उपयोग करती हैं—उदाहरण के लिए, `APP_`, `DB_`, `NEXT_PUBLIC_` सेक्शन।
3. पूर्वावलोकन, कॉपी या डाउनलोड करें
साफ़ आउटपुट की समीक्षा करें, जांचें कि डुप्लिकेट और टिप्पणियाँ सही दिख रही हैं, फिर इसे वापस अपने एडिटर में कॉपी करें या फॉर्मेटेड `.env` डाउनलोड करें। `.env.example` या अन्य पर्यावरण वेरिएंट के लिए आधार के रूप में सामान्यीकृत संरचना का उपयोग करें।
तकनीकी विशिष्टताएँ
समर्थित फ़ाइलें और प्रकार
फॉर्मेटर मानक डॉटएनवी-शैली कॉन्फ़िगरेशन फ़ाइलों को संभालता है, जिसमें सामान्य फ्रेमवर्क परंपराएँ शामिल हैं।
| एक्सटेंशन / पैटर्न | प्रकार | सामान्य उपयोग |
|---|---|---|
| .env | मूल कॉन्फ़िग | सभी वातावरणों के लिए डिफ़ॉल्ट |
| .env.local | स्थानीय ओवरराइड | मशीन-विशिष्ट (आमतौर पर git-ignored) |
| .env.development | वातावरण वेरिएंट | विकास सेटिंग्स |
| .env.production | वातावरण वेरिएंट | डिप्लॉयमेंट सेटिंग्स |
| .env.test | वातावरण वेरिएंट | CI / यूनिट टेस्ट |
| .env.staging | वातावरण वेरिएंट | स्टेजिंग या पूर्वावलोकन कॉन्फ़िग |
| .env.example / .env.sample | टेम्पलेट | वास्तविक रहस्यों के बिना साझा उदाहरण फ़ाइल |
| MIME प्रकार | text/plain, text/x-dotenv, application/x-env | संपादकों और उपकरणों द्वारा उपयोग किए जाने वाले सामान्य कंटेंट प्रकार |
पार्सिंग नियम (dotenv-शैली)
फॉर्मेटर को विभिन्न भाषाओं में लोकप्रिय dotenv पार्सर के साथ संगत बनाया गया है।
| पहलू | व्यवहार | टिप्पणियाँ |
|---|---|---|
| कुंजियाँ | केस-संवेदी, आमतौर पर `A–Z`, अंक और `_` | पठनीयता के लिए UPPER_SNAKE_CASE की सिफारिश की जाती है |
| असाइनमेंट | `KEY=VALUE` रूप की पंक्तियाँ | `=` के आसपास और मानों में स्थान फॉर्मेटर द्वारा सामान्यीकृत किए जाते हैं |
| टिप्पणियाँ | `#` से शुरू होने वाली पंक्तियाँ | उद्धृत मानों के अंदर `#` को मान के भाग के रूप में माना जाता है |
| उद्धरण चिह्न | सिंगल `'…'` या डबल `"…"` | डबल कोट्स के अंदर `\n` और `\t` जैसे एस्केप संरक्षित रहते हैं |
| इंटरपोलेशन | `${VAR}` शाब्दिक रूप से रखा जाता है | कोई विस्तार या शेल-जैसा मूल्यांकन नहीं किया जाता है |
| रिक्त पंक्तियाँ | तार्किक खंडों को बनाए रखने के लिए संरक्षित | आप अभी भी मैन्युअल रूप से इच्छानुसार संकुचित या पुनः समूहित कर सकते हैं |
| डुप्लिकेट | समान कुंजी वाली एकाधिक पंक्तियाँ दिखाई जाती हैं | सामान्य dotenv व्यवहार: रनटाइम पर अंतिम मान प्रभावी होता है |
सामान्यीकरण और न्यूलाइन्स
फॉर्मेटर का उद्देश्य डिफ्स में प्लेटफ़ॉर्म-विशिष्ट शोर को कम करना है: `=` के आसपास स्पेसिंग, आवारा ट्रेलिंग स्पेस और अंतिम न्यूलाइन्स को सामान्यीकृत किया जा सकता है। **अंतिम न्यूलाइन डालें** विकल्प सुनिश्चित करता है कि एक EOF न्यूलाइन हो ताकि Git और विभिन्न संपादक LF/CRLF अंतरों के बावजूद सिंक में रहें।
गोपनीयता और सुरक्षा
फॉर्मेटिंग इस टूल के लिए समर्पित एक सुरक्षित बैकएंड द्वारा संभाली जाती है और केवल क्षणिक प्रसंस्करण के लिए है—कोई तीसरे पक्ष के API संपर्कित नहीं किए जाते हैं। हालाँकि, सबसे सुरक्षित अभ्यास अभी भी उत्पादन सीक्रेट्स को ब्राउज़र-आधारित टूल्स में पेस्ट करने से बचना है: सैनिटाइज्ड `.env.example` फ़ाइलों को संपादित करना पसंद करें और वास्तविक सीक्रेट्स को वॉल्ट या CI सीक्रेट स्टोर में रखें।
कमांड लाइन विकल्प और स्निपेट्स
टर्मिनल पसंद है? यहाँ कुछ सामान्य CLI टूल्स का उपयोग करके इस फॉर्मेटर के कुछ व्यवहार की नकल करने के लिए कुछ बिल्डिंग ब्लॉक्स दिए गए हैं।
लिनक्स/मैकओएस
कुंजियों को क्रमबद्ध करें (बेसिक, टिप्पणियों/रिक्त पंक्तियों को अनदेखा करता है)
grep -v '^\s*#' .env | grep -v '^\s*$' | sort > sorted.envगैर-टिप्पणी पंक्तियों को वर्णानुक्रम में क्रमबद्ध करता है ताकि कॉन्फ़िगरेशन कुंजियाँ स्कैन और तुलना करने में आसान हों।
awk का उपयोग करके `=` पर संरेखित करें
awk -F '=' 'BEGIN{max=0} /^[[:space:]]*#/||NF<2{next} {gsub(/[[:space:]]+$/,"",$1); if(length($1)>max) max=length($1)} END{print max}' .env | xargs -I{} awk -F '=' -v w={} 'BEGIN{OFS="="} /^[[:space:]]*#/||NF<2{print; next} {k=$1; sub(/[[:space:]]+$/,"",k); v=substr($0,index($0,"=")+1); gsub(/^\s+|\s+$/,"",v); printf("% -" w "s = %s\n", k, v)}' .env > aligned.envदो-चरणीय awk स्क्रिप्ट जो सबसे चौड़ी कुंजी को मापती है और फिर सभी `KEY = VALUE` असाइनमेंट्स को उस चौड़ाई में संरेखित करती है।
विंडोज (PowerShell)
कुंजियों को क्रमबद्ध करें और डुप्लिकेट हटाएं (अंतिम मान रखें)
(Get-Content .env) | Where-Object {$_ -notmatch '^\s*#' -and $_ -notmatch '^\s*$'} | Group-Object { $_.Split('=')[0].Trim() } -AsHashTable -AsString | ForEach-Object { $_.Value[-1] } | Set-Content cleaned.envकुंजी द्वारा पंक्तियों को समूहित करता है और केवल अंतिम घटना लिखता है, जो दर्शाता है कि अधिकांश डॉटएनव लोडर डुप्लिकेट कैसे हल करते हैं।
Node.js (क्रॉस-प्लेटफॉर्म)
न्यूनतम फॉर्मेटर: पार्स, सॉर्ट, संरेखित, लिखें
node -e "const fs=require('fs');const s=fs.readFileSync('.env','utf8');const lines=s.split(/\r?\n/);const kv=[];const others=[];for(const l of lines){if(!l||/^\s*#/.test(l)||!l.includes('=')){others.push(l);continue;}const i=l.indexOf('=');kv.push([l.slice(0,i).trim(),l.slice(i+1).trim()]);}kv.sort((a,b)=>a[0].localeCompare(b[0]));const w=Math.max(...kv.map(([k])=>k.length),0);const out=[...kv.map(([k,v])=>k.padEnd(w)+" = "+v),...others];fs.writeFileSync('formatted.env',out.join('\n'));"एक संक्षिप्त Node स्क्रिप्ट जिसे आप स्थानीय या CI उपयोग के लिए समर्पित फॉर्मेटर में अनुकूलित कर सकते हैं।
सामान्य .env फॉर्मेटर उपयोग के मामले
प्रोडक्शन तैयारी और स्वच्छता
- महत्वपूर्ण सेवाओं को तैनात करने से पहले आकस्मिक डुप्लिकेट कुंजियों को पकड़ें
- शोरगुल वाले अंतर से बचने के लिए व्हाइटस्पेस और फ़ाइल-अंत न्यूलाइन्स को सामान्य करें
- `.env.example` या सीक्रेट टेम्पलेट्स जनरेट करने से पहले संरचना को मानकीकृत करें
# Production .env
NODE_ENV=production
API_URL=https://api.example.com
LOG_LEVEL=infoटीम सहयोग और ऑनबोर्डिंग
- सभी सेवाओं में एक विहित .env लेआउट लागू करके PR शोर को कम करें
- वास्तविक सीक्रेट्स के बजाय एक साफ `.env.example` कमिट करें ताकि ऑनबोर्डिंग सुरक्षित रहे
- नए टीम सदस्यों को एक नज़र में सभी आवश्यक कॉन्फ़िगरेशन कुंजियाँ देखने में मदद करें
# .env.example
API_URL=
API_KEY=
DEBUG=falseCI और गुणवत्ता द्वार
- यह सुनिश्चित करने के लिए एक जांच जोड़ें कि कोई डुप्लिकेट कुंजी `main` या `master` ब्रांच तक न पहुंचे
- यदि `.env` फ़ाइलें बुनियादी फॉर्मेटिंग या नामकरण सम्मेलनों का उल्लंघन करती हैं तो बिल्ड विफल करें
- कॉन्फ़िगरेशन समीक्षाओं को मान्यताओं और शब्दार्थ पर केंद्रित रखें, स्पेसिंग विवरणों पर नहीं
❓ Frequently Asked Questions
डुप्लिकेट कुंजियों को कैसे संभाला जाता है?
क्या टिप्पणियाँ और रिक्त पंक्तियाँ संरक्षित रहेंगी?
क्या आप ${VAR} संदर्भों का विस्तार करते हैं?
क्या वास्तविक सीक्रेट्स पेस्ट करना सुरक्षित है?
API से संपर्क किए बिना इस टूल के बैकएंड पर डेटा को क्षणिक रूप से प्रोसेस करने के लिए बनाया गया है। फिर भी, सबसे सुरक्षित अभ्यास यह है कि किसी भी ब्राउज़र-आधारित टूल में प्रोडक्शन सीक्रेट्स पेस्ट करने से बचें: केवल सैनिटाइज्ड `.env.example` फ़ाइलें कमिट करें और वास्तविक मानों के लिए एक समर्पित सीक्रेट्स मैनेजर या CI सीक्रेट स्टोर पर भरोसा करें।CRLF बनाम LF और BOM समस्याओं के बारे में क्या?
क्या यह मेरे ऐप के एनव फाइल पढ़ने के तरीके को बदलता है?
Pro Tips
वास्तविक रहस्यों को कभी भी Git में कमिट न करें। कीज़ और सुरक्षित संकेतों के साथ एक `.env.example` कमिट करें, और वास्तविक मान वॉल्ट, CI सीक्रेट स्टोर या स्थानीय ओवरराइड्स से लोड करें।
कीज़ को डोमेन द्वारा समूहित करें (`APP_`, `DB_`, `NEXT_PUBLIC_`, आदि) और प्रत्येक समूह को लगातार क्रमबद्ध रखें ताकि नए पाठकों के लिए संज्ञानात्मक भार कम हो।
प्री-कमिट हुक्स या CI चेक्स के माध्यम से एक एकल कैनोनिकल .env स्टाइल लागू करें ताकि आपको कोड रिव्यू में स्पेसिंग के बारे में कभी बहस न करनी पड़े।
स्पेस, `#`, `=` या शेल-आरक्षित वर्णों वाली वैल्यूज़ को कोट करें ताकि विभिन्न डॉटएनव इम्प्लीमेंटेशन में सूक्ष्म पार्सिंग समस्याओं से बचा जा सके।
Additional Resources
Other Tools
- सीएसएस सुंदरीकरण
- एचटीएमएल सुंदरीकरण
- जावास्क्रिप्ट सुंदरीकरण
- पीएचपी सुंदरीकरण
- रंग चयनकर्ता
- स्प्राइट एक्सट्रैक्टर
- बेस64 डिकोडर
- बेस64 एनकोडर
- सीशार्प फॉर्मेटर
- सीएसवी फॉर्मेटर
- Dockerfile Formatter
- एल्म फॉर्मेटर
- गो फॉर्मेटर
- ग्राफक्यूएल फॉर्मेटर
- एचसीएल फॉर्मेटर
- आईएनआई फॉर्मेटर
- जेएसओएन फॉर्मेटर
- लेटेक्स फॉर्मेटर
- मार्कडाउन फॉर्मेटर
- ऑब्जेक्टिवसी फॉर्मेटर
- Php Formatter
- प्रोटो फॉर्मेटर
- पायथन फॉर्मेटर
- रूबी फॉर्मेटर
- रस्ट फॉर्मेटर
- स्काला फॉर्मेटर
- शेल स्क्रिप्ट फॉर्मेटर
- एसक्यूएल फॉर्मेटर
- SVG फॉर्मेटर
- Swift फॉर्मेटर
- TOML फॉर्मेटर
- Typescript Formatter
- XML फॉर्मेटर
- YAML फॉर्मेटर
- Yarn फॉर्मेटर
- सीएसएस मिनीफायर
- Html Minifier
- Javascript Minifier
- जेएसओएन मिनीफायर
- XML मिनिफायर
- एचटीटीपी हेडर्स दर्शक
- पीडीएफ से टेक्स्ट
- रेगेक्स परीक्षक
- एसईआरपी रैंक जांचकर्ता
- Whois लुकअप