এই .env ফরম্যাটার আপনাকে কী করতে সাহায্য করে
- `KEY=VALUE` লাইন স্বাভাবিক করুন যখন মন্তব্য ও খালি লাইন মানুষের পড়ার যোগ্য গ্রুপিংয়ের জন্য সংরক্ষণ করা হয়
- `=` এবং মানের চারপাশের স্পেসিং পরিষ্কার করুন স্ক্যান করা সহজ এবং পর্যালোচনায় আরও কমপ্যাক্ট ডিফের জন্য
- ডুপ্লিকেট কী দেখান যাতে আপনি দেখতে পারেন রানটাইমে আসলে কোনটি জেতে অনুমান না করে
- ট্রেইলিং সাদা স্থান ট্রিম করুন এবং (ঐচ্ছিকভাবে) **চূড়ান্ত নিউলাইন ঢোকান** অপশনের মাধ্যমে EOF-এ একটি চূড়ান্ত নিউলাইন নিশ্চিত করুন
- মন্তব্য লাইন (`# ...`) সংরক্ষণ করুন এবং মানের ভিতরে কোট করা `#` অক্ষর অক্ষত রাখুন
- `${VAR}`-এর মতো প্লেসহোল্ডার এবং এস্কেপ সিকোয়েন্স সম্প্রসারণ না করেই ঠিক যেমন লেখা আছে সেভাবে রাখুন
- LF/CRLF-এর জন্য লেআউট স্বাভাবিক করে এবং BOM বিস্ময় এড়িয়ে ক্রস-প্ল্যাটফর্ম প্রকল্পগুলির সাথে ভালভাবে খেলুন
- একটি গোপন-মুক্ত `.env.example` তৈরি করা সহজ করুন (কী এবং কাঠামো কপি করুন, প্রোডাকশন মান বাদ দিন)
- বন্ধুত্বপূর্ণ এডিটর: `.env`-স্টাইল ফাইল পেস্ট বা আপলোড করুন, ফলাফল প্রিভিউ করুন, তারপর পরিষ্কার আউটপুট কপি বা ডাউনলোড করুন
🔧 আপনার .env ফাইল কীভাবে পরিষ্কার ও ফরম্যাট করবেন for env-formatter
১. আপনার .env পেস্ট বা আপলোড করুন
আপনার `.env` ফাইলটি এডিটরে ড্রপ করুন বা কন্টেন্ট সরাসরি পেস্ট করুন। টুলটি সাধারণ ডটএনভ ফরম্যাট যেমন `.env`, `.env.local`, `.env.production`, `.env.test`, `.env.staging`, `.env.example` ইত্যাদির জন্য ডিজাইন করা হয়েছে।
২. ফরম্যাটিং অপশনগুলি পর্যালোচনা ও সামঞ্জস্য করুন
উপলব্ধ অপশনগুলি (যেমন **Insert final newline**) সক্রিয় বা নিষ্ক্রিয় করুন এবং কীভাবে কী ও কমেন্ট সাজাতে চান তা সিদ্ধান্ত নিন। অনেক দল সামঞ্জস্যপূর্ণ গ্রুপিং প্রয়োগ করতে এই ধাপটি ব্যবহার করে—উদাহরণস্বরূপ, `APP_`, `DB_`, `NEXT_PUBLIC_` সেকশন।
৩. প্রিভিউ, কপি বা ডাউনলোড করুন
পরিষ্কার আউটপুট পর্যালোচনা করুন, ডুপ্লিকেট ও কমেন্ট সঠিক দেখাচ্ছে কিনা তা পরীক্ষা করুন, তারপর এটিকে আপনার এডিটরে ফিরে কপি করুন বা ফরম্যাট করা `.env` ডাউনলোড করুন। `.env.example` বা অন্যান্য এনভায়রনমেন্ট ভেরিয়েন্টের ভিত্তি হিসাবে নর্মালাইজড স্ট্রাকচার ব্যবহার করুন।
প্রযুক্তিগত বিবরণ
সমর্থিত ফাইল ও প্রকার
ফরম্যাটার স্ট্যান্ডার্ড ডটএনভ-স্টাইল কনফিগারেশন ফাইল হ্যান্ডেল করে, যাতে সাধারণ ফ্রেমওয়ার্ক কনভেনশন অন্তর্ভুক্ত।
| এক্সটেনশন / প্যাটার্ন | প্রকার | সাধারণ ব্যবহার |
|---|---|---|
| .env | বেস কনফিগ | সব এনভায়রনমেন্টের জন্য ডিফল্ট |
| .env.local | লোকাল ওভাররাইড | মেশিন-স্পেসিফিক (সাধারণত git-ignore করা) |
| .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` বা সিক্রেট টেমপ্লেট জেনারেট করার আগে স্ট্রাকচার মানসম্মত করুন
# প্রোডাকশন .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
কখনই গিটে আসল গোপনীয়তা কমিট করবেন না। কী এবং নিরাপদ ইঙ্গিত সহ একটি `.env.example` কমিট করুন, এবং ভল্ট, CI সিক্রেট স্টোর বা লোকাল ওভাররাইড থেকে আসল মান লোড করুন।
ডোমেইন অনুযায়ী কী গোষ্ঠীবদ্ধ করুন (`APP_`, `DB_`, `NEXT_PUBLIC_`, ইত্যাদি) এবং প্রতিটি গোষ্ঠীকে সামঞ্জস্যপূর্ণভাবে সাজিয়ে রাখুন নতুন পাঠকদের জন্য জ্ঞানীয় চাপ কমাতে।
প্রি-কমিট হুক বা CI চেকের মাধ্যমে একটি একক ক্যানোনিকাল .env স্টাইল প্রয়োগ করুন যাতে আপনাকে কোড রিভিউতে স্পেসিং নিয়ে কখনো তর্ক করতে না হয়।
স্পেস, `#`, `=` বা শেল-সংরক্ষিত অক্ষরযুক্ত মানগুলিকে উদ্ধৃত করুন বিভিন্ন ডটএনভি বাস্তবায়নে সূক্ষ্ম পার্সিং সমস্যা এড়াতে।
Additional Resources
Other Tools
- সিএসএস সৌন্দর্যবর্ধক
- এইচটিএমএল সৌন্দর্যবর্ধক
- জাভাস্ক্রিপ্ট সৌন্দর্যবর্ধক
- পিএইচপি সৌন্দর্যবর্ধক
- রং নির্বাচক
- স্প্রাইট এক্সট্র্যাক্টর
- বেস৬৪ ডিকোডার
- বেস৬৪ এনকোডার
- সি-শার্প ফরম্যাটার
- সিএসভি ফরম্যাটার
- Dockerfile Formatter
- এলম ফরম্যাটার
- গো ফরম্যাটার
- গ্রাফকিউএল ফরম্যাটার
- এইচসিএল ফরম্যাটার
- আইএনআই ফরম্যাটার
- জেসন ফরম্যাটার
- ল্যাটেক ফরম্যাটার
- মার্কডাউন ফরম্যাটার
- অবজেক্টিভসি ফরম্যাটার
- Php Formatter
- প্রোটো ফরম্যাটার
- পাইথন ফরম্যাটার
- রুবি ফরম্যাটার
- রাস্ট ফরম্যাটার
- স্কালা ফরম্যাটার
- শেল স্ক্রিপ্ট ফরম্যাটার
- এসকিউএল ফরম্যাটার
- SVG ফরম্যাটার
- Swift ফরম্যাটার
- TOML ফরম্যাটার
- Typescript Formatter
- XML ফরম্যাটার
- YAML ফরম্যাটার
- Yarn ফরম্যাটার
- সিএসএস মিনিফায়ার
- Html Minifier
- Javascript Minifier
- জেসন মিনিফায়ার
- XML মিনিফায়ার
- এইচটিটিপি হেডার ভিউয়ার
- পিডিএফ থেকে টেক্সট
- রেজেক্স টেস্টার
- সার্প র্যাংক চেকার
- Whois লুকআপ