---
type: JS Module
title: avif_generation.mjs
resource: npm/rules/image-avif/js/avif_generation.mjs
docgen:
  crc: 3f00d274
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
---

Модуль трансформує посилання на растрові зображення у шаблонах `.vue` та `.html` у workspace-пакетах, замінюючи їх на формат AVIF. Процес залежить від конфігурацій, визначених у package.json. Модуль оновлює всі посилання на зображення, якщо перевірка AVIF не вимкнена, створюючи AVIF-двійники. Також він видаляє посилання на AVIF-файли, які не існують.

## Поведінка

1. Перевіряється, чи містить репозиторій посилання на raster-зображення у файлах `.vue` або `.html` у workspace-пакетах, які не мають вимкненої перевірки AVIF. Якщо посилань немає, процес AVIF-генерації та очищення пропускається.
2. Запускається генерація AVIF-двійників за допомогою зовнішнього інструменту.
3. Скануються workspace-пакети:
    а. Визначається, чи вимкнено примусове застосування AVIF у пакеті через конфігурацію `package.json`. Якщо так, пакет пропускається для подальшої перевірки шаблонів.
    б. Для пакетів, де AVIF не вимкнено, скануються файли `.vue` та `.html`.
    в. У знайдених посиланнях на raster-зображення, якщо відповідний AVIF-двійник існує, посилання замінюється на `.avif`.
    г. Якщо AVIF-двійник не існує, фіксується помилка.
    д. Після обробки файлу, він записується з новими змінами.
    е. Збирається список абсолютних шляхів AVIF-двійників, на які залишилося живе посилання.
4. Видаляються AVIF-сироти — файли `.avif`, які не були відмічені як вжиті у кроці 3.б.
5. Повертається код виходу, що відображає успішність виконання всіх етапів.

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

check — генерує AVIF-зображення, автоматично замінює посилання на растрові зображення у `.vue`/`.html` файлах та очищає від неіснуючих AVIF-файлів.

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

- Кешує результати в межах одного прогону.
