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

## Огляд

Цей файл реалізує логіку підготовки до процесу обробки зображень, узгоджуючись з маркерами повідомлень, визначеними в image-compress.mdc. Він залежить від конфігурацій, описаних у package.json. Код забезпечує коректне кешування інформації, що використовується у межах одного прогону, та взаємодіє з поточним станом файлів.

## Поведінка

Поведінка:

1. `main` перевіряє наявність `package.json` у корені, як частину політики залежностей (image-compress.mdc).
2. `main` перевіряє, чи не включено хеш-кеш файлу `.n-minify-image.tsv` до файлу `.gitignore`, оскільки цей файл є джерелом істини для кешування в split-cache 3.2.0 (image-compress.mdc).
3. `main` перевіряє, чи видалено застарілий кешний файл `.minify-image-cache.tsv` (з версій до 3.2), що є частиною міграції на split-cache.
4. Усі перевірки виконуються з урахуванням того, що код не пише у файлову систему (кроме зчитування) та не працює з `.git`.

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

- main — Перевіряє, чи відповідає проєкт вимогам правила `image-compress.mdc` (тобто, чи не ігнорується файл `.n-minify-image.tsv` в `.gitignore` та чи видалено старий кеш `.minify-image-cache.tsv`).

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

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