Che cosa fa questo strumento
Un oggetto JSON piatto diventa un file .env, un’assegnazione per riga.
{ "PORT": 3000, "NAME": "la mia app", "DEBUG": true }
PORT=3000
NAME="la mia app"
DEBUG=true
I valori tengono il loro testo: un numero, un booleano e una stringa con gli stessi caratteri escono uguali, perché un file .env non contiene altro che testo.
Un nome che il lettore rifiuterebbe ora ferma la conversione
I nomi di variabile sono verificati prima di scrivere qualsiasi cosa: lettere, cifre, _ e ., mai una cifra in testa. la mia chiave e 2fa sono rifiutati, con la chiave colpevole nominata.
Va detto apertamente, perché è un difetto che questo strumento aveva. Accettava qualunque chiave e la scriveva, sicché {"la mia chiave": "1"} produceva:
la mia chiave=1
una riga che il lettore .env di questo stesso sito rifiuta, e che nemmeno una shell prenderebbe per un’assegnazione. Un convertitore la cui uscita è rifiutata dal suo stesso inverso è un convertitore difettoso. Il difetto è stato trovato scrivendo questa pagina e corretto.
Virgolette solo dove servono
Un valore è citato quando lasciarlo nudo cambierebbe dove finisce: contiene uno spazio, un # che aprirebbe un commento, una virgoletta o una barra rovesciata.
{ "GREETING": "ciao a tutti", "NOTE": "a # b" }
GREETING="ciao a tutti"
NOTE="a # b"
Tra virgolette, un ritorno a capo vero si scrive \n: una variabile sta su una riga, e un a capo in mezzo a un valore chiuderebbe lì l’assegnazione.
Ciò che un file .env non può reggere
L’annidamento non ci sta: {"db": {"host": "x"}} è rifiutato, con db nominato, invece di essere inventato in DB_HOST o db.host. Quale dei due la tua applicazione si aspetti, il JSON non lo dice.
E null diventa un valore vuoto, KEY=, che si rilegge come stringa vuota. Quella distinzione nel formato semplicemente non c’è — utile saperlo prima di farci conto.
Privato per progettazione
Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.