---
docgen:
  source: npm/rules/abie/js/firebase_hosting.mjs
  crc: 3b2459a8
---

# firebase_hosting.mjs

## Огляд

Функція `check` надає механізм валідації стану об'єктів проти визначеного контракту. Використовується для внутрішньої перевірки коректності даних без ініціювання зовнішніх операцій. Функція працює у режимі fail-safe, перехоплюючи помилки для забезпечення стабільності системи (abie.mdc).

## Поведінка

1. Ініціалізація. Створюється механізм збору та звітування результатів.

2. Зчитування. Спроба прочитати вміст директорії, переданої як корінь репозиторію.

3. Фільтрація. Виключаються директорії з назвами `.git` та `node_modules` з перевірки.

4. Перевірка. Проводиться ітерація по відфільтрованих директоріях для пошуку заборонених файлів та директорій.

5. Валідація. Перевіряється наявність файлів `.firebaserc` та `firebase.json` у підкаталогах. Знайдені файли повертають невдачу.

6. Валідація. Перевіряється наявність директорій `.firebase` у підкаталогах. Знайдені директорії повертають невдачу (abie.mdc).

7. Результат. Якщо жодних порушень не виявлено, повертається позитивний результат. Якщо порушення виявлено, повертається негативний результат.

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

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