---
type: JS Module
title: rule-predicates.mjs
resource: npm/scripts/lib/rule-predicates.mjs
docgen:
  crc: 2c7f2b5c
  score: 95
---

Реєстр незводимих до даних предикатів для автодетекту правил. Предикати використовують наявність файлів або вмісту для визначення умов. Умови, що вимагають парсингу залежностей чи сканування вмісту, читають дані з різних джерел. Виклик диспетчується через `auto-rules.mjs` за іменем предиката.

## Поведінка

1. repoUrlMarker: Перевіряє, чи містить URL репозиторію вказаний маркер.
2. depInAnyPackageJson: Перевіряє наявність пакетів у залежностях.
3. gqlTaggedTemplate: Перевіряє наявність літерала gql.
4. hasuraConfigMarker: Перевіряє наявність маркера в конфігурації.yaml.
5. jsBunDbSignal: Перевіряє наявність залежностей або імпорту SQL з Bun.
6. nestedPackageWithoutVite: Перевіряє наявність пропущеного пакету у devDependencies.

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

RULE_PREDICATES — Реєстр предикатів: імʼя → реалізація. Виклик за `meta.json.auto.predicate`.

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

- Read-only: файл не виконує операцій запису у файлову систему.
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
- За невдачі повертає значення помилки (`false`/`null`/`Err`) замість генерування винятку чи паніки.
- Свідомо пропускає шляхи: `.git`, `node_modules`.
- Не звертається до мережі.
