Конфигурация Manifest
manifest используется для объявления манифеста (Manifest) браузерного расширения, то есть содержимого manifest.json в конечной директории вывода.
Поддерживаются три способа конфигурации:
- Встроенный объект: непосредственное написание содержимого manifest в конфигурации
- Разделение по браузерам: отдельная конфигурация manifest для Chrome и Firefox
- Путь к файлу: указание расположения файла manifest
Также можно полностью опустить, и фреймворк автоматически загрузит из директории исходного кода.
Тип и поведение по умолчанию
- Тип:
ManifestConfig | ManifestPathConfig | undefined - Поведение по умолчанию: Без конфигурации фреймворк автоматически ищет в
appDirили её поддиректорииmanifest/:manifest.json— базовая конфигурация (один браузер или общая часть)manifest.chromium.json— переопределение для Chromemanifest.firefox.json— переопределение для Firefox
При сборке фреймворк объединяет в соответствии с целевым браузером, указанным в CLI (-b chrome|firefox), и выводит в outputRoot/outDir/manifest.json.
Способы конфигурации
1. Единый объект (один браузер или общая конфигурация)
Все поля пишутся в одном объекте, фреймворк автоматически внедряет пути к entry.
Фреймворк автоматически генерирует и внедряет пути в соответствии с конфигурацией entry:
action.default_popup→popup/index.htmlbackground.service_worker→background/index.jscontent_scripts→content/index.js
Пути к entry (например,
popup/index.html) автоматически вычисляются фреймворком на основе entry и outDir, вам достаточно поддерживать корректную семантику полей в manifest.
2. Разделение по браузерам (chromium / firefox)
Когда Chrome и Firefox требуют разной конфигурации manifest:
При сборке выбирается соответствующая ветка в соответствии с CLI параметром:
addfox dev -b chrome→ используется веткаchromiumaddfox dev -b firefox→ используется веткаfirefox
3. Конфигурация пути (относительно appDir)
Сохранение manifest в отдельных JSON файлах:
Путь к файлу относительно appDir.
4. Полностью опустить (автоматическая загрузка)
Без конфигурации manifest фреймворк ищет в следующем порядке:
appDir/manifest.jsonappDir/manifest/manifest.jsonappDir/manifest/manifest.chromium.jsonappDir/manifest/manifest.firefox.json
Рекомендуемая структура файлов:

