---
type: JS Module
title: main.mjs
resource: npm/rules/js-bun-db/safety/main.mjs
docgen:
  crc: 6d989964
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
  issues: judge:inaccurate:0.98
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Поведінка системи описує основну функціональність програми через публічну функцію `main`. Програма керується конфігураційними параметрами, визначеними в `package.json`. Уся взаємодія з базами даних здійснюється через механізм, що відповідає логіці, описаній у `js-bun-db.mdc`. Система працює виключно в режимі читання даних, і гарантії не включають механізм кешування.

## Поведінка

1. Викликається функція main.
2. Система зчитує конфігураційні файли для ігнорування.
3. Знаходяться всі файли package.json у репозиторії.
4. Скануються JS/TS файли репозиторію на наявність небезпечних патернів Bun SQL.
5. Збираються метадані щодо використання pg-модуля (`pg`) та сигналів LISTEN/NOTIFY у файлах.
6. Перевіряється залежність `pg` у файлах package.json щодо наявності використання LISTEN/NOTIFY.
7. Якщо Bun SQL використовується, перевіряється відповідність усіх патернів (наприклад, відсутність створення new SQL у функціях, використання `allow-unsafe` маркерів, правильне використання `sql.array`, відсутність зайвих `JSON.stringify` перед `::jsonb`).
8. Усі результати перевірок реєструються за допомогою повідомлень з посиланням на (js-bun-db.mdc).

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

main — перевіряє відповідність проєкту вимогам, викладеним у правилі js-bun-db.mdc.

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

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