Diff de .env

Pega dos archivos .env: las variables modificadas aparecen al instante, sin botones y sin subir nada.

Opciones

Cómo se usa

  1. Pega el primer .env en «Entorno A» y el segundo en «Entorno B»: cada variable añadida, eliminada o modificada aparece mientras escribes, sin ningún botón que pulsar.
  2. La comparación es por clave, no por línea: mover una línea, añadir una línea vacía o un comentario no crea una diferencia; solo lo hacen los cambios en el nombre o el valor de una variable.
  3. Usa «Copiar diff» para llevarte la lista completa: cada línea lleva +, - o ~ seguido de la clave, el valor y (en los cambios) el valor antiguo y el nuevo, lista para una incidencia o un correo.

Ejemplo

Dos archivos

«Entorno A»
DB_HOST=localhost
DB_PORT=5432
API_KEY=sk-aaaaaaaaaa
FEATURE_NEW=false

«Entorno B»
DB_HOST=db.prod.example.com
DB_PORT=5432
API_KEY=sk-bbbbbbbbbb
NEW_RELIC_KEY=nr-xyz

Diferencias

+ NEW_RELIC_KEY=nr-xyz
~ DB_HOST=localhost -> db.prod.example.com
~ API_KEY=sk-aaaaaaaaaa -> sk-bbbbbbbbbb
- FEATURE_NEW=false
(+1 ~2 −1)

Las líneas «Entorno A»/«Entorno B» son encabezados del ejemplo; en el uso real cada archivo va en su caja. Solo se listan los cambios reales de clave/valor: DB_PORT es igual en ambos, así que no aparece, y el orden de las claves nunca importa.

Reglas, límites y problemas conocidos

  • Es un diff por clave, no por línea: una variable movida a otra línea, una línea vacía nueva o un comentario no son una diferencia. Solo se lista un nombre o valor de variable modificado.
  • El orden de las claves no importa: los archivos se comparan como mapas clave/valor, así que reordenar las líneas nunca cambia el resultado. La clave se compara exactamente, distinguiendo mayúsculas: DB_HOST y db_host son claves distintas.
  • Se ignoran los comentarios (una línea entera que empieza por #) y las líneas vacías. Se quita un prefijo opcional «export ». Los valores pueden ir entre comillas; los valores entre comillas dobles interpretan \n \r \t \\ y \", y los entre comillas simples conservan su contenido literal.
  • Los valores se comparan exactamente por defecto: KEY= hello y KEY=hello son distintos. Activa «Recortar espacios alrededor de los valores» si quieres ignorar los espacios de alrededor; activa «Ignorar valores (solo claves)» para comparar conjuntos de claves sin sus valores.
  • Las claves duplicadas conservan el último valor, como hace dotenv, y un aviso indica cuántos duplicados se han encontrado. Las referencias a variables como ${OTHER_VAR} se comparan tal como están escritas y no se expanden.
  • Límites: el resultado se actualiza unos 0,6 s después de que dejes de escribir si entre los dos archivos suman más de 200.000 caracteres; un archivo de más de 1.000.000 de caracteres se notifica como error, nunca se trunca. Se muestran como máximo 400 líneas de cambio, pero al copiar siempre se obtiene la lista completa.
  • Sin subida de archivos, sin carga desde URL, sin expansión de variables, sin historial y sin enlaces para compartir. Todo funciona en tu navegador: no se sube ni se guarda nada.

Lo que suele hacer falta después, una vez comparados los dos entornos.