Сравнение .env

Вставьте два файла .env — изменённые переменные появятся сразу, без кнопок и без загрузки.

Настройки

Как пользоваться

  1. Вставьте первый .env в «Окружение A», а второй — в «Окружение B»: каждая добавленная, удалённая или изменённая переменная появляется по мере ввода, нажимать ничего не нужно.
  2. Сравнение идёт по ключам, а не по строкам: перенос строки, добавление пустой строки или комментария не создаёт различия — важны только изменения имени переменной или значения.
  3. Кнопка «Копировать diff» заберёт полный список: каждая строка начинается с +, - или ~, затем идёт ключ, значение и (для изменений) старое и новое значение — готово для задачи или письма.

Пример

Два файла

【Окружение A】
DB_HOST=localhost
DB_PORT=5432
API_KEY=sk-aaaaaaaaaa
FEATURE_NEW=false

【Окружение B】
DB_HOST=db.prod.example.com
DB_PORT=5432
API_KEY=sk-bbbbbbbbbb
NEW_RELIC_KEY=nr-xyz

Различия

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

Строки 【Окружение A】/【Окружение B】 — заголовки примера; в реальной работе два файла вставляются в два поля. Показаны только реальные изменения: DB_PORT одинаков в обоих, поэтому не выводится, а порядок ключей никогда не важен.

Правила, ограничения и известные проблемы

  • Это сравнение по ключам, а не по строкам: переменная, перенесённая на другую строку, новая пустая строка или комментарий различием не считаются. В список попадает только изменённое имя переменной или значение.
  • Порядок ключей не важен — файлы сравниваются как карты «ключ/значение», поэтому перестановка строк никогда не меняет результат. Ключ сопоставляется точно, с учётом регистра: DB_HOST и db_host — разные ключи.
  • Комментарии (строка целиком, начинающаяся с #) и пустые строки игнорируются. Необязательный префикс «export » отбрасывается. Значения могут быть в кавычках; в двойных кавычках распознаются \n \r \t \\ и \", а в одинарных содержимое остаётся буквальным.
  • По умолчанию значения сравниваются точно: KEY= hello и KEY=hello различаются. Включите «Обрезать пробелы вокруг значений», если пробелы по краям нужно игнорировать; включите «Игнорировать значения (только ключи)», чтобы сравнивать наборы ключей без значений.
  • Дубликаты ключей сохраняют последнее значение, как в dotenv, а пометка сообщает, сколько дубликатов найдено. Ссылки на переменные вроде ${OTHER_VAR} сравниваются как записаны и не раскрываются.
  • Ограничения: при суммарном объёме свыше 200 000 символов результат обновляется примерно через 0,6 с после того, как вы закончите ввод; файл больше 1 000 000 символов даёт ошибку, а не обрезанный результат. Отрисовывается не более 400 строк изменений, но копирование всегда даёт полный список.
  • Нет загрузки файлов, подгрузки по URL, раскрытия переменных, истории и ссылок для совместного доступа. Всё выполняется в браузере: ничего не загружается и не сохраняется.

Что обычно нужно дальше, когда два окружения сравнены.