# run-lint-step.mjs

## Огляд

Цей файл забезпечує спільний хелпер для запуску окремих кроків у ланцюжку linting, що використовується CLI-обгортками. Він імітує прямий виклик команд у shell, логуючи команди та перенаправляючи stdout/stderr на користувацькі stream-и. Це дозволяє уникнути дублювання обгорток у різних `rules/<id>/js/lint.mjs` файлах.

## Поведінка

1.  Записує в лог повідомлення про початок виконання кроку ланцюжка з описом команди та її аргументів.
2.  Визначає шлях до виконуваного файлу команди на основі її імені.
3.  Якщо шлях не знайдено в системному PATH, записує повідомлення про помилку та повертає код 127.
4.  Запускає визначену команду з заданими аргументами, передаючи стандартний потік введення/виведення (stdio) потокам користувача.
5.  Якщо команда завершилася з помилкою, записує повідомлення про помилку та повертає код 1.
6.  Якщо команда завершилася успішно, повертає код виходу дочірнього процесу, який дорівнює 0, якщо все добре, або 1, якщо виникла помилка.

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

runLintStep — запускає процес linting та перевіряє його успішність.

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

- Запускає один крок ланцюжка linting.
- Перенаправляє stdout та stderr на користувацькі stream-и (stdio: 'inherit').
- Не використовує кешування.
- Не має внутрішніх приватних імен.
