---
type: JS Module
title: fix-check.mjs
resource: npm/rules/image-compress/check/fix-check.mjs
docgen:
  crc: 0c9ec731
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
  issues: judge:inaccurate:0.98
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Файл реалізує автоматичне виправлення (`T0-autofix`) для модулю `image-compress/check`. Він стискає зображення за допомогою `npx @nitra/minify-image --src=. --write`, що забезпечує кращу ефективність файлів. Механізм визначає необхідність стиснення лише у режимі зчитування (`read-only contract`), а сама бінарна трансформація відбувається тут, оскільки LLM-фікс не підходить для бінарних змін. Реалізація включає механізм запобігання помилкам (`fail-safe`), що не дозволяє виняткам вийти за межі компонента, та забезпечує кешування результатів у межах одного прогону.

## Поведінка

1. Використовує експортований об'єкт `patterns` для визначення логіки автоматичного виправлення.
2. Перевіряє, чи хоча б одне порушення, виявлене детектором, має причину `needs-compression`.
3. Якщо так, виконує стиснення зображень у поточному робочому каталозі за допомогою інструменту `@nitra/minify-image`.
4. Запускає команду стиснення для виконання трансформації файлів.
5. Після успішного стиснення, виконує ще один запуск інструменту для отримання звіту у форматі JSON.
6. Парсить JSON-звіт та вибирає абсолютні шляхи стиснутих файлів.
7. Якщо знайдено стиснуті файли, реєструє їх як змінені.
8. Повідомляє про кількість стиснутих файлів у повідомленні.
9. Якщо будь-який етап (запуск, отримання JSON) завершується помилкою або ненульовим кодом, операція стиснення не виконується, і ніякі файли не вважаються зміненими.

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

- Read-only: не виконує операцій запису (ФС/БД).
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
- Кешує результати в межах одного прогону.
