---
type: JS Module
title: resolve-cmd.mjs
resource: npm/scripts/utils/resolve-cmd.mjs
docgen:
  crc: 261ab84c
  model: openai-codex/gpt-5.4-mini
  tier: cloud-min
  score: 100
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Утиліта для розв'язання абсолютного шляху до команди в PATH.

Використовується для виклику зовнішніх інструментів через абсолютний шлях
замість команди з PATH (sonarjs/no-os-command-from-path).

Реалізація — чистий JS-скан тек PATH, БЕЗ субпроцесу `which`/`where`:
spawn під навантаженим повним тест-прогоном транзієнтно падав (EAGAIN),
і «команда є» перетворювалось на null — порядко-залежні флейки гардів
на кшталт run-shellcheck. Скан читає `process.env.PATH` на кожен виклик,
тож runtime-підстановки PATH у тестах видимі одразу (на відміну від
Bun-снапшота оточення для дочірніх процесів).

## Поведінка

`resolveCmd` повертає абсолютний шлях до наявної виконуваної команди або `null`, якщо збіг у `PATH` не знайдено.

Повторні виклики не залежать від попередніх результатів усередині модуля; актуальність середовища береться на момент звернення.

Помилки, не пов’язані з відсутнім збігом, можуть поширюватися назовні.

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

- resolveCmd — Повертає абсолютний шлях до команди в PATH або null, якщо команда не знайдена.

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

- Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
- Містить локальні fail-safe гілки; інші помилки можуть поширюватися назовні.
- Деякі локальні fail-safe гілки повертають порожнє значення (напр. `null`) замість винятку.
