---
type: JS Module
title: changed-files.mjs
resource: npm/scripts/lib/changed-files.mjs
docgen:
  crc: 8148d84e
  score: 100
---

Файл збирає змінені та незакомічені файли з робочого дерева. Визначає базовий комміт для перевірок у межах зміненого діапазону. Збирає змінені та незакомічені файли відносно базового комміту.

## Поведінка

collectChangedFiles Збирає змінені та незакомічені файли з робочого дерева.
resolveChangedBase Визначає базовий комміт для scoped-перевірок.
collectChangedFilesSince Збирає змінені та незакомічені файли відносно базового комміту.

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

- collectChangedFiles: Збирає список змінених та невідстежених файлів з робочого дерева відносно робочого дерева.
- resolveChangedBase: Визначає базовий комміт для обмежених перевірок без використання зовнішнього стану.
  - Пріоритет: локальна `main`, потім `origin/main`.
  - Якщо обидві відсутні, повертає null, і викликаючий порівнює лише робоче дерево з HEAD.
- collectChangedFilesSince: Збирає список змінених та невідстежених файлів відносно базового комміту.
- git diff <base>: Порівнює комміт `base` з поточним робочим деревом (включаючи закомічені та незакомічені модифікації).
  - Якщо `base` відсутній, використовується `collectChangedFiles`.

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

- Read-only: файл не виконує операцій запису у файлову систему.
- За невдачі повертає значення помилки (`false`/`null`/`Err`) замість генерування винятку чи паніки.
- Не звертається до мережі.
