---
docgen:
  source: npm/scripts/lint-cli.mjs
  crc: 3724b90c
---

# lint-cli.mjs

## Огляд

Файл забезпечує оркестрацію виконання правил лінтингу для проєкту. Він сканує правила, визначені в файлах `meta.json`, та викликає відповідні файли `lint.mjs` для перевірки коду. Це дозволяє автоматично виявляти та повідомляти про помилки в коді на основі набору визначених правил.

## Поведінка

selectLintRules: Вибирає id правил для фази, алфавітно.
runLint: Запускає lint-оркестрацію. Збирає змінені файли, якщо потрібно, та запускає lint для кожного правила, яке відповідає вибраній фазі.

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

- selectLintRules — Вибирає набір правил для перевірки.
- runLint — Запускає процес перевірки.

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

- Оркестратор запускає правила лінтингу, визначені в файлах `rules/<id>/meta.json`.
- Для режиму `quick` оркестратор обробляє лише змінені файли, визначені за допомогою `git diff`.
- Для режиму `ci` оркестратор обробляє весь проєкт.
- Порядок виконання правил визначається алфавітним порядком імен файлів `rules/<id>/js/lint.mjs`.
- Перший виклик функції `lint` повертає ненульове значення, що призводить до зупинки виконання.
- Режим `quick` не використовує кешування.
- Режим `ci` не використовує кешування.
