Appearance
The manifest
manifest.json, at the top of the extension's folder. Sorus checks it when it's loaded or installed, and refuses one that breaks a rule, saying which.
json
{
"id": "dev.you.movies",
"name": "Movies",
"description": "Films you’ve watched, with posters, ratings and a diary.",
"version": "1.0.0",
"sdk": "1",
"icon": "icon.svg",
"types": [],
"templates": [],
"uses": ["assets"],
"network": [],
"apps": [],
"views": [],
"blocks": [],
"commands": [],
"jobs": [],
"connections": []
}Top level
| Key | Required | |
|---|---|---|
id | yes | A reverse domain name, lowercase: dev.you.movies. Identifies the extension everywhere, and its types' IDs come from it. |
name | yes | Up to 60 characters. |
description | One sentence, up to 280 characters, for the list of extensions. | |
version | yes | A semantic version: 1.0.0, 1.2.0-beta.1. |
sdk | yes | "1". |
icon | A path inside the folder, such as icon.svg. | |
types | Types it brings or adds to. | |
templates | Templates for its types. | |
uses | What else it builds on. See Permissions. | |
network | Hosts it may reach through Sorus. See Network. | |
apps | Its apps, each with screens. | |
screens | Instead of apps: one app's screens, named after the extension. | |
views | Views for Objects. | |
blocks | Blocks for pages. | |
commands | Commands for the palette. | |
jobs | Background jobs. | |
connections | Accounts on other services. |
It must bring at least one app, view or type. Give apps or screens, not both.
Keys and paths
- Keys, such as a type's, a field's or a screen's
id, start with a lowercase letter, then letters, digits or_, up to 64 characters:movie,watchedOn. Within a list they must be unique. - Paths, such as
entry, are relative to the folder, with no..and no leading/. The file must exist. - A
moduleis a path to a.jsor.mjsfile. See Sandboxed and trusted.
Limits
An extension holds at most 2,000 files and 50 MB.