@tauri-apps/cli 2.0.0-alpha.9 → 2.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/schema.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "title": "Config",
4
- "description": "The Tauri configuration object. It is read from a file where you can define your frontend assets, configure the bundler and define a system tray.\n\nThe configuration file is generated by the [`tauri init`](https://tauri.app/v1/api/cli#init) command that lives in your Tauri application source directory (src-tauri).\n\nOnce generated, you may modify it at will to customize your Tauri application.\n\n## File Formats\n\nBy default, the configuration is defined as a JSON file named `tauri.conf.json`.\n\nTauri also supports JSON5 and TOML files via the `config-json5` and `config-toml` Cargo features, respectively. The JSON5 file name must be either `tauri.conf.json` or `tauri.conf.json5`. The TOML file name is `Tauri.toml`.\n\n## Platform-Specific Configuration\n\nIn addition to the default configuration file, Tauri can read a platform-specific configuration from `tauri.linux.conf.json`, `tauri.windows.conf.json`, `tauri.macos.conf.json`, `tauri.android.conf.json` and `tauri.ios.conf.json` (or `Tauri.linux.toml`, `Tauri.windows.toml`, `Tauri.macos.toml`, `Tauri.android.toml` and `Tauri.ios.toml` if the `Tauri.toml` format is used), which gets merged with the main configuration object.\n\n## Configuration Structure\n\nThe configuration is composed of the following objects:\n\n- [`package`](#packageconfig): Package settings - [`tauri`](#tauriconfig): The Tauri config - [`build`](#buildconfig): The build configuration - [`plugins`](#pluginconfig): The plugins config\n\n```json title=\"Example tauri.config.json file\" { \"build\": { \"beforeBuildCommand\": \"\", \"beforeDevCommand\": \"\", \"devPath\": \"../dist\", \"distDir\": \"../dist\" }, \"package\": { \"productName\": \"tauri-app\", \"version\": \"0.1.0\" }, \"tauri\": { \"bundle\": {}, \"security\": { \"csp\": null }, \"windows\": [ { \"fullscreen\": false, \"height\": 600, \"resizable\": true, \"title\": \"Tauri App\", \"width\": 800 } ] } } ```",
4
+ "description": "The Tauri configuration object. It is read from a file where you can define your frontend assets, configure the bundler and define a tray icon.\n\nThe configuration file is generated by the [`tauri init`](https://tauri.app/v1/api/cli#init) command that lives in your Tauri application source directory (src-tauri).\n\nOnce generated, you may modify it at will to customize your Tauri application.\n\n## File Formats\n\nBy default, the configuration is defined as a JSON file named `tauri.conf.json`.\n\nTauri also supports JSON5 and TOML files via the `config-json5` and `config-toml` Cargo features, respectively. The JSON5 file name must be either `tauri.conf.json` or `tauri.conf.json5`. The TOML file name is `Tauri.toml`.\n\n## Platform-Specific Configuration\n\nIn addition to the default configuration file, Tauri can read a platform-specific configuration from `tauri.linux.conf.json`, `tauri.windows.conf.json`, `tauri.macos.conf.json`, `tauri.android.conf.json` and `tauri.ios.conf.json` (or `Tauri.linux.toml`, `Tauri.windows.toml`, `Tauri.macos.toml`, `Tauri.android.toml` and `Tauri.ios.toml` if the `Tauri.toml` format is used), which gets merged with the main configuration object.\n\n## Configuration Structure\n\nThe configuration is composed of the following objects:\n\n- [`package`](#packageconfig): Package settings - [`app`](#appconfig): The Tauri config - [`build`](#buildconfig): The build configuration - [`plugins`](#pluginconfig): The plugins config\n\n```json title=\"Example tauri.config.json file\" { \"productName\": \"tauri-app\", \"version\": \"0.1.0\" \"build\": { \"beforeBuildCommand\": \"\", \"beforeDevCommand\": \"\", \"devUrl\": \"../dist\", \"frontendDist\": \"../dist\" }, \"app\": { \"security\": { \"csp\": null }, \"windows\": [ { \"fullscreen\": false, \"height\": 600, \"resizable\": true, \"title\": \"Tauri App\", \"width\": 800 } ] }, \"bundle\": {} } ```",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "$schema": {
@@ -11,92 +11,119 @@
11
11
  "null"
12
12
  ]
13
13
  },
14
- "package": {
15
- "description": "Package settings.",
16
- "default": {
17
- "productName": null,
18
- "version": null
19
- },
20
- "allOf": [
21
- {
22
- "$ref": "#/definitions/PackageConfig"
23
- }
14
+ "productName": {
15
+ "description": "App name.",
16
+ "type": [
17
+ "string",
18
+ "null"
19
+ ],
20
+ "pattern": "^[^/\\:*?\"<>|]+$"
21
+ },
22
+ "version": {
23
+ "description": "App version. It is a semver version number or a path to a `package.json` file containing the `version` field. If removed the version number from `Cargo.toml` is used.",
24
+ "type": [
25
+ "string",
26
+ "null"
24
27
  ]
25
28
  },
26
- "tauri": {
27
- "description": "The Tauri configuration.",
29
+ "identifier": {
30
+ "description": "The application identifier in reverse domain name notation (e.g. `com.tauri.example`). This string must be unique across applications since it is used in system configurations like the bundle ID and path to the webview data directory. This string must contain only alphanumeric characters (A–Z, a–z, and 0–9), hyphens (-), and periods (.).",
31
+ "default": "",
32
+ "type": "string"
33
+ },
34
+ "app": {
35
+ "description": "The App configuration.",
28
36
  "default": {
29
- "bundle": {
30
- "active": false,
31
- "android": {
32
- "minSdkVersion": 24
33
- },
34
- "appimage": {
35
- "bundleMediaFramework": false
36
- },
37
- "deb": {
38
- "files": {}
39
- },
40
- "iOS": {},
41
- "icon": [],
42
- "identifier": "",
43
- "macOS": {
44
- "minimumSystemVersion": "10.13"
45
- },
46
- "targets": "all",
47
- "updater": {
48
- "active": false,
49
- "pubkey": "",
50
- "windows": {
51
- "installMode": "passive"
52
- }
53
- },
54
- "windows": {
55
- "allowDowngrades": true,
56
- "certificateThumbprint": null,
57
- "digestAlgorithm": null,
58
- "nsis": null,
59
- "timestampUrl": null,
60
- "tsp": false,
61
- "webviewFixedRuntimePath": null,
62
- "webviewInstallMode": {
63
- "silent": true,
64
- "type": "downloadBootstrapper"
65
- },
66
- "wix": null
67
- }
68
- },
69
37
  "macOSPrivateApi": false,
70
- "pattern": {
71
- "use": "brownfield"
72
- },
73
38
  "security": {
74
39
  "assetProtocol": {
75
40
  "enable": false,
76
41
  "scope": []
77
42
  },
78
43
  "dangerousDisableAssetCspModification": false,
79
- "dangerousRemoteDomainIpcAccess": [],
80
- "freezePrototype": false
44
+ "freezePrototype": false,
45
+ "pattern": {
46
+ "use": "brownfield"
47
+ }
81
48
  },
82
- "windows": []
49
+ "windows": [],
50
+ "withGlobalTauri": false
83
51
  },
84
52
  "allOf": [
85
53
  {
86
- "$ref": "#/definitions/TauriConfig"
54
+ "$ref": "#/definitions/AppConfig"
87
55
  }
88
56
  ]
89
57
  },
90
58
  "build": {
91
59
  "description": "The build configuration.",
60
+ "default": {},
61
+ "allOf": [
62
+ {
63
+ "$ref": "#/definitions/BuildConfig"
64
+ }
65
+ ]
66
+ },
67
+ "bundle": {
68
+ "description": "The bundler configuration.",
92
69
  "default": {
93
- "devPath": "http://localhost:8080/",
94
- "distDir": "../dist",
95
- "withGlobalTauri": false
70
+ "active": false,
71
+ "android": {
72
+ "minSdkVersion": 24
73
+ },
74
+ "iOS": {},
75
+ "icon": [],
76
+ "linux": {
77
+ "appimage": {
78
+ "bundleMediaFramework": false,
79
+ "files": {}
80
+ },
81
+ "deb": {
82
+ "files": {}
83
+ },
84
+ "rpm": {
85
+ "epoch": 0,
86
+ "files": {},
87
+ "release": "1"
88
+ }
89
+ },
90
+ "macOS": {
91
+ "dmg": {
92
+ "appPosition": {
93
+ "x": 180,
94
+ "y": 170
95
+ },
96
+ "applicationFolderPosition": {
97
+ "x": 480,
98
+ "y": 170
99
+ },
100
+ "windowSize": {
101
+ "height": 400,
102
+ "width": 660
103
+ }
104
+ },
105
+ "files": {},
106
+ "minimumSystemVersion": "10.13"
107
+ },
108
+ "targets": "all",
109
+ "windows": {
110
+ "allowDowngrades": true,
111
+ "certificateThumbprint": null,
112
+ "digestAlgorithm": null,
113
+ "nsis": null,
114
+ "timestampUrl": null,
115
+ "tsp": false,
116
+ "webviewFixedRuntimePath": null,
117
+ "webviewInstallMode": {
118
+ "silent": true,
119
+ "type": "downloadBootstrapper"
120
+ },
121
+ "wix": null
122
+ }
96
123
  },
97
124
  "allOf": [
98
125
  {
99
- "$ref": "#/definitions/BuildConfig"
126
+ "$ref": "#/definitions/BundleConfig"
100
127
  }
101
128
  ]
102
129
  },
@@ -112,44 +139,10 @@
112
139
  },
113
140
  "additionalProperties": false,
114
141
  "definitions": {
115
- "PackageConfig": {
116
- "description": "The package configuration.\n\nSee more: https://tauri.app/v1/api/config#packageconfig",
117
- "type": "object",
118
- "properties": {
119
- "productName": {
120
- "description": "App name.",
121
- "type": [
122
- "string",
123
- "null"
124
- ],
125
- "pattern": "^[^/\\:*?\"<>|]+$"
126
- },
127
- "version": {
128
- "description": "App version. It is a semver version number or a path to a `package.json` file containing the `version` field.",
129
- "default": null,
130
- "type": [
131
- "string",
132
- "null"
133
- ]
134
- }
135
- },
136
- "additionalProperties": false
137
- },
138
- "TauriConfig": {
139
- "description": "The Tauri configuration object.\n\nSee more: https://tauri.app/v1/api/config#tauriconfig",
142
+ "AppConfig": {
143
+ "description": "The App configuration object.\n\nSee more: <https://tauri.app/v1/api/config#appconfig>",
140
144
  "type": "object",
141
145
  "properties": {
142
- "pattern": {
143
- "description": "The pattern to use.",
144
- "default": {
145
- "use": "brownfield"
146
- },
147
- "allOf": [
148
- {
149
- "$ref": "#/definitions/PatternKind"
150
- }
151
- ]
152
- },
153
146
  "windows": {
154
147
  "description": "The windows configuration.",
155
148
  "default": [],
@@ -158,54 +151,6 @@
158
151
  "$ref": "#/definitions/WindowConfig"
159
152
  }
160
153
  },
161
- "bundle": {
162
- "description": "The bundler configuration.",
163
- "default": {
164
- "active": false,
165
- "android": {
166
- "minSdkVersion": 24
167
- },
168
- "appimage": {
169
- "bundleMediaFramework": false
170
- },
171
- "deb": {
172
- "files": {}
173
- },
174
- "iOS": {},
175
- "icon": [],
176
- "identifier": "",
177
- "macOS": {
178
- "minimumSystemVersion": "10.13"
179
- },
180
- "targets": "all",
181
- "updater": {
182
- "active": false,
183
- "pubkey": "",
184
- "windows": {
185
- "installMode": "passive"
186
- }
187
- },
188
- "windows": {
189
- "allowDowngrades": true,
190
- "certificateThumbprint": null,
191
- "digestAlgorithm": null,
192
- "nsis": null,
193
- "timestampUrl": null,
194
- "tsp": false,
195
- "webviewFixedRuntimePath": null,
196
- "webviewInstallMode": {
197
- "silent": true,
198
- "type": "downloadBootstrapper"
199
- },
200
- "wix": null
201
- }
202
- },
203
- "allOf": [
204
- {
205
- "$ref": "#/definitions/BundleConfig"
206
- }
207
- ]
208
- },
209
154
  "security": {
210
155
  "description": "Security configuration.",
211
156
  "default": {
@@ -214,8 +159,10 @@
214
159
  "scope": []
215
160
  },
216
161
  "dangerousDisableAssetCspModification": false,
217
- "dangerousRemoteDomainIpcAccess": [],
218
- "freezePrototype": false
162
+ "freezePrototype": false,
163
+ "pattern": {
164
+ "use": "brownfield"
165
+ }
219
166
  },
220
167
  "allOf": [
221
168
  {
@@ -223,11 +170,11 @@
223
170
  }
224
171
  ]
225
172
  },
226
- "systemTray": {
227
- "description": "Configuration for app system tray.",
173
+ "trayIcon": {
174
+ "description": "Configuration for app tray icon.",
228
175
  "anyOf": [
229
176
  {
230
- "$ref": "#/definitions/SystemTrayConfig"
177
+ "$ref": "#/definitions/TrayIconConfig"
231
178
  },
232
179
  {
233
180
  "type": "null"
@@ -238,60 +185,17 @@
238
185
  "description": "MacOS private API configuration. Enables the transparent background API and sets the `fullScreenEnabled` preference to `true`.",
239
186
  "default": false,
240
187
  "type": "boolean"
188
+ },
189
+ "withGlobalTauri": {
190
+ "description": "Whether we should inject the Tauri API on `window.__TAURI__` or not.",
191
+ "default": false,
192
+ "type": "boolean"
241
193
  }
242
194
  },
243
195
  "additionalProperties": false
244
196
  },
245
- "PatternKind": {
246
- "description": "The application pattern.",
247
- "oneOf": [
248
- {
249
- "description": "Brownfield pattern.",
250
- "type": "object",
251
- "required": [
252
- "use"
253
- ],
254
- "properties": {
255
- "use": {
256
- "type": "string",
257
- "enum": [
258
- "brownfield"
259
- ]
260
- }
261
- }
262
- },
263
- {
264
- "description": "Isolation pattern. Recommended for security purposes.",
265
- "type": "object",
266
- "required": [
267
- "options",
268
- "use"
269
- ],
270
- "properties": {
271
- "use": {
272
- "type": "string",
273
- "enum": [
274
- "isolation"
275
- ]
276
- },
277
- "options": {
278
- "type": "object",
279
- "required": [
280
- "dir"
281
- ],
282
- "properties": {
283
- "dir": {
284
- "description": "The dir containing the index.html file that contains the secure isolation application.",
285
- "type": "string"
286
- }
287
- }
288
- }
289
- }
290
- }
291
- ]
292
- },
293
197
  "WindowConfig": {
294
- "description": "The window configuration object.\n\nSee more: https://tauri.app/v1/api/config#windowconfig",
198
+ "description": "The window configuration object.\n\nSee more: <https://tauri.app/v1/api/config#windowconfig>",
295
199
  "type": "object",
296
200
  "properties": {
297
201
  "label": {
@@ -304,7 +208,7 @@
304
208
  "default": "index.html",
305
209
  "allOf": [
306
210
  {
307
- "$ref": "#/definitions/WindowUrl"
211
+ "$ref": "#/definitions/WebviewUrl"
308
212
  }
309
213
  ]
310
214
  },
@@ -386,7 +290,22 @@
386
290
  "format": "double"
387
291
  },
388
292
  "resizable": {
389
- "description": "Whether the window is resizable or not.",
293
+ "description": "Whether the window is resizable or not. When resizable is set to false, native window's maximize button is automatically disabled.",
294
+ "default": true,
295
+ "type": "boolean"
296
+ },
297
+ "maximizable": {
298
+ "description": "Whether the window's native maximize button is enabled or not. If resizable is set to false, this setting is ignored.\n\n## Platform-specific\n\n- **macOS:** Disables the \"zoom\" button in the window titlebar, which is also used to enter fullscreen mode. - **Linux / iOS / Android:** Unsupported.",
299
+ "default": true,
300
+ "type": "boolean"
301
+ },
302
+ "minimizable": {
303
+ "description": "Whether the window's native minimize button is enabled or not.\n\n## Platform-specific\n\n- **Linux / iOS / Android:** Unsupported.",
304
+ "default": true,
305
+ "type": "boolean"
306
+ },
307
+ "closable": {
308
+ "description": "Whether the window's native close button is enabled or not.\n\n## Platform-specific\n\n- **Linux:** \"GTK+ will do its best to convince the window manager not to show a close button. Depending on the system, this function may not have any effect when called on a window that is already visible\" - **iOS / Android:** Unsupported.",
390
309
  "default": true,
391
310
  "type": "boolean"
392
311
  },
@@ -425,11 +344,21 @@
425
344
  "default": true,
426
345
  "type": "boolean"
427
346
  },
347
+ "alwaysOnBottom": {
348
+ "description": "Whether the window should always be below other windows.",
349
+ "default": false,
350
+ "type": "boolean"
351
+ },
428
352
  "alwaysOnTop": {
429
353
  "description": "Whether the window should always be on top of other windows.",
430
354
  "default": false,
431
355
  "type": "boolean"
432
356
  },
357
+ "visibleOnAllWorkspaces": {
358
+ "description": "Whether the window should be visible on all workspaces or virtual desktops.\n\n## Platform-specific\n\n- **Windows / iOS / Android:** Unsupported.",
359
+ "default": false,
360
+ "type": "boolean"
361
+ },
433
362
  "contentProtected": {
434
363
  "description": "Prevents the window contents from being captured by other apps.",
435
364
  "default": false,
@@ -488,21 +417,57 @@
488
417
  "description": "Whether or not the window has shadow.\n\n## Platform-specific\n\n- **Windows:** - `false` has no effect on decorated window, shadow are always ON. - `true` will make ndecorated window have a 1px white border, and on Windows 11, it will have a rounded corners. - **Linux:** Unsupported.",
489
418
  "default": true,
490
419
  "type": "boolean"
420
+ },
421
+ "windowEffects": {
422
+ "description": "Window effects.\n\nRequires the window to be transparent.\n\n## Platform-specific:\n\n- **Windows**: If using decorations or shadows, you may want to try this workaround <https://github.com/tauri-apps/tao/issues/72#issuecomment-975607891> - **Linux**: Unsupported",
423
+ "anyOf": [
424
+ {
425
+ "$ref": "#/definitions/WindowEffectsConfig"
426
+ },
427
+ {
428
+ "type": "null"
429
+ }
430
+ ]
431
+ },
432
+ "incognito": {
433
+ "description": "Whether or not the webview should be launched in incognito mode.\n\n## Platform-specific:\n\n- **Android**: Unsupported.",
434
+ "default": false,
435
+ "type": "boolean"
436
+ },
437
+ "parent": {
438
+ "description": "Sets the window associated with this label to be the parent of the window to be created.\n\n## Platform-specific\n\n- **Windows**: This sets the passed parent as an owner window to the window to be created. From [MSDN owned windows docs](https://docs.microsoft.com/en-us/windows/win32/winmsg/window-features#owned-windows): - An owned window is always above its owner in the z-order. - The system automatically destroys an owned window when its owner is destroyed. - An owned window is hidden when its owner is minimized. - **Linux**: This makes the new window transient for parent, see <https://docs.gtk.org/gtk3/method.Window.set_transient_for.html> - **macOS**: This adds the window as a child of parent, see <https://developer.apple.com/documentation/appkit/nswindow/1419152-addchildwindow?language=objc>",
439
+ "type": [
440
+ "string",
441
+ "null"
442
+ ]
443
+ },
444
+ "proxyUrl": {
445
+ "description": "The proxy URL for the WebView for all network requests.\n\nMust be either a `http://` or a `socks5://` URL.\n\n## Platform-specific\n\n- **macOS**: Requires the `macos-proxy` feature flag and only compiles for macOS 14+.",
446
+ "type": [
447
+ "string",
448
+ "null"
449
+ ],
450
+ "format": "uri"
491
451
  }
492
452
  },
493
453
  "additionalProperties": false
494
454
  },
495
- "WindowUrl": {
455
+ "WebviewUrl": {
496
456
  "description": "An URL to open on a Tauri webview window.",
497
457
  "anyOf": [
498
458
  {
499
- "description": "An external URL.",
459
+ "description": "An external URL. Must use either the `http` or `https` schemes.",
500
460
  "type": "string",
501
461
  "format": "uri"
502
462
  },
503
463
  {
504
464
  "description": "The path portion of an app URL. For instance, to load `tauri://localhost/users/john`, you can simply provide `users/john` in this configuration.",
505
465
  "type": "string"
466
+ },
467
+ {
468
+ "description": "A custom protocol url, for example, `doom://index.html`",
469
+ "type": "string",
470
+ "format": "uri"
506
471
  }
507
472
  ]
508
473
  },
@@ -551,356 +516,1079 @@
551
516
  }
552
517
  ]
553
518
  },
554
- "BundleConfig": {
555
- "description": "Configuration for tauri-bundler.\n\nSee more: https://tauri.app/v1/api/config#bundleconfig",
519
+ "WindowEffectsConfig": {
520
+ "description": "The window effects configuration object",
556
521
  "type": "object",
557
522
  "required": [
558
- "identifier"
523
+ "effects"
559
524
  ],
560
525
  "properties": {
561
- "active": {
562
- "description": "Whether Tauri should bundle your application or just output the executable.",
563
- "default": false,
564
- "type": "boolean"
526
+ "effects": {
527
+ "description": "List of Window effects to apply to the Window. Conflicting effects will apply the first one and ignore the rest.",
528
+ "type": "array",
529
+ "items": {
530
+ "$ref": "#/definitions/WindowEffect"
531
+ }
565
532
  },
566
- "targets": {
567
- "description": "The bundle targets, currently supports [\"deb\", \"appimage\", \"nsis\", \"msi\", \"app\", \"dmg\", \"updater\"] or \"all\".",
568
- "default": "all",
569
- "allOf": [
533
+ "state": {
534
+ "description": "Window effect state **macOS Only**",
535
+ "anyOf": [
570
536
  {
571
- "$ref": "#/definitions/BundleTarget"
537
+ "$ref": "#/definitions/WindowEffectState"
538
+ },
539
+ {
540
+ "type": "null"
572
541
  }
573
542
  ]
574
543
  },
575
- "identifier": {
576
- "description": "The application identifier in reverse domain name notation (e.g. `com.tauri.example`). This string must be unique across applications since it is used in system configurations like the bundle ID and path to the webview data directory. This string must contain only alphanumeric characters (A–Z, a–z, and 0–9), hyphens (-), and periods (.).",
577
- "type": "string"
578
- },
579
- "publisher": {
580
- "description": "The application's publisher. Defaults to the second element in the identifier string. Currently maps to the Manufacturer property of the Windows Installer.",
581
- "type": [
582
- "string",
583
- "null"
584
- ]
585
- },
586
- "icon": {
587
- "description": "The app's icons",
588
- "default": [],
589
- "type": "array",
590
- "items": {
591
- "type": "string"
592
- }
593
- },
594
- "resources": {
595
- "description": "App resources to bundle. Each resource is a path to a file or directory. Glob patterns are supported.",
544
+ "radius": {
545
+ "description": "Window effect corner radius **macOS Only**",
596
546
  "type": [
597
- "array",
547
+ "number",
598
548
  "null"
599
549
  ],
600
- "items": {
601
- "type": "string"
602
- }
550
+ "format": "double"
603
551
  },
604
- "copyright": {
605
- "description": "A copyright string associated with your application.",
606
- "type": [
607
- "string",
608
- "null"
552
+ "color": {
553
+ "description": "Window effect color. Affects [`WindowEffect::Blur`] and [`WindowEffect::Acrylic`] only on Windows 10 v1903+. Doesn't have any effect on Windows 7 or Windows 11.",
554
+ "anyOf": [
555
+ {
556
+ "$ref": "#/definitions/Color"
557
+ },
558
+ {
559
+ "type": "null"
560
+ }
561
+ ]
562
+ }
563
+ },
564
+ "additionalProperties": false
565
+ },
566
+ "WindowEffect": {
567
+ "description": "Platform-specific window effects",
568
+ "oneOf": [
569
+ {
570
+ "description": "A default material appropriate for the view's effectiveAppearance. **macOS 10.14-**",
571
+ "deprecated": true,
572
+ "type": "string",
573
+ "enum": [
574
+ "appearanceBased"
609
575
  ]
610
576
  },
611
- "category": {
612
- "description": "The application kind.\n\nShould be one of the following: Business, DeveloperTool, Education, Entertainment, Finance, Game, ActionGame, AdventureGame, ArcadeGame, BoardGame, CardGame, CasinoGame, DiceGame, EducationalGame, FamilyGame, KidsGame, MusicGame, PuzzleGame, RacingGame, RolePlayingGame, SimulationGame, SportsGame, StrategyGame, TriviaGame, WordGame, GraphicsAndDesign, HealthcareAndFitness, Lifestyle, Medical, Music, News, Photography, Productivity, Reference, SocialNetworking, Sports, Travel, Utility, Video, Weather.",
613
- "type": [
614
- "string",
615
- "null"
577
+ {
578
+ "description": "*macOS 10.14-**",
579
+ "deprecated": true,
580
+ "type": "string",
581
+ "enum": [
582
+ "light"
616
583
  ]
617
584
  },
618
- "shortDescription": {
619
- "description": "A short description of your application.",
620
- "type": [
621
- "string",
622
- "null"
585
+ {
586
+ "description": "*macOS 10.14-**",
587
+ "deprecated": true,
588
+ "type": "string",
589
+ "enum": [
590
+ "dark"
623
591
  ]
624
592
  },
625
- "longDescription": {
626
- "description": "A longer, multi-line description of the application.",
627
- "type": [
628
- "string",
629
- "null"
593
+ {
594
+ "description": "*macOS 10.14-**",
595
+ "deprecated": true,
596
+ "type": "string",
597
+ "enum": [
598
+ "mediumLight"
630
599
  ]
631
600
  },
632
- "appimage": {
633
- "description": "Configuration for the AppImage bundle.",
634
- "default": {
635
- "bundleMediaFramework": false
636
- },
637
- "allOf": [
638
- {
639
- "$ref": "#/definitions/AppImageConfig"
640
- }
601
+ {
602
+ "description": "*macOS 10.14-**",
603
+ "deprecated": true,
604
+ "type": "string",
605
+ "enum": [
606
+ "ultraDark"
641
607
  ]
642
608
  },
643
- "deb": {
644
- "description": "Configuration for the Debian bundle.",
645
- "default": {
646
- "files": {}
647
- },
648
- "allOf": [
649
- {
650
- "$ref": "#/definitions/DebConfig"
651
- }
609
+ {
610
+ "description": "*macOS 10.10+**",
611
+ "type": "string",
612
+ "enum": [
613
+ "titlebar"
652
614
  ]
653
615
  },
654
- "macOS": {
655
- "description": "Configuration for the macOS bundles.",
656
- "default": {
657
- "minimumSystemVersion": "10.13"
658
- },
659
- "allOf": [
660
- {
661
- "$ref": "#/definitions/MacConfig"
662
- }
616
+ {
617
+ "description": "*macOS 10.10+**",
618
+ "type": "string",
619
+ "enum": [
620
+ "selection"
663
621
  ]
664
622
  },
665
- "externalBin": {
666
- "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.",
667
- "type": [
668
- "array",
669
- "null"
670
- ],
671
- "items": {
672
- "type": "string"
673
- }
623
+ {
624
+ "description": "*macOS 10.11+**",
625
+ "type": "string",
626
+ "enum": [
627
+ "menu"
628
+ ]
674
629
  },
675
- "windows": {
676
- "description": "Configuration for the Windows bundle.",
677
- "default": {
678
- "allowDowngrades": true,
679
- "certificateThumbprint": null,
680
- "digestAlgorithm": null,
681
- "nsis": null,
682
- "timestampUrl": null,
683
- "tsp": false,
684
- "webviewFixedRuntimePath": null,
685
- "webviewInstallMode": {
686
- "silent": true,
687
- "type": "downloadBootstrapper"
688
- },
689
- "wix": null
690
- },
691
- "allOf": [
692
- {
693
- "$ref": "#/definitions/WindowsConfig"
694
- }
630
+ {
631
+ "description": "*macOS 10.11+**",
632
+ "type": "string",
633
+ "enum": [
634
+ "popover"
695
635
  ]
696
636
  },
697
- "iOS": {
698
- "description": "iOS configuration.",
699
- "default": {},
700
- "allOf": [
701
- {
702
- "$ref": "#/definitions/IosConfig"
703
- }
637
+ {
638
+ "description": "*macOS 10.11+**",
639
+ "type": "string",
640
+ "enum": [
641
+ "sidebar"
704
642
  ]
705
643
  },
706
- "android": {
707
- "description": "Android configuration.",
708
- "default": {
709
- "minSdkVersion": 24
710
- },
711
- "allOf": [
712
- {
713
- "$ref": "#/definitions/AndroidConfig"
714
- }
644
+ {
645
+ "description": "*macOS 10.14+**",
646
+ "type": "string",
647
+ "enum": [
648
+ "headerView"
715
649
  ]
716
650
  },
717
- "updater": {
718
- "description": "The updater configuration.",
719
- "default": {
720
- "active": false,
721
- "pubkey": "",
722
- "windows": {
723
- "installMode": "passive"
724
- }
725
- },
726
- "allOf": [
727
- {
728
- "$ref": "#/definitions/UpdaterConfig"
729
- }
651
+ {
652
+ "description": "*macOS 10.14+**",
653
+ "type": "string",
654
+ "enum": [
655
+ "sheet"
730
656
  ]
731
- }
732
- },
733
- "additionalProperties": false
734
- },
735
- "BundleTarget": {
736
- "description": "Targets to bundle. Each value is case insensitive.",
737
- "anyOf": [
657
+ },
738
658
  {
739
- "description": "Bundle all targets.",
659
+ "description": "*macOS 10.14+**",
660
+ "type": "string",
740
661
  "enum": [
741
- "all"
662
+ "windowBackground"
742
663
  ]
743
664
  },
744
665
  {
745
- "description": "A list of bundle targets.",
746
- "type": "array",
747
- "items": {
748
- "$ref": "#/definitions/BundleType"
749
- }
666
+ "description": "*macOS 10.14+**",
667
+ "type": "string",
668
+ "enum": [
669
+ "hudWindow"
670
+ ]
750
671
  },
751
672
  {
752
- "description": "A single bundle target.",
753
- "allOf": [
754
- {
755
- "$ref": "#/definitions/BundleType"
756
- }
673
+ "description": "*macOS 10.14+**",
674
+ "type": "string",
675
+ "enum": [
676
+ "fullScreenUI"
757
677
  ]
758
- }
759
- ]
760
- },
761
- "BundleType": {
762
- "description": "A bundle referenced by tauri-bundler.",
763
- "oneOf": [
678
+ },
764
679
  {
765
- "description": "The debian bundle (.deb).",
680
+ "description": "*macOS 10.14+**",
766
681
  "type": "string",
767
682
  "enum": [
768
- "deb"
683
+ "tooltip"
769
684
  ]
770
685
  },
771
686
  {
772
- "description": "The AppImage bundle (.appimage).",
687
+ "description": "*macOS 10.14+**",
773
688
  "type": "string",
774
689
  "enum": [
775
- "appimage"
690
+ "contentBackground"
776
691
  ]
777
692
  },
778
693
  {
779
- "description": "The Microsoft Installer bundle (.msi).",
694
+ "description": "*macOS 10.14+**",
780
695
  "type": "string",
781
696
  "enum": [
782
- "msi"
697
+ "underWindowBackground"
783
698
  ]
784
699
  },
785
700
  {
786
- "description": "The NSIS bundle (.exe).",
701
+ "description": "*macOS 10.14+**",
787
702
  "type": "string",
788
703
  "enum": [
789
- "nsis"
704
+ "underPageBackground"
790
705
  ]
791
706
  },
792
707
  {
793
- "description": "The macOS application bundle (.app).",
708
+ "description": "Mica effect that matches the system dark perefence **Windows 11 Only**",
794
709
  "type": "string",
795
710
  "enum": [
796
- "app"
711
+ "mica"
797
712
  ]
798
713
  },
799
714
  {
800
- "description": "The Apple Disk Image bundle (.dmg).",
715
+ "description": "Mica effect with dark mode but only if dark mode is enabled on the system **Windows 11 Only**",
801
716
  "type": "string",
802
717
  "enum": [
803
- "dmg"
718
+ "micaDark"
804
719
  ]
805
720
  },
806
721
  {
807
- "description": "The Tauri updater bundle.",
722
+ "description": "Mica effect with light mode **Windows 11 Only**",
808
723
  "type": "string",
809
724
  "enum": [
810
- "updater"
725
+ "micaLight"
726
+ ]
727
+ },
728
+ {
729
+ "description": "Tabbed effect that matches the system dark perefence **Windows 11 Only**",
730
+ "type": "string",
731
+ "enum": [
732
+ "tabbed"
733
+ ]
734
+ },
735
+ {
736
+ "description": "Tabbed effect with dark mode but only if dark mode is enabled on the system **Windows 11 Only**",
737
+ "type": "string",
738
+ "enum": [
739
+ "tabbedDark"
740
+ ]
741
+ },
742
+ {
743
+ "description": "Tabbed effect with light mode **Windows 11 Only**",
744
+ "type": "string",
745
+ "enum": [
746
+ "tabbedLight"
747
+ ]
748
+ },
749
+ {
750
+ "description": "**Windows 7/10/11(22H1) Only**\n\n## Notes\n\nThis effect has bad performance when resizing/dragging the window on Windows 11 build 22621.",
751
+ "type": "string",
752
+ "enum": [
753
+ "blur"
754
+ ]
755
+ },
756
+ {
757
+ "description": "**Windows 10/11 Only**\n\n## Notes\n\nThis effect has bad performance when resizing/dragging the window on Windows 10 v1903+ and Windows 11 build 22000.",
758
+ "type": "string",
759
+ "enum": [
760
+ "acrylic"
811
761
  ]
812
762
  }
813
763
  ]
814
764
  },
815
- "AppImageConfig": {
816
- "description": "Configuration for AppImage bundles.\n\nSee more: https://tauri.app/v1/api/config#appimageconfig",
817
- "type": "object",
818
- "properties": {
819
- "bundleMediaFramework": {
820
- "description": "Include additional gstreamer dependencies needed for audio and video playback. This increases the bundle size by ~15-35MB depending on your build system.",
821
- "default": false,
822
- "type": "boolean"
765
+ "WindowEffectState": {
766
+ "description": "Window effect state **macOS only**\n\n<https://developer.apple.com/documentation/appkit/nsvisualeffectview/state>",
767
+ "oneOf": [
768
+ {
769
+ "description": "Make window effect state follow the window's active state",
770
+ "type": "string",
771
+ "enum": [
772
+ "followsWindowActiveState"
773
+ ]
774
+ },
775
+ {
776
+ "description": "Make window effect state always active",
777
+ "type": "string",
778
+ "enum": [
779
+ "active"
780
+ ]
781
+ },
782
+ {
783
+ "description": "Make window effect state always inactive",
784
+ "type": "string",
785
+ "enum": [
786
+ "inactive"
787
+ ]
823
788
  }
824
- },
825
- "additionalProperties": false
789
+ ]
826
790
  },
827
- "DebConfig": {
828
- "description": "Configuration for Debian (.deb) bundles.\n\nSee more: https://tauri.app/v1/api/config#debconfig",
829
- "type": "object",
830
- "properties": {
831
- "depends": {
832
- "description": "The list of deb dependencies your application relies on.",
833
- "type": [
834
- "array",
835
- "null"
836
- ],
837
- "items": {
838
- "type": "string"
839
- }
791
+ "Color": {
792
+ "description": "a tuple struct of RGBA colors. Each value has minimum of 0 and maximum of 255.",
793
+ "type": "array",
794
+ "items": [
795
+ {
796
+ "type": "integer",
797
+ "format": "uint8",
798
+ "minimum": 0.0
840
799
  },
841
- "files": {
842
- "description": "The files to include on the package.",
843
- "default": {},
800
+ {
801
+ "type": "integer",
802
+ "format": "uint8",
803
+ "minimum": 0.0
804
+ },
805
+ {
806
+ "type": "integer",
807
+ "format": "uint8",
808
+ "minimum": 0.0
809
+ },
810
+ {
811
+ "type": "integer",
812
+ "format": "uint8",
813
+ "minimum": 0.0
814
+ }
815
+ ],
816
+ "maxItems": 4,
817
+ "minItems": 4
818
+ },
819
+ "SecurityConfig": {
820
+ "description": "Security configuration.\n\nSee more: <https://tauri.app/v1/api/config#securityconfig>",
821
+ "type": "object",
822
+ "properties": {
823
+ "csp": {
824
+ "description": "The Content Security Policy that will be injected on all HTML files on the built application. If [`dev_csp`](#SecurityConfig.devCsp) 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>.",
825
+ "anyOf": [
826
+ {
827
+ "$ref": "#/definitions/Csp"
828
+ },
829
+ {
830
+ "type": "null"
831
+ }
832
+ ]
833
+ },
834
+ "devCsp": {
835
+ "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>.",
836
+ "anyOf": [
837
+ {
838
+ "$ref": "#/definitions/Csp"
839
+ },
840
+ {
841
+ "type": "null"
842
+ }
843
+ ]
844
+ },
845
+ "freezePrototype": {
846
+ "description": "Freeze the `Object.prototype` when using the custom protocol.",
847
+ "default": false,
848
+ "type": "boolean"
849
+ },
850
+ "dangerousDisableAssetCspModification": {
851
+ "description": "Disables the Tauri-injected CSP sources.\n\nAt compile time, Tauri parses all the frontend assets and changes the Content-Security-Policy to only allow loading of your own scripts and styles by injecting nonce and hash sources. This stricts your CSP, which may introduce issues when using along with other flexing sources.\n\nThis configuration option allows both a boolean and a list of strings as value. A boolean instructs Tauri to disable the injection for all CSP injections, and a list of strings indicates the CSP directives that Tauri cannot inject.\n\n**WARNING:** Only disable this if you know what you are doing and have properly configured the CSP. Your application might be vulnerable to XSS attacks without this Tauri protection.",
852
+ "default": false,
853
+ "allOf": [
854
+ {
855
+ "$ref": "#/definitions/DisabledCspModificationKind"
856
+ }
857
+ ]
858
+ },
859
+ "assetProtocol": {
860
+ "description": "Custom protocol config.",
861
+ "default": {
862
+ "enable": false,
863
+ "scope": []
864
+ },
865
+ "allOf": [
866
+ {
867
+ "$ref": "#/definitions/AssetProtocolConfig"
868
+ }
869
+ ]
870
+ },
871
+ "pattern": {
872
+ "description": "The pattern to use.",
873
+ "default": {
874
+ "use": "brownfield"
875
+ },
876
+ "allOf": [
877
+ {
878
+ "$ref": "#/definitions/PatternKind"
879
+ }
880
+ ]
881
+ }
882
+ },
883
+ "additionalProperties": false
884
+ },
885
+ "Csp": {
886
+ "description": "A Content-Security-Policy definition. See <https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP>.",
887
+ "anyOf": [
888
+ {
889
+ "description": "The entire CSP policy in a single text string.",
890
+ "type": "string"
891
+ },
892
+ {
893
+ "description": "An object mapping a directive with its sources values as a list of strings.",
844
894
  "type": "object",
845
895
  "additionalProperties": {
896
+ "$ref": "#/definitions/CspDirectiveSources"
897
+ }
898
+ }
899
+ ]
900
+ },
901
+ "CspDirectiveSources": {
902
+ "description": "A Content-Security-Policy directive source list. See <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/Sources#sources>.",
903
+ "anyOf": [
904
+ {
905
+ "description": "An inline list of CSP sources. Same as [`Self::List`], but concatenated with a space separator.",
906
+ "type": "string"
907
+ },
908
+ {
909
+ "description": "A list of CSP sources. The collection will be concatenated with a space separator for the CSP string.",
910
+ "type": "array",
911
+ "items": {
912
+ "type": "string"
913
+ }
914
+ }
915
+ ]
916
+ },
917
+ "DisabledCspModificationKind": {
918
+ "description": "The possible values for the `dangerous_disable_asset_csp_modification` config option.",
919
+ "anyOf": [
920
+ {
921
+ "description": "If `true`, disables all CSP modification. `false` is the default value and it configures Tauri to control the CSP.",
922
+ "type": "boolean"
923
+ },
924
+ {
925
+ "description": "Disables the given list of CSP directives modifications.",
926
+ "type": "array",
927
+ "items": {
846
928
  "type": "string"
847
929
  }
848
930
  }
931
+ ]
932
+ },
933
+ "AssetProtocolConfig": {
934
+ "description": "Config for the asset custom protocol.\n\nSee more: <https://tauri.app/v1/api/config#assetprotocolconfig>",
935
+ "type": "object",
936
+ "properties": {
937
+ "scope": {
938
+ "description": "The access scope for the asset protocol.",
939
+ "default": [],
940
+ "allOf": [
941
+ {
942
+ "$ref": "#/definitions/FsScope"
943
+ }
944
+ ]
945
+ },
946
+ "enable": {
947
+ "description": "Enables the asset protocol.",
948
+ "default": false,
949
+ "type": "boolean"
950
+ }
849
951
  },
850
952
  "additionalProperties": false
851
953
  },
852
- "MacConfig": {
853
- "description": "Configuration for the macOS bundles.\n\nSee more: https://tauri.app/v1/api/config#macconfig",
954
+ "FsScope": {
955
+ "description": "Protocol 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`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
956
+ "anyOf": [
957
+ {
958
+ "description": "A list of paths that are allowed by this scope.",
959
+ "type": "array",
960
+ "items": {
961
+ "type": "string"
962
+ }
963
+ },
964
+ {
965
+ "description": "A complete scope configuration.",
966
+ "type": "object",
967
+ "properties": {
968
+ "allow": {
969
+ "description": "A list of paths that are allowed by this scope.",
970
+ "default": [],
971
+ "type": "array",
972
+ "items": {
973
+ "type": "string"
974
+ }
975
+ },
976
+ "deny": {
977
+ "description": "A list of paths that are not allowed by this scope. This gets precedence over the [`Self::Scope::allow`] list.",
978
+ "default": [],
979
+ "type": "array",
980
+ "items": {
981
+ "type": "string"
982
+ }
983
+ },
984
+ "requireLiteralLeadingDot": {
985
+ "description": "Whether or not paths that contain components that start with a `.` will require that `.` appears literally in the pattern; `*`, `?`, `**`, or `[...]` will not match. This is useful because such files are conventionally considered hidden on Unix systems and it might be desirable to skip them when listing files.\n\nDefaults to `true` on Unix systems and `false` on Windows",
986
+ "type": [
987
+ "boolean",
988
+ "null"
989
+ ]
990
+ }
991
+ }
992
+ }
993
+ ]
994
+ },
995
+ "PatternKind": {
996
+ "description": "The application pattern.",
997
+ "oneOf": [
998
+ {
999
+ "description": "Brownfield pattern.",
1000
+ "type": "object",
1001
+ "required": [
1002
+ "use"
1003
+ ],
1004
+ "properties": {
1005
+ "use": {
1006
+ "type": "string",
1007
+ "enum": [
1008
+ "brownfield"
1009
+ ]
1010
+ }
1011
+ }
1012
+ },
1013
+ {
1014
+ "description": "Isolation pattern. Recommended for security purposes.",
1015
+ "type": "object",
1016
+ "required": [
1017
+ "options",
1018
+ "use"
1019
+ ],
1020
+ "properties": {
1021
+ "use": {
1022
+ "type": "string",
1023
+ "enum": [
1024
+ "isolation"
1025
+ ]
1026
+ },
1027
+ "options": {
1028
+ "type": "object",
1029
+ "required": [
1030
+ "dir"
1031
+ ],
1032
+ "properties": {
1033
+ "dir": {
1034
+ "description": "The dir containing the index.html file that contains the secure isolation application.",
1035
+ "type": "string"
1036
+ }
1037
+ }
1038
+ }
1039
+ }
1040
+ }
1041
+ ]
1042
+ },
1043
+ "TrayIconConfig": {
1044
+ "description": "Configuration for application tray icon.\n\nSee more: <https://tauri.app/v1/api/config#trayiconconfig>",
854
1045
  "type": "object",
1046
+ "required": [
1047
+ "iconPath"
1048
+ ],
855
1049
  "properties": {
856
- "frameworks": {
857
- "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.",
1050
+ "id": {
1051
+ "description": "Set an id for this tray icon so you can reference it later, defaults to `main`.",
1052
+ "type": [
1053
+ "string",
1054
+ "null"
1055
+ ]
1056
+ },
1057
+ "iconPath": {
1058
+ "description": "Path to the default icon to use for the tray icon.",
1059
+ "type": "string"
1060
+ },
1061
+ "iconAsTemplate": {
1062
+ "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.",
1063
+ "default": false,
1064
+ "type": "boolean"
1065
+ },
1066
+ "menuOnLeftClick": {
1067
+ "description": "A Boolean value that determines whether the menu should appear when the tray icon receives a left click on macOS.",
1068
+ "default": true,
1069
+ "type": "boolean"
1070
+ },
1071
+ "title": {
1072
+ "description": "Title for MacOS tray",
1073
+ "type": [
1074
+ "string",
1075
+ "null"
1076
+ ]
1077
+ },
1078
+ "tooltip": {
1079
+ "description": "Tray icon tooltip on Windows and macOS",
1080
+ "type": [
1081
+ "string",
1082
+ "null"
1083
+ ]
1084
+ }
1085
+ },
1086
+ "additionalProperties": false
1087
+ },
1088
+ "BuildConfig": {
1089
+ "description": "The Build configuration object.\n\nSee more: <https://tauri.app/v1/api/config#buildconfig>",
1090
+ "type": "object",
1091
+ "properties": {
1092
+ "runner": {
1093
+ "description": "The binary used to build and run the application.",
1094
+ "type": [
1095
+ "string",
1096
+ "null"
1097
+ ]
1098
+ },
1099
+ "devUrl": {
1100
+ "description": "The URL to load in development.\n\nThis is usually an URL to a dev server, which serves your application assets with hot-reload and HMR. Most modern JavaScript bundlers like [vite](https://vitejs.dev/guide/) provides a way to start a dev server by default.\n\nIf you don't have a dev server or don't want to use one, ignore this option and use [`frontendDist`](BuildConfig::frontend_dist) and point to a web assets directory, and Tauri CLI will run its built-in dev server and provide a simple hot-reload experience.",
1101
+ "type": [
1102
+ "string",
1103
+ "null"
1104
+ ],
1105
+ "format": "uri"
1106
+ },
1107
+ "frontendDist": {
1108
+ "description": "The path to the application assets (usually the `dist` folder of your javascript bundler) or a URL that could be either a custom protocol registered in the tauri app (for example: `myprotocol://`) or a remote URL (for example: `https://site.com/app`).\n\nWhen a path relative to the configuration file is provided, it is read recursively and all files are embedded in the application binary. Tauri then looks for an `index.html` and serves it as the default entry point for your application.\n\nYou can also provide a list of paths to be embedded, which allows granular control over what files are added to the binary. In this case, all files are added to the root and you must reference it that way in your HTML files.\n\nWhen a URL is provided, the application won't have bundled assets and the application will load that URL by default.",
1109
+ "anyOf": [
1110
+ {
1111
+ "$ref": "#/definitions/FrontendDist"
1112
+ },
1113
+ {
1114
+ "type": "null"
1115
+ }
1116
+ ]
1117
+ },
1118
+ "beforeDevCommand": {
1119
+ "description": "A shell command to run before `tauri dev` kicks in.\n\nThe TAURI_ENV_PLATFORM, TAURI_ENV_ARCH, TAURI_ENV_FAMILY, TAURI_ENV_PLATFORM_VERSION, TAURI_ENV_PLATFORM_TYPE and TAURI_ENV_DEBUG environment variables are set if you perform conditional compilation.",
1120
+ "anyOf": [
1121
+ {
1122
+ "$ref": "#/definitions/BeforeDevCommand"
1123
+ },
1124
+ {
1125
+ "type": "null"
1126
+ }
1127
+ ]
1128
+ },
1129
+ "beforeBuildCommand": {
1130
+ "description": "A shell command to run before `tauri build` kicks in.\n\nThe TAURI_ENV_PLATFORM, TAURI_ENV_ARCH, TAURI_ENV_FAMILY, TAURI_ENV_PLATFORM_VERSION, TAURI_ENV_PLATFORM_TYPE and TAURI_ENV_DEBUG environment variables are set if you perform conditional compilation.",
1131
+ "anyOf": [
1132
+ {
1133
+ "$ref": "#/definitions/HookCommand"
1134
+ },
1135
+ {
1136
+ "type": "null"
1137
+ }
1138
+ ]
1139
+ },
1140
+ "beforeBundleCommand": {
1141
+ "description": "A shell command to run before the bundling phase in `tauri build` kicks in.\n\nThe TAURI_ENV_PLATFORM, TAURI_ENV_ARCH, TAURI_ENV_FAMILY, TAURI_ENV_PLATFORM_VERSION, TAURI_ENV_PLATFORM_TYPE and TAURI_ENV_DEBUG environment variables are set if you perform conditional compilation.",
1142
+ "anyOf": [
1143
+ {
1144
+ "$ref": "#/definitions/HookCommand"
1145
+ },
1146
+ {
1147
+ "type": "null"
1148
+ }
1149
+ ]
1150
+ },
1151
+ "features": {
1152
+ "description": "Features passed to `cargo` commands.",
1153
+ "type": [
1154
+ "array",
1155
+ "null"
1156
+ ],
1157
+ "items": {
1158
+ "type": "string"
1159
+ }
1160
+ }
1161
+ },
1162
+ "additionalProperties": false
1163
+ },
1164
+ "FrontendDist": {
1165
+ "description": "Defines the URL or assets to embed in the application.",
1166
+ "anyOf": [
1167
+ {
1168
+ "description": "An external URL that should be used as the default application URL.",
1169
+ "type": "string",
1170
+ "format": "uri"
1171
+ },
1172
+ {
1173
+ "description": "Path to a directory containing the frontend dist assets.",
1174
+ "type": "string"
1175
+ },
1176
+ {
1177
+ "description": "An array of files to embed on the app.",
1178
+ "type": "array",
1179
+ "items": {
1180
+ "type": "string"
1181
+ }
1182
+ }
1183
+ ]
1184
+ },
1185
+ "BeforeDevCommand": {
1186
+ "description": "Describes the shell command to run before `tauri dev`.",
1187
+ "anyOf": [
1188
+ {
1189
+ "description": "Run the given script with the default options.",
1190
+ "type": "string"
1191
+ },
1192
+ {
1193
+ "description": "Run the given script with custom options.",
1194
+ "type": "object",
1195
+ "required": [
1196
+ "script"
1197
+ ],
1198
+ "properties": {
1199
+ "script": {
1200
+ "description": "The script to execute.",
1201
+ "type": "string"
1202
+ },
1203
+ "cwd": {
1204
+ "description": "The current working directory.",
1205
+ "type": [
1206
+ "string",
1207
+ "null"
1208
+ ]
1209
+ },
1210
+ "wait": {
1211
+ "description": "Whether `tauri dev` should wait for the command to finish or not. Defaults to `false`.",
1212
+ "default": false,
1213
+ "type": "boolean"
1214
+ }
1215
+ }
1216
+ }
1217
+ ]
1218
+ },
1219
+ "HookCommand": {
1220
+ "description": "Describes a shell command to be executed when a CLI hook is triggered.",
1221
+ "anyOf": [
1222
+ {
1223
+ "description": "Run the given script with the default options.",
1224
+ "type": "string"
1225
+ },
1226
+ {
1227
+ "description": "Run the given script with custom options.",
1228
+ "type": "object",
1229
+ "required": [
1230
+ "script"
1231
+ ],
1232
+ "properties": {
1233
+ "script": {
1234
+ "description": "The script to execute.",
1235
+ "type": "string"
1236
+ },
1237
+ "cwd": {
1238
+ "description": "The current working directory.",
1239
+ "type": [
1240
+ "string",
1241
+ "null"
1242
+ ]
1243
+ }
1244
+ }
1245
+ }
1246
+ ]
1247
+ },
1248
+ "BundleConfig": {
1249
+ "description": "Configuration for tauri-bundler.\n\nSee more: <https://tauri.app/v1/api/config#bundleconfig>",
1250
+ "type": "object",
1251
+ "properties": {
1252
+ "active": {
1253
+ "description": "Whether Tauri should bundle your application or just output the executable.",
1254
+ "default": false,
1255
+ "type": "boolean"
1256
+ },
1257
+ "targets": {
1258
+ "description": "The bundle targets, currently supports [\"deb\", \"rpm\", \"appimage\", \"nsis\", \"msi\", \"app\", \"dmg\", \"updater\"] or \"all\".",
1259
+ "default": "all",
1260
+ "allOf": [
1261
+ {
1262
+ "$ref": "#/definitions/BundleTarget"
1263
+ }
1264
+ ]
1265
+ },
1266
+ "publisher": {
1267
+ "description": "The application's publisher. Defaults to the second element in the identifier string. Currently maps to the Manufacturer property of the Windows Installer.",
1268
+ "type": [
1269
+ "string",
1270
+ "null"
1271
+ ]
1272
+ },
1273
+ "icon": {
1274
+ "description": "The app's icons",
1275
+ "default": [],
1276
+ "type": "array",
1277
+ "items": {
1278
+ "type": "string"
1279
+ }
1280
+ },
1281
+ "resources": {
1282
+ "description": "App resources to bundle. Each resource is a path to a file or directory. Glob patterns are supported.",
1283
+ "anyOf": [
1284
+ {
1285
+ "$ref": "#/definitions/BundleResources"
1286
+ },
1287
+ {
1288
+ "type": "null"
1289
+ }
1290
+ ]
1291
+ },
1292
+ "copyright": {
1293
+ "description": "A copyright string associated with your application.",
1294
+ "type": [
1295
+ "string",
1296
+ "null"
1297
+ ]
1298
+ },
1299
+ "license": {
1300
+ "description": "The package's license identifier to be included in the appropriate bundles. If not set, defaults to the license from the Cargo.toml file.",
1301
+ "type": [
1302
+ "string",
1303
+ "null"
1304
+ ]
1305
+ },
1306
+ "licenseFile": {
1307
+ "description": "The path to the license file to be included in the appropriate bundles.",
1308
+ "type": [
1309
+ "string",
1310
+ "null"
1311
+ ]
1312
+ },
1313
+ "category": {
1314
+ "description": "The application kind.\n\nShould be one of the following: Business, DeveloperTool, Education, Entertainment, Finance, Game, ActionGame, AdventureGame, ArcadeGame, BoardGame, CardGame, CasinoGame, DiceGame, EducationalGame, FamilyGame, KidsGame, MusicGame, PuzzleGame, RacingGame, RolePlayingGame, SimulationGame, SportsGame, StrategyGame, TriviaGame, WordGame, GraphicsAndDesign, HealthcareAndFitness, Lifestyle, Medical, Music, News, Photography, Productivity, Reference, SocialNetworking, Sports, Travel, Utility, Video, Weather.",
1315
+ "type": [
1316
+ "string",
1317
+ "null"
1318
+ ]
1319
+ },
1320
+ "fileAssociations": {
1321
+ "description": "File associations to application.",
858
1322
  "type": [
859
1323
  "array",
860
1324
  "null"
861
1325
  ],
862
1326
  "items": {
863
- "type": "string"
1327
+ "$ref": "#/definitions/FileAssociation"
864
1328
  }
865
1329
  },
866
- "minimumSystemVersion": {
867
- "description": "A version string indicating the minimum macOS X version that the bundled application supports. Defaults to `10.13`.\n\nSetting it to `null` completely removes the `LSMinimumSystemVersion` field on the bundle's `Info.plist` and the `MACOSX_DEPLOYMENT_TARGET` environment variable.\n\nAn empty string is considered an invalid value so the default value is used.",
868
- "default": "10.13",
1330
+ "shortDescription": {
1331
+ "description": "A short description of your application.",
869
1332
  "type": [
870
1333
  "string",
871
1334
  "null"
872
1335
  ]
873
1336
  },
874
- "exceptionDomain": {
875
- "description": "Allows your application to communicate with the outside world. It should be a lowercase, without port and protocol domain name.",
1337
+ "longDescription": {
1338
+ "description": "A longer, multi-line description of the application.",
876
1339
  "type": [
877
1340
  "string",
878
1341
  "null"
879
1342
  ]
880
1343
  },
881
- "license": {
882
- "description": "The path to the license file to add to the DMG bundle.",
1344
+ "externalBin": {
1345
+ "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.",
883
1346
  "type": [
884
- "string",
1347
+ "array",
885
1348
  "null"
1349
+ ],
1350
+ "items": {
1351
+ "type": "string"
1352
+ }
1353
+ },
1354
+ "windows": {
1355
+ "description": "Configuration for the Windows bundles.",
1356
+ "default": {
1357
+ "allowDowngrades": true,
1358
+ "certificateThumbprint": null,
1359
+ "digestAlgorithm": null,
1360
+ "nsis": null,
1361
+ "timestampUrl": null,
1362
+ "tsp": false,
1363
+ "webviewFixedRuntimePath": null,
1364
+ "webviewInstallMode": {
1365
+ "silent": true,
1366
+ "type": "downloadBootstrapper"
1367
+ },
1368
+ "wix": null
1369
+ },
1370
+ "allOf": [
1371
+ {
1372
+ "$ref": "#/definitions/WindowsConfig"
1373
+ }
886
1374
  ]
887
1375
  },
888
- "signingIdentity": {
889
- "description": "Identity to use for code signing.",
1376
+ "linux": {
1377
+ "description": "Configuration for the Linux bundles.",
1378
+ "default": {
1379
+ "appimage": {
1380
+ "bundleMediaFramework": false,
1381
+ "files": {}
1382
+ },
1383
+ "deb": {
1384
+ "files": {}
1385
+ },
1386
+ "rpm": {
1387
+ "epoch": 0,
1388
+ "files": {},
1389
+ "release": "1"
1390
+ }
1391
+ },
1392
+ "allOf": [
1393
+ {
1394
+ "$ref": "#/definitions/LinuxConfig"
1395
+ }
1396
+ ]
1397
+ },
1398
+ "macOS": {
1399
+ "description": "Configuration for the macOS bundles.",
1400
+ "default": {
1401
+ "dmg": {
1402
+ "appPosition": {
1403
+ "x": 180,
1404
+ "y": 170
1405
+ },
1406
+ "applicationFolderPosition": {
1407
+ "x": 480,
1408
+ "y": 170
1409
+ },
1410
+ "windowSize": {
1411
+ "height": 400,
1412
+ "width": 660
1413
+ }
1414
+ },
1415
+ "files": {},
1416
+ "minimumSystemVersion": "10.13"
1417
+ },
1418
+ "allOf": [
1419
+ {
1420
+ "$ref": "#/definitions/MacConfig"
1421
+ }
1422
+ ]
1423
+ },
1424
+ "iOS": {
1425
+ "description": "iOS configuration.",
1426
+ "default": {},
1427
+ "allOf": [
1428
+ {
1429
+ "$ref": "#/definitions/IosConfig"
1430
+ }
1431
+ ]
1432
+ },
1433
+ "android": {
1434
+ "description": "Android configuration.",
1435
+ "default": {
1436
+ "minSdkVersion": 24
1437
+ },
1438
+ "allOf": [
1439
+ {
1440
+ "$ref": "#/definitions/AndroidConfig"
1441
+ }
1442
+ ]
1443
+ }
1444
+ },
1445
+ "additionalProperties": false
1446
+ },
1447
+ "BundleTarget": {
1448
+ "description": "Targets to bundle. Each value is case insensitive.",
1449
+ "anyOf": [
1450
+ {
1451
+ "description": "Bundle all targets.",
1452
+ "enum": [
1453
+ "all"
1454
+ ]
1455
+ },
1456
+ {
1457
+ "description": "A list of bundle targets.",
1458
+ "type": "array",
1459
+ "items": {
1460
+ "$ref": "#/definitions/BundleType"
1461
+ }
1462
+ },
1463
+ {
1464
+ "description": "A single bundle target.",
1465
+ "allOf": [
1466
+ {
1467
+ "$ref": "#/definitions/BundleType"
1468
+ }
1469
+ ]
1470
+ }
1471
+ ]
1472
+ },
1473
+ "BundleType": {
1474
+ "description": "A bundle referenced by tauri-bundler.",
1475
+ "oneOf": [
1476
+ {
1477
+ "description": "The debian bundle (.deb).",
1478
+ "type": "string",
1479
+ "enum": [
1480
+ "deb"
1481
+ ]
1482
+ },
1483
+ {
1484
+ "description": "The RPM bundle (.rpm).",
1485
+ "type": "string",
1486
+ "enum": [
1487
+ "rpm"
1488
+ ]
1489
+ },
1490
+ {
1491
+ "description": "The AppImage bundle (.appimage).",
1492
+ "type": "string",
1493
+ "enum": [
1494
+ "appimage"
1495
+ ]
1496
+ },
1497
+ {
1498
+ "description": "The Microsoft Installer bundle (.msi).",
1499
+ "type": "string",
1500
+ "enum": [
1501
+ "msi"
1502
+ ]
1503
+ },
1504
+ {
1505
+ "description": "The NSIS bundle (.exe).",
1506
+ "type": "string",
1507
+ "enum": [
1508
+ "nsis"
1509
+ ]
1510
+ },
1511
+ {
1512
+ "description": "The macOS application bundle (.app).",
1513
+ "type": "string",
1514
+ "enum": [
1515
+ "app"
1516
+ ]
1517
+ },
1518
+ {
1519
+ "description": "The Apple Disk Image bundle (.dmg).",
1520
+ "type": "string",
1521
+ "enum": [
1522
+ "dmg"
1523
+ ]
1524
+ },
1525
+ {
1526
+ "description": "The Tauri updater bundle.",
1527
+ "type": "string",
1528
+ "enum": [
1529
+ "updater"
1530
+ ]
1531
+ }
1532
+ ]
1533
+ },
1534
+ "BundleResources": {
1535
+ "description": "Definition for bundle resources. Can be either a list of paths to include or a map of source to target paths.",
1536
+ "anyOf": [
1537
+ {
1538
+ "description": "A list of paths to include.",
1539
+ "type": "array",
1540
+ "items": {
1541
+ "type": "string"
1542
+ }
1543
+ },
1544
+ {
1545
+ "description": "A map of source to target paths.",
1546
+ "type": "object",
1547
+ "additionalProperties": {
1548
+ "type": "string"
1549
+ }
1550
+ }
1551
+ ]
1552
+ },
1553
+ "FileAssociation": {
1554
+ "description": "File association",
1555
+ "type": "object",
1556
+ "required": [
1557
+ "ext"
1558
+ ],
1559
+ "properties": {
1560
+ "ext": {
1561
+ "description": "File extensions to associate with this app. e.g. 'png'",
1562
+ "type": "array",
1563
+ "items": {
1564
+ "$ref": "#/definitions/AssociationExt"
1565
+ }
1566
+ },
1567
+ "name": {
1568
+ "description": "The name. Maps to `CFBundleTypeName` on macOS. Default to `ext[0]`",
890
1569
  "type": [
891
1570
  "string",
892
1571
  "null"
893
1572
  ]
894
1573
  },
895
- "providerShortName": {
896
- "description": "Provider short name for notarization.",
1574
+ "description": {
1575
+ "description": "The association description. Windows-only. It is displayed on the `Type` column on Windows Explorer.",
897
1576
  "type": [
898
1577
  "string",
899
1578
  "null"
900
1579
  ]
901
1580
  },
902
- "entitlements": {
903
- "description": "Path to the entitlements file.",
1581
+ "role": {
1582
+ "description": "The app's role with respect to the type. Maps to `CFBundleTypeRole` on macOS.",
1583
+ "default": "Editor",
1584
+ "allOf": [
1585
+ {
1586
+ "$ref": "#/definitions/BundleTypeRole"
1587
+ }
1588
+ ]
1589
+ },
1590
+ "mimeType": {
1591
+ "description": "The mime-type e.g. 'image/png' or 'text/plain'. Linux-only.",
904
1592
  "type": [
905
1593
  "string",
906
1594
  "null"
@@ -909,8 +1597,52 @@
909
1597
  },
910
1598
  "additionalProperties": false
911
1599
  },
1600
+ "AssociationExt": {
1601
+ "description": "An extension for a [`FileAssociation`].\n\nA leading `.` is automatically stripped.",
1602
+ "type": "string"
1603
+ },
1604
+ "BundleTypeRole": {
1605
+ "description": "macOS-only. Corresponds to CFBundleTypeRole",
1606
+ "oneOf": [
1607
+ {
1608
+ "description": "CFBundleTypeRole.Editor. Files can be read and edited.",
1609
+ "type": "string",
1610
+ "enum": [
1611
+ "Editor"
1612
+ ]
1613
+ },
1614
+ {
1615
+ "description": "CFBundleTypeRole.Viewer. Files can be read.",
1616
+ "type": "string",
1617
+ "enum": [
1618
+ "Viewer"
1619
+ ]
1620
+ },
1621
+ {
1622
+ "description": "CFBundleTypeRole.Shell",
1623
+ "type": "string",
1624
+ "enum": [
1625
+ "Shell"
1626
+ ]
1627
+ },
1628
+ {
1629
+ "description": "CFBundleTypeRole.QLGenerator",
1630
+ "type": "string",
1631
+ "enum": [
1632
+ "QLGenerator"
1633
+ ]
1634
+ },
1635
+ {
1636
+ "description": "CFBundleTypeRole.None",
1637
+ "type": "string",
1638
+ "enum": [
1639
+ "None"
1640
+ ]
1641
+ }
1642
+ ]
1643
+ },
912
1644
  "WindowsConfig": {
913
- "description": "Windows bundler configuration.\n\nSee more: https://tauri.app/v1/api/config#windowsconfig",
1645
+ "description": "Windows bundler configuration.\n\nSee more: <https://tauri.app/v1/api/config#windowsconfig>",
914
1646
  "type": "object",
915
1647
  "properties": {
916
1648
  "digestAlgorithm": {
@@ -1094,7 +1826,7 @@
1094
1826
  ]
1095
1827
  },
1096
1828
  "WixConfig": {
1097
- "description": "Configuration for the MSI bundle using WiX.\n\nSee more: https://tauri.app/v1/api/config#wixconfig",
1829
+ "description": "Configuration for the MSI bundle using WiX.\n\nSee more: <https://tauri.app/v1/api/config#wixconfig>",
1098
1830
  "type": "object",
1099
1831
  "properties": {
1100
1832
  "language": {
@@ -1166,13 +1898,6 @@
1166
1898
  "default": false,
1167
1899
  "type": "boolean"
1168
1900
  },
1169
- "license": {
1170
- "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.",
1171
- "type": [
1172
- "string",
1173
- "null"
1174
- ]
1175
- },
1176
1901
  "enableElevatedUpdateTask": {
1177
1902
  "description": "Create an elevated update task within Windows Task Scheduler.",
1178
1903
  "default": false,
@@ -1219,7 +1944,7 @@
1219
1944
  ]
1220
1945
  },
1221
1946
  "WixLanguageConfig": {
1222
- "description": "Configuration for a target language for the WiX build.\n\nSee more: https://tauri.app/v1/api/config#wixlanguageconfig",
1947
+ "description": "Configuration for a target language for the WiX build.\n\nSee more: <https://tauri.app/v1/api/config#wixlanguageconfig>",
1223
1948
  "type": "object",
1224
1949
  "properties": {
1225
1950
  "localePath": {
@@ -1236,8 +1961,8 @@
1236
1961
  "description": "Configuration for the Installer bundle using NSIS.",
1237
1962
  "type": "object",
1238
1963
  "properties": {
1239
- "license": {
1240
- "description": "The path to the license file to render on the installer.",
1964
+ "template": {
1965
+ "description": "A custom .nsi template to use.",
1241
1966
  "type": [
1242
1967
  "string",
1243
1968
  "null"
@@ -1283,10 +2008,31 @@
1283
2008
  "type": "string"
1284
2009
  }
1285
2010
  },
2011
+ "customLanguageFiles": {
2012
+ "description": "A key-value pair where the key is the language and the value is the path to a custom `.nsh` file that holds the translated text for tauri's custom messages.\n\nSee <https://github.com/tauri-apps/tauri/blob/dev/tooling/bundler/src/bundle/windows/templates/nsis-languages/English.nsh> for an example `.nsh` file.\n\n**Note**: the key must be a valid NSIS language and it must be added to [`NsisConfig`] languages array,",
2013
+ "type": [
2014
+ "object",
2015
+ "null"
2016
+ ],
2017
+ "additionalProperties": {
2018
+ "type": "string"
2019
+ }
2020
+ },
1286
2021
  "displayLanguageSelector": {
1287
2022
  "description": "Whether to display a language selector dialog before the installer and uninstaller windows are rendered or not. By default the OS language is selected, with a fallback to the first language in the `languages` array.",
1288
2023
  "default": false,
1289
2024
  "type": "boolean"
2025
+ },
2026
+ "compression": {
2027
+ "description": "Set the compression algorithm used to compress files in the installer.\n\nSee <https://nsis.sourceforge.io/Reference/SetCompressor>",
2028
+ "anyOf": [
2029
+ {
2030
+ "$ref": "#/definitions/NsisCompression"
2031
+ },
2032
+ {
2033
+ "type": "null"
2034
+ }
2035
+ ]
1290
2036
  }
1291
2037
  },
1292
2038
  "additionalProperties": false
@@ -1317,330 +2063,163 @@
1317
2063
  }
1318
2064
  ]
1319
2065
  },
1320
- "IosConfig": {
1321
- "description": "General configuration for the iOS target.",
1322
- "type": "object",
1323
- "properties": {
1324
- "developmentTeam": {
1325
- "description": "The development team. This value is required for iOS development because code signing is enforced. The `TAURI_APPLE_DEVELOPMENT_TEAM` environment variable can be set to overwrite it.",
1326
- "type": [
1327
- "string",
1328
- "null"
1329
- ]
1330
- }
1331
- },
1332
- "additionalProperties": false
1333
- },
1334
- "AndroidConfig": {
1335
- "description": "General configuration for the iOS target.",
1336
- "type": "object",
1337
- "properties": {
1338
- "minSdkVersion": {
1339
- "description": "The minimum API level required for the application to run. The Android system will prevent the user from installing the application if the system's API level is lower than the value specified.",
1340
- "default": 24,
1341
- "type": "integer",
1342
- "format": "uint32",
1343
- "minimum": 0.0
1344
- }
1345
- },
1346
- "additionalProperties": false
1347
- },
1348
- "UpdaterConfig": {
1349
- "description": "The Updater configuration object.\n\nSee more: https://tauri.app/v1/api/config#updaterconfig",
1350
- "type": "object",
1351
- "properties": {
1352
- "active": {
1353
- "description": "Whether the updater is active or not.",
1354
- "default": false,
1355
- "type": "boolean"
1356
- },
1357
- "pubkey": {
1358
- "description": "Signature public key.",
1359
- "default": "",
1360
- "type": "string"
1361
- },
1362
- "windows": {
1363
- "description": "The Windows configuration for the updater.",
1364
- "default": {
1365
- "installMode": "passive"
1366
- },
1367
- "allOf": [
1368
- {
1369
- "$ref": "#/definitions/UpdaterWindowsConfig"
1370
- }
1371
- ]
1372
- }
1373
- },
1374
- "additionalProperties": false
1375
- },
1376
- "UpdaterWindowsConfig": {
1377
- "description": "The updater configuration for Windows.\n\nSee more: https://tauri.app/v1/api/config#updaterwindowsconfig",
1378
- "type": "object",
1379
- "properties": {
1380
- "installMode": {
1381
- "description": "The installation mode for the update on Windows. Defaults to `passive`.",
1382
- "default": "passive",
1383
- "allOf": [
1384
- {
1385
- "$ref": "#/definitions/WindowsUpdateInstallMode"
1386
- }
1387
- ]
1388
- }
1389
- },
1390
- "additionalProperties": false
1391
- },
1392
- "WindowsUpdateInstallMode": {
1393
- "description": "Install modes for the Windows update.",
2066
+ "NsisCompression": {
2067
+ "description": "Compression algorithms used in the NSIS installer.\n\nSee <https://nsis.sourceforge.io/Reference/SetCompressor>",
1394
2068
  "oneOf": [
1395
2069
  {
1396
- "description": "Specifies there's a basic UI during the installation process, including a final dialog box at the end.",
2070
+ "description": "ZLIB uses the deflate algorithm, it is a quick and simple method. With the default compression level it uses about 300 KB of memory.",
1397
2071
  "type": "string",
1398
2072
  "enum": [
1399
- "basicUi"
2073
+ "zlib"
1400
2074
  ]
1401
2075
  },
1402
2076
  {
1403
- "description": "The quiet mode means there's no user interaction required. Requires admin privileges if the installer does (WiX).",
2077
+ "description": "BZIP2 usually gives better compression ratios than ZLIB, but it is a bit slower and uses more memory. With the default compression level it uses about 4 MB of memory.",
1404
2078
  "type": "string",
1405
2079
  "enum": [
1406
- "quiet"
2080
+ "bzip2"
1407
2081
  ]
1408
2082
  },
1409
2083
  {
1410
- "description": "Specifies unattended mode, which means the installation only shows a progress bar.",
2084
+ "description": "LZMA (default) is a new compression method that gives very good compression ratios. The decompression speed is high (10-20 MB/s on a 2 GHz CPU), the compression speed is lower. The memory size that will be used for decompression is the dictionary size plus a few KBs, the default is 8 MB.",
1411
2085
  "type": "string",
1412
2086
  "enum": [
1413
- "passive"
2087
+ "lzma"
1414
2088
  ]
1415
2089
  }
1416
2090
  ]
1417
2091
  },
1418
- "SecurityConfig": {
1419
- "description": "Security configuration.\n\nSee more: https://tauri.app/v1/api/config#securityconfig",
2092
+ "LinuxConfig": {
2093
+ "description": "Configuration for Linux bundles.\n\nSee more: <https://tauri.app/v1/api/config#linuxconfig>",
1420
2094
  "type": "object",
1421
2095
  "properties": {
1422
- "csp": {
1423
- "description": "The Content Security Policy that will be injected on all HTML files on the built application. If [`dev_csp`](#SecurityConfig.devCsp) 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>.",
1424
- "anyOf": [
1425
- {
1426
- "$ref": "#/definitions/Csp"
1427
- },
1428
- {
1429
- "type": "null"
1430
- }
1431
- ]
1432
- },
1433
- "devCsp": {
1434
- "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>.",
1435
- "anyOf": [
1436
- {
1437
- "$ref": "#/definitions/Csp"
1438
- },
2096
+ "appimage": {
2097
+ "description": "Configuration for the AppImage bundle.",
2098
+ "default": {
2099
+ "bundleMediaFramework": false,
2100
+ "files": {}
2101
+ },
2102
+ "allOf": [
1439
2103
  {
1440
- "type": "null"
2104
+ "$ref": "#/definitions/AppImageConfig"
1441
2105
  }
1442
2106
  ]
1443
2107
  },
1444
- "freezePrototype": {
1445
- "description": "Freeze the `Object.prototype` when using the custom protocol.",
1446
- "default": false,
1447
- "type": "boolean"
1448
- },
1449
- "dangerousDisableAssetCspModification": {
1450
- "description": "Disables the Tauri-injected CSP sources.\n\nAt compile time, Tauri parses all the frontend assets and changes the Content-Security-Policy to only allow loading of your own scripts and styles by injecting nonce and hash sources. This stricts your CSP, which may introduce issues when using along with other flexing sources.\n\nThis configuration option allows both a boolean and a list of strings as value. A boolean instructs Tauri to disable the injection for all CSP injections, and a list of strings indicates the CSP directives that Tauri cannot inject.\n\n**WARNING:** Only disable this if you know what you are doing and have properly configured the CSP. Your application might be vulnerable to XSS attacks without this Tauri protection.",
1451
- "default": false,
2108
+ "deb": {
2109
+ "description": "Configuration for the Debian bundle.",
2110
+ "default": {
2111
+ "files": {}
2112
+ },
1452
2113
  "allOf": [
1453
2114
  {
1454
- "$ref": "#/definitions/DisabledCspModificationKind"
2115
+ "$ref": "#/definitions/DebConfig"
1455
2116
  }
1456
2117
  ]
1457
2118
  },
1458
- "dangerousRemoteDomainIpcAccess": {
1459
- "description": "Allow external domains to send command to Tauri.\n\nBy default, external domains do not have access to `window.__TAURI__`, which means they cannot communicate with the commands defined in Rust. This prevents attacks where an externally loaded malicious or compromised sites could start executing commands on the user's device.\n\nThis configuration allows a set of external domains to have access to the Tauri commands. When you configure a domain to be allowed to access the IPC, all subpaths are allowed. Subdomains are not allowed.\n\n**WARNING:** Only use this option if you either have internal checks against malicious external sites or you can trust the allowed external sites. You application might be vulnerable to dangerous Tauri command related attacks otherwise.",
1460
- "default": [],
1461
- "type": "array",
1462
- "items": {
1463
- "$ref": "#/definitions/RemoteDomainAccessScope"
1464
- }
1465
- },
1466
- "assetProtocol": {
1467
- "description": "Custom protocol config.",
2119
+ "rpm": {
2120
+ "description": "Configuration for the RPM bundle.",
1468
2121
  "default": {
1469
- "enable": false,
1470
- "scope": []
2122
+ "epoch": 0,
2123
+ "files": {},
2124
+ "release": "1"
1471
2125
  },
1472
2126
  "allOf": [
1473
2127
  {
1474
- "$ref": "#/definitions/AssetProtocolConfig"
2128
+ "$ref": "#/definitions/RpmConfig"
1475
2129
  }
1476
2130
  ]
1477
2131
  }
1478
2132
  },
1479
2133
  "additionalProperties": false
1480
2134
  },
1481
- "Csp": {
1482
- "description": "A Content-Security-Policy definition. See <https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP>.",
1483
- "anyOf": [
1484
- {
1485
- "description": "The entire CSP policy in a single text string.",
1486
- "type": "string"
2135
+ "AppImageConfig": {
2136
+ "description": "Configuration for AppImage bundles.\n\nSee more: <https://tauri.app/v1/api/config#appimageconfig>",
2137
+ "type": "object",
2138
+ "properties": {
2139
+ "bundleMediaFramework": {
2140
+ "description": "Include additional gstreamer dependencies needed for audio and video playback. This increases the bundle size by ~15-35MB depending on your build system.",
2141
+ "default": false,
2142
+ "type": "boolean"
1487
2143
  },
1488
- {
1489
- "description": "An object mapping a directive with its sources values as a list of strings.",
2144
+ "files": {
2145
+ "description": "The files to include in the Appimage Binary.",
2146
+ "default": {},
1490
2147
  "type": "object",
1491
2148
  "additionalProperties": {
1492
- "$ref": "#/definitions/CspDirectiveSources"
1493
- }
1494
- }
1495
- ]
1496
- },
1497
- "CspDirectiveSources": {
1498
- "description": "A Content-Security-Policy directive source list. See <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/Sources#sources>.",
1499
- "anyOf": [
1500
- {
1501
- "description": "An inline list of CSP sources. Same as [`Self::List`], but concatenated with a space separator.",
1502
- "type": "string"
1503
- },
1504
- {
1505
- "description": "A list of CSP sources. The collection will be concatenated with a space separator for the CSP string.",
1506
- "type": "array",
1507
- "items": {
1508
- "type": "string"
1509
- }
1510
- }
1511
- ]
1512
- },
1513
- "DisabledCspModificationKind": {
1514
- "description": "The possible values for the `dangerous_disable_asset_csp_modification` config option.",
1515
- "anyOf": [
1516
- {
1517
- "description": "If `true`, disables all CSP modification. `false` is the default value and it configures Tauri to control the CSP.",
1518
- "type": "boolean"
1519
- },
1520
- {
1521
- "description": "Disables the given list of CSP directives modifications.",
1522
- "type": "array",
1523
- "items": {
1524
2149
  "type": "string"
1525
2150
  }
1526
2151
  }
1527
- ]
2152
+ },
2153
+ "additionalProperties": false
1528
2154
  },
1529
- "RemoteDomainAccessScope": {
1530
- "description": "External command access definition.",
2155
+ "DebConfig": {
2156
+ "description": "Configuration for Debian (.deb) bundles.\n\nSee more: <https://tauri.app/v1/api/config#debconfig>",
1531
2157
  "type": "object",
1532
- "required": [
1533
- "domain",
1534
- "windows"
1535
- ],
1536
2158
  "properties": {
1537
- "scheme": {
1538
- "description": "The URL scheme to allow. By default, all schemas are allowed.",
2159
+ "depends": {
2160
+ "description": "The list of deb dependencies your application relies on.",
1539
2161
  "type": [
1540
- "string",
2162
+ "array",
1541
2163
  "null"
1542
- ]
1543
- },
1544
- "domain": {
1545
- "description": "The domain to allow.",
1546
- "type": "string"
1547
- },
1548
- "windows": {
1549
- "description": "The list of window labels this scope applies to.",
1550
- "type": "array",
2164
+ ],
1551
2165
  "items": {
1552
2166
  "type": "string"
1553
2167
  }
1554
2168
  },
1555
- "plugins": {
1556
- "description": "The list of plugins that are allowed in this scope.",
1557
- "default": [],
1558
- "type": "array",
1559
- "items": {
2169
+ "files": {
2170
+ "description": "The files to include on the package.",
2171
+ "default": {},
2172
+ "type": "object",
2173
+ "additionalProperties": {
1560
2174
  "type": "string"
1561
2175
  }
1562
- }
1563
- },
1564
- "additionalProperties": false
1565
- },
1566
- "AssetProtocolConfig": {
1567
- "description": "Config for the asset custom protocol.\n\nSee more: https://tauri.app/v1/api/config#assetprotocolconfig",
1568
- "type": "object",
1569
- "properties": {
1570
- "scope": {
1571
- "description": "The access scope for the asset protocol.",
1572
- "default": [],
1573
- "allOf": [
1574
- {
1575
- "$ref": "#/definitions/FsScope"
1576
- }
1577
- ]
1578
2176
  },
1579
- "enable": {
1580
- "description": "Enables the asset protocol.",
1581
- "default": false,
1582
- "type": "boolean"
2177
+ "desktopTemplate": {
2178
+ "description": "Path to a custom desktop file Handlebars template.\n\nAvailable variables: `categories`, `comment` (optional), `exec`, `icon` and `name`.",
2179
+ "type": [
2180
+ "string",
2181
+ "null"
2182
+ ]
1583
2183
  }
1584
2184
  },
1585
2185
  "additionalProperties": false
1586
2186
  },
1587
- "FsScope": {
1588
- "description": "Protocol 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`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
1589
- "anyOf": [
1590
- {
1591
- "description": "A list of paths that are allowed by this scope.",
1592
- "type": "array",
1593
- "items": {
1594
- "type": "string"
1595
- }
1596
- },
1597
- {
1598
- "description": "A complete scope configuration.",
1599
- "type": "object",
1600
- "properties": {
1601
- "allow": {
1602
- "description": "A list of paths that are allowed by this scope.",
1603
- "default": [],
1604
- "type": "array",
1605
- "items": {
1606
- "type": "string"
1607
- }
1608
- },
1609
- "deny": {
1610
- "description": "A list of paths that are not allowed by this scope. This gets precedence over the [`Self::Scope::allow`] list.",
1611
- "default": [],
1612
- "type": "array",
1613
- "items": {
1614
- "type": "string"
1615
- }
1616
- }
1617
- }
1618
- }
1619
- ]
1620
- },
1621
- "SystemTrayConfig": {
1622
- "description": "Configuration for application system tray icon.\n\nSee more: https://tauri.app/v1/api/config#systemtrayconfig",
2187
+ "RpmConfig": {
2188
+ "description": "Configuration for RPM bundles.",
1623
2189
  "type": "object",
1624
- "required": [
1625
- "iconPath"
1626
- ],
1627
2190
  "properties": {
1628
- "iconPath": {
1629
- "description": "Path to the default icon to use on the system tray.",
2191
+ "depends": {
2192
+ "description": "The list of RPM dependencies your application relies on.",
2193
+ "type": [
2194
+ "array",
2195
+ "null"
2196
+ ],
2197
+ "items": {
2198
+ "type": "string"
2199
+ }
2200
+ },
2201
+ "release": {
2202
+ "description": "The RPM release tag.",
2203
+ "default": "1",
1630
2204
  "type": "string"
1631
2205
  },
1632
- "iconAsTemplate": {
1633
- "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.",
1634
- "default": false,
1635
- "type": "boolean"
2206
+ "epoch": {
2207
+ "description": "The RPM epoch.",
2208
+ "default": 0,
2209
+ "type": "integer",
2210
+ "format": "uint32",
2211
+ "minimum": 0.0
1636
2212
  },
1637
- "menuOnLeftClick": {
1638
- "description": "A Boolean value that determines whether the menu should appear when the tray icon receives a left click on macOS.",
1639
- "default": true,
1640
- "type": "boolean"
2213
+ "files": {
2214
+ "description": "The files to include on the package.",
2215
+ "default": {},
2216
+ "type": "object",
2217
+ "additionalProperties": {
2218
+ "type": "string"
2219
+ }
1641
2220
  },
1642
- "title": {
1643
- "description": "Title for MacOS tray",
2221
+ "desktopTemplate": {
2222
+ "description": "Path to a custom desktop file Handlebars template.\n\nAvailable variables: `categories`, `comment` (optional), `exec`, `icon` and `name`.",
1644
2223
  "type": [
1645
2224
  "string",
1646
2225
  "null"
@@ -1649,171 +2228,226 @@
1649
2228
  },
1650
2229
  "additionalProperties": false
1651
2230
  },
1652
- "BuildConfig": {
1653
- "description": "The Build configuration object.\n\nSee more: https://tauri.app/v1/api/config#buildconfig",
2231
+ "MacConfig": {
2232
+ "description": "Configuration for the macOS bundles.\n\nSee more: <https://tauri.app/v1/api/config#macconfig>",
1654
2233
  "type": "object",
1655
2234
  "properties": {
1656
- "runner": {
1657
- "description": "The binary used to build and run the application.",
2235
+ "frameworks": {
2236
+ "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.",
2237
+ "type": [
2238
+ "array",
2239
+ "null"
2240
+ ],
2241
+ "items": {
2242
+ "type": "string"
2243
+ }
2244
+ },
2245
+ "files": {
2246
+ "description": "The files to include in the application relative to the Contents directory.",
2247
+ "default": {},
2248
+ "type": "object",
2249
+ "additionalProperties": {
2250
+ "type": "string"
2251
+ }
2252
+ },
2253
+ "minimumSystemVersion": {
2254
+ "description": "A version string indicating the minimum macOS X version that the bundled application supports. Defaults to `10.13`.\n\nSetting it to `null` completely removes the `LSMinimumSystemVersion` field on the bundle's `Info.plist` and the `MACOSX_DEPLOYMENT_TARGET` environment variable.\n\nAn empty string is considered an invalid value so the default value is used.",
2255
+ "default": "10.13",
1658
2256
  "type": [
1659
2257
  "string",
1660
2258
  "null"
1661
2259
  ]
1662
2260
  },
1663
- "devPath": {
1664
- "description": "The path to the application assets or URL to load in development.\n\nThis is usually an URL to a dev server, which serves your application assets with live reloading. Most modern JavaScript bundlers provides a way to start a dev server by default.\n\nSee [vite](https://vitejs.dev/guide/), [Webpack DevServer](https://webpack.js.org/configuration/dev-server/) and [sirv](https://github.com/lukeed/sirv) for examples on how to set up a dev server.",
1665
- "default": "http://localhost:8080/",
1666
- "allOf": [
1667
- {
1668
- "$ref": "#/definitions/AppUrl"
1669
- }
2261
+ "exceptionDomain": {
2262
+ "description": "Allows your application to communicate with the outside world. It should be a lowercase, without port and protocol domain name.",
2263
+ "type": [
2264
+ "string",
2265
+ "null"
2266
+ ]
2267
+ },
2268
+ "signingIdentity": {
2269
+ "description": "Identity to use for code signing.",
2270
+ "type": [
2271
+ "string",
2272
+ "null"
2273
+ ]
2274
+ },
2275
+ "providerShortName": {
2276
+ "description": "Provider short name for notarization.",
2277
+ "type": [
2278
+ "string",
2279
+ "null"
2280
+ ]
2281
+ },
2282
+ "entitlements": {
2283
+ "description": "Path to the entitlements file.",
2284
+ "type": [
2285
+ "string",
2286
+ "null"
1670
2287
  ]
1671
2288
  },
1672
- "distDir": {
1673
- "description": "The path to the application assets or URL to load in production.\n\nWhen a path relative to the configuration file is provided, it is read recursively and all files are embedded in the application binary. Tauri then looks for an `index.html` file unless you provide a custom window URL.\n\nYou can also provide a list of paths to be embedded, which allows granular control over what files are added to the binary. In this case, all files are added to the root and you must reference it that way in your HTML files.\n\nWhen an URL is provided, the application won't have bundled assets and the application will load that URL by default.",
1674
- "default": "../dist",
2289
+ "dmg": {
2290
+ "description": "DMG-specific settings.",
2291
+ "default": {
2292
+ "appPosition": {
2293
+ "x": 180,
2294
+ "y": 170
2295
+ },
2296
+ "applicationFolderPosition": {
2297
+ "x": 480,
2298
+ "y": 170
2299
+ },
2300
+ "windowSize": {
2301
+ "height": 400,
2302
+ "width": 660
2303
+ }
2304
+ },
1675
2305
  "allOf": [
1676
2306
  {
1677
- "$ref": "#/definitions/AppUrl"
2307
+ "$ref": "#/definitions/DmgConfig"
1678
2308
  }
1679
2309
  ]
2310
+ }
2311
+ },
2312
+ "additionalProperties": false
2313
+ },
2314
+ "DmgConfig": {
2315
+ "description": "Configuration for Apple Disk Image (.dmg) bundles.\n\nSee more: <https://tauri.app/v1/api/config#dmgconfig>",
2316
+ "type": "object",
2317
+ "properties": {
2318
+ "background": {
2319
+ "description": "Image to use as the background in dmg file. Accepted formats: `png`/`jpg`/`gif`.",
2320
+ "type": [
2321
+ "string",
2322
+ "null"
2323
+ ]
1680
2324
  },
1681
- "beforeDevCommand": {
1682
- "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.",
2325
+ "windowPosition": {
2326
+ "description": "Position of volume window on screen.",
1683
2327
  "anyOf": [
1684
2328
  {
1685
- "$ref": "#/definitions/BeforeDevCommand"
2329
+ "$ref": "#/definitions/Position"
1686
2330
  },
1687
2331
  {
1688
2332
  "type": "null"
1689
2333
  }
1690
2334
  ]
1691
2335
  },
1692
- "beforeBuildCommand": {
1693
- "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.",
1694
- "anyOf": [
1695
- {
1696
- "$ref": "#/definitions/HookCommand"
1697
- },
2336
+ "windowSize": {
2337
+ "description": "Size of volume window.",
2338
+ "default": {
2339
+ "height": 400,
2340
+ "width": 660
2341
+ },
2342
+ "allOf": [
1698
2343
  {
1699
- "type": "null"
2344
+ "$ref": "#/definitions/Size"
1700
2345
  }
1701
2346
  ]
1702
2347
  },
1703
- "beforeBundleCommand": {
1704
- "description": "A shell command to run before the bundling phase in `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.",
1705
- "anyOf": [
1706
- {
1707
- "$ref": "#/definitions/HookCommand"
1708
- },
2348
+ "appPosition": {
2349
+ "description": "Position of app file on window.",
2350
+ "default": {
2351
+ "x": 180,
2352
+ "y": 170
2353
+ },
2354
+ "allOf": [
1709
2355
  {
1710
- "type": "null"
2356
+ "$ref": "#/definitions/Position"
1711
2357
  }
1712
2358
  ]
1713
2359
  },
1714
- "features": {
1715
- "description": "Features passed to `cargo` commands.",
1716
- "type": [
1717
- "array",
1718
- "null"
1719
- ],
1720
- "items": {
1721
- "type": "string"
1722
- }
1723
- },
1724
- "withGlobalTauri": {
1725
- "description": "Whether we should inject the Tauri API on `window.__TAURI__` or not.",
1726
- "default": false,
1727
- "type": "boolean"
1728
- }
1729
- },
1730
- "additionalProperties": false
1731
- },
1732
- "AppUrl": {
1733
- "description": "Defines the URL or assets to embed in the application.",
1734
- "anyOf": [
1735
- {
1736
- "description": "The app's external URL, or the path to the directory containing the app assets.",
2360
+ "applicationFolderPosition": {
2361
+ "description": "Position of application folder on window.",
2362
+ "default": {
2363
+ "x": 480,
2364
+ "y": 170
2365
+ },
1737
2366
  "allOf": [
1738
2367
  {
1739
- "$ref": "#/definitions/WindowUrl"
2368
+ "$ref": "#/definitions/Position"
1740
2369
  }
1741
2370
  ]
1742
- },
1743
- {
1744
- "description": "An array of files to embed on the app.",
1745
- "type": "array",
1746
- "items": {
1747
- "type": "string"
1748
- }
1749
2371
  }
1750
- ]
2372
+ },
2373
+ "additionalProperties": false
1751
2374
  },
1752
- "BeforeDevCommand": {
1753
- "description": "Describes the shell command to run before `tauri dev`.",
1754
- "anyOf": [
1755
- {
1756
- "description": "Run the given script with the default options.",
1757
- "type": "string"
2375
+ "Position": {
2376
+ "description": "Position coordinates struct.",
2377
+ "type": "object",
2378
+ "required": [
2379
+ "x",
2380
+ "y"
2381
+ ],
2382
+ "properties": {
2383
+ "x": {
2384
+ "description": "X coordinate.",
2385
+ "type": "integer",
2386
+ "format": "uint32",
2387
+ "minimum": 0.0
1758
2388
  },
1759
- {
1760
- "description": "Run the given script with custom options.",
1761
- "type": "object",
1762
- "required": [
1763
- "script"
1764
- ],
1765
- "properties": {
1766
- "script": {
1767
- "description": "The script to execute.",
1768
- "type": "string"
1769
- },
1770
- "cwd": {
1771
- "description": "The current working directory.",
1772
- "type": [
1773
- "string",
1774
- "null"
1775
- ]
1776
- },
1777
- "wait": {
1778
- "description": "Whether `tauri dev` should wait for the command to finish or not. Defaults to `false`.",
1779
- "default": false,
1780
- "type": "boolean"
1781
- }
1782
- }
2389
+ "y": {
2390
+ "description": "Y coordinate.",
2391
+ "type": "integer",
2392
+ "format": "uint32",
2393
+ "minimum": 0.0
1783
2394
  }
1784
- ]
2395
+ },
2396
+ "additionalProperties": false
1785
2397
  },
1786
- "HookCommand": {
1787
- "description": "Describes a shell command to be executed when a CLI hook is triggered.",
1788
- "anyOf": [
1789
- {
1790
- "description": "Run the given script with the default options.",
1791
- "type": "string"
2398
+ "Size": {
2399
+ "description": "Size of the window.",
2400
+ "type": "object",
2401
+ "required": [
2402
+ "height",
2403
+ "width"
2404
+ ],
2405
+ "properties": {
2406
+ "width": {
2407
+ "description": "Width of the window.",
2408
+ "type": "integer",
2409
+ "format": "uint32",
2410
+ "minimum": 0.0
1792
2411
  },
1793
- {
1794
- "description": "Run the given script with custom options.",
1795
- "type": "object",
1796
- "required": [
1797
- "script"
1798
- ],
1799
- "properties": {
1800
- "script": {
1801
- "description": "The script to execute.",
1802
- "type": "string"
1803
- },
1804
- "cwd": {
1805
- "description": "The current working directory.",
1806
- "type": [
1807
- "string",
1808
- "null"
1809
- ]
1810
- }
1811
- }
2412
+ "height": {
2413
+ "description": "Height of the window.",
2414
+ "type": "integer",
2415
+ "format": "uint32",
2416
+ "minimum": 0.0
1812
2417
  }
1813
- ]
2418
+ },
2419
+ "additionalProperties": false
2420
+ },
2421
+ "IosConfig": {
2422
+ "description": "General configuration for the iOS target.",
2423
+ "type": "object",
2424
+ "properties": {
2425
+ "developmentTeam": {
2426
+ "description": "The development team. This value is required for iOS development because code signing is enforced. The `APPLE_DEVELOPMENT_TEAM` environment variable can be set to overwrite it.",
2427
+ "type": [
2428
+ "string",
2429
+ "null"
2430
+ ]
2431
+ }
2432
+ },
2433
+ "additionalProperties": false
2434
+ },
2435
+ "AndroidConfig": {
2436
+ "description": "General configuration for the iOS target.",
2437
+ "type": "object",
2438
+ "properties": {
2439
+ "minSdkVersion": {
2440
+ "description": "The minimum API level required for the application to run. The Android system will prevent the user from installing the application if the system's API level is lower than the value specified.",
2441
+ "default": 24,
2442
+ "type": "integer",
2443
+ "format": "uint32",
2444
+ "minimum": 0.0
2445
+ }
2446
+ },
2447
+ "additionalProperties": false
1814
2448
  },
1815
2449
  "PluginConfig": {
1816
- "description": "The plugin configs holds a HashMap mapping a plugin name to its configuration object.\n\nSee more: https://tauri.app/v1/api/config#pluginconfig",
2450
+ "description": "The plugin configs holds a HashMap mapping a plugin name to its configuration object.\n\nSee more: <https://tauri.app/v1/api/config#pluginconfig>",
1817
2451
  "type": "object",
1818
2452
  "additionalProperties": true
1819
2453
  }