Analizador de archivos de entorno
Los archivos de entorno (.env) almacenan configuración como pares clave-valor, manteniendo secretos y ajustes separados del código. Popularizados por la metodología de aplicaciones de doce factores, se usan en Node.js, Python, Ruby y otros ecosistemas. Esta herramienta analiza archivos .env y muestra las variables en una vista estructurada.
Especificaciones
Casos de uso comunes
- Inspeccionar la configuración del entorno de la aplicación
- Validar la sintaxis del archivo .env antes del despliegue
- Comparar archivos de entorno entre ambientes (desarrollo, staging, producción)
- Convertir variables de entorno a JSON para documentación
- Revisar configuración sin exponerla en los registros
Funcionalidades
- Analizar pares CLAVE=valor en varios formatos
- Manejar valores entrecomillados (comillas simples y dobles)
- Omitir comentarios (#) y líneas vacías
- Mostrar/Ocultar secretos (enmascara claves que coinciden con password, token, api, secret, etc.)
- Convertir a JSON y YAML para uso programático
- Mostrar conteo de comentarios
Ejemplos
Configuración de aplicación
Pruébalo →Un archivo .env típico con configuraciones de base de datos y API.
# Database configuration
DATABASE_URL=postgres://localhost:5432/myapp
DATABASE_POOL_SIZE=10
# API Keys
API_KEY="sk-1234567890"
SECRET_KEY='super-secret-value'Consejos
- Nunca incluya archivos .env en el control de versiones. Use .env.example en su lugar.
- Los valores entrecomillados preservan los espacios al inicio y al final.
- Algunas implementaciones soportan expansión de variables: ${VAR}.
- Use archivos .env separados por entorno: .env.development, .env.production.
Comprender Analizador de archivos de entorno
Los archivos de variables de entorno (.env) almacenan configuración de aplicaciones como pares CLAVE=VALOR simples, uno por línea. El formato fue popularizado por la metodología de aplicaciones de doce factores, que aboga por la separación estricta de la configuración del código. En lugar de codificar URLs de bases de datos, claves de API y banderas de características directamente, las aplicaciones las leen desde variables de entorno, y los archivos .env proporcionan una forma conveniente de establecer esas variables durante el desarrollo.
La biblioteca dotenv, originalmente para Ruby y luego portada a Node.js, Python, PHP y virtualmente todos los ecosistemas, lee archivos .env e inyecta valores en el entorno del proceso. El formato soporta valores sin comillas (DATABASE_HOST=localhost), valores con comillas dobles con secuencias de escape (MESSAGE="Hello\\nWorld") y valores con comillas simples tratados literalmente (REGEX='^\\d+$'). Los comentarios comienzan con # y las líneas en blanco se ignoran.
Una práctica crítica es nunca incluir archivos .env en el control de versiones ya que típicamente contienen secretos. En su lugar, los proyectos incluyen un .env.example listando todas las variables requeridas con valores de ejemplo. Los sistemas de CI/CD y las plataformas de hosting proporcionan sus propios mecanismos para establecer variables de entorno de forma segura.
La expansión de variables (referenciar otras variables con sintaxis \${VAR}) es soportada por algunas implementaciones de dotenv. Docker Compose la soporta de forma nativa. Cuando dependa de la expansión, verifique que su implementación específica de dotenv la soporte, ya que el comportamiento varía entre lenguajes.
El archivo .env típicamente contiene secretos como contraseñas de bases de datos, claves de API y claves de cifrado. Incluirlos en git los expone a cualquiera con acceso al repositorio, y persisten en el historial de git incluso después de eliminarlos. Agregue .env a .gitignore y use un .env.example con valores de ejemplo para documentar las variables requeridas. Los valores con comillas dobles interpretan secuencias de escape (\\n se convierte en una nueva línea), mientras que los valores con comillas simples se tratan como literales sin procesar sin procesamiento de escape. Los valores sin comillas se recortan de espacios en blanco finales y se detienen en el primer carácter #, que se trata como un comentario en línea.
Gestionar múltiples entornos típicamente involucra archivos .env separados: .env para valores predeterminados, .env.local para sobrecargas específicas de la máquina (no incluido en commit), y .env.development o .env.production para valores específicos del entorno. Frameworks como Next.js, Vite y Create React App los cargan en un orden de prioridad específico. Para Docker, Compose soporta env_file para cargar variables desde un archivo y la clave environment para establecerlas directamente. El archivo .env de Compose en la raíz del proyecto se usa para la sustitución de variables en el propio docker-compose.yml. Las variables ARG de tiempo de compilación son diferentes de las variables ENV de tiempo de ejecución y no deben contener secretos.