Tovább a tartalomhoz

manifest.json referencia

A manifest.json az alkalmazás “útlevele” — a Racona ebből tudja meg, hogyan kell betölteni és megjeleníteni az alkalmazást.

{
"id": "my-app",
"name": {
"hu": "Saját Alkalmazás",
"en": "My App"
},
"description": {
"hu": "Alkalmazás leírása magyarul",
"en": "App description in English"
},
"version": "1.0.0",
"author": "Fejlesztő Neve <email@example.com>",
"entry": "dist/index.iife.js",
"icon": "icon.svg",
"iconStyle": "cover",
"category": "utilities",
"permissions": ["database", "notifications", "remote_functions"],
"multiInstance": false,
"defaultSize": { "width": 800, "height": 600 },
"minSize": { "width": 400, "height": 300 },
"maxSize": { "width": 1920, "height": 1080 },
"keywords": ["example", "demo"],
"isPublic": true,
"sortOrder": 100,
"dependencies": {
"svelte": "^5.0.0",
"@lucide/svelte": "^0.561.0"
},
"minWebOSVersion": "2.0.0",
"locales": ["hu", "en"]
}

Típus: string

Az alkalmazás egyedi azonosítója. Csak kisbetűket, számokat és kötőjelet tartalmazhat (kebab-case).

"id": "my-awesome-app"

Érvényes formátum: ^[a-z0-9-]+$, minimum 3, maximum 50 karakter. Az ID-ból képződik az adatbázis séma neve is: app__<id>, a kötőjelek aláhúzásra cserélve (pl. my-app → app__my_app).

Típus: { hu: string, en: string } vagy string

Az alkalmazás megjelenítendő neve a Start Menüben és az Alkalmazás Managerben.

"name": { "hu": "Saját Alkalmazás", "en": "My App" }

Típus: { hu: string, en: string } vagy string

Rövid leírás, megjelenik az Alkalmazás Managerben.

Típus: string — szemantikus verzió (MAJOR.MINOR.PATCH)

"version": "1.0.0"

Típus: string — Név <email> formátumban

"author": "Kovács János <janos@example.com>"

Típus: string

A build output belépési pontja. Ne változtasd meg — mindig "dist/index.iife.js".

Típus: string

Az ikon fájl neve az assets/ mappán belül. SVG formátum ajánlott.

"icon": "icon.svg"

Típus: string[]

Az alkalmazás által igényelt jogosultságok listája. Csak a valóban szükséges jogosultságokat add meg.

"permissions": ["database", "remote_functions"]

Elérhető jogosultságok: lásd Biztonság és jogosultságok.

Típus: "icon" | "cover" Alapértelmezett: "cover"

Az ikon megjelenítési módja a Start Menüben és a Taskbarban. "cover": a kép kitölti az ikon területét (fotó, logó); "icon": kisebb, ikonszerű megjelenítés. Más érték a validáción elbukik.

Típus: string Alapértelmezett: "utilities"

Az alkalmazás kategóriája a Start Menüben való csoportosításhoz. Pl.: "utilities", "productivity", "communication".

Típus: boolean Alapértelmezett: false

Ha true, a felhasználó egyszerre több ablakban is megnyithatja az alkalmazást.

Típus: { width: number, height: number } Alapértelmezett: { width: 800, height: 600 }

Az ablak alapértelmezett mérete pixelben.

Típus: { width: number, height: number }

Az ablak minimális és maximális mérete. Ha nincs megadva, nincs korlát.

Típus: string[]

Keresési kulcsszavak az Alkalmazás Managerhez.

Típus: boolean Alapértelmezett: true

Ha false, az alkalmazás nem jelenik meg a Start Menüben — csak programatikusan nyitható meg.

Típus: number Alapértelmezett: 100

A Start Menüben való rendezési sorrend. Kisebb szám = előrébb jelenik meg.

Típus: Record<string, string>

Az alkalmazás által használt külső függőségek. Csak a fehérlistán lévő csomagok engedélyezettek.

"dependencies": {
"svelte": "^5.0.0",
"@lucide/svelte": "^0.561.0"
}

Típus: string

A minimálisan szükséges Racona verzió. Ha a Racona régebbi, az alkalmazás nem telepíthető.

Típus: string[]

Az alkalmazás által támogatott nyelvek ISO kódjai.

"locales": ["hu", "en"]

Típus: string

Csak menu.json-os (AppLayout módú) alkalmazásoknál. A src/components/ mappában lévő komponens neve, amelyet a Racona az oldalsáv aljára tölt be — például egy szervezet-váltó. A komponens custom element tagneve <id>-<komponensnév kisbetűvel> kell legyen (pl. my-app-organizationswitcher).

"sidebarComponent": "OrganizationSwitcher"

Telepítéskor az apps.sidebar_component oszlopba kerül, futásidőben onnan olvassa a core.

Típus: { sidebarWidth?: number | "auto", maxWidthClass?: string } Alapértelmezett: { "sidebarWidth": 230, "maxWidthClass": "max-w-4xl" }

Csak AppLayout módban. Az oldalsáv szélessége pixelben, és a tartalom maximális szélessége Tailwind osztályként (pl. "w-full" a teljes szélességhez).

"layout": { "sidebarWidth": 280, "maxWidthClass": "w-full" }

A menu.json { "layout": {...}, "items": [...] } alakban szintén megadhat layoutot; az ott lévő értékek felülírják a manifestét.

Típus: object[]

Időzítetten futó feladatok (scheduler jogosultság kell hozzá). A handlerek a server/jobs.ts-ben vannak. A mezők, a szabályok és a korlátok leírása: Ütemezett feladatok.

"scheduledJobs": [
{ "id": "daily-check", "handler": "runDailyCheck", "schedule": "0 7 * * *", "timezone": "Europe/Budapest" }
]

A version mező szemantikus verziózást követ:

VáltozásVerzió bump
Bug fix1.0.0 → 1.0.1
Új funkció (visszafelé kompatibilis)1.0.1 → 1.1.0
Breaking change1.1.0 → 2.0.0