---
type: JS Module
title: apply-to-files.mjs
resource: npm/scripts/utils/apply-to-files.mjs
docgen:
  crc: 8b930c27
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  tier: local-min
  score: 100
  issues: best-of-2:retry-won,judge:inaccurate:0.99
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Цей `fix-*.mjs` є спільним helper для T0-фіксерів. Він застосовує текстовий трансформер до унікальних файлів, що містять перелічені порушення (violations). Мета — усунути дублювання логіки, раніше присутньої в `rust/toolchain_cache`, `tauri/linux_deps` та `ga/workflows`. Механізм працює з використанням кешування протягом одного прогону та забезпечує fail-safe перехоплення помилок, не дозволяючи виняткам виходити за межі модуля. При виявленні зміненого вмісту, він записує зміни до відповідного файлу.

## Поведінка

1. Збирає унікальний список файлів з наданого переліку порушень.
2. Для кожного файлу:
    а. Зчитує вміст файлу.
    б. Якщо зчитування не вдалося, пропускає файл.
    в. Викликає функцію-трансформер, надаючи їй вміст файлу, щоб отримати потенційно змінений вміст.
    г. Якщо трансформер повернув новий вміст, відмінний від оригінального, виконує наступне:
        а. Фіксує запис про зміну у контексті лінту.
        б. Записує новий вміст у файл, перезаписуючи старий.
        в. Додає абсолютний шлях файлу до списку змінених файлів.
3. Повертає список абсолютної шляхів усіх файлів, у яких були внесені зміни.

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

applyToFiles — створює інструмент для обробки файлів, який надає доступ до даних, специфічних для кожного файлу.

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

- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
- Кешує результати в межах одного прогону.
