- Alat manajemen variabel lingkungan generasi berikutnya yang mengatasi keterbatasan pendekatan .env/.env.example yang ada, sekaligus menyelesaikan kolaborasi/AI/keamanan/stabilitas tipe
- Mengelola skema variabel lingkungan di satu tempat dengan
.env.schema, sehingga tidak perlu khawatir ketidaksesuaian antara nilai nyata dan contoh seperti pada .env.example
- Melalui anotasi dekorator @env-spec, berbagai informasi seperti skema, tipe, validasi, contoh, sensitivitas, dan pengelolaan secret eksternal dapat ditambahkan secara deklaratif ke file .env
@required, @type=string, @sensitive, @example dan lain-lain
- Validasi yang kuat: kesalahan konfigurasi/input yang belum diisi langsung diberi panduan dengan pesan yang jelas (dicegah lebih awal sebelum runtime)
- Dengan pembuatan tipe otomatis berbasis skema, akses variabel lingkungan di dalam kode menjadi aman secara tipe dan mendukung IntelliSense IDE
- Keamanan: masking otomatis untuk informasi sensitif (log/konsol), deteksi kebocoran di klien atau respons yang sudah dibundel
- Multi-environment dan override: mendukung konfigurasi lingkungan yang kompleks seperti nilai default, file per lingkungan, nilai personal yang diabaikan git, kombinasi process env, dan lainnya
- Integrasi secret eksternal: pemuatan secret dinamis berbasis perintah seperti 1Password, exec, dengan dukungan plugin, enkripsi lokal, dan team vault yang akan segera hadir
- Agnostik bahasa/runtime: tidak hanya JS/TS, tetapi juga bisa menyuntikkan validated env ke semua bahasa dan proses seperti
varlock run -- python my.py
- Dapat sepenuhnya menggantikan dotenv: cukup ganti import dotenv dengan varlock untuk langsung memakai validasi, pembuatan tipe otomatis, keamanan yang diperkuat, multi-environment/integrasi secret, dan berbagai fitur lainnya
2 komentar
Kalau begitu, apakah
.env.schemaharus dimasukkan ke.gitignore?Ah.. jadi informasinya disimpan di
.env, lalu dibaca oleh.env.schema, ya.