---
type: JS Module
title: main.mjs
resource: npm/rules/abie/ua_http_route/main.mjs
docgen:
  crc: 1e0f205a
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  tier: local-min-retry
  score: 100
  issues: judge:inaccurate:0.98
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Огляд: Цей компонент забезпечує функціональність аналізу, що реалізована через публічну функцію `lint`. Він виконує операції з кешуванням у межах одного прогону та обробляє помилки у режимі fail-safe, що гарантує відсутність винятків у зовнішньому середовищі.

## Поведінка

1. Ініціалізує звіт про порушення.
2. Зчитує списки шляхів, які слід ігнорувати.
3. Знаходить усі файли YAML в каталозі.
4. Фільтрує знайдені YAML-файли, щоб визначити ті, що стосуються конфігурації UA Kustomization.
5. Якщо таких файлів немає, завершує роботу з успіхом, оскільки патч HTTPRoute (ua) не потрібен.
6. Для кожного релевантного YAML-файлу:
    а. Визначає відповідний каталог пакета abie.
    б. Якщо пакет не вимагає патчу HTTPRoute за допомогою Vite, пропускає цей файл з успішним повідомленням.
    в. Аналізує посилання на загальні бекенди у пакеті, кешуючи результат.
    г. Зчитує вміст YAML-файлу.
    д. Комбінує вміст для формування патча Nginx Run.
    е. Валідує отриманий патч.
    ж. Якщо валідація успішна, фіксує успіх.
    з. Якщо виникають будь-які помилки (не вдалося прочитати, внутрішні помилки, відхилення валідації), фіксує це як порушення.
7. Повертає фінальний результат лінту, що містить усі зафіксовані порушення.

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

lint — перевіряє дотримання правил для UA HTTP-route overlay concern-а abie.

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

- Read-only: не виконує операцій запису (ФС/БД).
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
- Кешує результати в межах одного прогону.
