---
type: JS Module
title: run-dotenv-linter.mjs
resource: npm/rules/text/js/run-dotenv-linter.mjs
docgen:
  crc: 4719ac66
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
---

## Огляд

Модуль запускає `dotenv-linter` для валідації конфігураційних файлів `.env*` відповідно до стандартів (наприклад, `LowercaseKey`). Процес включає два етапи: спочатку автоматичне виправлення порушень за допомогою `dotenv-linter fix`, а потім фінальну перевірку за допомогою `dotenv-linter check`. Інструмент очікується у системному PATH і не включається у залежності проєкту. Він рекурсивно шукає файли, виключаючи `node_modules` та `.envrc`. Якщо `dotenv-linter` відсутній, виводиться інструкція щодо його встановлення (наприклад, `brew install dotenv-linter`) та повертається код помилки. Усі деталі роботи можна знайти за посиланням https://git.io/JLbXn.

## Поведінка

1. `runDotenvLinter` перевіряє наявність інструменту `dotenv-linter` у системному шляху. Якщо інструмент відсутній, виводиться підказка для його встановлення (наприклад, `brew install dotenv-linter` для macOS або завантаження за адресою https://git.io/JLbXn для Linux) та повертається код виходу 1.
2. Якщо інструмент знайдено, будується список виключених шляхів для сканування, включаючи `node_modules` та `.envrc`.
3. Якщо режим роботи не є лише перевіркою (readOnly дорівнює `false`), виконується перший запуск `dotenv-linter` з опцією авто-фіксу. Цей запуск застосовує всі можливі виправлення до `.env*`-файлів, ігноруючи `.bak`-файли.
4. Після застосування авто-фіксу, виконується фінальний запуск `dotenv-linter` з опцією перевірки.
5. Якщо фінальна перевірка повертає ненульовий код виходу, це означає, що залишилися порушення, і повертається код виходу 1.
6. Якщо фінальна перевірка повертає код виходу 0, операція успішна, і повертається код виходу 0.

## Публічний API

runDotenvLinter — запускає dotenv-linter з автоматичним виправленням та фінальною перевіркою конфігураційних файлів.

## Гарантії поведінки

- Read-only: не виконує операцій запису (ФС/БД).
- Свідомо пропускає шляхи: `node_modules`.
