Loading…

Tentang Pemformat .env Online

Buat file dotenv Anda mudah dibaca, dapat diprediksi, dan aman untuk dibagikan. Pemformat .env ini mengurai baris KEY=VALUE, membersihkan spasi, mempertahankan komentar, dan membantu Anda menstandarisasi struktur sebelum melakukan commit atau menghasilkan `.env.example` tanpa rahasia untuk rekan tim. Kompatibel dengan Node `dotenv`, `python-dotenv`, Ruby `dotenv` dan sebagian besar loader gaya dotenv lainnya.

Apa yang Dapat Dilakukan oleh Pemformat .env Ini

  • Normalisasi baris `KEY=VALUE` sambil mempertahankan komentar dan baris kosong untuk pengelompokan yang mudah dibaca manusia
  • Bersihkan spasi di sekitar `=` dan nilai untuk pemindaian yang lebih mudah dan perbedaan yang lebih ringkas dalam tinjauan
  • Tampilkan kunci duplikat sehingga Anda dapat melihat mana yang sebenarnya menang saat runtime alih-alih menebak
  • Rapikan spasi di belakang dan (opsional) pastikan baris baru akhir di EOF melalui opsi **Sisipkan baris baru akhir**
  • Pertahankan baris komentar (`# ...`) dan biarkan karakter `#` yang dikutip di dalam nilai tetap utuh
  • Pertahankan placeholder seperti `${VAR}` dan urutan escape persis seperti yang ditulis tanpa melakukan ekspansi
  • Bekerja dengan baik pada proyek lintas platform dengan menormalisasi tata letak untuk LF/CRLF dan menghindari kejutan BOM
  • Memudahkan pembuatan `.env.example` tanpa rahasia (salin kunci dan struktur, hapus nilai produksi)
  • Editor yang ramah: tempel atau unggah file gaya `.env`, pratinjau hasilnya, lalu salin atau unduh output yang telah dibersihkan

🔧 Cara Membersihkan dan Memformat File .env Anda for env-formatter

1

1. Tempel atau Unggah .env Anda

Letakkan file `.env` Anda ke dalam editor atau tempelkan kontennya langsung. Alat ini dirancang untuk format dotenv umum seperti `.env`, `.env.local`, `.env.production`, `.env.test`, `.env.staging`, `.env.example`, dll.

2

2. Tinjau & Sesuaikan Opsi Pemformatan

Aktifkan atau nonaktifkan opsi yang tersedia (seperti **Sisipkan baris baru akhir**) dan putuskan bagaimana Anda ingin mengatur kunci dan komentar. Banyak tim menggunakan langkah ini untuk menegakkan pengelompokan yang konsisten—misalnya, bagian `APP_`, `DB_`, `NEXT_PUBLIC_`.

3

3. Pratinjau, Salin atau Unduh

Tinjau hasil yang telah dibersihkan, periksa apakah duplikat dan komentar terlihat benar, lalu salin kembali ke editor Anda atau unduh `.env` yang telah diformat. Gunakan struktur yang dinormalisasi sebagai dasar untuk `.env.example` atau varian lingkungan lainnya.

Spesifikasi Teknis

File & Tipe yang Didukung

Pemformat menangani file konfigurasi gaya dotenv standar, termasuk konvensi kerangka kerja umum.

Ekstensi / PolaTipePenggunaan Umum
.envKonfigurasi dasarDefault untuk semua lingkungan
.env.localOverride lokalSpesifik mesin (biasanya diabaikan git)
.env.developmentVarian lingkunganPengaturan pengembangan
.env.productionVarian lingkunganPengaturan penyebaran
.env.testVarian lingkunganCI / uji unit
.env.stagingVarian lingkunganKonfigurasi staging atau pratinjau
.env.example / .env.sampleTemplateFile contoh bersama tanpa rahasia nyata
Tipe MIMEtext/plain, text/x-dotenv, application/x-envJenis konten umum yang digunakan oleh editor dan alat

Aturan Parsing (gaya dotenv)

Formatter ini dirancang untuk kompatibel dengan parser dotenv populer di berbagai bahasa.

AspekPerilakuCatatan
KunciSensitif huruf, biasanya `A–Z`, angka dan `_`UPPER_SNAKE_CASE direkomendasikan untuk keterbacaan
PenugasanBaris dalam bentuk `KEY=VALUE`Spasi di sekitar `=` dan nilai dinormalisasi oleh formatter
KomentarBaris yang dimulai dengan `#``#` di dalam nilai yang dikutip diperlakukan sebagai bagian dari nilai
KutipanTunggal `'…'` atau ganda `"…"`Escape seperti `\n` dan `\t` dipertahankan di dalam kutipan ganda
Interpolasi`${VAR}` dipertahankan secara harfiahTidak ada ekspansi atau evaluasi seperti shell yang dilakukan
Baris KosongDipertahankan untuk menjaga bagian logisAnda masih dapat menciutkan atau mengelompokkan ulang secara manual sesuai keinginan
DuplikatBeberapa baris dengan kunci yang sama ditampilkanPerilaku dotenv khas: nilai terakhir yang menang saat runtime

Normalisasi & Baris Baru

Formatter bertujuan mengurangi noise spesifik platform dalam diff: spasi di sekitar `=`, spasi tambahan yang tersasar dan baris baru akhir dapat dinormalisasi. Opsi **Sisipkan baris baru akhir** memastikan baris baru EOF sehingga Git dan editor berbeda tetap sinkron bahkan melintasi perbedaan LF/CRLF.

Privasi & Keamanan

Pemformatan ditangani oleh backend aman yang dikhususkan untuk alat ini dan dimaksudkan hanya untuk pemrosesan sementara—tidak ada API pihak ketiga yang dihubungi. Namun, praktik teraman tetap menghindari menempelkan rahasia produksi ke alat berbasis browser: lebih suka mengedit file `.env.example` yang disanitasi dan simpan rahasia nyata di brankas atau penyimpanan rahasia CI.

Alternatif & Cuplikan Baris Perintah

Lebih suka terminal? Berikut beberapa blok bangunan untuk meniru beberapa perilaku formatter ini menggunakan alat CLI umum.

Linux/macOS

Urutkan kunci (dasar, abaikan komentar/baris kosong)

grep -v '^\s*#' .env | grep -v '^\s*$' | sort > sorted.env

Mengurutkan baris non-komentar secara alfabetis sehingga kunci konfigurasi lebih mudah dipindai dan dibandingkan.

Ratakan pada `=` menggunakan 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

Skrip awk dua tahap yang mengukur kunci terlebar lalu menyelaraskan semua penugasan `KEY = VALUE` ke lebar tersebut.

Windows (PowerShell)

Urutkan & hapus duplikat kunci (pertahankan nilai terakhir)

(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

Mengelompokkan baris berdasarkan kunci dan menulis hanya kemunculan terakhir, mencerminkan cara sebagian besar pemuat dotenv menyelesaikan duplikat.

Node.js (lintas platform)

Pemformat minimal: parse, urutkan, sejajarkan, tulis

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'));"

Skrip Node ringkas yang dapat Anda adaptasi menjadi pemformat khusus untuk penggunaan lokal atau CI.

Kasus Penggunaan Pemformat .env Umum

Kesiapan & Kebersihan Produksi

  • Tangkap kunci duplikat yang tidak disengaja sebelum menerapkan layanan kritis
  • Normalisasikan spasi putih dan baris baru akhir file untuk menghindari diff yang berisik
  • Standarisasi struktur sebelum menghasilkan `.env.example` atau templat rahasia
# Production .env
NODE_ENV=production
API_URL=https://api.example.com
LOG_LEVEL=info

Kolaborasi Tim & Onboarding

  • Kurangi kebisingan PR dengan menegakkan tata letak .env kanonik di semua layanan
  • Komit `.env.example` yang bersih alih-alih rahasia nyata agar onboarding lebih aman
  • Bantu anggota tim baru dengan cepat melihat semua kunci konfigurasi yang diperlukan sekilas
# .env.example
API_URL=
API_KEY=
DEBUG=false

CI & Gerbang Kualitas

  • Tambahkan pemeriksaan untuk memastikan tidak ada kunci duplikat yang mencapai cabang `main` atau `master`
  • Gagalkan build jika file `.env` melanggar konvensi pemformatan atau penamaan dasar
  • Jaga ulasan konfigurasi fokus pada nilai dan semantik, bukan detail spasi

❓ Frequently Asked Questions

Bagaimana kunci duplikat ditangani?

Sebagian besar pemuat dotenv memperlakukan nilai terakhir untuk kunci tertentu sebagai yang efektif. Pemformat ini dirancang untuk menampilkan kunci duplikat dengan jelas sehingga Anda dapat memutuskan entri mana yang akan dipertahankan alih-alih mengirimkan konfigurasi yang bertentangan secara diam-diam.

Apakah komentar dan baris kosong akan dipertahankan?

Ya. Baris komentar penuh dipertahankan, dan baris kosong disimpan sehingga pengelompokan logis Anda tetap terbaca. Anda masih dapat menyesuaikan spasi bagian secara manual jika Anda lebih suka tata letak yang lebih padat atau kompak.

Apakah Anda memperluas referensi ${VAR}?

Tidak. Placeholder seperti `${DB_HOST}` diperlakukan sebagai teks biasa. Pemformat tidak memperluas, memvalidasi, atau mengeksekusi referensi lingkungan, sehingga Anda tetap memegang kendali penuh atas bagaimana interpolasi ditangani saat runtime.

Apakah aman untuk menempelkan rahasia nyata?

Pemformat ini dibangun untuk memproses data sementara di backend alat ini tanpa menghubungi API eksternal. Namun, praktik teraman adalah menghindari menempelkan rahasia produksi ke alat berbasis browser apa pun: komit hanya file `.env.example` yang telah disanitasi dan andalkan manajer rahasia khusus atau penyimpanan rahasia CI untuk nilai nyata.

Bagaimana dengan masalah CRLF vs LF dan BOM?

Baris baru yang tidak konsisten dan BOM UTF-8 yang tersesat sering menyebabkan diff yang buruk dan kejutan parsing. Pasangkan pemformat ini dengan pengaturan editor Anda (misalnya, selalu menyimpan dengan LF dan tanpa BOM) agar file dotenv tetap konsisten di berbagai sistem operasi dan IDE.

Apakah ini mengubah cara aplikasi saya membaca file env?

Tidak. Tujuannya adalah menjaga semantik tetap utuh sambil membuat file lebih mudah dibaca. Kunci, nilai, dan komentar tetap berfungsi sama, dengan asumsi file dotenv asli valid untuk loader Anda.

Pro Tips

Best Practice

Jangan pernah mengommit rahasia nyata ke Git. Commit `.env.example` dengan kunci dan petunjuk aman, dan muat nilai nyata dari vault, penyimpanan rahasia CI, atau penggantian lokal.

Best Practice

Kelompokkan kunci berdasarkan domain (`APP_`, `DB_`, `NEXT_PUBLIC_`, dll.) dan pertahankan setiap grup secara konsisten berurutan untuk mengurangi beban kognitif pembaca baru.

Best Practice

Terapkan gaya .env kanonik tunggal melalui pre-commit hooks atau pemeriksaan CI sehingga Anda tidak perlu berdebat tentang spasi dalam tinjauan kode.

Best Practice

Kutip nilai yang mengandung spasi, `#`, `=` atau karakter yang dicadangkan shell untuk menghindari masalah parsing halus di berbagai implementasi dotenv.

Additional Resources

Other Tools