mirror of
https://github.com/tauri-apps/tauri.git
synced 2024-12-15 21:53:59 +03:00
bdd5f7c2f0
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
2246 lines
70 KiB
JSON
2246 lines
70 KiB
JSON
{
|
||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||
"title": "Config",
|
||
"description": "The config type mapped to `tauri.conf.json`.",
|
||
"type": "object",
|
||
"properties": {
|
||
"build": {
|
||
"description": "The build configuration.",
|
||
"default": {
|
||
"devPath": "http://localhost:8080/",
|
||
"distDir": "../dist",
|
||
"withGlobalTauri": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/BuildConfig"
|
||
}
|
||
]
|
||
},
|
||
"package": {
|
||
"description": "Package settings.",
|
||
"default": {
|
||
"productName": null,
|
||
"version": null
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/PackageConfig"
|
||
}
|
||
]
|
||
},
|
||
"plugins": {
|
||
"description": "The plugins config.",
|
||
"default": {},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/PluginConfig"
|
||
}
|
||
]
|
||
},
|
||
"tauri": {
|
||
"description": "The Tauri configuration.",
|
||
"default": {
|
||
"allowlist": {
|
||
"all": false,
|
||
"clipboard": {
|
||
"all": false,
|
||
"readText": false,
|
||
"writeText": false
|
||
},
|
||
"dialog": {
|
||
"all": false,
|
||
"ask": false,
|
||
"confirm": false,
|
||
"message": false,
|
||
"open": false,
|
||
"save": false
|
||
},
|
||
"fs": {
|
||
"all": false,
|
||
"copyFile": false,
|
||
"createDir": false,
|
||
"readDir": false,
|
||
"readFile": false,
|
||
"removeDir": false,
|
||
"removeFile": false,
|
||
"renameFile": false,
|
||
"scope": [],
|
||
"writeFile": false
|
||
},
|
||
"globalShortcut": {
|
||
"all": false
|
||
},
|
||
"http": {
|
||
"all": false,
|
||
"request": false,
|
||
"scope": []
|
||
},
|
||
"notification": {
|
||
"all": false
|
||
},
|
||
"os": {
|
||
"all": false
|
||
},
|
||
"path": {
|
||
"all": false
|
||
},
|
||
"process": {
|
||
"all": false,
|
||
"exit": false,
|
||
"relaunch": false,
|
||
"relaunchDangerousAllowSymlinkMacos": false
|
||
},
|
||
"protocol": {
|
||
"all": false,
|
||
"asset": false,
|
||
"assetScope": []
|
||
},
|
||
"shell": {
|
||
"all": false,
|
||
"execute": false,
|
||
"open": false,
|
||
"scope": [],
|
||
"sidecar": false
|
||
},
|
||
"window": {
|
||
"all": false,
|
||
"center": false,
|
||
"close": false,
|
||
"create": false,
|
||
"hide": false,
|
||
"maximize": false,
|
||
"minimize": false,
|
||
"print": false,
|
||
"requestUserAttention": false,
|
||
"setAlwaysOnTop": false,
|
||
"setDecorations": false,
|
||
"setFocus": false,
|
||
"setFullscreen": false,
|
||
"setIcon": false,
|
||
"setMaxSize": false,
|
||
"setMinSize": false,
|
||
"setPosition": false,
|
||
"setResizable": false,
|
||
"setSize": false,
|
||
"setSkipTaskbar": false,
|
||
"setTitle": false,
|
||
"show": false,
|
||
"startDragging": false,
|
||
"unmaximize": false,
|
||
"unminimize": false
|
||
}
|
||
},
|
||
"bundle": {
|
||
"active": false,
|
||
"deb": {
|
||
"files": {},
|
||
"useBootstrapper": false
|
||
},
|
||
"icon": [],
|
||
"identifier": "",
|
||
"macOS": {
|
||
"minimumSystemVersion": "10.13",
|
||
"useBootstrapper": false
|
||
},
|
||
"windows": {
|
||
"certificateThumbprint": null,
|
||
"digestAlgorithm": null,
|
||
"timestampUrl": null,
|
||
"tsp": null,
|
||
"webviewFixedRuntimePath": null,
|
||
"wix": null
|
||
}
|
||
},
|
||
"macOSPrivateApi": false,
|
||
"pattern": {
|
||
"use": "brownfield"
|
||
},
|
||
"security": {
|
||
"freezePrototype": false
|
||
},
|
||
"updater": {
|
||
"active": false,
|
||
"dialog": true,
|
||
"pubkey": ""
|
||
},
|
||
"windows": []
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/TauriConfig"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"additionalProperties": false,
|
||
"definitions": {
|
||
"AllowlistConfig": {
|
||
"description": "Allowlist configuration.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all API features.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"clipboard": {
|
||
"description": "Clipboard APIs allowlist.",
|
||
"default": {
|
||
"all": false,
|
||
"readText": false,
|
||
"writeText": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ClipboardAllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"dialog": {
|
||
"description": "Dialog API allowlist.",
|
||
"default": {
|
||
"all": false,
|
||
"ask": false,
|
||
"confirm": false,
|
||
"message": false,
|
||
"open": false,
|
||
"save": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/DialogAllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"fs": {
|
||
"description": "File system API allowlist.",
|
||
"default": {
|
||
"all": false,
|
||
"copyFile": false,
|
||
"createDir": false,
|
||
"readDir": false,
|
||
"readFile": false,
|
||
"removeDir": false,
|
||
"removeFile": false,
|
||
"renameFile": false,
|
||
"scope": [],
|
||
"writeFile": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/FsAllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"globalShortcut": {
|
||
"description": "Global shortcut API allowlist.",
|
||
"default": {
|
||
"all": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/GlobalShortcutAllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"http": {
|
||
"description": "HTTP API allowlist.",
|
||
"default": {
|
||
"all": false,
|
||
"request": false,
|
||
"scope": []
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/HttpAllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"notification": {
|
||
"description": "Notification API allowlist.",
|
||
"default": {
|
||
"all": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/NotificationAllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"os": {
|
||
"description": "OS allowlist.",
|
||
"default": {
|
||
"all": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/OsAllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"path": {
|
||
"description": "Path API allowlist.",
|
||
"default": {
|
||
"all": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/PathAllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"process": {
|
||
"description": "Process API allowlist.",
|
||
"default": {
|
||
"all": false,
|
||
"exit": false,
|
||
"relaunch": false,
|
||
"relaunchDangerousAllowSymlinkMacos": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ProcessAllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"protocol": {
|
||
"description": "Custom protocol allowlist.",
|
||
"default": {
|
||
"all": false,
|
||
"asset": false,
|
||
"assetScope": []
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ProtocolAllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"shell": {
|
||
"description": "Shell API allowlist.",
|
||
"default": {
|
||
"all": false,
|
||
"execute": false,
|
||
"open": false,
|
||
"scope": [],
|
||
"sidecar": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ShellAllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"window": {
|
||
"description": "Window API allowlist.",
|
||
"default": {
|
||
"all": false,
|
||
"center": false,
|
||
"close": false,
|
||
"create": false,
|
||
"hide": false,
|
||
"maximize": false,
|
||
"minimize": false,
|
||
"print": false,
|
||
"requestUserAttention": false,
|
||
"setAlwaysOnTop": false,
|
||
"setDecorations": false,
|
||
"setFocus": false,
|
||
"setFullscreen": false,
|
||
"setIcon": false,
|
||
"setMaxSize": false,
|
||
"setMinSize": false,
|
||
"setPosition": false,
|
||
"setResizable": false,
|
||
"setSize": false,
|
||
"setSkipTaskbar": false,
|
||
"setTitle": false,
|
||
"show": false,
|
||
"startDragging": false,
|
||
"unmaximize": false,
|
||
"unminimize": 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.",
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/WindowUrl"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"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.\n\nThe TAURI_PLATFORM, TAURI_ARCH, TAURI_FAMILY, TAURI_PLATFORM_VERSION, TAURI_PLATFORM_TYPE and TAURI_DEBUG environment variables are set if you perform conditional compilation.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"beforeDevCommand": {
|
||
"description": "A shell command to run before `tauri dev` kicks in.\n\nThe TAURI_PLATFORM, TAURI_ARCH, TAURI_FAMILY, TAURI_PLATFORM_VERSION, TAURI_PLATFORM_TYPE and TAURI_DEBUG environment variables are set if you perform conditional compilation.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"devPath": {
|
||
"description": "The path or URL to use on development.",
|
||
"default": "http://localhost:8080/",
|
||
"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": {
|
||
"description": "Configuration for tauri-bundler.",
|
||
"type": "object",
|
||
"required": [
|
||
"identifier"
|
||
],
|
||
"properties": {
|
||
"active": {
|
||
"description": "Whether we should build your app with tauri-bundler or plain `cargo build`",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"category": {
|
||
"description": "The application kind.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"copyright": {
|
||
"description": "A copyright string associated with your application.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"deb": {
|
||
"description": "Configuration for the Debian bundle.",
|
||
"default": {
|
||
"files": {},
|
||
"useBootstrapper": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/DebConfig"
|
||
}
|
||
]
|
||
},
|
||
"externalBin": {
|
||
"description": "A list of—either absolute or relative—paths to binaries to embed with your application.\n\nNote that Tauri will look for system-specific binaries following the pattern \"binary-name{-target-triple}{.system-extension}\".\n\nE.g. for the external binary \"my-binary\", Tauri looks for:\n\n- \"my-binary-x86_64-pc-windows-msvc.exe\" for Windows - \"my-binary-x86_64-apple-darwin\" for macOS - \"my-binary-x86_64-unknown-linux-gnu\" for Linux\n\nso don't forget to provide binaries for all targeted platforms.",
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
],
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"icon": {
|
||
"description": "The app's icons",
|
||
"default": [],
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"identifier": {
|
||
"description": "The app's identifier",
|
||
"type": "string"
|
||
},
|
||
"longDescription": {
|
||
"description": "A longer, multi-line description of the application.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"macOS": {
|
||
"description": "Configuration for the macOS bundles.",
|
||
"default": {
|
||
"minimumSystemVersion": "10.13",
|
||
"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": {
|
||
"description": "A short description of your application.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"targets": {
|
||
"description": "The bundle targets, currently supports [\"deb\", \"app\", \"msi\", \"appimage\", \"dmg\"] or \"all\"",
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/BundleTarget"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"windows": {
|
||
"description": "Configuration for the Windows bundle.",
|
||
"default": {
|
||
"certificateThumbprint": null,
|
||
"digestAlgorithm": null,
|
||
"timestampUrl": null,
|
||
"tsp": null,
|
||
"webviewFixedRuntimePath": null,
|
||
"wix": null
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/WindowsConfig"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"BundleTarget": {
|
||
"description": "Targets to bundle.",
|
||
"anyOf": [
|
||
{
|
||
"description": "A list of bundle targets.",
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
{
|
||
"description": "A single bundle target.",
|
||
"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": "uint",
|
||
"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": "uint",
|
||
"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": "uint",
|
||
"minimum": 0.0
|
||
},
|
||
"multiple": {
|
||
"description": "Specifies that the argument may have an unknown number of multiple values. Without any other settings, this argument may appear only once.\n\nFor example, --opt val1 val2 is allowed, but --opt val1 val2 --opt val3 is not.\n\nNOTE: Setting this requires `takes_value` to be set to true.",
|
||
"type": [
|
||
"boolean",
|
||
"null"
|
||
]
|
||
},
|
||
"multipleOccurrences": {
|
||
"description": "Specifies that the argument may appear more than once. 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 or arguments that take a value, this does not affect how many values they can accept. (i.e. only one at a time is allowed)\n\nFor example, --opt val1 --opt val2 is allowed, but --opt val1 val2 is not.",
|
||
"type": [
|
||
"boolean",
|
||
"null"
|
||
]
|
||
},
|
||
"name": {
|
||
"description": "The unique argument name",
|
||
"type": "string"
|
||
},
|
||
"numberOfValues": {
|
||
"description": "Specifies how many values are required to satisfy this argument. For example, if you had a `-f <file>` argument where you wanted exactly 3 'files' you would set `number_of_values = 3`, and this argument wouldn't be satisfied unless the user provided 3 and only 3 values.\n\n**NOTE:** Does *not* require `multiple_occurrences = true` to be set. Setting `multiple_occurrences = true` would allow `-f <file> <file> <file> -f <file> <file> <file>` where as *not* setting it would only allow one occurrence of this argument.\n\n**NOTE:** implicitly sets `takes_value = true` and `multiple_values = true`.",
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
],
|
||
"format": "uint",
|
||
"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 arguments 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",
|
||
"type": [
|
||
"object",
|
||
"null"
|
||
],
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/CliConfig"
|
||
}
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"ClipboardAllowlistConfig": {
|
||
"description": "Allowlist for the clipboard APIs.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all clipboard APIs.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"readText": {
|
||
"description": "Enables the clipboard's `readText` API.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"writeText": {
|
||
"description": "Enables the clipboard's `writeText` API.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"Csp": {
|
||
"description": "A Content-Security-Policy definition. See <https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP>.",
|
||
"anyOf": [
|
||
{
|
||
"description": "The entire CSP policy in a single text string.",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"description": "An object mapping a directive with its sources values as a list of strings.",
|
||
"type": "object",
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/CspDirectiveSources"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"CspDirectiveSources": {
|
||
"description": "A Content-Security-Policy directive source list. See <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/Sources#sources>.",
|
||
"anyOf": [
|
||
{
|
||
"description": "An inline list of CSP sources. Same as [`Self::List`], but concatenated with a space separator.",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"description": "A list of CSP sources. The collection will be concatenated with a space separator for the CSP string.",
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"DebConfig": {
|
||
"description": "Configuration for Debian (.deb) bundles.",
|
||
"type": "object",
|
||
"properties": {
|
||
"depends": {
|
||
"description": "The list of deb dependencies your application relies on.",
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
],
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"files": {
|
||
"description": "The files to include on the package.",
|
||
"default": {},
|
||
"type": "object",
|
||
"additionalProperties": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"useBootstrapper": {
|
||
"description": "Enable the boostrapper script.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"DialogAllowlistConfig": {
|
||
"description": "Allowlist for the dialog APIs.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all dialog API features.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"ask": {
|
||
"description": "Allows the API to show a dialog window with Yes/No buttons.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"confirm": {
|
||
"description": "Allows the API to show a dialog window with Ok/Cancel buttons.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"message": {
|
||
"description": "Allows the API to show a message dialog window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"open": {
|
||
"description": "Allows the API to open a dialog window to pick files.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"save": {
|
||
"description": "Allows the API to open a dialog window to pick where to save files.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"FsAllowlistConfig": {
|
||
"description": "Allowlist for the file system APIs.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all file system API features.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"copyFile": {
|
||
"description": "Copy file from local filesystem.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"createDir": {
|
||
"description": "Create directory from local filesystem.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"readDir": {
|
||
"description": "Read directory from local filesystem.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"readFile": {
|
||
"description": "Read file from local filesystem.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"removeDir": {
|
||
"description": "Remove directory from local filesystem.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"removeFile": {
|
||
"description": "Remove file from local filesystem.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"renameFile": {
|
||
"description": "Rename file from local filesystem.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"scope": {
|
||
"description": "The access scope for the filesystem APIs.",
|
||
"default": [],
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/FsAllowlistScope"
|
||
}
|
||
]
|
||
},
|
||
"writeFile": {
|
||
"description": "Write file to local filesystem.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"FsAllowlistScope": {
|
||
"description": "Filesystem scope definition. It is a list of glob patterns that restrict the API access from the webview.\n\nEach pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`.",
|
||
"anyOf": [
|
||
{
|
||
"description": "A list of paths that are allowed by this scope.",
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
{
|
||
"description": "A complete scope configuration.",
|
||
"type": "object",
|
||
"properties": {
|
||
"allow": {
|
||
"description": "A list of paths that are allowed by this scope.",
|
||
"default": [],
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"deny": {
|
||
"description": "A list of paths that are not allowed by this scope. This gets precedence over the [`Self::Scope::allow`] list.",
|
||
"default": [],
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"GlobalShortcutAllowlistConfig": {
|
||
"description": "Allowlist for the global shortcut APIs.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all global shortcut API features.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"HttpAllowlistConfig": {
|
||
"description": "Allowlist for the HTTP APIs.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all HTTP API features.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"request": {
|
||
"description": "Allows making HTTP requests.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"scope": {
|
||
"description": "The access scope for the HTTP APIs.",
|
||
"default": [],
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/HttpAllowlistScope"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"HttpAllowlistScope": {
|
||
"description": "HTTP API scope definition. It is a list of URLs that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\n# Examples\n\n- \"https://**\": allows all HTTPS urls - \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path - \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string",
|
||
"format": "uri"
|
||
}
|
||
},
|
||
"MacConfig": {
|
||
"description": "Configuration for the macOS bundles.",
|
||
"type": "object",
|
||
"properties": {
|
||
"entitlements": {
|
||
"description": "Path to the entitlements file.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"exceptionDomain": {
|
||
"description": "Allows your application to communicate with the outside world. It should be a lowercase, without port and protocol domain name.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"frameworks": {
|
||
"description": "A list of strings indicating any macOS X frameworks that need to be bundled with the application.\n\nIf a name is used, \".framework\" must be omitted and it will look for standard install locations. You may also use a path to a specific framework.",
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
],
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"license": {
|
||
"description": "The path to the license file to add to the DMG bundle.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"minimumSystemVersion": {
|
||
"description": "A version string indicating the minimum macOS X version that the bundled application supports. Defaults to `10.13`. Setting it to `null` completely removes the `LSMinimumSystemVersion` field on the bundle's `Info.plist` and the `MACOSX_DEPLOYMENT_TARGET` environment variable.",
|
||
"default": "10.13",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"providerShortName": {
|
||
"description": "Provider short name for notarization.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"signingIdentity": {
|
||
"description": "Identity to use for code signing.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"useBootstrapper": {
|
||
"description": "Enable the boostrapper script.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"NotificationAllowlistConfig": {
|
||
"description": "Allowlist for the notification APIs.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all notification API features.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"OsAllowlistConfig": {
|
||
"description": "Allowlist for the OS APIs.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all OS API features.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"PackageConfig": {
|
||
"description": "The package configuration.",
|
||
"type": "object",
|
||
"properties": {
|
||
"productName": {
|
||
"description": "App name.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"version": {
|
||
"description": "App version. It is a semver version number or a path to a `package.json` file contaning the `version` field.",
|
||
"default": null,
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"PathAllowlistConfig": {
|
||
"description": "Allowlist for the path APIs.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all path API features.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"PatternKind": {
|
||
"description": "The application pattern.",
|
||
"oneOf": [
|
||
{
|
||
"description": "Brownfield pattern.",
|
||
"type": "object",
|
||
"required": [
|
||
"use"
|
||
],
|
||
"properties": {
|
||
"use": {
|
||
"type": "string",
|
||
"enum": [
|
||
"brownfield"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"description": "Isolation pattern. Recommended for security purposes.",
|
||
"type": "object",
|
||
"required": [
|
||
"options",
|
||
"use"
|
||
],
|
||
"properties": {
|
||
"options": {
|
||
"type": "object",
|
||
"required": [
|
||
"dir"
|
||
],
|
||
"properties": {
|
||
"dir": {
|
||
"description": "The dir containing the index.html file that contains the secure isolation application.",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"use": {
|
||
"type": "string",
|
||
"enum": [
|
||
"isolation"
|
||
]
|
||
}
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"PluginConfig": {
|
||
"description": "The plugin configs holds a HashMap mapping a plugin name to its configuration object.",
|
||
"type": "object",
|
||
"additionalProperties": true
|
||
},
|
||
"ProcessAllowlistConfig": {
|
||
"description": "Allowlist for the process APIs.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all process APIs.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"exit": {
|
||
"description": "Enables the exit API.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"relaunch": {
|
||
"description": "Enables the relaunch API.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"relaunchDangerousAllowSymlinkMacos": {
|
||
"description": "Dangerous option that allows macOS to relaunch even if the binary contains a symlink.\n\nThis is due to macOS having less symlink protection. Highly recommended to not set this flag unless you have a very specific reason too, and understand the implications of it.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"ProtocolAllowlistConfig": {
|
||
"description": "Allowlist for the custom protocols.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all custom protocols.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"asset": {
|
||
"description": "Enables the asset protocol.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"assetScope": {
|
||
"description": "The access scope for the asset protocol.",
|
||
"default": [],
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/FsAllowlistScope"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"SecurityConfig": {
|
||
"description": "Security configuration.",
|
||
"type": "object",
|
||
"properties": {
|
||
"csp": {
|
||
"description": "The Content Security Policy that will be injected on all HTML files on the built application. If [`dev_csp`](SecurityConfig.dev_csp) is not specified, this value is also injected on dev.\n\nThis is a really important part of the configuration since it helps you ensure your WebView is secured. See <https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP>.",
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/Csp"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"devCsp": {
|
||
"description": "The Content Security Policy that will be injected on all HTML files on development.\n\nThis is a really important part of the configuration since it helps you ensure your WebView is secured. See <https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP>.",
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/Csp"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"freezePrototype": {
|
||
"description": "Freeze the `Object.prototype` when using the custom protocol.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"ShellAllowedArg": {
|
||
"description": "A command argument allowed to be executed by the webview API.",
|
||
"anyOf": [
|
||
{
|
||
"description": "A non-configurable argument that is passed to the command in the order it was specified.",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"description": "A variable that is set while calling the command from the webview API.",
|
||
"type": "object",
|
||
"required": [
|
||
"validator"
|
||
],
|
||
"properties": {
|
||
"validator": {
|
||
"description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
}
|
||
]
|
||
},
|
||
"ShellAllowedArgs": {
|
||
"description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.",
|
||
"anyOf": [
|
||
{
|
||
"description": "Use a simple boolean to allow all or disable all arguments to this command configuration.",
|
||
"type": "boolean"
|
||
},
|
||
{
|
||
"description": "A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.",
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/ShellAllowedArg"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"ShellAllowedCommand": {
|
||
"description": "A command allowed to be executed by the webview API.",
|
||
"type": "object",
|
||
"required": [
|
||
"cmd",
|
||
"name"
|
||
],
|
||
"properties": {
|
||
"args": {
|
||
"description": "The allowed arguments for the command execution.",
|
||
"default": false,
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ShellAllowedArgs"
|
||
}
|
||
]
|
||
},
|
||
"cmd": {
|
||
"description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`.",
|
||
"type": "string"
|
||
},
|
||
"name": {
|
||
"description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.",
|
||
"type": "string"
|
||
},
|
||
"sidecar": {
|
||
"description": "If this command is a sidecar command.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
}
|
||
},
|
||
"ShellAllowlistConfig": {
|
||
"description": "Allowlist for the shell APIs.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all shell API features.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"execute": {
|
||
"description": "Enable binary execution.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"open": {
|
||
"description": "Open URL with the user's default application.",
|
||
"default": false,
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ShellAllowlistOpen"
|
||
}
|
||
]
|
||
},
|
||
"scope": {
|
||
"description": "Access scope for the binary execution APIs. Sidecars are automatically enabled.",
|
||
"default": [],
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ShellAllowlistScope"
|
||
}
|
||
]
|
||
},
|
||
"sidecar": {
|
||
"description": "Enable sidecar execution, allowing the JavaScript layer to spawn a sidecar command, an executable that is shipped with the application. For more information see <https://tauri.studio/docs/guides/bundler/sidecar/>.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"ShellAllowlistOpen": {
|
||
"description": "Defines the `shell > open` api scope.",
|
||
"anyOf": [
|
||
{
|
||
"description": "If the shell open API should be enabled.\n\nIf enabled, the default validation regex (`^https?://`) is used.",
|
||
"type": "boolean"
|
||
},
|
||
{
|
||
"description": "Enable the shell open API, with a custom regex that the opened path must match against.\n\nIf using a custom regex to support a non-http(s) schema, care should be used to prevent values that allow flag-like strings to pass validation. e.g. `--enable-debugging`, `-i`, `/R`.",
|
||
"type": "string"
|
||
}
|
||
]
|
||
},
|
||
"ShellAllowlistScope": {
|
||
"description": "Shell scope definition. It is a list of command names and associated CLI arguments that restrict the API access from the webview.",
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/ShellAllowedCommand"
|
||
}
|
||
},
|
||
"SystemTrayConfig": {
|
||
"description": "Configuration for application system tray icon.",
|
||
"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": {
|
||
"description": "The allowlist configuration.",
|
||
"default": {
|
||
"all": false,
|
||
"clipboard": {
|
||
"all": false,
|
||
"readText": false,
|
||
"writeText": false
|
||
},
|
||
"dialog": {
|
||
"all": false,
|
||
"ask": false,
|
||
"confirm": false,
|
||
"message": false,
|
||
"open": false,
|
||
"save": false
|
||
},
|
||
"fs": {
|
||
"all": false,
|
||
"copyFile": false,
|
||
"createDir": false,
|
||
"readDir": false,
|
||
"readFile": false,
|
||
"removeDir": false,
|
||
"removeFile": false,
|
||
"renameFile": false,
|
||
"scope": [],
|
||
"writeFile": false
|
||
},
|
||
"globalShortcut": {
|
||
"all": false
|
||
},
|
||
"http": {
|
||
"all": false,
|
||
"request": false,
|
||
"scope": []
|
||
},
|
||
"notification": {
|
||
"all": false
|
||
},
|
||
"os": {
|
||
"all": false
|
||
},
|
||
"path": {
|
||
"all": false
|
||
},
|
||
"process": {
|
||
"all": false,
|
||
"exit": false,
|
||
"relaunch": false,
|
||
"relaunchDangerousAllowSymlinkMacos": false
|
||
},
|
||
"protocol": {
|
||
"all": false,
|
||
"asset": false,
|
||
"assetScope": []
|
||
},
|
||
"shell": {
|
||
"all": false,
|
||
"execute": false,
|
||
"open": false,
|
||
"scope": [],
|
||
"sidecar": false
|
||
},
|
||
"window": {
|
||
"all": false,
|
||
"center": false,
|
||
"close": false,
|
||
"create": false,
|
||
"hide": false,
|
||
"maximize": false,
|
||
"minimize": false,
|
||
"print": false,
|
||
"requestUserAttention": false,
|
||
"setAlwaysOnTop": false,
|
||
"setDecorations": false,
|
||
"setFocus": false,
|
||
"setFullscreen": false,
|
||
"setIcon": false,
|
||
"setMaxSize": false,
|
||
"setMinSize": false,
|
||
"setPosition": false,
|
||
"setResizable": false,
|
||
"setSize": false,
|
||
"setSkipTaskbar": false,
|
||
"setTitle": false,
|
||
"show": false,
|
||
"startDragging": false,
|
||
"unmaximize": false,
|
||
"unminimize": false
|
||
}
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AllowlistConfig"
|
||
}
|
||
]
|
||
},
|
||
"bundle": {
|
||
"description": "The bundler configuration.",
|
||
"default": {
|
||
"active": false,
|
||
"deb": {
|
||
"files": {},
|
||
"useBootstrapper": false
|
||
},
|
||
"icon": [],
|
||
"identifier": "",
|
||
"macOS": {
|
||
"minimumSystemVersion": "10.13",
|
||
"useBootstrapper": false
|
||
},
|
||
"windows": {
|
||
"certificateThumbprint": null,
|
||
"digestAlgorithm": null,
|
||
"timestampUrl": null,
|
||
"tsp": null,
|
||
"webviewFixedRuntimePath": null,
|
||
"wix": null
|
||
}
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/BundleConfig"
|
||
}
|
||
]
|
||
},
|
||
"cli": {
|
||
"description": "The CLI configuration.",
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/CliConfig"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"macOSPrivateApi": {
|
||
"description": "MacOS private API configuration. Enables the transparent background API and sets the `fullScreenEnabled` preference to `true`.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"pattern": {
|
||
"description": "The pattern to use.",
|
||
"default": {
|
||
"use": "brownfield"
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/PatternKind"
|
||
}
|
||
]
|
||
},
|
||
"security": {
|
||
"description": "Security configuration.",
|
||
"default": {
|
||
"freezePrototype": false
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/SecurityConfig"
|
||
}
|
||
]
|
||
},
|
||
"systemTray": {
|
||
"description": "Configuration for app system tray.",
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/SystemTrayConfig"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"updater": {
|
||
"description": "The updater configuration.",
|
||
"default": {
|
||
"active": false,
|
||
"dialog": true,
|
||
"pubkey": ""
|
||
},
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/UpdaterConfig"
|
||
}
|
||
]
|
||
},
|
||
"windows": {
|
||
"description": "The windows configuration.",
|
||
"default": [],
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/WindowConfig"
|
||
}
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"UpdaterConfig": {
|
||
"description": "The Updater configuration object.",
|
||
"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"
|
||
},
|
||
"endpoints": {
|
||
"description": "The updater endpoints. TLS is enforced on production.",
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
],
|
||
"items": {
|
||
"$ref": "#/definitions/UpdaterEndpoint"
|
||
}
|
||
},
|
||
"pubkey": {
|
||
"description": "Signature public key.",
|
||
"default": "",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"UpdaterEndpoint": {
|
||
"description": "A URL to an updater server.\n\nThe URL must use the `https` scheme on production.",
|
||
"type": "string",
|
||
"format": "uri"
|
||
},
|
||
"WindowAllowlistConfig": {
|
||
"description": "Allowlist for the window APIs.",
|
||
"type": "object",
|
||
"properties": {
|
||
"all": {
|
||
"description": "Use this flag to enable all window API features.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"center": {
|
||
"description": "Allows centering the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"close": {
|
||
"description": "Allows closing the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"create": {
|
||
"description": "Allows dynamic window creation.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"hide": {
|
||
"description": "Allows hiding the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"maximize": {
|
||
"description": "Allows maximizing the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"minimize": {
|
||
"description": "Allows minimizing the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"print": {
|
||
"description": "Allows opening the system dialog to print the window content.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"requestUserAttention": {
|
||
"description": "Allows requesting user attention on the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setAlwaysOnTop": {
|
||
"description": "Allows setting the always_on_top flag of the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setDecorations": {
|
||
"description": "Allows setting the decorations flag of the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setFocus": {
|
||
"description": "Allows focusing the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setFullscreen": {
|
||
"description": "Allows setting the fullscreen flag of the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setIcon": {
|
||
"description": "Allows changing the window icon.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setMaxSize": {
|
||
"description": "Allows setting the window maximum size.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setMinSize": {
|
||
"description": "Allows setting the window minimum size.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setPosition": {
|
||
"description": "Allows changing the position of the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setResizable": {
|
||
"description": "Allows setting the resizable flag of the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setSize": {
|
||
"description": "Allows setting the window size.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setSkipTaskbar": {
|
||
"description": "Allows setting the skip_taskbar flag of the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"setTitle": {
|
||
"description": "Allows changing the window title.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"show": {
|
||
"description": "Allows showing the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"startDragging": {
|
||
"description": "Allows start dragging on the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"unmaximize": {
|
||
"description": "Allows unmaximizing the window.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"unminimize": {
|
||
"description": "Allows unminimizing the window.",
|
||
"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.",
|
||
"default": 600.0,
|
||
"type": "number",
|
||
"format": "double"
|
||
},
|
||
"label": {
|
||
"description": "The window identifier. It must be alphanumeric.",
|
||
"default": "main",
|
||
"type": "string"
|
||
},
|
||
"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": true,
|
||
"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.",
|
||
"default": "Tauri App",
|
||
"type": "string"
|
||
},
|
||
"transparent": {
|
||
"description": "Whether the window is transparent or not.\n\nNote that on `macOS` this requires the `macos-private-api` feature flag, enabled under `tauri.conf.json > tauri > macosPrivateApi`. WARNING: Using private APIs on `macOS` prevents your application from being accepted for the `App Store`.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"url": {
|
||
"description": "The window webview URL.",
|
||
"default": "index.html",
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/WindowUrl"
|
||
}
|
||
]
|
||
},
|
||
"visible": {
|
||
"description": "Whether the window is visible or not.",
|
||
"default": true,
|
||
"type": "boolean"
|
||
},
|
||
"width": {
|
||
"description": "The window width.",
|
||
"default": 800.0,
|
||
"type": "number",
|
||
"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
|
||
},
|
||
"WindowUrl": {
|
||
"description": "An URL to open on a Tauri webview window.",
|
||
"anyOf": [
|
||
{
|
||
"description": "An external URL.",
|
||
"type": "string",
|
||
"format": "uri"
|
||
},
|
||
{
|
||
"description": "An app URL.",
|
||
"type": "string"
|
||
}
|
||
]
|
||
},
|
||
"WindowsConfig": {
|
||
"description": "Windows bundler configuration.",
|
||
"type": "object",
|
||
"properties": {
|
||
"certificateThumbprint": {
|
||
"description": "Specifies the SHA1 hash of the signing certificate.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"digestAlgorithm": {
|
||
"description": "Specifies the file digest algorithm to use for creating file signatures. Required for code signing. SHA-256 is recommended.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"timestampUrl": {
|
||
"description": "Server to use during timestamping.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"tsp": {
|
||
"description": "Whether to use Time-Stamp Protocol (TSP, a.k.a. RFC 3161) for the timestamp server. Your code signing provider may use a TSP timestamp server, like e.g. SSL.com does. If so, enable TSP by setting to true.",
|
||
"type": [
|
||
"boolean",
|
||
"null"
|
||
]
|
||
},
|
||
"webviewFixedRuntimePath": {
|
||
"description": "Path to the webview fixed runtime to use.\n\nThe fixed version can be downloaded [on the official website](https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section). The `.cab` file must be extracted to a folder and this folder path must be defined on this field.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"wix": {
|
||
"description": "Configuration for the MSI generated with WiX.",
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/WixConfig"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"WixConfig": {
|
||
"description": "Configuration for the MSI bundle using WiX.",
|
||
"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": {
|
||
"description": "The ComponentGroup element ids you want to reference from the fragments.",
|
||
"default": [],
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"componentRefs": {
|
||
"description": "The Component element ids you want to reference from the fragments.",
|
||
"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": {
|
||
"description": "Create an elevated update task within Windows Task Scheduler.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"featureGroupRefs": {
|
||
"description": "The FeatureGroup element ids you want to reference from the fragments.",
|
||
"default": [],
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"featureRefs": {
|
||
"description": "The Feature element ids you want to reference from the fragments.",
|
||
"default": [],
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"fragmentPaths": {
|
||
"description": "A list of paths to .wxs files with WiX fragments to use.",
|
||
"default": [],
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"language": {
|
||
"description": "The installer languages to build. See <https://docs.microsoft.com/en-us/windows/win32/msi/localizing-the-error-and-actiontext-tables>.",
|
||
"default": "en-US",
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/WixLanguage"
|
||
}
|
||
]
|
||
},
|
||
"license": {
|
||
"description": "The path to the license file to render on the installer.\n\nMust be an RTF file, so if a different extension is provided, we convert it to the RTF format.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"mergeRefs": {
|
||
"description": "The Merge element ids you want to reference from the fragments.",
|
||
"default": [],
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"skipWebviewInstall": {
|
||
"description": "Disables the Webview2 runtime installation after app install.",
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"template": {
|
||
"description": "A custom .wxs template to use.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"WixLanguage": {
|
||
"description": "The languages to build using WiX.",
|
||
"anyOf": [
|
||
{
|
||
"description": "A single language to build, without configuration.",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"description": "A list of languages to build, without configuration.",
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
{
|
||
"description": "A map of languages and its configuration.",
|
||
"type": "object",
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/WixLanguageConfig"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"WixLanguageConfig": {
|
||
"description": "Configuration for a target language for the WiX build.",
|
||
"type": "object",
|
||
"properties": {
|
||
"localePath": {
|
||
"description": "The path to a locale (`.wxl`) file. See <https://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/build_a_localized_version.html>.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
}
|
||
}
|
||
} |