Парсер и валидатор .env
Вставьте файл .env — или перетащите его в поле — и получите его разобранным, проверенным и объяснённым: каждый ключ в таблице с замаскированным значением, каждая проблема перечислена с номером строки. Дублирующиеся ключи, недопустимые имена, строки, которые вообще не являются присваиваниями, пустые значения, тихо перекрывающие значения по умолчанию. Всё выполняется целиком в вашем браузере, а файл никогда не загружается, потому что рабочий .env — это связка секретов, и обращаться с ним следует соответственно.
| Ключ | Значение | Строка |
|---|
Экспорт содержит настоящие значения — маскирование защищает только отображение. Обращайтесь с экспортированным файлом точно так же, как с самим .env.
Сверка с использованием
- Определены, но нигде не ссылаются
- Есть ссылки, но не определены
Что проверяется и почему
Формат .env — это соглашение, а не стандарт, поэтому файлы тихо гниют. Все загрузчики согласны с KEY=VALUE и расходятся во всём остальном: снимаются ли префиксы export , учитываются ли кавычки, завершает ли встроенный комментарий значение и — самое опасное — какое из двух определений одного ключа побеждает. Этот валидатор применяет правила общего знаменателя и сообщает о местах, где загрузчики расходятся: ключ, определённый дважды, с обоими номерами строк; имя, которое не примет ни одна оболочка; кавычка, которая открывается и никогда не закрывается; строка вообще без знака равенства. Пустые значения помечаются, а не считаются ошибкой, потому что KEY= легален, — но он перекрывает любое значение по умолчанию пустой строкой, а это самая частая причина, по которой сервис работает на одной машине и не работает на другой.
Дизайн приватности — это и есть функция. Рабочий .env концентрирует пароли баз данных, ключи API и секреты сессий в одном маленьком файле, а естественный шаг отладки — вставить его куда-нибудь и попросить о помощи — одновременно является утечкой. Чаты с ИИ, трекеры задач и командные каналы сохраняют копии, часто доступные для поиска, часто навсегда. Поэтому этот инструмент следует тому же правилу, что и парсер логов и генератор сертификатов: чувствительные данные никогда не покидают браузер, значения маскируются на экране, а единственный экспорт — это файлы, которые вы сознательно скачиваете. Сопутствующая статья файлы env — это место, где секреты утекают рассказывает о гигиене вокруг самого файла: что в нём должно быть, чего быть не должно и что делать, когда один из них ускользнул.
Часто задаваемые вопросы
Безопасно ли вставлять сюда рабочий .env?
Да — в этом и состоит назначение этого инструмента. Разбор выполняется целиком в вашем браузере: нет загрузки, нет обращения к серверу, и ничего из вставленного никуда не передаётся и не сохраняется. Значения по умолчанию маскируются на экране, поэтому демонстрация экрана или снимок экрана их тоже не выдадут. Того же нельзя сказать о вставке .env в чат с ИИ, задачу или командное сообщение — все они сохраняют копии; статья о файлах env и утечке секретов объясняет более безопасные привычки.
Почему дублирующийся ключ важен, если побеждает последний?
Потому что человек, редактирующий файл, не знает, какой побеждает. Он меняет значение в строке 4, повторно развёртывает — и смотрит, как ничего не происходит: загрузчик тихо использовал строку 41. Хуже того, одни фреймворки берут первое определение, а другие — последнее, поэтому один и тот же файл ведёт себя по-разному в одном стеке. Один ключ, одна строка, одно значение: валидатор перечисляет каждый дубликат с обоими номерами строк, чтобы мёртвую строку можно было удалить.
Моё приложение читает переменную, которой нет в .env. Как их найти?
Вставьте ваш код или конфигурацию в поле использования. Парсер извлекает каждое упоминаемое имя — process.env.X, process.env[’X’], import.meta.env.X, ${X} и $X — и сообщает в обоих направлениях: имена, на которые код ссылается, но файл никогда не определяет (они становятся undefined во время выполнения, обычно в самый неподходящий момент), и ключи, которые файл определяет, но на которые ничто не ссылается (мёртвая конфигурация, которая на удивление часто всё ещё хранит действующие секреты).
Что считается недопустимым ключом?
Всё, что не является буквой или подчёркиванием, за которыми следуют буквы, цифры и подчёркивания. Ключи, начинающиеся с цифры, содержащие дефисы или точки или несущие лишние пробелы, отбрасываются или искажаются многими загрузчиками и оболочками — файл, который чисто загружается в bash, может отказать в загрузчике Node именно по этой причине. Валидатор помечает их с номером строки; таблица записей при этом всё равно показывает строку, чтобы вы видели, что будет потеряно.
Содержит ли экспорт настоящие значения?
Да. Загрузки JSON и YAML и скопированный JSON — это настоящая конфигурация: маскирование — это защита отображения, а не редактирование ваших собственных данных. Обращайтесь с экспортированными файлами точно так же, как с самим .env: никогда не коммитьте их в публичный репозиторий, никогда не прикрепляйте к задаче. Если нужна безопасная версия для обмена, делитесь замаскированным снимком экрана или списком ключей.