Loading…

के बारे में ऑनलाइन .env फॉर्मेटर

अपनी dotenv फ़ाइलों को पठनीय, अनुमेय और साझा करने के लिए सुरक्षित बनाएं। यह .env फॉर्मेटर KEY=VALUE लाइनों को पार्स करता है, स्पेसिंग साफ करता है, टिप्पणियों को संरक्षित करता है, और कमिट करने या साथियों के लिए सीक्रेट्स-मुक्त `.env.example` जनरेट करने से पहले संरचना को मानकीकृत करने में मदद करता है। यह Node `dotenv`, `python-dotenv`, Ruby `dotenv` और अधिकांश अन्य dotenv-शैली लोडर्स के साथ संगत है।

यह .env फॉर्मेटर आपको क्या करने में मदद करता है

  • `KEY=VALUE` लाइनों को सामान्य करें जबकि मानव-पठनीय समूहन के लिए टिप्पणियों और खाली लाइनों को संरक्षित रखें
  • `=` और मानों के आसपास की स्पेसिंग साफ करें ताकि स्कैनिंग आसान हो और समीक्षाओं में डिफ्स अधिक कॉम्पैक्ट हों
  • डुप्लिकेट कुंजियों को सामने लाएं ताकि आप देख सकें कि रनटाइम पर वास्तव में कौन सी जीतती है, अनुमान लगाने के बजाय
  • ट्रेलिंग व्हाइटस्पेस ट्रिम करें और (वैकल्पिक रूप से) **अंतिम न्यूलाइन डालें** विकल्प के माध्यम से EOF पर एक अंतिम न्यूलाइन सुनिश्चित करें
  • टिप्पणी लाइनों (`# ...`) को संरक्षित रखें और मानों के अंदर उद्धृत `#` वर्णों को बरकरार रखें
  • प्लेसहोल्डर्स जैसे `${VAR}` और एस्केप सीक्वेंस को बिना विस्तार किए वैसे ही रखें जैसे लिखे गए हैं
  • क्रॉस-प्लेटफ़ॉर्म प्रोजेक्ट्स के साथ अच्छी तरह काम करें LF/CRLF के लिए लेआउट सामान्य करके और BOM आश्चर्यों से बचें
  • सीक्रेट्स-मुक्त `.env.example` प्राप्त करना आसान बनाएं (कुंजियाँ और संरचना कॉपी करें, प्रोडक्शन मान छोड़ें)
  • अनुकूल संपादक: `.env`-शैली फ़ाइलों को पेस्ट या अपलोड करें, परिणाम का पूर्वावलोकन करें, फिर साफ आउटपुट कॉपी या डाउनलोड करें

🔧 अपनी .env फ़ाइल को कैसे साफ और फॉर्मेट करें for env-formatter

1

1. अपना .env पेस्ट या अपलोड करें

अपनी `.env` फ़ाइल को एडिटर में ड्रॉप करें या सीधे कॉन्टेंट पेस्ट करें। यह टूल विशिष्ट डॉटएनवी फॉर्मेट्स जैसे `.env`, `.env.local`, `.env.production`, `.env.test`, `.env.staging`, `.env.example`, आदि के लिए डिज़ाइन किया गया है।

2

2. फॉर्मेटिंग विकल्पों की समीक्षा और समायोजन करें

उपलब्ध विकल्पों (जैसे **अंतिम न्यूलाइन डालें**) को सक्षम या अक्षम करें और तय करें कि आप कुंजियों और टिप्पणियों को कैसे व्यवस्थित करना चाहते हैं। कई टीमें सुसंगत समूहीकरण लागू करने के लिए इस चरण का उपयोग करती हैं—उदाहरण के लिए, `APP_`, `DB_`, `NEXT_PUBLIC_` सेक्शन।

3

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=false

CI और गुणवत्ता द्वार

  • यह सुनिश्चित करने के लिए एक जांच जोड़ें कि कोई डुप्लिकेट कुंजी `main` या `master` ब्रांच तक न पहुंचे
  • यदि `.env` फ़ाइलें बुनियादी फॉर्मेटिंग या नामकरण सम्मेलनों का उल्लंघन करती हैं तो बिल्ड विफल करें
  • कॉन्फ़िगरेशन समीक्षाओं को मान्यताओं और शब्दार्थ पर केंद्रित रखें, स्पेसिंग विवरणों पर नहीं

❓ Frequently Asked Questions

डुप्लिकेट कुंजियों को कैसे संभाला जाता है?

अधिकांश डॉटएनव लोडर किसी दी गई कुंजी के लिए अंतिम मान को प्रभावी मानते हैं। यह फॉर्मेटर डुप्लिकेट कुंजियों को स्पष्ट रूप से दिखाने के लिए डिज़ाइन किया गया है ताकि आप तय कर सकें कि कौन सी प्रविष्टियाँ रखनी हैं, बजाय इसके कि विरोधाभासी कॉन्फ़िगरेशन को चुपचाप शिप कर दें।

क्या टिप्पणियाँ और रिक्त पंक्तियाँ संरक्षित रहेंगी?

हाँ। पूर्ण टिप्पणी पंक्तियाँ संरक्षित रहती हैं, और रिक्त पंक्तियाँ रखी जाती हैं ताकि आपका तार्किक समूहन पठनीय बना रहे। यदि आप एक सघन या अधिक कॉम्पैक्ट लेआउट पसंद करते हैं तो आप अभी भी अनुभाग स्पेसिंग को मैन्युअली समायोजित कर सकते हैं।

क्या आप ${VAR} संदर्भों का विस्तार करते हैं?

नहीं। `${DB_HOST}` जैसे प्लेसहोल्डर्स को सादे पाठ के रूप में माना जाता है। फॉर्मेटर पर्यावरण संदर्भों का विस्तार, मान्यकरण या निष्पादन नहीं करता है, इसलिए आप रनटाइम पर इंटरपोलेशन को कैसे संभाला जाता है इस पर पूर्ण नियंत्रण में रहते हैं।

क्या वास्तविक सीक्रेट्स पेस्ट करना सुरक्षित है?

फॉर्मेटर बाहरी API से संपर्क किए बिना इस टूल के बैकएंड पर डेटा को क्षणिक रूप से प्रोसेस करने के लिए बनाया गया है। फिर भी, सबसे सुरक्षित अभ्यास यह है कि किसी भी ब्राउज़र-आधारित टूल में प्रोडक्शन सीक्रेट्स पेस्ट करने से बचें: केवल सैनिटाइज्ड `.env.example` फ़ाइलें कमिट करें और वास्तविक मानों के लिए एक समर्पित सीक्रेट्स मैनेजर या CI सीक्रेट स्टोर पर भरोसा करें।

CRLF बनाम LF और BOM समस्याओं के बारे में क्या?

असंगत न्यूलाइन्स और आवारा UTF-8 BOMs अक्सर बदसूरत डिफ्स और पार्सिंग आश्चर्यों का कारण बनते हैं। इस फॉर्मेटर को अपने एडिटर सेटिंग्स के साथ जोड़ें (उदाहरण के लिए, हमेशा LF और बिना BOM के सेव करें) ताकि डॉटएनव फाइलें ऑपरेटिंग सिस्टम और आईडीई में सुसंगत बनी रहें।

क्या यह मेरे ऐप के एनव फाइल पढ़ने के तरीके को बदलता है?

नहीं। लक्ष्य फाइल को पढ़ने में आसान बनाते हुए शब्दार्थ को अक्षुण्ण रखना है। कीज़, वैल्यूज़ और टिप्पणियाँ कार्यात्मक रूप से वही रहती हैं, यह मानते हुए कि मूल डॉटएनव फाइल आपके लोडर के लिए वैध थी।

Pro Tips

Best Practice

वास्तविक रहस्यों को कभी भी Git में कमिट न करें। कीज़ और सुरक्षित संकेतों के साथ एक `.env.example` कमिट करें, और वास्तविक मान वॉल्ट, CI सीक्रेट स्टोर या स्थानीय ओवरराइड्स से लोड करें।

Best Practice

कीज़ को डोमेन द्वारा समूहित करें (`APP_`, `DB_`, `NEXT_PUBLIC_`, आदि) और प्रत्येक समूह को लगातार क्रमबद्ध रखें ताकि नए पाठकों के लिए संज्ञानात्मक भार कम हो।

Best Practice

प्री-कमिट हुक्स या CI चेक्स के माध्यम से एक एकल कैनोनिकल .env स्टाइल लागू करें ताकि आपको कोड रिव्यू में स्पेसिंग के बारे में कभी बहस न करनी पड़े।

Best Practice

स्पेस, `#`, `=` या शेल-आरक्षित वर्णों वाली वैल्यूज़ को कोट करें ताकि विभिन्न डॉटएनव इम्प्लीमेंटेशन में सूक्ष्म पार्सिंग समस्याओं से बचा जा सके।

Additional Resources

Other Tools