---
docgen:
  source: npm/scripts/utils/resolve-js-root.mjs
  crc: 2c2b9f11
---

# resolve-js-root.mjs

## Огляд

Цей файл визначає кореневий JavaScript-файл проєкту, необхідний для запуску інструментів аналізу коду. Він використовується як у великих проєктах з декількома workspace-ами, так і в окремих пакетах, забезпечуючи єдине місце для визначення кореневого розташування. Це спрощує інтеграцію з інструментами coverage та тестування.

## Поведінка

resolveJsRoot: повертає абсолютний шлях до першого JS-кореня проєкту.
resolveAllJsRoots: повертає масив абсолютних шляхів до всіх JS-коренів проєкту, враховуючи glob-патерни з `workspaces` у кореневому `package.json`. Якщо JS-коренів немає, повертає абсолютний шлях до кореневого каталогу.

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

- resolveJsRoot — Знаходить кореневий JS-файл проєкту.
- resolveAllJsRoots — Знаходить всі кореневі JS-файли проєкту. Включає всі workspace-файли та їхні `package.json`, використовуючи glob-патерни. Для single-package повертає поточну директорію.

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

- Повертає `true`, якщо кореневий JS-файл знайдено.
- Повертає `false`, якщо кореневий JS-файл не знайдено.
- Повертає `null`, якщо не вдалося визначити кореневий JS-файл.
- Не обробляє помилки, а повертає `false` або `null`.
- Ігнорує директорії `.git` та `node_modules`.
- Не використовує кешування.
- Не здійснює мережевих запитів.
