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

## Огляд

Огляд: Цей файл відповідає за оптимізацію зображень у системі. Він здійснює стиснення зображень, якщо це необхідно, керуючись заданим режимом роботи.

## Поведінка

1. Якщо `readOnly` встановлено у значення `true`, функція `lint` ініціює пошук образів, які вимагають стиснення, за допомогою інструмента `@nitra/minify-image` у режимі виведення JSON. Результат аналізу (кількість та загальна кількість зображень) звітується:
   - Якщо знайдено зображення, які потребують стиснення, повідомляється про необхідність запуску локальної перевірки.
   - Якщо всі зображення синхронізовані, повідомляється про це.
2. Якщо `readOnly` не встановлено у значення `true`, функція `lint` запускає інструмент `@nitra/minify-image` у режимі запису, щоб стиснути зображення безпосередньо. Усі помилки, пов'язані з виконанням інструмента, перехоплюються, і функція повертає код виходу інструмента або код помилки.

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

- lint: Перевіряє якість коду на рівні мініфікації зображень за допомогою пакета `@nitra/minify-image`.

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

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