Documentation · 03
manifest.json
Описание приложения: идентичность, точка входа и запрашиваемые capabilities.
03 manifest.json
manifest.json — описание приложения: идентичность, точка входа и запрашиваемые capabilities.
3.1Обязательные поля
Полный пример manifest:
{
"extension_id": "hello_world",
"name": "Hello World",
"version": "1.0.0",
"icon": "icon.png",
"description": "Простейшее Axion-приложение",
"entry": {
"html": "index.html",
"script": "script.js",
"style": "style.css"
},
"capabilities": {
"workspace.read": { "scope": "workspace" }
}
}
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
extension_id | string | да | Уникальный идентификатор приложения (^[a-zA-Z0-9._-]+$) |
name | string | да | Человекочитаемое имя |
version | string | да | SemVer, например 1.0.0 |
entry | object | да | Точка входа: html, script, style |
3.2Дополнительные поля
| Поле | Тип | Описание |
|---|---|---|
icon | string | Путь к иконке внутри пакета (PNG, рекомендуется ≥ 256×256) |
description | string | Краткое описание приложения |
publisher | object | Издатель: name, key_id, verified |
minimum_engine_version | string | Минимальная версия движка (SemVer) |
dependencies | string[] | Идентификаторы зависимых приложений (для IPC) |
capabilities | object | Запрашиваемые возможности (см. главу 04) |
Поле publisher заполняется при подписывании пакета и содержит key_id подписывающего ключа. Пакет без издателя устанавливается как непроверенный.
3.3Точка входа (entry)
html— главный документ интерфейса, загружается в WebView;script— JS-файл, подключается к документу;style— CSS-файл, подключается к документу.
Пути указываются относительно корня пакета. Дополнительные ресурсы (картинки, шрифты) подключаются из assets/ и загружаются только внутри приложения.
3.4Обновления и совместимость
При обновлении версии движок сравнивает capabilities старого и нового manifest:
- новые или расширенные права не активируются автоматически — потребуется согласие пользователя;
- суженные права применяются сразу;
- если новая версия требует более новый движок (
minimum_engine_version), пакет не устанавливается до обновления рантайма.
Совет. Не расширяйте права без необходимости: каждое новое право — новый диалог Permission Broker и новая поверхность атаки.
Готовы собрать свой первый .axn?Двадцать минут на настройку — и приложение на пяти платформах.
Capabilities и разрешения