---
type: JS Module
title: walkDir.mjs
resource: npm/scripts/utils/walkDir.mjs
docgen:
  crc: 19996bff
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  tier: local-min
  score: 75
---

## Поведінка

WORKTREE_CHECKOUT_GLOBS визначає шаблони для ігнорування шляхів, що містяться у сесійних git-worktree чекаутах. ALWAYS_IGNORE використовує WORKTREE_CHECKOUT_GLOBS для створення набору шляхів, які завжди ігноруються (включно з .git і node_modules), щоб уникнути дублювання даних. isWorktreeCheckoutPath визначає, чи відповідає відносний шлях шаблону, що вказує на його розміщення всередині worktree-чекаута. walkDir забезпечує рекурсивний обхід каталогу. Він отримує вхідний шлях до кореня обходу, приймає колбек для обробки кожного знайденого файлу, а також може отримувати додаткові шляхи для пропуску. walkDir нормалізує ці додаткові шляхи та передає їх до нативної функції обходу. Ця нативна функція обходу виконує сканування, поважаючи правила .gitignore, і повертає список відносних шляхів. walkDir використовує колбек для кожного відносного шляху, трансформуючи його в повний абсолютний шлях та викликаючи колбек.

## Сценарії використання

- `npm/scripts/utils/tests/walkDir.test.mjs` (walkDir; диференційний parity: native walkDir vs прямий globby (D2 фази 4а)) — збирає файли та обходить вкладеність; завжди пропускає node_modules і .git (без .gitignore); завжди пропускає worktree-чекаути .worktrees і .claude/worktrees; поважає .gitignore — пропускає dist та інші записані каталоги; не кидає, якщо корінь каталогу відсутній; ще 6

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

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