---
type: JS Module
title: main.mjs
resource: npm/rules/rego/regal/main.mjs
docgen:
  crc: c628819a
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
  issues: judge:inaccurate:0.96
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Файл, що реалізує `regal lint`, є інструментом, який виконує read-only детекцію стилю для файлів Rego. Він аналізує або весь корінь політик, визначений у `npm/rules`, або наданий список окремих файлів `.rego` через `ctx.files`. Функціонал `regal lint` є per-file-безпечним, тобто його робота не залежить від сусідніх файлів. Він звіряє стилістичну консистентність Rego-політик за допомогою цього інструменту.

## Поведінка

1. Викликається функція `lint` з контекстом.
2. Визначаються цілі для перевірки: або весь корінь policy-дерева в `npm/rules` (якщо він існує), або список конкретних файлів `.rego` з контексту.
3. Якщо цілі відсутні, перевірка не виконується.
4. Запускається зовнішній інструмент `regal` з командою `lint` та списком визначених цілей.
5. Якщо інструмент `regal` завершується з кодом, що не дорівнює нулю, фіксується помилка, пов'язана з виконанням `regal lint`.
6. У випадку успішного виконання, результат перевірки збирається та повертається.

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

lint — шукає порушення правил у коді, використовуючи двигун rego/regal, без внесення змін.

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

- Read-only: не виконує операцій запису (ФС/БД).
