Files
tauri/tooling/cli.rs/schema.json
2021-08-16 12:03:00 -03:00

1413 lines
37 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Config",
"description": "The tauri.conf.json mapper.",
"type": "object",
"properties": {
"build": {
"description": "The build configuration.",
"default": {
"devPath": "",
"distDir": "../dist",
"withGlobalTauri": false
},
"allOf": [
{
"$ref": "#/definitions/BuildConfig"
}
]
},
"package": {
"description": "Package settings.",
"default": {},
"allOf": [
{
"$ref": "#/definitions/PackageConfig"
}
]
},
"plugins": {
"description": "The plugins config.",
"default": {},
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": true
}
},
"tauri": {
"description": "The Tauri configuration.",
"default": {
"allowlist": {
"all": false,
"dialog": {
"all": false,
"open": false,
"save": false
},
"fs": {
"all": false,
"copyFile": false,
"createDir": false,
"readBinaryFile": false,
"readDir": false,
"readTextFile": false,
"removeDir": false,
"removeFile": false,
"renameFile": false,
"writeBinaryFile": false,
"writeFile": false
},
"globalShortcut": {
"all": false
},
"http": {
"all": false,
"request": false
},
"notification": {
"all": false
},
"os": {
"all": false
},
"path": {
"all": false
},
"shell": {
"all": false,
"execute": false,
"open": false
},
"window": {
"all": false,
"create": false
}
},
"bundle": {
"active": false,
"deb": {
"files": {},
"useBootstrapper": false
},
"macOS": {
"useBootstrapper": false
},
"windows": {
"certificateThumbprint": null,
"digestAlgorithm": null,
"timestampUrl": null,
"wix": null
}
},
"updater": {
"active": false
},
"windows": []
},
"allOf": [
{
"$ref": "#/definitions/TauriConfig"
}
]
}
},
"additionalProperties": false,
"definitions": {
"AllowlistConfig": {
"type": "object",
"properties": {
"all": {
"default": false,
"type": "boolean"
},
"dialog": {
"default": {
"all": false,
"open": false,
"save": false
},
"allOf": [
{
"$ref": "#/definitions/DialogAllowlistConfig"
}
]
},
"fs": {
"default": {
"all": false,
"copyFile": false,
"createDir": false,
"readBinaryFile": false,
"readDir": false,
"readTextFile": false,
"removeDir": false,
"removeFile": false,
"renameFile": false,
"writeBinaryFile": false,
"writeFile": false
},
"allOf": [
{
"$ref": "#/definitions/FsAllowlistConfig"
}
]
},
"globalShortcut": {
"default": {
"all": false
},
"allOf": [
{
"$ref": "#/definitions/GlobalShortcutAllowlistConfig"
}
]
},
"http": {
"default": {
"all": false,
"request": false
},
"allOf": [
{
"$ref": "#/definitions/HttpAllowlistConfig"
}
]
},
"notification": {
"default": {
"all": false
},
"allOf": [
{
"$ref": "#/definitions/NotificationAllowlistConfig"
}
]
},
"os": {
"default": {
"all": false
},
"allOf": [
{
"$ref": "#/definitions/OsAllowlistConfig"
}
]
},
"path": {
"default": {
"all": false
},
"allOf": [
{
"$ref": "#/definitions/PathAllowlistConfig"
}
]
},
"shell": {
"default": {
"all": false,
"execute": false,
"open": false
},
"allOf": [
{
"$ref": "#/definitions/ShellAllowlistConfig"
}
]
},
"window": {
"default": {
"all": false,
"create": false
},
"allOf": [
{
"$ref": "#/definitions/WindowAllowlistConfig"
}
]
}
},
"additionalProperties": false
},
"AppUrl": {
"description": "The `dev_path` and `dist_dir` options.",
"anyOf": [
{
"description": "The app's external URL, or the path to the directory containing the app assets.",
"type": "string"
},
{
"description": "An array of files to embed on the app.",
"type": "array",
"items": {
"type": "string"
}
}
]
},
"BuildConfig": {
"description": "The Build configuration object.",
"type": "object",
"properties": {
"beforeBuildCommand": {
"description": "a shell command to run before `tauri build` kicks in",
"type": [
"string",
"null"
]
},
"beforeDevCommand": {
"description": "a shell command to run before `tauri dev` kicks in",
"type": [
"string",
"null"
]
},
"devPath": {
"description": "The path or URL to use on development.",
"default": "",
"allOf": [
{
"$ref": "#/definitions/AppUrl"
}
]
},
"distDir": {
"description": "the path to the app's dist dir. This path must contain your index.html file.",
"default": "../dist",
"allOf": [
{
"$ref": "#/definitions/AppUrl"
}
]
},
"features": {
"description": "features passed to `cargo` commands",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"runner": {
"description": "The binary used to build and run the application.",
"type": [
"string",
"null"
]
},
"withGlobalTauri": {
"description": "Whether we should inject the Tauri API on `window.__TAURI__` or not.",
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"BundleConfig": {
"type": "object",
"properties": {
"active": {
"description": "Whether we should build your app with tauri-bundler or plain `cargo build`",
"default": false,
"type": "boolean"
},
"category": {
"type": [
"string",
"null"
]
},
"copyright": {
"type": [
"string",
"null"
]
},
"deb": {
"default": {
"files": {},
"useBootstrapper": false
},
"allOf": [
{
"$ref": "#/definitions/DebConfig"
}
]
},
"externalBin": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"icon": {
"description": "The app's icons",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"identifier": {
"description": "The app's identifier",
"type": [
"string",
"null"
]
},
"longDescription": {
"type": [
"string",
"null"
]
},
"macOS": {
"default": {
"useBootstrapper": false
},
"allOf": [
{
"$ref": "#/definitions/MacConfig"
}
]
},
"resources": {
"description": "App resources to bundle. Each resource is a path to a file or directory. Glob patterns are supported.",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"shortDescription": {
"type": [
"string",
"null"
]
},
"targets": {
"description": "The bundle targets, currently supports [\"deb\", \"app\", \"msi\", \"appimage\", \"dmg\"] or \"all\"",
"anyOf": [
{
"$ref": "#/definitions/BundleTarget"
},
{
"type": "null"
}
]
},
"windows": {
"default": {
"certificateThumbprint": null,
"digestAlgorithm": null,
"timestampUrl": null,
"wix": null
},
"allOf": [
{
"$ref": "#/definitions/WindowsConfig"
}
]
}
},
"additionalProperties": false
},
"BundleTarget": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
"CliArg": {
"description": "A CLI argument definition",
"type": "object",
"required": [
"name"
],
"properties": {
"conflictsWith": {
"description": "Sets a conflicting argument by name i.e. when using this argument, the following argument can't be present and vice versa.",
"type": [
"string",
"null"
]
},
"conflictsWithAll": {
"description": "The same as conflictsWith but allows specifying multiple two-way conflicts per argument.",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"description": {
"description": "The argument description which will be shown on the help information. Typically, this is a short (one line) description of the arg.",
"type": [
"string",
"null"
]
},
"index": {
"description": "The positional argument index, starting at 1.\n\nThe index refers to position according to other positional argument. It does not define position in the argument list as a whole. When utilized with multiple=true, only the last positional argument may be defined as multiple (i.e. the one with the highest index).",
"type": [
"integer",
"null"
],
"format": "uint64",
"minimum": 0.0
},
"longDescription": {
"description": "The argument long description which will be shown on the help information. Typically this a more detailed (multi-line) message that describes the argument.",
"type": [
"string",
"null"
]
},
"maxValues": {
"description": "Specifies the maximum number of values are for this argument. For example, if you had a -f <file> argument where you wanted up to 3 'files', you would set .max_values(3), and this argument would be satisfied if the user provided, 1, 2, or 3 values.",
"type": [
"integer",
"null"
],
"format": "uint64",
"minimum": 0.0
},
"minValues": {
"description": "Specifies the minimum number of values for this argument. For example, if you had a -f <file> argument where you wanted at least 2 'files', you would set `minValues: 2`, and this argument would be satisfied if the user provided, 2 or more values.",
"type": [
"integer",
"null"
],
"format": "uint64",
"minimum": 0.0
},
"multiple": {
"description": "Specifies that the argument may appear more than once.\n\n- For flags, this results in the number of occurrences of the flag being recorded. For example -ddd or -d -d -d would count as three occurrences. - For options there is a distinct difference in multiple occurrences vs multiple values. For example, --opt val1 val2 is one occurrence, but two values. Whereas --opt val1 --opt val2 is two occurrences.",
"type": [
"boolean",
"null"
]
},
"multipleOccurrences": {
"description": "specifies that the argument may appear more than once.",
"type": [
"boolean",
"null"
]
},
"name": {
"description": "The unique argument name",
"type": "string"
},
"numberOfValues": {
"type": [
"integer",
"null"
],
"format": "uint64",
"minimum": 0.0
},
"possibleValues": {
"description": "Specifies a list of possible values for this argument. At runtime, the CLI verifies that only one of the specified values was used, or fails with an error message.",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"requireEquals": {
"description": "Requires that options use the --option=val syntax i.e. an equals between the option and associated value.",
"type": [
"boolean",
"null"
]
},
"required": {
"description": "Sets whether or not the argument is required by default.\n\n- Required by default means it is required, when no other conflicting rules have been evaluated - Conflicting rules take precedence over being required.",
"type": [
"boolean",
"null"
]
},
"requiredIfEq": {
"description": "Allows specifying that an argument is required conditionally with the signature [arg, value] the requirement will only become valid if the `arg`'s value equals `${value}`.",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"requiredUnlessPresent": {
"description": "Sets an arg that override this arg's required setting i.e. this arg will be required unless this other argument is present.",
"type": [
"string",
"null"
]
},
"requiredUnlessPresentAll": {
"description": "Sets args that override this arg's required setting i.e. this arg will be required unless all these other arguments are present.",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"requiredUnlessPresentAny": {
"description": "Sets args that override this arg's required setting i.e. this arg will be required unless at least one of these other arguments are present.",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"requires": {
"description": "Tets an argument by name that is required when this one is present i.e. when using this argument, the following argument must be present.",
"type": [
"string",
"null"
]
},
"requiresAll": {
"description": "Sts multiple arguments by names that are required when this one is present i.e. when using this argument, the following arguments must be present.",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"requiresIf": {
"description": "Allows a conditional requirement with the signature [arg, value] the requirement will only become valid if `arg`'s value equals `${value}`.",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"short": {
"description": "The short version of the argument, without the preceding -.\n\nNOTE: Any leading - characters will be stripped, and only the first non - character will be used as the short version.",
"type": [
"string",
"null"
],
"maxLength": 1,
"minLength": 1
},
"takesValue": {
"description": "Specifies that the argument takes a value at run time.\n\nNOTE: values for arguments may be specified in any of the following methods - Using a space such as -o value or --option value - Using an equals and no space such as -o=value or --option=value - Use a short and no space such as -ovalue",
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": false
},
"CliConfig": {
"description": "describes a CLI configuration",
"type": "object",
"properties": {
"afterHelp": {
"description": "adds additional help information to be displayed in addition to auto-generated help this information is displayed after the auto-generated help information this is often used to describe how to use the arguments, or caveats to be noted.",
"type": [
"string",
"null"
]
},
"args": {
"description": "list of args for the command",
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/CliArg"
}
},
"beforeHelp": {
"description": "adds additional help information to be displayed in addition to auto-generated help this information is displayed before the auto-generated help information. this is often used for header information",
"type": [
"string",
"null"
]
},
"description": {
"description": "command description which will be shown on the help information",
"type": [
"string",
"null"
]
},
"longDescription": {
"description": "command long description which will be shown on the help information",
"type": [
"string",
"null"
]
},
"subcommands": {
"description": "list of subcommands of this command.\n\nsubcommands are effectively sub-apps, because they can contain their own arguments, subcommands, usage, etc. they also function just like the app command, in that they get their own auto generated help and usage",
"type": [
"object",
"null"
],
"additionalProperties": {
"$ref": "#/definitions/CliConfig"
}
}
},
"additionalProperties": false
},
"DebConfig": {
"type": "object",
"properties": {
"depends": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"files": {
"default": {},
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"useBootstrapper": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"DialogAllowlistConfig": {
"type": "object",
"properties": {
"all": {
"default": false,
"type": "boolean"
},
"open": {
"default": false,
"type": "boolean"
},
"save": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"FsAllowlistConfig": {
"type": "object",
"properties": {
"all": {
"default": false,
"type": "boolean"
},
"copyFile": {
"default": false,
"type": "boolean"
},
"createDir": {
"default": false,
"type": "boolean"
},
"readBinaryFile": {
"default": false,
"type": "boolean"
},
"readDir": {
"default": false,
"type": "boolean"
},
"readTextFile": {
"default": false,
"type": "boolean"
},
"removeDir": {
"default": false,
"type": "boolean"
},
"removeFile": {
"default": false,
"type": "boolean"
},
"renameFile": {
"default": false,
"type": "boolean"
},
"writeBinaryFile": {
"default": false,
"type": "boolean"
},
"writeFile": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"GlobalShortcutAllowlistConfig": {
"type": "object",
"properties": {
"all": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"HttpAllowlistConfig": {
"type": "object",
"properties": {
"all": {
"default": false,
"type": "boolean"
},
"request": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"MacConfig": {
"type": "object",
"properties": {
"entitlements": {
"type": [
"string",
"null"
]
},
"exceptionDomain": {
"type": [
"string",
"null"
]
},
"frameworks": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"license": {
"type": [
"string",
"null"
]
},
"minimumSystemVersion": {
"type": [
"string",
"null"
]
},
"signingIdentity": {
"type": [
"string",
"null"
]
},
"useBootstrapper": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"NotificationAllowlistConfig": {
"type": "object",
"properties": {
"all": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"OsAllowlistConfig": {
"type": "object",
"properties": {
"all": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"PackageConfig": {
"type": "object",
"properties": {
"productName": {
"description": "App name. Automatically converted to kebab-case on Linux.",
"type": [
"string",
"null"
]
},
"version": {
"description": "App version.",
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"PathAllowlistConfig": {
"type": "object",
"properties": {
"all": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"SecurityConfig": {
"type": "object",
"properties": {
"csp": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"ShellAllowlistConfig": {
"type": "object",
"properties": {
"all": {
"default": false,
"type": "boolean"
},
"execute": {
"default": false,
"type": "boolean"
},
"open": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"SystemTrayConfig": {
"type": "object",
"required": [
"iconPath"
],
"properties": {
"iconAsTemplate": {
"description": "A Boolean value that determines whether the image represents a [template](https://developer.apple.com/documentation/appkit/nsimage/1520017-template?language=objc) image on macOS.",
"default": false,
"type": "boolean"
},
"iconPath": {
"description": "Path to the icon to use on the system tray.\n\nIt is forced to be a `.png` file on Linux and macOS, and a `.ico` file on Windows.",
"type": "string"
}
},
"additionalProperties": false
},
"TauriConfig": {
"description": "The Tauri configuration object.",
"type": "object",
"properties": {
"allowlist": {
"default": {
"all": false,
"dialog": {
"all": false,
"open": false,
"save": false
},
"fs": {
"all": false,
"copyFile": false,
"createDir": false,
"readBinaryFile": false,
"readDir": false,
"readTextFile": false,
"removeDir": false,
"removeFile": false,
"renameFile": false,
"writeBinaryFile": false,
"writeFile": false
},
"globalShortcut": {
"all": false
},
"http": {
"all": false,
"request": false
},
"notification": {
"all": false
},
"os": {
"all": false
},
"path": {
"all": false
},
"shell": {
"all": false,
"execute": false,
"open": false
},
"window": {
"all": false,
"create": false
}
},
"allOf": [
{
"$ref": "#/definitions/AllowlistConfig"
}
]
},
"bundle": {
"description": "The bundler configuration.",
"default": {
"active": false,
"deb": {
"files": {},
"useBootstrapper": false
},
"macOS": {
"useBootstrapper": false
},
"windows": {
"certificateThumbprint": null,
"digestAlgorithm": null,
"timestampUrl": null,
"wix": null
}
},
"allOf": [
{
"$ref": "#/definitions/BundleConfig"
}
]
},
"cli": {
"description": "The CLI configuration.",
"anyOf": [
{
"$ref": "#/definitions/CliConfig"
},
{
"type": "null"
}
]
},
"security": {
"anyOf": [
{
"$ref": "#/definitions/SecurityConfig"
},
{
"type": "null"
}
]
},
"systemTray": {
"description": "Configuration for app system tray.",
"anyOf": [
{
"$ref": "#/definitions/SystemTrayConfig"
},
{
"type": "null"
}
]
},
"updater": {
"description": "The updater configuration.",
"default": {
"active": false,
"dialog": true
},
"allOf": [
{
"$ref": "#/definitions/UpdaterConfig"
}
]
},
"windows": {
"description": "The windows configuration.",
"default": [],
"type": "array",
"items": {
"$ref": "#/definitions/WindowConfig"
}
}
},
"additionalProperties": false
},
"UpdaterConfig": {
"type": "object",
"properties": {
"active": {
"description": "Whether the updater is active or not.",
"default": false,
"type": "boolean"
},
"dialog": {
"description": "Display built-in dialog or use event system if disabled.",
"default": true,
"type": [
"boolean",
"null"
]
},
"endpoints": {
"description": "The updater endpoints.",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"pubkey": {
"description": "Optional pubkey.",
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"WindowAllowlistConfig": {
"type": "object",
"properties": {
"all": {
"default": false,
"type": "boolean"
},
"create": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
},
"WindowConfig": {
"description": "The window configuration object.",
"type": "object",
"properties": {
"alwaysOnTop": {
"description": "Whether the window should always be on top of other windows.",
"default": false,
"type": "boolean"
},
"center": {
"description": "Whether or not the window starts centered or not.",
"default": false,
"type": "boolean"
},
"decorations": {
"description": "Whether the window should have borders and bars.",
"default": true,
"type": "boolean"
},
"fileDropEnabled": {
"description": "Whether the file drop is enabled or not on the webview. By default it is enabled.\n\nDisabling it is required to use drag and drop on the frontend on Windows.",
"default": true,
"type": "boolean"
},
"focus": {
"description": "Whether the window will be initially hidden or focused.",
"default": true,
"type": "boolean"
},
"fullscreen": {
"description": "Whether the window starts as fullscreen or not.",
"default": false,
"type": "boolean"
},
"height": {
"description": "The window height.",
"type": [
"number",
"null"
],
"format": "double"
},
"label": {
"description": "The window identifier.",
"type": [
"string",
"null"
]
},
"maxHeight": {
"description": "The max window height.",
"type": [
"number",
"null"
],
"format": "double"
},
"maxWidth": {
"description": "The max window width.",
"type": [
"number",
"null"
],
"format": "double"
},
"maximized": {
"description": "Whether the window is maximized or not.",
"default": false,
"type": "boolean"
},
"minHeight": {
"description": "The min window height.",
"type": [
"number",
"null"
],
"format": "double"
},
"minWidth": {
"description": "The min window width.",
"type": [
"number",
"null"
],
"format": "double"
},
"resizable": {
"description": "Whether the window is resizable or not.",
"default": false,
"type": "boolean"
},
"skipTaskbar": {
"description": "Whether or not the window icon should be added to the taskbar.",
"default": false,
"type": "boolean"
},
"title": {
"description": "The window title.",
"type": [
"string",
"null"
]
},
"transparent": {
"description": "Whether the window is transparent or not.",
"default": false,
"type": "boolean"
},
"url": {
"description": "The window webview URL.",
"type": [
"string",
"null"
]
},
"visible": {
"description": "Whether the window is visible or not.",
"default": true,
"type": "boolean"
},
"width": {
"description": "The window width.",
"type": [
"number",
"null"
],
"format": "double"
},
"x": {
"description": "The horizontal position of the window's top left corner",
"type": [
"number",
"null"
],
"format": "double"
},
"y": {
"description": "The vertical position of the window's top left corner",
"type": [
"number",
"null"
],
"format": "double"
}
},
"additionalProperties": false
},
"WindowsConfig": {
"type": "object",
"properties": {
"certificateThumbprint": {
"type": [
"string",
"null"
]
},
"digestAlgorithm": {
"type": [
"string",
"null"
]
},
"timestampUrl": {
"type": [
"string",
"null"
]
},
"wix": {
"anyOf": [
{
"$ref": "#/definitions/WixConfig"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"WixConfig": {
"type": "object",
"properties": {
"bannerPath": {
"description": "Path to a bitmap file to use as the installation user interface banner. This bitmap will appear at the top of all but the first page of the installer.\n\nThe required dimensions are 493px × 58px.",
"type": [
"string",
"null"
]
},
"componentGroupRefs": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"componentRefs": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"dialogImagePath": {
"description": "Path to a bitmap file to use on the installation user interface dialogs. It is used on the welcome and completion dialogs. The required dimensions are 493px × 312px.",
"type": [
"string",
"null"
]
},
"enableElevatedUpdateTask": {
"default": false,
"type": "boolean"
},
"featureGroupRefs": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"featureRefs": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"fragmentPaths": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"language": {
"description": "App language. See https://docs.microsoft.com/en-us/windows/win32/msi/localizing-the-error-and-actiontext-tables.",
"default": "en-US",
"type": "string"
},
"license": {
"description": "Path to the license file.",
"type": [
"string",
"null"
]
},
"mergeRefs": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"skipWebviewInstall": {
"default": false,
"type": "boolean"
},
"template": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
}
}