---
docgen:
  source: npm/scripts/utils/resolve-cargo-manifest.mjs
  crc: af1efa42
---

# resolve-cargo-manifest.mjs

## Огляд

Цей файл визначає шлях до файлу Cargo.toml проєкту, незалежно від того, чи це кореневий Cargo.toml або один з підкаталогів workspace-у, особливо з урахуванням Tauri-патерну. Він служить утилітою для coverage-провайдера та test-концерну cargo_mutants_config, повертаючи `null` у разі невдачі для обробки ситуації без виключень. Це забезпечує гнучкий спосіб доступу до конфігурації проєкту Cargo.

## Поведінка

resolveCargoManifest: Повертає абсолютний шлях до Cargo.toml у проєкті, починаючи з кореня, або в підкаталозі `src-tauri` якщо він існує. Повертає `null`, якщо Cargo.toml не знайдено.
resolveAllCargoManifests: Повертає масив абсолютних шляхів до всіх знайдених Cargo.toml у проєкті, пріоритет надається `src-tauri` підкаталогам, а потім загальним Cargo.toml. Повертає порожній масив, якщо жодного Cargo.toml не знайдено.

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

- resolveCargoManifest: Отримує інформацію про маніфест Cargo.toml з конкретного каталогу.
- resolveAllCargoManifests: Знаходить всі файли Cargo.toml в проєкті, починаючи з кореневого каталогу та підкаталогів workspace, повертаючи їх вміст.

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

- Функція повертає `null` у разі невдачі.
- Функція не викидає винятки.
- Функція не використовує кешування.
- Функція обробляє шляхи до `Cargo.toml` у каталогах `cwd/Cargo.toml` та підкаталогах workspace (`<workspace>/src-tauri/`).
- Функція не повертає жодного значення, якщо всі шляхи до `Cargo.toml` успішно оброблені.
