Parser File Environment

I file environment (.env) archiviano la configurazione come coppie chiave-valore, mantenendo i segreti e le impostazioni separati dal codice. Resi popolari dalla metodologia twelve-factor app, sono usati in Node.js, Python, Ruby e altri ecosistemi. Questo strumento analizza file .env e visualizza le variabili in una vista strutturata.

Specifiche

Casi d'uso comuni

  • Ispezione della configurazione dell'ambiente applicativo
  • Validazione della sintassi del file .env prima del deploy
  • Confronto dei file environment tra ambienti (dev, staging, prod)
  • Conversione delle variabili d'ambiente in JSON per la documentazione
  • Revisione della configurazione senza esposizione nei log

Funzionalità

  • Analisi di coppie KEY=value con vari formati
  • Gestione dei valori tra virgolette (singole e doppie)
  • Salto di commenti (#) e righe vuote
  • Toggle Mostra/Nascondi segreti (maschera le chiavi corrispondenti a password, token, api, secret, ecc.)
  • Conversione in JSON e YAML per uso programmatico
  • Visualizzazione del conteggio commenti

Esempi

Configurazione applicativa

Provalo →

Un tipico file .env con impostazioni database e API.

# Database configuration
DATABASE_URL=postgres://localhost:5432/myapp
DATABASE_POOL_SIZE=10

# API Keys
API_KEY="sk-1234567890"
SECRET_KEY='super-secret-value'

Suggerimenti

  • Non committare mai i file .env nel controllo versione. Usa invece .env.example.
  • I valori tra virgolette preservano gli spazi iniziali/finali.
  • Alcune implementazioni supportano l'espansione delle variabili: ${VAR}.
  • Usa file .env separati per ogni ambiente: .env.development, .env.production.

Approfondimenti Parser File Environment

I file di variabili d'ambiente (.env) archiviano la configurazione dell'applicazione come semplici coppie KEY=VALUE, una per riga. Il formato e stato reso popolare dalla metodologia twelve-factor app, che promuove una rigida separazione della configurazione dal codice. Invece di codificare direttamente URL di database, chiavi API e flag di funzionalita, le applicazioni li leggono dalle variabili d'ambiente, e i file .env forniscono un modo conveniente per impostare quelle variabili durante lo sviluppo.

La libreria dotenv, originariamente per Ruby e successivamente portata su Node.js, Python, PHP e praticamente ogni ecosistema, legge i file .env e inietta i valori nell'ambiente del processo. Il formato supporta valori senza virgolette (DATABASE_HOST=localhost), valori tra doppi apici con sequenze di escape (MESSAGE="Hello\\nWorld") e valori tra singoli apici trattati letteralmente (REGEX='^\\d+$'). I commenti iniziano con # e le righe vuote vengono ignorate.

Una pratica critica e non committare mai i file .env nel controllo versione poiche contengono tipicamente segreti. Al contrario, i progetti includono un .env.example che elenca tutte le variabili richieste con valori segnaposto. I sistemi CI/CD e le piattaforme di hosting forniscono i propri meccanismi per impostare le variabili d'ambiente in modo sicuro.

L'espansione delle variabili (il riferimento ad altre variabili con la sintassi \${VAR}) e supportata da alcune implementazioni dotenv. Docker Compose la supporta nativamente. Quando ti affidi all'espansione, verifica che la tua implementazione dotenv specifica la supporti, poiche il comportamento varia tra i linguaggi.

Il file .env contiene tipicamente segreti come password del database, chiavi API e chiavi di crittografia. Committarli in git li espone a chiunque abbia accesso al repository, e persistono nella cronologia di git anche dopo la cancellazione. Aggiungi .env al .gitignore e usa un .env.example con valori segnaposto per documentare le variabili richieste. I valori tra doppi apici interpretano le sequenze di escape (\\n diventa un'interruzione di riga), mentre i valori tra singoli apici sono trattati come letterali grezzi senza elaborazione delle escape. I valori senza virgolette vengono privati degli spazi finali e si fermano al primo carattere #, che viene trattato come commento inline.

La gestione di piu ambienti prevede tipicamente file .env separati: .env per i valori predefiniti, .env.local per le personalizzazioni specifiche della macchina (non committato), e .env.development o .env.production per i valori specifici dell'ambiente. Framework come Next.js, Vite e Create React App li caricano in un ordine di priorita specifico. Per Docker, Compose supporta env_file per caricare variabili da un file e la chiave environment per impostarle direttamente. Il file .env di Compose nella radice del progetto viene usato per la sostituzione delle variabili in docker-compose.yml stesso. Le variabili ARG del build-time sono diverse dalle variabili ENV del runtime e non dovrebbero contenere segreti.

← Torna a tutti gli strumenti