mirror of
https://github.com/getpaseo/paseo.git
synced 2026-11-03 07:03:18 +00:00
250 lines
8.6 KiB
JSON
Vendored
250 lines
8.6 KiB
JSON
Vendored
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://github.com/streetwriters/react-native-gpui/packages/cli/desktop.schema.json",
|
|
"title": "React Native GPUI desktop app configuration",
|
|
"description": "The desktop/desktop.json file of a React Native GPUI app. Every field is optional: an app with no desktop.json runs and packages with the defaults.",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"$schema": {
|
|
"description": "Path to this schema, for editor completion.",
|
|
"type": "string"
|
|
},
|
|
"productName": {
|
|
"description": "The name a person sees: window title bar, Dock, menu bar, installers. Defaults to the app's displayName, else its name.",
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"identifier": {
|
|
"description": "The reverse-DNS bundle id, e.g. com.example.myapp. Defaults to an id derived from the app name.",
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"pattern": "^[A-Za-z0-9][A-Za-z0-9.-]*$"
|
|
},
|
|
"version": {
|
|
"description": "The app version. Defaults to the version in package.json.",
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"icon": {
|
|
"description": "One square PNG, recommended 1024x1024, relative to desktop/. Per-OS icon formats are generated from it. When this is unset the CLI uses its own placeholder, so every packaging format can be built.",
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"window": {
|
|
"description": "The main window.",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"title": {
|
|
"description": "The title bar text. Defaults to productName.",
|
|
"type": "string"
|
|
},
|
|
"width": {
|
|
"description": "The window width in points. Defaults to 1024.",
|
|
"type": "number",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"height": {
|
|
"description": "The window height in points. Defaults to 768.",
|
|
"type": "number",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"position": {
|
|
"description": "Where the window opens. Omit to let the platform place it.",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["x", "y"],
|
|
"properties": {
|
|
"x": {
|
|
"type": "number"
|
|
},
|
|
"y": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"resizable": {
|
|
"description": "Whether the window can be resized. Defaults to true.",
|
|
"type": "boolean"
|
|
},
|
|
"restoreState": {
|
|
"description": "Whether the window remembers its size and position between launches. Defaults to true.",
|
|
"type": "boolean"
|
|
},
|
|
"titleBar": {
|
|
"description": "How the window's title bar is drawn. 'default' keeps the platform's; 'transparent' keeps the window's chrome but lets the app draw under it, which on macOS leaves the traffic lights over the app's own bar; 'hidden' removes it entirely, and the app must draw and move its own bar. On Linux 'transparent' and 'hidden' both ask the compositor for client-side decorations, and a window manager that refuses leaves the native title bar in place. Defaults to 'default'.",
|
|
"default": "default",
|
|
"oneOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": ["default"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["transparent"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["hidden"]
|
|
}
|
|
]
|
|
},
|
|
"trafficLightPosition": {
|
|
"description": "Where the macOS traffic lights sit inside a transparent or hidden title bar, in points from the window's top-left corner. Ignored on Windows and Linux, which have no traffic lights. Defaults to the platform's own position.",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["x", "y"],
|
|
"properties": {
|
|
"x": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"y": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"menuBar": {
|
|
"description": "Whether the main window shows a menu bar. Windows and Linux draw one inside the window; on macOS this does nothing, because the bar belongs to the system. Defaults to true.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"devMenu": {
|
|
"description": "Whether the development menu is available. Defaults to true in development builds.",
|
|
"type": "boolean"
|
|
},
|
|
"tray": {
|
|
"description": "A menu-bar or notification-area icon for the app.",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"component": {
|
|
"description": "The React component to render as the tray popover.",
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"tooltip": {
|
|
"description": "The tooltip text.",
|
|
"type": "string"
|
|
},
|
|
"icon": {
|
|
"description": "The tray icon, a PNG or JPEG path relative to desktop/. Without one the tray shows a built-in glyph.",
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"iconTemplate": {
|
|
"description": "macOS: draw the icon as a template the menu bar tints for light and dark mode. Use it for a monochrome glyph. Defaults to false.",
|
|
"type": "boolean"
|
|
},
|
|
"accessory": {
|
|
"description": "Whether the app runs as an accessory, with no Dock icon. Defaults to true.",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"bundle": {
|
|
"description": "How the app is packaged.",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"targets": {
|
|
"description": "The formats to build. 'all' means every alpha format for the current OS.",
|
|
"oneOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": ["all"]
|
|
},
|
|
{
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["app", "dmg", "nsis", "deb", "appimage"]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"resources": {
|
|
"description": "Extra files to ship, relative to desktop/.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"copyright": {
|
|
"description": "The copyright line shown by installers.",
|
|
"type": "string"
|
|
},
|
|
"category": {
|
|
"description": "The app category, for the Linux desktop entry.",
|
|
"type": "string"
|
|
},
|
|
"macos": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"minimumSystemVersion": {
|
|
"description": "The oldest macOS the app supports. Defaults to 13.0.",
|
|
"type": "string"
|
|
},
|
|
"entitlements": {
|
|
"description": "A path to an entitlements plist, relative to desktop/.",
|
|
"type": ["string", "null"]
|
|
},
|
|
"infoPlist": {
|
|
"description": "Extra keys merged into the generated Info.plist.",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"windows": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"nsis": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"installMode": {
|
|
"description": "Whether the installer installs for the current user or for everyone.",
|
|
"type": "string",
|
|
"enum": ["currentUser", "perMachine", "both"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"linux": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"deb": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"depends": {
|
|
"description": "Extra Debian package dependencies.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"appimage": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|