@tauri-apps/cli 2.0.0-alpha.2 → 2.0.0-alpha.21

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, enable the app updater, define a system tray, enable APIs via the allowlist and more.\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\": { \"allowlist\": { \"all\": true }, \"bundle\": {}, \"security\": { \"csp\": null }, \"updater\": { \"active\": false }, \"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 - [`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 } ] } } ```",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "$schema": {
@@ -26,126 +26,56 @@
26
26
  "tauri": {
27
27
  "description": "The Tauri configuration.",
28
28
  "default": {
29
- "allowlist": {
30
- "all": false,
31
- "app": {
32
- "all": false,
33
- "hide": false,
34
- "show": false
35
- },
36
- "clipboard": {
37
- "all": false,
38
- "readText": false,
39
- "writeText": false
40
- },
41
- "dialog": {
42
- "all": false,
43
- "ask": false,
44
- "confirm": false,
45
- "message": false,
46
- "open": false,
47
- "save": false
48
- },
49
- "fs": {
50
- "all": false,
51
- "copyFile": false,
52
- "createDir": false,
53
- "exists": false,
54
- "readDir": false,
55
- "readFile": false,
56
- "removeDir": false,
57
- "removeFile": false,
58
- "renameFile": false,
59
- "scope": [],
60
- "writeFile": false
61
- },
62
- "globalShortcut": {
63
- "all": false
64
- },
65
- "http": {
66
- "all": false,
67
- "request": false,
68
- "scope": []
69
- },
70
- "notification": {
71
- "all": false
72
- },
73
- "os": {
74
- "all": false
75
- },
76
- "path": {
77
- "all": false
78
- },
79
- "process": {
80
- "all": false,
81
- "exit": false,
82
- "relaunch": false,
83
- "relaunchDangerousAllowSymlinkMacos": false
84
- },
85
- "protocol": {
86
- "all": false,
87
- "asset": false,
88
- "assetScope": []
89
- },
90
- "shell": {
91
- "all": false,
92
- "execute": false,
93
- "open": false,
94
- "scope": [],
95
- "sidecar": false
96
- },
97
- "window": {
98
- "all": false,
99
- "center": false,
100
- "close": false,
101
- "create": false,
102
- "hide": false,
103
- "maximize": false,
104
- "minimize": false,
105
- "print": false,
106
- "requestUserAttention": false,
107
- "setAlwaysOnTop": false,
108
- "setCursorGrab": false,
109
- "setCursorIcon": false,
110
- "setCursorPosition": false,
111
- "setCursorVisible": false,
112
- "setDecorations": false,
113
- "setFocus": false,
114
- "setFullscreen": false,
115
- "setIcon": false,
116
- "setIgnoreCursorEvents": false,
117
- "setMaxSize": false,
118
- "setMinSize": false,
119
- "setPosition": false,
120
- "setResizable": false,
121
- "setSize": false,
122
- "setSkipTaskbar": false,
123
- "setTitle": false,
124
- "show": false,
125
- "startDragging": false,
126
- "unmaximize": false,
127
- "unminimize": false
128
- }
129
- },
130
29
  "bundle": {
131
30
  "active": false,
31
+ "android": {
32
+ "minSdkVersion": 24
33
+ },
132
34
  "appimage": {
133
35
  "bundleMediaFramework": false
134
36
  },
135
37
  "deb": {
136
38
  "files": {}
137
39
  },
40
+ "dmg": {
41
+ "appPosition": {
42
+ "x": 180,
43
+ "y": 170
44
+ },
45
+ "applicationFolderPosition": {
46
+ "x": 480,
47
+ "y": 170
48
+ },
49
+ "windowSize": {
50
+ "height": 400,
51
+ "width": 660
52
+ }
53
+ },
138
54
  "iOS": {},
139
55
  "icon": [],
140
56
  "identifier": "",
141
57
  "macOS": {
58
+ "files": {},
142
59
  "minimumSystemVersion": "10.13"
143
60
  },
61
+ "rpm": {
62
+ "epoch": 0,
63
+ "files": {},
64
+ "release": "1"
65
+ },
144
66
  "targets": "all",
67
+ "updater": {
68
+ "active": false,
69
+ "pubkey": "",
70
+ "windows": {
71
+ "installMode": "passive"
72
+ }
73
+ },
145
74
  "windows": {
146
75
  "allowDowngrades": true,
147
76
  "certificateThumbprint": null,
148
77
  "digestAlgorithm": null,
78
+ "nsis": null,
149
79
  "timestampUrl": null,
150
80
  "tsp": false,
151
81
  "webviewFixedRuntimePath": null,
@@ -161,17 +91,14 @@
161
91
  "use": "brownfield"
162
92
  },
163
93
  "security": {
94
+ "assetProtocol": {
95
+ "enable": false,
96
+ "scope": []
97
+ },
164
98
  "dangerousDisableAssetCspModification": false,
99
+ "dangerousRemoteDomainIpcAccess": [],
165
100
  "freezePrototype": false
166
101
  },
167
- "updater": {
168
- "active": false,
169
- "dialog": true,
170
- "pubkey": "",
171
- "windows": {
172
- "installMode": "passive"
173
- }
174
- },
175
102
  "windows": []
176
103
  },
177
104
  "allOf": [
@@ -206,7 +133,7 @@
206
133
  "additionalProperties": false,
207
134
  "definitions": {
208
135
  "PackageConfig": {
209
- "description": "The package configuration.",
136
+ "description": "The package configuration.\n\nSee more: <https://tauri.app/v1/api/config#packageconfig>",
210
137
  "type": "object",
211
138
  "properties": {
212
139
  "productName": {
@@ -218,7 +145,7 @@
218
145
  "pattern": "^[^/\\:*?\"<>|]+$"
219
146
  },
220
147
  "version": {
221
- "description": "App version. It is a semver version number or a path to a `package.json` file containing the `version` field.",
148
+ "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.",
222
149
  "default": null,
223
150
  "type": [
224
151
  "string",
@@ -229,7 +156,7 @@
229
156
  "additionalProperties": false
230
157
  },
231
158
  "TauriConfig": {
232
- "description": "The Tauri configuration object.",
159
+ "description": "The Tauri configuration object.\n\nSee more: <https://tauri.app/v1/api/config#tauriconfig>",
233
160
  "type": "object",
234
161
  "properties": {
235
162
  "pattern": {
@@ -251,38 +178,58 @@
251
178
  "$ref": "#/definitions/WindowConfig"
252
179
  }
253
180
  },
254
- "cli": {
255
- "description": "The CLI configuration.",
256
- "anyOf": [
257
- {
258
- "$ref": "#/definitions/CliConfig"
259
- },
260
- {
261
- "type": "null"
262
- }
263
- ]
264
- },
265
181
  "bundle": {
266
182
  "description": "The bundler configuration.",
267
183
  "default": {
268
184
  "active": false,
185
+ "android": {
186
+ "minSdkVersion": 24
187
+ },
269
188
  "appimage": {
270
189
  "bundleMediaFramework": false
271
190
  },
272
191
  "deb": {
273
192
  "files": {}
274
193
  },
194
+ "dmg": {
195
+ "appPosition": {
196
+ "x": 180,
197
+ "y": 170
198
+ },
199
+ "applicationFolderPosition": {
200
+ "x": 480,
201
+ "y": 170
202
+ },
203
+ "windowSize": {
204
+ "height": 400,
205
+ "width": 660
206
+ }
207
+ },
275
208
  "iOS": {},
276
209
  "icon": [],
277
210
  "identifier": "",
278
211
  "macOS": {
212
+ "files": {},
279
213
  "minimumSystemVersion": "10.13"
280
214
  },
215
+ "rpm": {
216
+ "epoch": 0,
217
+ "files": {},
218
+ "release": "1"
219
+ },
281
220
  "targets": "all",
221
+ "updater": {
222
+ "active": false,
223
+ "pubkey": "",
224
+ "windows": {
225
+ "installMode": "passive"
226
+ }
227
+ },
282
228
  "windows": {
283
229
  "allowDowngrades": true,
284
230
  "certificateThumbprint": null,
285
231
  "digestAlgorithm": null,
232
+ "nsis": null,
286
233
  "timestampUrl": null,
287
234
  "tsp": false,
288
235
  "webviewFixedRuntimePath": null,
@@ -299,119 +246,15 @@
299
246
  }
300
247
  ]
301
248
  },
302
- "allowlist": {
303
- "description": "The allowlist configuration.",
304
- "default": {
305
- "all": false,
306
- "app": {
307
- "all": false,
308
- "hide": false,
309
- "show": false
310
- },
311
- "clipboard": {
312
- "all": false,
313
- "readText": false,
314
- "writeText": false
315
- },
316
- "dialog": {
317
- "all": false,
318
- "ask": false,
319
- "confirm": false,
320
- "message": false,
321
- "open": false,
322
- "save": false
323
- },
324
- "fs": {
325
- "all": false,
326
- "copyFile": false,
327
- "createDir": false,
328
- "exists": false,
329
- "readDir": false,
330
- "readFile": false,
331
- "removeDir": false,
332
- "removeFile": false,
333
- "renameFile": false,
334
- "scope": [],
335
- "writeFile": false
336
- },
337
- "globalShortcut": {
338
- "all": false
339
- },
340
- "http": {
341
- "all": false,
342
- "request": false,
343
- "scope": []
344
- },
345
- "notification": {
346
- "all": false
347
- },
348
- "os": {
349
- "all": false
350
- },
351
- "path": {
352
- "all": false
353
- },
354
- "process": {
355
- "all": false,
356
- "exit": false,
357
- "relaunch": false,
358
- "relaunchDangerousAllowSymlinkMacos": false
359
- },
360
- "protocol": {
361
- "all": false,
362
- "asset": false,
363
- "assetScope": []
364
- },
365
- "shell": {
366
- "all": false,
367
- "execute": false,
368
- "open": false,
369
- "scope": [],
370
- "sidecar": false
371
- },
372
- "window": {
373
- "all": false,
374
- "center": false,
375
- "close": false,
376
- "create": false,
377
- "hide": false,
378
- "maximize": false,
379
- "minimize": false,
380
- "print": false,
381
- "requestUserAttention": false,
382
- "setAlwaysOnTop": false,
383
- "setCursorGrab": false,
384
- "setCursorIcon": false,
385
- "setCursorPosition": false,
386
- "setCursorVisible": false,
387
- "setDecorations": false,
388
- "setFocus": false,
389
- "setFullscreen": false,
390
- "setIcon": false,
391
- "setIgnoreCursorEvents": false,
392
- "setMaxSize": false,
393
- "setMinSize": false,
394
- "setPosition": false,
395
- "setResizable": false,
396
- "setSize": false,
397
- "setSkipTaskbar": false,
398
- "setTitle": false,
399
- "show": false,
400
- "startDragging": false,
401
- "unmaximize": false,
402
- "unminimize": false
403
- }
404
- },
405
- "allOf": [
406
- {
407
- "$ref": "#/definitions/AllowlistConfig"
408
- }
409
- ]
410
- },
411
249
  "security": {
412
250
  "description": "Security configuration.",
413
251
  "default": {
252
+ "assetProtocol": {
253
+ "enable": false,
254
+ "scope": []
255
+ },
414
256
  "dangerousDisableAssetCspModification": false,
257
+ "dangerousRemoteDomainIpcAccess": [],
415
258
  "freezePrototype": false
416
259
  },
417
260
  "allOf": [
@@ -420,27 +263,11 @@
420
263
  }
421
264
  ]
422
265
  },
423
- "updater": {
424
- "description": "The updater configuration.",
425
- "default": {
426
- "active": false,
427
- "dialog": true,
428
- "pubkey": "",
429
- "windows": {
430
- "installMode": "passive"
431
- }
432
- },
433
- "allOf": [
434
- {
435
- "$ref": "#/definitions/UpdaterConfig"
436
- }
437
- ]
438
- },
439
- "systemTray": {
440
- "description": "Configuration for app system tray.",
266
+ "trayIcon": {
267
+ "description": "Configuration for app tray icon.",
441
268
  "anyOf": [
442
269
  {
443
- "$ref": "#/definitions/SystemTrayConfig"
270
+ "$ref": "#/definitions/TrayIconConfig"
444
271
  },
445
272
  {
446
273
  "type": "null"
@@ -504,7 +331,7 @@
504
331
  ]
505
332
  },
506
333
  "WindowConfig": {
507
- "description": "The window configuration object.",
334
+ "description": "The window configuration object.\n\nSee more: <https://tauri.app/v1/api/config#windowconfig>",
508
335
  "type": "object",
509
336
  "properties": {
510
337
  "label": {
@@ -599,7 +426,22 @@
599
426
  "format": "double"
600
427
  },
601
428
  "resizable": {
602
- "description": "Whether the window is resizable or not.",
429
+ "description": "Whether the window is resizable or not. When resizable is set to false, native window's maximize button is automatically disabled.",
430
+ "default": true,
431
+ "type": "boolean"
432
+ },
433
+ "maximizable": {
434
+ "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.",
435
+ "default": true,
436
+ "type": "boolean"
437
+ },
438
+ "minimizable": {
439
+ "description": "Whether the window's native minimize button is enabled or not.\n\n## Platform-specific\n\n- **Linux / iOS / Android:** Unsupported.",
440
+ "default": true,
441
+ "type": "boolean"
442
+ },
443
+ "closable": {
444
+ "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.",
603
445
  "default": true,
604
446
  "type": "boolean"
605
447
  },
@@ -638,11 +480,26 @@
638
480
  "default": true,
639
481
  "type": "boolean"
640
482
  },
483
+ "alwaysOnBottom": {
484
+ "description": "Whether the window should always be below other windows.",
485
+ "default": false,
486
+ "type": "boolean"
487
+ },
641
488
  "alwaysOnTop": {
642
489
  "description": "Whether the window should always be on top of other windows.",
643
490
  "default": false,
644
491
  "type": "boolean"
645
492
  },
493
+ "visibleOnAllWorkspaces": {
494
+ "description": "Whether the window should be visible on all workspaces or virtual desktops.",
495
+ "default": false,
496
+ "type": "boolean"
497
+ },
498
+ "contentProtected": {
499
+ "description": "Prevents the window contents from being captured by other apps.",
500
+ "default": false,
501
+ "type": "boolean"
502
+ },
646
503
  "skipTaskbar": {
647
504
  "description": "If `true`, hides the window icon from the taskbar on Windows and Linux.",
648
505
  "default": false,
@@ -684,6 +541,34 @@
684
541
  "string",
685
542
  "null"
686
543
  ]
544
+ },
545
+ "additionalBrowserArgs": {
546
+ "description": "Defines additional browser arguments on Windows. By default wry passes `--disable-features=msWebOOUI,msPdfOOUI,msSmartScreenProtection` so if you use this method, you also need to disable these components by yourself if you want.",
547
+ "type": [
548
+ "string",
549
+ "null"
550
+ ]
551
+ },
552
+ "shadow": {
553
+ "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.",
554
+ "default": true,
555
+ "type": "boolean"
556
+ },
557
+ "windowEffects": {
558
+ "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",
559
+ "anyOf": [
560
+ {
561
+ "$ref": "#/definitions/WindowEffectsConfig"
562
+ },
563
+ {
564
+ "type": "null"
565
+ }
566
+ ]
567
+ },
568
+ "incognito": {
569
+ "description": "Whether or not the webview should be launched in incognito mode.\n\n## Platform-specific:\n\n- **Android**: Unsupported.",
570
+ "default": false,
571
+ "type": "boolean"
687
572
  }
688
573
  },
689
574
  "additionalProperties": false
@@ -747,254 +632,308 @@
747
632
  }
748
633
  ]
749
634
  },
750
- "CliConfig": {
751
- "description": "describes a CLI configuration",
635
+ "WindowEffectsConfig": {
636
+ "description": "The window effects configuration object",
752
637
  "type": "object",
638
+ "required": [
639
+ "effects"
640
+ ],
753
641
  "properties": {
754
- "description": {
755
- "description": "Command description which will be shown on the help information.",
756
- "type": [
757
- "string",
758
- "null"
759
- ]
760
- },
761
- "longDescription": {
762
- "description": "Command long description which will be shown on the help information.",
763
- "type": [
764
- "string",
765
- "null"
766
- ]
767
- },
768
- "beforeHelp": {
769
- "description": "Adds additional help information to be displayed in addition to auto-generated help. This information is displayed before the auto-generated help information. This is often used for header information.",
770
- "type": [
771
- "string",
772
- "null"
773
- ]
642
+ "effects": {
643
+ "description": "List of Window effects to apply to the Window. Conflicting effects will apply the first one and ignore the rest.",
644
+ "type": "array",
645
+ "items": {
646
+ "$ref": "#/definitions/WindowEffect"
647
+ }
774
648
  },
775
- "afterHelp": {
776
- "description": "Adds additional help information to be displayed in addition to auto-generated help. This information is displayed after the auto-generated help information. This is often used to describe how to use the arguments, or caveats to be noted.",
777
- "type": [
778
- "string",
779
- "null"
649
+ "state": {
650
+ "description": "Window effect state **macOS Only**",
651
+ "anyOf": [
652
+ {
653
+ "$ref": "#/definitions/WindowEffectState"
654
+ },
655
+ {
656
+ "type": "null"
657
+ }
780
658
  ]
781
659
  },
782
- "args": {
783
- "description": "List of arguments for the command",
660
+ "radius": {
661
+ "description": "Window effect corner radius **macOS Only**",
784
662
  "type": [
785
- "array",
663
+ "number",
786
664
  "null"
787
665
  ],
788
- "items": {
789
- "$ref": "#/definitions/CliArg"
790
- }
666
+ "format": "double"
791
667
  },
792
- "subcommands": {
793
- "description": "List of subcommands of this command",
794
- "type": [
795
- "object",
796
- "null"
797
- ],
798
- "additionalProperties": {
799
- "$ref": "#/definitions/CliConfig"
800
- }
668
+ "color": {
669
+ "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.",
670
+ "anyOf": [
671
+ {
672
+ "$ref": "#/definitions/Color"
673
+ },
674
+ {
675
+ "type": "null"
676
+ }
677
+ ]
801
678
  }
802
679
  },
803
680
  "additionalProperties": false
804
681
  },
805
- "CliArg": {
806
- "description": "A CLI argument definition.",
807
- "type": "object",
808
- "required": [
809
- "name"
810
- ],
811
- "properties": {
812
- "short": {
813
- "description": "The short version of the argument, without the preceding -.\n\nNOTE: Any leading `-` characters will be stripped, and only the first non-character will be used as the short version.",
814
- "type": [
815
- "string",
816
- "null"
817
- ],
818
- "maxLength": 1,
819
- "minLength": 1
682
+ "WindowEffect": {
683
+ "description": "Platform-specific window effects",
684
+ "oneOf": [
685
+ {
686
+ "description": "A default material appropriate for the view's effectiveAppearance. **macOS 10.14-**",
687
+ "deprecated": true,
688
+ "type": "string",
689
+ "enum": [
690
+ "appearanceBased"
691
+ ]
820
692
  },
821
- "name": {
822
- "description": "The unique argument name",
823
- "type": "string"
693
+ {
694
+ "description": "*macOS 10.14-**",
695
+ "deprecated": true,
696
+ "type": "string",
697
+ "enum": [
698
+ "light"
699
+ ]
824
700
  },
825
- "description": {
826
- "description": "The argument description which will be shown on the help information. Typically, this is a short (one line) description of the arg.",
827
- "type": [
828
- "string",
829
- "null"
701
+ {
702
+ "description": "*macOS 10.14-**",
703
+ "deprecated": true,
704
+ "type": "string",
705
+ "enum": [
706
+ "dark"
830
707
  ]
831
708
  },
832
- "longDescription": {
833
- "description": "The argument long description which will be shown on the help information. Typically this a more detailed (multi-line) message that describes the argument.",
834
- "type": [
835
- "string",
836
- "null"
709
+ {
710
+ "description": "*macOS 10.14-**",
711
+ "deprecated": true,
712
+ "type": "string",
713
+ "enum": [
714
+ "mediumLight"
837
715
  ]
838
716
  },
839
- "takesValue": {
840
- "description": "Specifies that the argument takes a value at run time.\n\nNOTE: values for arguments may be specified in any of the following methods - Using a space such as -o value or --option value - Using an equals and no space such as -o=value or --option=value - Use a short and no space such as -ovalue",
841
- "default": false,
842
- "type": "boolean"
717
+ {
718
+ "description": "*macOS 10.14-**",
719
+ "deprecated": true,
720
+ "type": "string",
721
+ "enum": [
722
+ "ultraDark"
723
+ ]
843
724
  },
844
- "multiple": {
845
- "description": "Specifies that the argument may have an unknown number of multiple values. Without any other settings, this argument may appear only once.\n\nFor example, --opt val1 val2 is allowed, but --opt val1 val2 --opt val3 is not.\n\nNOTE: Setting this requires `takes_value` to be set to true.",
846
- "default": false,
847
- "type": "boolean"
725
+ {
726
+ "description": "*macOS 10.10+**",
727
+ "type": "string",
728
+ "enum": [
729
+ "titlebar"
730
+ ]
848
731
  },
849
- "multipleOccurrences": {
850
- "description": "Specifies that the argument may appear more than once. For flags, this results in the number of occurrences of the flag being recorded. For example -ddd or -d -d -d would count as three occurrences. For options or arguments that take a value, this does not affect how many values they can accept. (i.e. only one at a time is allowed)\n\nFor example, --opt val1 --opt val2 is allowed, but --opt val1 val2 is not.",
851
- "default": false,
852
- "type": "boolean"
732
+ {
733
+ "description": "*macOS 10.10+**",
734
+ "type": "string",
735
+ "enum": [
736
+ "selection"
737
+ ]
853
738
  },
854
- "numberOfValues": {
855
- "description": "Specifies how many values are required to satisfy this argument. For example, if you had a `-f <file>` argument where you wanted exactly 3 'files' you would set `number_of_values = 3`, and this argument wouldn't be satisfied unless the user provided 3 and only 3 values.\n\n**NOTE:** Does *not* require `multiple_occurrences = true` to be set. Setting `multiple_occurrences = true` would allow `-f <file> <file> <file> -f <file> <file> <file>` where as *not* setting it would only allow one occurrence of this argument.\n\n**NOTE:** implicitly sets `takes_value = true` and `multiple_values = true`.",
856
- "type": [
857
- "integer",
858
- "null"
859
- ],
860
- "format": "uint",
861
- "minimum": 0.0
739
+ {
740
+ "description": "*macOS 10.11+**",
741
+ "type": "string",
742
+ "enum": [
743
+ "menu"
744
+ ]
862
745
  },
863
- "possibleValues": {
864
- "description": "Specifies a list of possible values for this argument. At runtime, the CLI verifies that only one of the specified values was used, or fails with an error message.",
865
- "type": [
866
- "array",
867
- "null"
868
- ],
869
- "items": {
870
- "type": "string"
871
- }
746
+ {
747
+ "description": "*macOS 10.11+**",
748
+ "type": "string",
749
+ "enum": [
750
+ "popover"
751
+ ]
872
752
  },
873
- "minValues": {
874
- "description": "Specifies the minimum number of values for this argument. For example, if you had a -f `<file>` argument where you wanted at least 2 'files', you would set `minValues: 2`, and this argument would be satisfied if the user provided, 2 or more values.",
875
- "type": [
876
- "integer",
877
- "null"
878
- ],
879
- "format": "uint",
880
- "minimum": 0.0
753
+ {
754
+ "description": "*macOS 10.11+**",
755
+ "type": "string",
756
+ "enum": [
757
+ "sidebar"
758
+ ]
881
759
  },
882
- "maxValues": {
883
- "description": "Specifies the maximum number of values are for this argument. For example, if you had a -f `<file>` argument where you wanted up to 3 'files', you would set .max_values(3), and this argument would be satisfied if the user provided, 1, 2, or 3 values.",
884
- "type": [
885
- "integer",
886
- "null"
887
- ],
888
- "format": "uint",
889
- "minimum": 0.0
760
+ {
761
+ "description": "*macOS 10.14+**",
762
+ "type": "string",
763
+ "enum": [
764
+ "headerView"
765
+ ]
890
766
  },
891
- "required": {
892
- "description": "Sets whether or not the argument is required by default.\n\n- Required by default means it is required, when no other conflicting rules have been evaluated - Conflicting rules take precedence over being required.",
893
- "default": false,
894
- "type": "boolean"
767
+ {
768
+ "description": "*macOS 10.14+**",
769
+ "type": "string",
770
+ "enum": [
771
+ "sheet"
772
+ ]
895
773
  },
896
- "requiredUnlessPresent": {
897
- "description": "Sets an arg that override this arg's required setting i.e. this arg will be required unless this other argument is present.",
898
- "type": [
899
- "string",
900
- "null"
774
+ {
775
+ "description": "*macOS 10.14+**",
776
+ "type": "string",
777
+ "enum": [
778
+ "windowBackground"
901
779
  ]
902
780
  },
903
- "requiredUnlessPresentAll": {
904
- "description": "Sets args that override this arg's required setting i.e. this arg will be required unless all these other arguments are present.",
905
- "type": [
906
- "array",
907
- "null"
908
- ],
909
- "items": {
910
- "type": "string"
911
- }
781
+ {
782
+ "description": "*macOS 10.14+**",
783
+ "type": "string",
784
+ "enum": [
785
+ "hudWindow"
786
+ ]
912
787
  },
913
- "requiredUnlessPresentAny": {
914
- "description": "Sets args that override this arg's required setting i.e. this arg will be required unless at least one of these other arguments are present.",
915
- "type": [
916
- "array",
917
- "null"
918
- ],
919
- "items": {
920
- "type": "string"
921
- }
788
+ {
789
+ "description": "*macOS 10.14+**",
790
+ "type": "string",
791
+ "enum": [
792
+ "fullScreenUI"
793
+ ]
922
794
  },
923
- "conflictsWith": {
924
- "description": "Sets a conflicting argument by name i.e. when using this argument, the following argument can't be present and vice versa.",
925
- "type": [
926
- "string",
927
- "null"
795
+ {
796
+ "description": "*macOS 10.14+**",
797
+ "type": "string",
798
+ "enum": [
799
+ "tooltip"
928
800
  ]
929
801
  },
930
- "conflictsWithAll": {
931
- "description": "The same as conflictsWith but allows specifying multiple two-way conflicts per argument.",
932
- "type": [
933
- "array",
934
- "null"
935
- ],
936
- "items": {
937
- "type": "string"
938
- }
802
+ {
803
+ "description": "*macOS 10.14+**",
804
+ "type": "string",
805
+ "enum": [
806
+ "contentBackground"
807
+ ]
939
808
  },
940
- "requires": {
941
- "description": "Tets an argument by name that is required when this one is present i.e. when using this argument, the following argument must be present.",
942
- "type": [
943
- "string",
944
- "null"
809
+ {
810
+ "description": "*macOS 10.14+**",
811
+ "type": "string",
812
+ "enum": [
813
+ "underWindowBackground"
945
814
  ]
946
815
  },
947
- "requiresAll": {
948
- "description": "Sts multiple arguments by names that are required when this one is present i.e. when using this argument, the following arguments must be present.",
949
- "type": [
950
- "array",
951
- "null"
952
- ],
953
- "items": {
954
- "type": "string"
955
- }
816
+ {
817
+ "description": "*macOS 10.14+**",
818
+ "type": "string",
819
+ "enum": [
820
+ "underPageBackground"
821
+ ]
956
822
  },
957
- "requiresIf": {
958
- "description": "Allows a conditional requirement with the signature [arg, value] the requirement will only become valid if `arg`'s value equals `${value}`.",
959
- "type": [
960
- "array",
961
- "null"
962
- ],
963
- "items": {
964
- "type": "string"
965
- }
823
+ {
824
+ "description": "Mica effect that matches the system dark perefence **Windows 11 Only**",
825
+ "type": "string",
826
+ "enum": [
827
+ "mica"
828
+ ]
966
829
  },
967
- "requiredIfEq": {
968
- "description": "Allows specifying that an argument is required conditionally with the signature [arg, value] the requirement will only become valid if the `arg`'s value equals `${value}`.",
969
- "type": [
970
- "array",
971
- "null"
972
- ],
973
- "items": {
974
- "type": "string"
975
- }
830
+ {
831
+ "description": "Mica effect with dark mode but only if dark mode is enabled on the system **Windows 11 Only**",
832
+ "type": "string",
833
+ "enum": [
834
+ "micaDark"
835
+ ]
976
836
  },
977
- "requireEquals": {
978
- "description": "Requires that options use the --option=val syntax i.e. an equals between the option and associated value.",
979
- "type": [
980
- "boolean",
981
- "null"
837
+ {
838
+ "description": "Mica effect with light mode **Windows 11 Only**",
839
+ "type": "string",
840
+ "enum": [
841
+ "micaLight"
982
842
  ]
983
843
  },
984
- "index": {
985
- "description": "The positional argument index, starting at 1.\n\nThe index refers to position according to other positional argument. It does not define position in the argument list as a whole. When utilized with multiple=true, only the last positional argument may be defined as multiple (i.e. the one with the highest index).",
986
- "type": [
987
- "integer",
988
- "null"
989
- ],
990
- "format": "uint",
991
- "minimum": 1.0
844
+ {
845
+ "description": "Tabbed effect that matches the system dark perefence **Windows 11 Only**",
846
+ "type": "string",
847
+ "enum": [
848
+ "tabbed"
849
+ ]
850
+ },
851
+ {
852
+ "description": "Tabbed effect with dark mode but only if dark mode is enabled on the system **Windows 11 Only**",
853
+ "type": "string",
854
+ "enum": [
855
+ "tabbedDark"
856
+ ]
857
+ },
858
+ {
859
+ "description": "Tabbed effect with light mode **Windows 11 Only**",
860
+ "type": "string",
861
+ "enum": [
862
+ "tabbedLight"
863
+ ]
864
+ },
865
+ {
866
+ "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.",
867
+ "type": "string",
868
+ "enum": [
869
+ "blur"
870
+ ]
871
+ },
872
+ {
873
+ "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.",
874
+ "type": "string",
875
+ "enum": [
876
+ "acrylic"
877
+ ]
992
878
  }
993
- },
994
- "additionalProperties": false
879
+ ]
880
+ },
881
+ "WindowEffectState": {
882
+ "description": "Window effect state **macOS only**\n\n<https://developer.apple.com/documentation/appkit/nsvisualeffectview/state>",
883
+ "oneOf": [
884
+ {
885
+ "description": "Make window effect state follow the window's active state",
886
+ "type": "string",
887
+ "enum": [
888
+ "followsWindowActiveState"
889
+ ]
890
+ },
891
+ {
892
+ "description": "Make window effect state always active",
893
+ "type": "string",
894
+ "enum": [
895
+ "active"
896
+ ]
897
+ },
898
+ {
899
+ "description": "Make window effect state always inactive",
900
+ "type": "string",
901
+ "enum": [
902
+ "inactive"
903
+ ]
904
+ }
905
+ ]
906
+ },
907
+ "Color": {
908
+ "description": "a tuple struct of RGBA colors. Each value has minimum of 0 and maximum of 255.",
909
+ "type": "array",
910
+ "items": [
911
+ {
912
+ "type": "integer",
913
+ "format": "uint8",
914
+ "minimum": 0.0
915
+ },
916
+ {
917
+ "type": "integer",
918
+ "format": "uint8",
919
+ "minimum": 0.0
920
+ },
921
+ {
922
+ "type": "integer",
923
+ "format": "uint8",
924
+ "minimum": 0.0
925
+ },
926
+ {
927
+ "type": "integer",
928
+ "format": "uint8",
929
+ "minimum": 0.0
930
+ }
931
+ ],
932
+ "maxItems": 4,
933
+ "minItems": 4
995
934
  },
996
935
  "BundleConfig": {
997
- "description": "Configuration for tauri-bundler.",
936
+ "description": "Configuration for tauri-bundler.\n\nSee more: <https://tauri.app/v1/api/config#bundleconfig>",
998
937
  "type": "object",
999
938
  "required": [
1000
939
  "identifier"
@@ -1006,7 +945,7 @@
1006
945
  "type": "boolean"
1007
946
  },
1008
947
  "targets": {
1009
- "description": "The bundle targets, currently supports [\"deb\", \"appimage\", \"msi\", \"app\", \"dmg\", \"updater\"] or \"all\".",
948
+ "description": "The bundle targets, currently supports [\"deb\", \"rpm\", \"appimage\", \"nsis\", \"msi\", \"app\", \"dmg\", \"updater\"] or \"all\".",
1010
949
  "default": "all",
1011
950
  "allOf": [
1012
951
  {
@@ -1035,13 +974,14 @@
1035
974
  },
1036
975
  "resources": {
1037
976
  "description": "App resources to bundle. Each resource is a path to a file or directory. Glob patterns are supported.",
1038
- "type": [
1039
- "array",
1040
- "null"
1041
- ],
1042
- "items": {
1043
- "type": "string"
1044
- }
977
+ "anyOf": [
978
+ {
979
+ "$ref": "#/definitions/BundleResources"
980
+ },
981
+ {
982
+ "type": "null"
983
+ }
984
+ ]
1045
985
  },
1046
986
  "copyright": {
1047
987
  "description": "A copyright string associated with your application.",
@@ -1057,6 +997,16 @@
1057
997
  "null"
1058
998
  ]
1059
999
  },
1000
+ "fileAssociations": {
1001
+ "description": "File associations to application.",
1002
+ "type": [
1003
+ "array",
1004
+ "null"
1005
+ ],
1006
+ "items": {
1007
+ "$ref": "#/definitions/FileAssociation"
1008
+ }
1009
+ },
1060
1010
  "shortDescription": {
1061
1011
  "description": "A short description of your application.",
1062
1012
  "type": [
@@ -1093,9 +1043,45 @@
1093
1043
  }
1094
1044
  ]
1095
1045
  },
1046
+ "rpm": {
1047
+ "description": "Configuration for the RPM bundle.",
1048
+ "default": {
1049
+ "epoch": 0,
1050
+ "files": {},
1051
+ "release": "1"
1052
+ },
1053
+ "allOf": [
1054
+ {
1055
+ "$ref": "#/definitions/RpmConfig"
1056
+ }
1057
+ ]
1058
+ },
1059
+ "dmg": {
1060
+ "description": "DMG-specific settings.",
1061
+ "default": {
1062
+ "appPosition": {
1063
+ "x": 180,
1064
+ "y": 170
1065
+ },
1066
+ "applicationFolderPosition": {
1067
+ "x": 480,
1068
+ "y": 170
1069
+ },
1070
+ "windowSize": {
1071
+ "height": 400,
1072
+ "width": 660
1073
+ }
1074
+ },
1075
+ "allOf": [
1076
+ {
1077
+ "$ref": "#/definitions/DmgConfig"
1078
+ }
1079
+ ]
1080
+ },
1096
1081
  "macOS": {
1097
1082
  "description": "Configuration for the macOS bundles.",
1098
1083
  "default": {
1084
+ "files": {},
1099
1085
  "minimumSystemVersion": "10.13"
1100
1086
  },
1101
1087
  "allOf": [
@@ -1120,6 +1106,7 @@
1120
1106
  "allowDowngrades": true,
1121
1107
  "certificateThumbprint": null,
1122
1108
  "digestAlgorithm": null,
1109
+ "nsis": null,
1123
1110
  "timestampUrl": null,
1124
1111
  "tsp": false,
1125
1112
  "webviewFixedRuntimePath": null,
@@ -1143,6 +1130,32 @@
1143
1130
  "$ref": "#/definitions/IosConfig"
1144
1131
  }
1145
1132
  ]
1133
+ },
1134
+ "android": {
1135
+ "description": "Android configuration.",
1136
+ "default": {
1137
+ "minSdkVersion": 24
1138
+ },
1139
+ "allOf": [
1140
+ {
1141
+ "$ref": "#/definitions/AndroidConfig"
1142
+ }
1143
+ ]
1144
+ },
1145
+ "updater": {
1146
+ "description": "The updater configuration.",
1147
+ "default": {
1148
+ "active": false,
1149
+ "pubkey": "",
1150
+ "windows": {
1151
+ "installMode": "passive"
1152
+ }
1153
+ },
1154
+ "allOf": [
1155
+ {
1156
+ "$ref": "#/definitions/UpdaterConfig"
1157
+ }
1158
+ ]
1146
1159
  }
1147
1160
  },
1148
1161
  "additionalProperties": false
@@ -1183,6 +1196,13 @@
1183
1196
  "deb"
1184
1197
  ]
1185
1198
  },
1199
+ {
1200
+ "description": "The RPM bundle (.rpm).",
1201
+ "type": "string",
1202
+ "enum": [
1203
+ "rpm"
1204
+ ]
1205
+ },
1186
1206
  {
1187
1207
  "description": "The AppImage bundle (.appimage).",
1188
1208
  "type": "string",
@@ -1197,6 +1217,13 @@
1197
1217
  "msi"
1198
1218
  ]
1199
1219
  },
1220
+ {
1221
+ "description": "The NSIS bundle (.exe).",
1222
+ "type": "string",
1223
+ "enum": [
1224
+ "nsis"
1225
+ ]
1226
+ },
1200
1227
  {
1201
1228
  "description": "The macOS application bundle (.app).",
1202
1229
  "type": "string",
@@ -1220,32 +1247,193 @@
1220
1247
  }
1221
1248
  ]
1222
1249
  },
1223
- "AppImageConfig": {
1224
- "description": "Configuration for AppImage bundles.",
1225
- "type": "object",
1226
- "properties": {
1227
- "bundleMediaFramework": {
1228
- "description": "Include additional gstreamer dependencies needed for audio and video playback. This increases the bundle size by ~15-35MB depending on your build system.",
1229
- "default": false,
1230
- "type": "boolean"
1231
- }
1232
- },
1233
- "additionalProperties": false
1234
- },
1235
- "DebConfig": {
1236
- "description": "Configuration for Debian (.deb) bundles.",
1237
- "type": "object",
1238
- "properties": {
1239
- "depends": {
1240
- "description": "The list of deb dependencies your application relies on.",
1241
- "type": [
1242
- "array",
1243
- "null"
1244
- ],
1250
+ "BundleResources": {
1251
+ "description": "Definition for bundle resources. Can be either a list of paths to include or a map of source to target paths.",
1252
+ "anyOf": [
1253
+ {
1254
+ "description": "A list of paths to include.",
1255
+ "type": "array",
1245
1256
  "items": {
1246
1257
  "type": "string"
1247
1258
  }
1248
1259
  },
1260
+ {
1261
+ "description": "A map of source to target paths.",
1262
+ "type": "object",
1263
+ "additionalProperties": {
1264
+ "type": "string"
1265
+ }
1266
+ }
1267
+ ]
1268
+ },
1269
+ "FileAssociation": {
1270
+ "description": "File association",
1271
+ "type": "object",
1272
+ "required": [
1273
+ "ext"
1274
+ ],
1275
+ "properties": {
1276
+ "ext": {
1277
+ "description": "File extensions to associate with this app. e.g. 'png'",
1278
+ "type": "array",
1279
+ "items": {
1280
+ "$ref": "#/definitions/AssociationExt"
1281
+ }
1282
+ },
1283
+ "name": {
1284
+ "description": "The name. Maps to `CFBundleTypeName` on macOS. Default to `ext[0]`",
1285
+ "type": [
1286
+ "string",
1287
+ "null"
1288
+ ]
1289
+ },
1290
+ "description": {
1291
+ "description": "The association description. Windows-only. It is displayed on the `Type` column on Windows Explorer.",
1292
+ "type": [
1293
+ "string",
1294
+ "null"
1295
+ ]
1296
+ },
1297
+ "role": {
1298
+ "description": "The app’s role with respect to the type. Maps to `CFBundleTypeRole` on macOS.",
1299
+ "default": "Editor",
1300
+ "allOf": [
1301
+ {
1302
+ "$ref": "#/definitions/BundleTypeRole"
1303
+ }
1304
+ ]
1305
+ },
1306
+ "mimeType": {
1307
+ "description": "The mime-type e.g. 'image/png' or 'text/plain'. Linux-only.",
1308
+ "type": [
1309
+ "string",
1310
+ "null"
1311
+ ]
1312
+ }
1313
+ },
1314
+ "additionalProperties": false
1315
+ },
1316
+ "AssociationExt": {
1317
+ "description": "An extension for a [`FileAssociation`].\n\nA leading `.` is automatically stripped.",
1318
+ "type": "string"
1319
+ },
1320
+ "BundleTypeRole": {
1321
+ "description": "macOS-only. Corresponds to CFBundleTypeRole",
1322
+ "oneOf": [
1323
+ {
1324
+ "description": "CFBundleTypeRole.Editor. Files can be read and edited.",
1325
+ "type": "string",
1326
+ "enum": [
1327
+ "Editor"
1328
+ ]
1329
+ },
1330
+ {
1331
+ "description": "CFBundleTypeRole.Viewer. Files can be read.",
1332
+ "type": "string",
1333
+ "enum": [
1334
+ "Viewer"
1335
+ ]
1336
+ },
1337
+ {
1338
+ "description": "CFBundleTypeRole.Shell",
1339
+ "type": "string",
1340
+ "enum": [
1341
+ "Shell"
1342
+ ]
1343
+ },
1344
+ {
1345
+ "description": "CFBundleTypeRole.QLGenerator",
1346
+ "type": "string",
1347
+ "enum": [
1348
+ "QLGenerator"
1349
+ ]
1350
+ },
1351
+ {
1352
+ "description": "CFBundleTypeRole.None",
1353
+ "type": "string",
1354
+ "enum": [
1355
+ "None"
1356
+ ]
1357
+ }
1358
+ ]
1359
+ },
1360
+ "AppImageConfig": {
1361
+ "description": "Configuration for AppImage bundles.\n\nSee more: <https://tauri.app/v1/api/config#appimageconfig>",
1362
+ "type": "object",
1363
+ "properties": {
1364
+ "bundleMediaFramework": {
1365
+ "description": "Include additional gstreamer dependencies needed for audio and video playback. This increases the bundle size by ~15-35MB depending on your build system.",
1366
+ "default": false,
1367
+ "type": "boolean"
1368
+ }
1369
+ },
1370
+ "additionalProperties": false
1371
+ },
1372
+ "DebConfig": {
1373
+ "description": "Configuration for Debian (.deb) bundles.\n\nSee more: <https://tauri.app/v1/api/config#debconfig>",
1374
+ "type": "object",
1375
+ "properties": {
1376
+ "depends": {
1377
+ "description": "The list of deb dependencies your application relies on.",
1378
+ "type": [
1379
+ "array",
1380
+ "null"
1381
+ ],
1382
+ "items": {
1383
+ "type": "string"
1384
+ }
1385
+ },
1386
+ "files": {
1387
+ "description": "The files to include on the package.",
1388
+ "default": {},
1389
+ "type": "object",
1390
+ "additionalProperties": {
1391
+ "type": "string"
1392
+ }
1393
+ },
1394
+ "desktopTemplate": {
1395
+ "description": "Path to a custom desktop file Handlebars template.\n\nAvailable variables: `categories`, `comment` (optional), `exec`, `icon` and `name`.",
1396
+ "type": [
1397
+ "string",
1398
+ "null"
1399
+ ]
1400
+ }
1401
+ },
1402
+ "additionalProperties": false
1403
+ },
1404
+ "RpmConfig": {
1405
+ "description": "Configuration for RPM bundles.",
1406
+ "type": "object",
1407
+ "properties": {
1408
+ "license": {
1409
+ "description": "The package's license identifier. If not set, defaults to the license from the Cargo.toml file.",
1410
+ "type": [
1411
+ "string",
1412
+ "null"
1413
+ ]
1414
+ },
1415
+ "depends": {
1416
+ "description": "The list of RPM dependencies your application relies on.",
1417
+ "type": [
1418
+ "array",
1419
+ "null"
1420
+ ],
1421
+ "items": {
1422
+ "type": "string"
1423
+ }
1424
+ },
1425
+ "release": {
1426
+ "description": "The RPM release tag.",
1427
+ "default": "1",
1428
+ "type": "string"
1429
+ },
1430
+ "epoch": {
1431
+ "description": "The RPM epoch.",
1432
+ "default": 0,
1433
+ "type": "integer",
1434
+ "format": "uint32",
1435
+ "minimum": 0.0
1436
+ },
1249
1437
  "files": {
1250
1438
  "description": "The files to include on the package.",
1251
1439
  "default": {},
@@ -1253,12 +1441,126 @@
1253
1441
  "additionalProperties": {
1254
1442
  "type": "string"
1255
1443
  }
1444
+ },
1445
+ "desktopTemplate": {
1446
+ "description": "Path to a custom desktop file Handlebars template.\n\nAvailable variables: `categories`, `comment` (optional), `exec`, `icon` and `name`.",
1447
+ "type": [
1448
+ "string",
1449
+ "null"
1450
+ ]
1451
+ }
1452
+ },
1453
+ "additionalProperties": false
1454
+ },
1455
+ "DmgConfig": {
1456
+ "description": "Configuration for Apple Disk Image (.dmg) bundles.\n\nSee more: https://tauri.app/v1/api/config#dmgconfig",
1457
+ "type": "object",
1458
+ "properties": {
1459
+ "background": {
1460
+ "description": "Image to use as the background in dmg file. Accepted formats: `png`/`jpg`/`gif`.",
1461
+ "type": [
1462
+ "string",
1463
+ "null"
1464
+ ]
1465
+ },
1466
+ "windowPosition": {
1467
+ "description": "Position of volume window on screen.",
1468
+ "anyOf": [
1469
+ {
1470
+ "$ref": "#/definitions/Position"
1471
+ },
1472
+ {
1473
+ "type": "null"
1474
+ }
1475
+ ]
1476
+ },
1477
+ "windowSize": {
1478
+ "description": "Size of volume window.",
1479
+ "default": {
1480
+ "height": 400,
1481
+ "width": 660
1482
+ },
1483
+ "allOf": [
1484
+ {
1485
+ "$ref": "#/definitions/Size"
1486
+ }
1487
+ ]
1488
+ },
1489
+ "appPosition": {
1490
+ "description": "Position of app file on window.",
1491
+ "default": {
1492
+ "x": 180,
1493
+ "y": 170
1494
+ },
1495
+ "allOf": [
1496
+ {
1497
+ "$ref": "#/definitions/Position"
1498
+ }
1499
+ ]
1500
+ },
1501
+ "applicationFolderPosition": {
1502
+ "description": "Position of application folder on window.",
1503
+ "default": {
1504
+ "x": 480,
1505
+ "y": 170
1506
+ },
1507
+ "allOf": [
1508
+ {
1509
+ "$ref": "#/definitions/Position"
1510
+ }
1511
+ ]
1512
+ }
1513
+ },
1514
+ "additionalProperties": false
1515
+ },
1516
+ "Position": {
1517
+ "description": "Position coordinates struct.",
1518
+ "type": "object",
1519
+ "required": [
1520
+ "x",
1521
+ "y"
1522
+ ],
1523
+ "properties": {
1524
+ "x": {
1525
+ "description": "X coordinate.",
1526
+ "type": "integer",
1527
+ "format": "uint32",
1528
+ "minimum": 0.0
1529
+ },
1530
+ "y": {
1531
+ "description": "Y coordinate.",
1532
+ "type": "integer",
1533
+ "format": "uint32",
1534
+ "minimum": 0.0
1535
+ }
1536
+ },
1537
+ "additionalProperties": false
1538
+ },
1539
+ "Size": {
1540
+ "description": "Size of the window.",
1541
+ "type": "object",
1542
+ "required": [
1543
+ "height",
1544
+ "width"
1545
+ ],
1546
+ "properties": {
1547
+ "width": {
1548
+ "description": "Width of the window.",
1549
+ "type": "integer",
1550
+ "format": "uint32",
1551
+ "minimum": 0.0
1552
+ },
1553
+ "height": {
1554
+ "description": "Height of the window.",
1555
+ "type": "integer",
1556
+ "format": "uint32",
1557
+ "minimum": 0.0
1256
1558
  }
1257
1559
  },
1258
1560
  "additionalProperties": false
1259
1561
  },
1260
1562
  "MacConfig": {
1261
- "description": "Configuration for the macOS bundles.",
1563
+ "description": "Configuration for the macOS bundles.\n\nSee more: <https://tauri.app/v1/api/config#macconfig>",
1262
1564
  "type": "object",
1263
1565
  "properties": {
1264
1566
  "frameworks": {
@@ -1271,6 +1573,14 @@
1271
1573
  "type": "string"
1272
1574
  }
1273
1575
  },
1576
+ "files": {
1577
+ "description": "The files to include in the application relative to the Contents directory.",
1578
+ "default": {},
1579
+ "type": "object",
1580
+ "additionalProperties": {
1581
+ "type": "string"
1582
+ }
1583
+ },
1274
1584
  "minimumSystemVersion": {
1275
1585
  "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.",
1276
1586
  "default": "10.13",
@@ -1318,7 +1628,7 @@
1318
1628
  "additionalProperties": false
1319
1629
  },
1320
1630
  "WindowsConfig": {
1321
- "description": "Windows bundler configuration.",
1631
+ "description": "Windows bundler configuration.\n\nSee more: <https://tauri.app/v1/api/config#windowsconfig>",
1322
1632
  "type": "object",
1323
1633
  "properties": {
1324
1634
  "digestAlgorithm": {
@@ -1381,6 +1691,17 @@
1381
1691
  "type": "null"
1382
1692
  }
1383
1693
  ]
1694
+ },
1695
+ "nsis": {
1696
+ "description": "Configuration for the installer generated with NSIS.",
1697
+ "anyOf": [
1698
+ {
1699
+ "$ref": "#/definitions/NsisConfig"
1700
+ },
1701
+ {
1702
+ "type": "null"
1703
+ }
1704
+ ]
1384
1705
  }
1385
1706
  },
1386
1707
  "additionalProperties": false
@@ -1405,7 +1726,7 @@
1405
1726
  "additionalProperties": false
1406
1727
  },
1407
1728
  {
1408
- "description": "Download the bootstrapper and run it. Requires internet connection. Results in a smaller installer size, but is not recommended on Windows 7.",
1729
+ "description": "Download the bootstrapper and run it. Requires an internet connection. Results in a smaller installer size, but is not recommended on Windows 7.",
1409
1730
  "type": "object",
1410
1731
  "required": [
1411
1732
  "type"
@@ -1426,7 +1747,7 @@
1426
1747
  "additionalProperties": false
1427
1748
  },
1428
1749
  {
1429
- "description": "Embed the bootstrapper and run it. Requires internet connection. Increases the installer size by around 1.8MB, but offers better support on Windows 7.",
1750
+ "description": "Embed the bootstrapper and run it. Requires an internet connection. Increases the installer size by around 1.8MB, but offers better support on Windows 7.",
1430
1751
  "type": "object",
1431
1752
  "required": [
1432
1753
  "type"
@@ -1447,7 +1768,7 @@
1447
1768
  "additionalProperties": false
1448
1769
  },
1449
1770
  {
1450
- "description": "Embed the offline installer and run it. Does not require internet connection. Increases the installer size by around 127MB.",
1771
+ "description": "Embed the offline installer and run it. Does not require an internet connection. Increases the installer size by around 127MB.",
1451
1772
  "type": "object",
1452
1773
  "required": [
1453
1774
  "type"
@@ -1491,7 +1812,7 @@
1491
1812
  ]
1492
1813
  },
1493
1814
  "WixConfig": {
1494
- "description": "Configuration for the MSI bundle using WiX.",
1815
+ "description": "Configuration for the MSI bundle using WiX.\n\nSee more: <https://tauri.app/v1/api/config#wixconfig>",
1495
1816
  "type": "object",
1496
1817
  "properties": {
1497
1818
  "language": {
@@ -1616,7 +1937,7 @@
1616
1937
  ]
1617
1938
  },
1618
1939
  "WixLanguageConfig": {
1619
- "description": "Configuration for a target language for the WiX build.",
1940
+ "description": "Configuration for a target language for the WiX build.\n\nSee more: <https://tauri.app/v1/api/config#wixlanguageconfig>",
1620
1941
  "type": "object",
1621
1942
  "properties": {
1622
1943
  "localePath": {
@@ -1629,840 +1950,245 @@
1629
1950
  },
1630
1951
  "additionalProperties": false
1631
1952
  },
1632
- "IosConfig": {
1633
- "description": "General configuration for the iOS target.",
1953
+ "NsisConfig": {
1954
+ "description": "Configuration for the Installer bundle using NSIS.",
1634
1955
  "type": "object",
1635
1956
  "properties": {
1636
- "developmentTeam": {
1637
- "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.",
1957
+ "template": {
1958
+ "description": "A custom .nsi template to use.",
1638
1959
  "type": [
1639
1960
  "string",
1640
1961
  "null"
1641
1962
  ]
1642
- }
1643
- },
1644
- "additionalProperties": false
1645
- },
1646
- "AllowlistConfig": {
1647
- "description": "Allowlist configuration.",
1648
- "type": "object",
1649
- "properties": {
1650
- "all": {
1651
- "description": "Use this flag to enable all API features.",
1652
- "default": false,
1653
- "type": "boolean"
1654
1963
  },
1655
- "fs": {
1656
- "description": "File system API allowlist.",
1657
- "default": {
1658
- "all": false,
1659
- "copyFile": false,
1660
- "createDir": false,
1661
- "exists": false,
1662
- "readDir": false,
1663
- "readFile": false,
1664
- "removeDir": false,
1665
- "removeFile": false,
1666
- "renameFile": false,
1667
- "scope": [],
1668
- "writeFile": false
1669
- },
1670
- "allOf": [
1671
- {
1672
- "$ref": "#/definitions/FsAllowlistConfig"
1673
- }
1964
+ "license": {
1965
+ "description": "The path to the license file to render on the installer.",
1966
+ "type": [
1967
+ "string",
1968
+ "null"
1674
1969
  ]
1675
1970
  },
1676
- "window": {
1677
- "description": "Window API allowlist.",
1678
- "default": {
1679
- "all": false,
1680
- "center": false,
1681
- "close": false,
1682
- "create": false,
1683
- "hide": false,
1684
- "maximize": false,
1685
- "minimize": false,
1686
- "print": false,
1687
- "requestUserAttention": false,
1688
- "setAlwaysOnTop": false,
1689
- "setCursorGrab": false,
1690
- "setCursorIcon": false,
1691
- "setCursorPosition": false,
1692
- "setCursorVisible": false,
1693
- "setDecorations": false,
1694
- "setFocus": false,
1695
- "setFullscreen": false,
1696
- "setIcon": false,
1697
- "setIgnoreCursorEvents": false,
1698
- "setMaxSize": false,
1699
- "setMinSize": false,
1700
- "setPosition": false,
1701
- "setResizable": false,
1702
- "setSize": false,
1703
- "setSkipTaskbar": false,
1704
- "setTitle": false,
1705
- "show": false,
1706
- "startDragging": false,
1707
- "unmaximize": false,
1708
- "unminimize": false
1709
- },
1971
+ "headerImage": {
1972
+ "description": "The path to a bitmap file to display on the header of installers pages.\n\nThe recommended dimensions are 150px x 57px.",
1973
+ "type": [
1974
+ "string",
1975
+ "null"
1976
+ ]
1977
+ },
1978
+ "sidebarImage": {
1979
+ "description": "The path to a bitmap file for the Welcome page and the Finish page.\n\nThe recommended dimensions are 164px x 314px.",
1980
+ "type": [
1981
+ "string",
1982
+ "null"
1983
+ ]
1984
+ },
1985
+ "installerIcon": {
1986
+ "description": "The path to an icon file used as the installer icon.",
1987
+ "type": [
1988
+ "string",
1989
+ "null"
1990
+ ]
1991
+ },
1992
+ "installMode": {
1993
+ "description": "Whether the installation will be for all users or just the current user.",
1994
+ "default": "currentUser",
1710
1995
  "allOf": [
1711
1996
  {
1712
- "$ref": "#/definitions/WindowAllowlistConfig"
1997
+ "$ref": "#/definitions/NSISInstallerMode"
1713
1998
  }
1714
1999
  ]
1715
2000
  },
1716
- "shell": {
1717
- "description": "Shell API allowlist.",
1718
- "default": {
1719
- "all": false,
1720
- "execute": false,
1721
- "open": false,
1722
- "scope": [],
1723
- "sidecar": false
1724
- },
1725
- "allOf": [
1726
- {
1727
- "$ref": "#/definitions/ShellAllowlistConfig"
1728
- }
1729
- ]
1730
- },
1731
- "dialog": {
1732
- "description": "Dialog API allowlist.",
1733
- "default": {
1734
- "all": false,
1735
- "ask": false,
1736
- "confirm": false,
1737
- "message": false,
1738
- "open": false,
1739
- "save": false
1740
- },
1741
- "allOf": [
1742
- {
1743
- "$ref": "#/definitions/DialogAllowlistConfig"
1744
- }
1745
- ]
1746
- },
1747
- "http": {
1748
- "description": "HTTP API allowlist.",
1749
- "default": {
1750
- "all": false,
1751
- "request": false,
1752
- "scope": []
1753
- },
1754
- "allOf": [
1755
- {
1756
- "$ref": "#/definitions/HttpAllowlistConfig"
1757
- }
1758
- ]
1759
- },
1760
- "notification": {
1761
- "description": "Notification API allowlist.",
1762
- "default": {
1763
- "all": false
1764
- },
1765
- "allOf": [
1766
- {
1767
- "$ref": "#/definitions/NotificationAllowlistConfig"
1768
- }
1769
- ]
1770
- },
1771
- "globalShortcut": {
1772
- "description": "Global shortcut API allowlist.",
1773
- "default": {
1774
- "all": false
1775
- },
1776
- "allOf": [
1777
- {
1778
- "$ref": "#/definitions/GlobalShortcutAllowlistConfig"
1779
- }
1780
- ]
1781
- },
1782
- "os": {
1783
- "description": "OS allowlist.",
1784
- "default": {
1785
- "all": false
1786
- },
1787
- "allOf": [
1788
- {
1789
- "$ref": "#/definitions/OsAllowlistConfig"
1790
- }
1791
- ]
1792
- },
1793
- "path": {
1794
- "description": "Path API allowlist.",
1795
- "default": {
1796
- "all": false
1797
- },
1798
- "allOf": [
1799
- {
1800
- "$ref": "#/definitions/PathAllowlistConfig"
1801
- }
1802
- ]
1803
- },
1804
- "protocol": {
1805
- "description": "Custom protocol allowlist.",
1806
- "default": {
1807
- "all": false,
1808
- "asset": false,
1809
- "assetScope": []
1810
- },
1811
- "allOf": [
1812
- {
1813
- "$ref": "#/definitions/ProtocolAllowlistConfig"
1814
- }
1815
- ]
1816
- },
1817
- "process": {
1818
- "description": "Process API allowlist.",
1819
- "default": {
1820
- "all": false,
1821
- "exit": false,
1822
- "relaunch": false,
1823
- "relaunchDangerousAllowSymlinkMacos": false
1824
- },
1825
- "allOf": [
1826
- {
1827
- "$ref": "#/definitions/ProcessAllowlistConfig"
1828
- }
1829
- ]
1830
- },
1831
- "clipboard": {
1832
- "description": "Clipboard APIs allowlist.",
1833
- "default": {
1834
- "all": false,
1835
- "readText": false,
1836
- "writeText": false
1837
- },
1838
- "allOf": [
1839
- {
1840
- "$ref": "#/definitions/ClipboardAllowlistConfig"
1841
- }
1842
- ]
1843
- },
1844
- "app": {
1845
- "description": "App APIs allowlist.",
1846
- "default": {
1847
- "all": false,
1848
- "hide": false,
1849
- "show": false
1850
- },
1851
- "allOf": [
1852
- {
1853
- "$ref": "#/definitions/AppAllowlistConfig"
1854
- }
1855
- ]
1856
- }
1857
- },
1858
- "additionalProperties": false
1859
- },
1860
- "FsAllowlistConfig": {
1861
- "description": "Allowlist for the file system APIs.",
1862
- "type": "object",
1863
- "properties": {
1864
- "scope": {
1865
- "description": "The access scope for the filesystem APIs.",
1866
- "default": [],
1867
- "allOf": [
1868
- {
1869
- "$ref": "#/definitions/FsAllowlistScope"
1870
- }
1871
- ]
1872
- },
1873
- "all": {
1874
- "description": "Use this flag to enable all file system API features.",
1875
- "default": false,
1876
- "type": "boolean"
1877
- },
1878
- "readFile": {
1879
- "description": "Read file from local filesystem.",
1880
- "default": false,
1881
- "type": "boolean"
1882
- },
1883
- "writeFile": {
1884
- "description": "Write file to local filesystem.",
1885
- "default": false,
1886
- "type": "boolean"
1887
- },
1888
- "readDir": {
1889
- "description": "Read directory from local filesystem.",
1890
- "default": false,
1891
- "type": "boolean"
1892
- },
1893
- "copyFile": {
1894
- "description": "Copy file from local filesystem.",
1895
- "default": false,
1896
- "type": "boolean"
1897
- },
1898
- "createDir": {
1899
- "description": "Create directory from local filesystem.",
1900
- "default": false,
1901
- "type": "boolean"
1902
- },
1903
- "removeDir": {
1904
- "description": "Remove directory from local filesystem.",
1905
- "default": false,
1906
- "type": "boolean"
1907
- },
1908
- "removeFile": {
1909
- "description": "Remove file from local filesystem.",
1910
- "default": false,
1911
- "type": "boolean"
1912
- },
1913
- "renameFile": {
1914
- "description": "Rename file from local filesystem.",
1915
- "default": false,
1916
- "type": "boolean"
1917
- },
1918
- "exists": {
1919
- "description": "Check if path exists on the local filesystem.",
1920
- "default": false,
1921
- "type": "boolean"
1922
- }
1923
- },
1924
- "additionalProperties": false
1925
- },
1926
- "FsAllowlistScope": {
1927
- "description": "Filesystem scope definition. It is a list of glob patterns that restrict the API access from the webview.\n\nEach pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
1928
- "anyOf": [
1929
- {
1930
- "description": "A list of paths that are allowed by this scope.",
1931
- "type": "array",
2001
+ "languages": {
2002
+ "description": "A list of installer languages. By default the OS language is used. If the OS language is not in the list of languages, the first language will be used. To allow the user to select the language, set `display_language_selector` to `true`.\n\nSee <https://github.com/kichik/nsis/tree/9465c08046f00ccb6eda985abbdbf52c275c6c4d/Contrib/Language%20files> for the complete list of languages.",
2003
+ "type": [
2004
+ "array",
2005
+ "null"
2006
+ ],
1932
2007
  "items": {
1933
2008
  "type": "string"
1934
2009
  }
1935
2010
  },
1936
- {
1937
- "description": "A complete scope configuration.",
1938
- "type": "object",
1939
- "properties": {
1940
- "allow": {
1941
- "description": "A list of paths that are allowed by this scope.",
1942
- "default": [],
1943
- "type": "array",
1944
- "items": {
1945
- "type": "string"
1946
- }
1947
- },
1948
- "deny": {
1949
- "description": "A list of paths that are not allowed by this scope. This gets precedence over the [`Self::Scope::allow`] list.",
1950
- "default": [],
1951
- "type": "array",
1952
- "items": {
1953
- "type": "string"
1954
- }
1955
- }
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"
1956
2019
  }
1957
- }
1958
- ]
1959
- },
1960
- "WindowAllowlistConfig": {
1961
- "description": "Allowlist for the window APIs.",
1962
- "type": "object",
1963
- "properties": {
1964
- "all": {
1965
- "description": "Use this flag to enable all window API features.",
1966
- "default": false,
1967
- "type": "boolean"
1968
- },
1969
- "create": {
1970
- "description": "Allows dynamic window creation.",
1971
- "default": false,
1972
- "type": "boolean"
1973
- },
1974
- "center": {
1975
- "description": "Allows centering the window.",
1976
- "default": false,
1977
- "type": "boolean"
1978
- },
1979
- "requestUserAttention": {
1980
- "description": "Allows requesting user attention on the window.",
1981
- "default": false,
1982
- "type": "boolean"
1983
- },
1984
- "setResizable": {
1985
- "description": "Allows setting the resizable flag of the window.",
1986
- "default": false,
1987
- "type": "boolean"
1988
- },
1989
- "setTitle": {
1990
- "description": "Allows changing the window title.",
1991
- "default": false,
1992
- "type": "boolean"
1993
- },
1994
- "maximize": {
1995
- "description": "Allows maximizing the window.",
1996
- "default": false,
1997
- "type": "boolean"
1998
- },
1999
- "unmaximize": {
2000
- "description": "Allows unmaximizing the window.",
2001
- "default": false,
2002
- "type": "boolean"
2003
- },
2004
- "minimize": {
2005
- "description": "Allows minimizing the window.",
2006
- "default": false,
2007
- "type": "boolean"
2008
- },
2009
- "unminimize": {
2010
- "description": "Allows unminimizing the window.",
2011
- "default": false,
2012
- "type": "boolean"
2013
- },
2014
- "show": {
2015
- "description": "Allows showing the window.",
2016
- "default": false,
2017
- "type": "boolean"
2018
- },
2019
- "hide": {
2020
- "description": "Allows hiding the window.",
2021
- "default": false,
2022
- "type": "boolean"
2023
- },
2024
- "close": {
2025
- "description": "Allows closing the window.",
2026
- "default": false,
2027
- "type": "boolean"
2028
- },
2029
- "setDecorations": {
2030
- "description": "Allows setting the decorations flag of the window.",
2031
- "default": false,
2032
- "type": "boolean"
2033
- },
2034
- "setAlwaysOnTop": {
2035
- "description": "Allows setting the always_on_top flag of the window.",
2036
- "default": false,
2037
- "type": "boolean"
2038
- },
2039
- "setSize": {
2040
- "description": "Allows setting the window size.",
2041
- "default": false,
2042
- "type": "boolean"
2043
- },
2044
- "setMinSize": {
2045
- "description": "Allows setting the window minimum size.",
2046
- "default": false,
2047
- "type": "boolean"
2048
- },
2049
- "setMaxSize": {
2050
- "description": "Allows setting the window maximum size.",
2051
- "default": false,
2052
- "type": "boolean"
2053
- },
2054
- "setPosition": {
2055
- "description": "Allows changing the position of the window.",
2056
- "default": false,
2057
- "type": "boolean"
2058
- },
2059
- "setFullscreen": {
2060
- "description": "Allows setting the fullscreen flag of the window.",
2061
- "default": false,
2062
- "type": "boolean"
2063
- },
2064
- "setFocus": {
2065
- "description": "Allows focusing the window.",
2066
- "default": false,
2067
- "type": "boolean"
2068
- },
2069
- "setIcon": {
2070
- "description": "Allows changing the window icon.",
2071
- "default": false,
2072
- "type": "boolean"
2073
- },
2074
- "setSkipTaskbar": {
2075
- "description": "Allows setting the skip_taskbar flag of the window.",
2076
- "default": false,
2077
- "type": "boolean"
2078
- },
2079
- "setCursorGrab": {
2080
- "description": "Allows grabbing the cursor.",
2081
- "default": false,
2082
- "type": "boolean"
2083
- },
2084
- "setCursorVisible": {
2085
- "description": "Allows setting the cursor visibility.",
2086
- "default": false,
2087
- "type": "boolean"
2088
- },
2089
- "setCursorIcon": {
2090
- "description": "Allows changing the cursor icon.",
2091
- "default": false,
2092
- "type": "boolean"
2093
2020
  },
2094
- "setCursorPosition": {
2095
- "description": "Allows setting the cursor position.",
2021
+ "displayLanguageSelector": {
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.",
2096
2023
  "default": false,
2097
2024
  "type": "boolean"
2098
2025
  },
2099
- "setIgnoreCursorEvents": {
2100
- "description": "Allows ignoring cursor events.",
2101
- "default": false,
2102
- "type": "boolean"
2103
- },
2104
- "startDragging": {
2105
- "description": "Allows start dragging on the window.",
2106
- "default": false,
2107
- "type": "boolean"
2108
- },
2109
- "print": {
2110
- "description": "Allows opening the system dialog to print the window content.",
2111
- "default": false,
2112
- "type": "boolean"
2113
- }
2114
- },
2115
- "additionalProperties": false
2116
- },
2117
- "ShellAllowlistConfig": {
2118
- "description": "Allowlist for the shell APIs.",
2119
- "type": "object",
2120
- "properties": {
2121
- "scope": {
2122
- "description": "Access scope for the binary execution APIs. Sidecars are automatically enabled.",
2123
- "default": [],
2124
- "allOf": [
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": [
2125
2029
  {
2126
- "$ref": "#/definitions/ShellAllowlistScope"
2127
- }
2128
- ]
2129
- },
2130
- "all": {
2131
- "description": "Use this flag to enable all shell API features.",
2132
- "default": false,
2133
- "type": "boolean"
2134
- },
2135
- "execute": {
2136
- "description": "Enable binary execution.",
2137
- "default": false,
2138
- "type": "boolean"
2139
- },
2140
- "sidecar": {
2141
- "description": "Enable sidecar execution, allowing the JavaScript layer to spawn a sidecar command, an executable that is shipped with the application. For more information see <https://tauri.app/v1/guides/building/sidecar>.",
2142
- "default": false,
2143
- "type": "boolean"
2144
- },
2145
- "open": {
2146
- "description": "Open URL with the user's default application.",
2147
- "default": false,
2148
- "allOf": [
2030
+ "$ref": "#/definitions/NsisCompression"
2031
+ },
2149
2032
  {
2150
- "$ref": "#/definitions/ShellAllowlistOpen"
2033
+ "type": "null"
2151
2034
  }
2152
2035
  ]
2153
2036
  }
2154
2037
  },
2155
2038
  "additionalProperties": false
2156
2039
  },
2157
- "ShellAllowlistScope": {
2158
- "description": "Shell scope definition. It is a list of command names and associated CLI arguments that restrict the API access from the webview.",
2159
- "type": "array",
2160
- "items": {
2161
- "$ref": "#/definitions/ShellAllowedCommand"
2162
- }
2163
- },
2164
- "ShellAllowedCommand": {
2165
- "description": "A command allowed to be executed by the webview API.",
2166
- "type": "object",
2167
- "required": [
2168
- "name"
2169
- ],
2170
- "properties": {
2171
- "name": {
2172
- "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.",
2173
- "type": "string"
2174
- },
2175
- "cmd": {
2176
- "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
2177
- "default": "",
2178
- "type": "string"
2179
- },
2180
- "args": {
2181
- "description": "The allowed arguments for the command execution.",
2182
- "default": false,
2183
- "allOf": [
2184
- {
2185
- "$ref": "#/definitions/ShellAllowedArgs"
2186
- }
2187
- ]
2188
- },
2189
- "sidecar": {
2190
- "description": "If this command is a sidecar command.",
2191
- "default": false,
2192
- "type": "boolean"
2193
- }
2194
- }
2195
- },
2196
- "ShellAllowedArgs": {
2197
- "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.",
2198
- "anyOf": [
2040
+ "NSISInstallerMode": {
2041
+ "description": "Install Modes for the NSIS installer.",
2042
+ "oneOf": [
2199
2043
  {
2200
- "description": "Use a simple boolean to allow all or disable all arguments to this command configuration.",
2201
- "type": "boolean"
2044
+ "description": "Default mode for the installer.\n\nInstall the app by default in a directory that doesn't require Administrator access.\n\nInstaller metadata will be saved under the `HKCU` registry path.",
2045
+ "type": "string",
2046
+ "enum": [
2047
+ "currentUser"
2048
+ ]
2202
2049
  },
2203
2050
  {
2204
- "description": "A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.",
2205
- "type": "array",
2206
- "items": {
2207
- "$ref": "#/definitions/ShellAllowedArg"
2208
- }
2209
- }
2210
- ]
2211
- },
2212
- "ShellAllowedArg": {
2213
- "description": "A command argument allowed to be executed by the webview API.",
2214
- "anyOf": [
2215
- {
2216
- "description": "A non-configurable argument that is passed to the command in the order it was specified.",
2217
- "type": "string"
2051
+ "description": "Install the app by default in the `Program Files` folder directory requires Administrator access for the installation.\n\nInstaller metadata will be saved under the `HKLM` registry path.",
2052
+ "type": "string",
2053
+ "enum": [
2054
+ "perMachine"
2055
+ ]
2218
2056
  },
2219
2057
  {
2220
- "description": "A variable that is set while calling the command from the webview API.",
2221
- "type": "object",
2222
- "required": [
2223
- "validator"
2224
- ],
2225
- "properties": {
2226
- "validator": {
2227
- "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax",
2228
- "type": "string"
2229
- }
2230
- },
2231
- "additionalProperties": false
2058
+ "description": "Combines both modes and allows the user to choose at install time whether to install for the current user or per machine. Note that this mode will require Administrator access even if the user wants to install it for the current user only.\n\nInstaller metadata will be saved under the `HKLM` or `HKCU` registry path based on the user's choice.",
2059
+ "type": "string",
2060
+ "enum": [
2061
+ "both"
2062
+ ]
2232
2063
  }
2233
2064
  ]
2234
2065
  },
2235
- "ShellAllowlistOpen": {
2236
- "description": "Defines the `shell > open` api scope.",
2237
- "anyOf": [
2066
+ "NsisCompression": {
2067
+ "description": "Compression algorithms used in the NSIS installer.\n\nSee <https://nsis.sourceforge.io/Reference/SetCompressor>",
2068
+ "oneOf": [
2238
2069
  {
2239
- "description": "If the shell open API should be enabled.\n\nIf enabled, the default validation regex (`^https?://`) is used.",
2240
- "type": "boolean"
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.",
2071
+ "type": "string",
2072
+ "enum": [
2073
+ "zlib"
2074
+ ]
2241
2075
  },
2242
2076
  {
2243
- "description": "Enable the shell open API, with a custom regex that the opened path must match against.\n\nIf using a custom regex to support a non-http(s) schema, care should be used to prevent values that allow flag-like strings to pass validation. e.g. `--enable-debugging`, `-i`, `/R`.",
2244
- "type": "string"
2245
- }
2246
- ]
2247
- },
2248
- "DialogAllowlistConfig": {
2249
- "description": "Allowlist for the dialog APIs.",
2250
- "type": "object",
2251
- "properties": {
2252
- "all": {
2253
- "description": "Use this flag to enable all dialog API features.",
2254
- "default": false,
2255
- "type": "boolean"
2256
- },
2257
- "open": {
2258
- "description": "Allows the API to open a dialog window to pick files.",
2259
- "default": false,
2260
- "type": "boolean"
2261
- },
2262
- "save": {
2263
- "description": "Allows the API to open a dialog window to pick where to save files.",
2264
- "default": false,
2265
- "type": "boolean"
2266
- },
2267
- "message": {
2268
- "description": "Allows the API to show a message dialog window.",
2269
- "default": false,
2270
- "type": "boolean"
2271
- },
2272
- "ask": {
2273
- "description": "Allows the API to show a dialog window with Yes/No buttons.",
2274
- "default": false,
2275
- "type": "boolean"
2276
- },
2277
- "confirm": {
2278
- "description": "Allows the API to show a dialog window with Ok/Cancel buttons.",
2279
- "default": false,
2280
- "type": "boolean"
2281
- }
2282
- },
2283
- "additionalProperties": false
2284
- },
2285
- "HttpAllowlistConfig": {
2286
- "description": "Allowlist for the HTTP APIs.",
2287
- "type": "object",
2288
- "properties": {
2289
- "scope": {
2290
- "description": "The access scope for the HTTP APIs.",
2291
- "default": [],
2292
- "allOf": [
2293
- {
2294
- "$ref": "#/definitions/HttpAllowlistScope"
2295
- }
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.",
2078
+ "type": "string",
2079
+ "enum": [
2080
+ "bzip2"
2296
2081
  ]
2297
2082
  },
2298
- "all": {
2299
- "description": "Use this flag to enable all HTTP API features.",
2300
- "default": false,
2301
- "type": "boolean"
2302
- },
2303
- "request": {
2304
- "description": "Allows making HTTP requests.",
2305
- "default": false,
2306
- "type": "boolean"
2307
- }
2308
- },
2309
- "additionalProperties": false
2310
- },
2311
- "HttpAllowlistScope": {
2312
- "description": "HTTP API scope definition. It is a list of URLs that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples: - \"https://**\": allows all HTTPS urls - \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path - \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
2313
- "type": "array",
2314
- "items": {
2315
- "type": "string",
2316
- "format": "uri"
2317
- }
2318
- },
2319
- "NotificationAllowlistConfig": {
2320
- "description": "Allowlist for the notification APIs.",
2321
- "type": "object",
2322
- "properties": {
2323
- "all": {
2324
- "description": "Use this flag to enable all notification API features.",
2325
- "default": false,
2326
- "type": "boolean"
2083
+ {
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.",
2085
+ "type": "string",
2086
+ "enum": [
2087
+ "lzma"
2088
+ ]
2327
2089
  }
2328
- },
2329
- "additionalProperties": false
2090
+ ]
2330
2091
  },
2331
- "GlobalShortcutAllowlistConfig": {
2332
- "description": "Allowlist for the global shortcut APIs.",
2092
+ "IosConfig": {
2093
+ "description": "General configuration for the iOS target.",
2333
2094
  "type": "object",
2334
2095
  "properties": {
2335
- "all": {
2336
- "description": "Use this flag to enable all global shortcut API features.",
2337
- "default": false,
2338
- "type": "boolean"
2096
+ "developmentTeam": {
2097
+ "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.",
2098
+ "type": [
2099
+ "string",
2100
+ "null"
2101
+ ]
2339
2102
  }
2340
2103
  },
2341
2104
  "additionalProperties": false
2342
2105
  },
2343
- "OsAllowlistConfig": {
2344
- "description": "Allowlist for the OS APIs.",
2106
+ "AndroidConfig": {
2107
+ "description": "General configuration for the iOS target.",
2345
2108
  "type": "object",
2346
2109
  "properties": {
2347
- "all": {
2348
- "description": "Use this flag to enable all OS API features.",
2349
- "default": false,
2350
- "type": "boolean"
2110
+ "minSdkVersion": {
2111
+ "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.",
2112
+ "default": 24,
2113
+ "type": "integer",
2114
+ "format": "uint32",
2115
+ "minimum": 0.0
2351
2116
  }
2352
2117
  },
2353
2118
  "additionalProperties": false
2354
2119
  },
2355
- "PathAllowlistConfig": {
2356
- "description": "Allowlist for the path APIs.",
2120
+ "UpdaterConfig": {
2121
+ "description": "The Updater configuration object.\n\nSee more: <https://tauri.app/v1/api/config#updaterconfig>",
2357
2122
  "type": "object",
2358
2123
  "properties": {
2359
- "all": {
2360
- "description": "Use this flag to enable all path API features.",
2124
+ "active": {
2125
+ "description": "Whether the updater is active or not.",
2361
2126
  "default": false,
2362
2127
  "type": "boolean"
2363
- }
2364
- },
2365
- "additionalProperties": false
2366
- },
2367
- "ProtocolAllowlistConfig": {
2368
- "description": "Allowlist for the custom protocols.",
2369
- "type": "object",
2370
- "properties": {
2371
- "assetScope": {
2372
- "description": "The access scope for the asset protocol.",
2373
- "default": [],
2128
+ },
2129
+ "pubkey": {
2130
+ "description": "Signature public key.",
2131
+ "default": "",
2132
+ "type": "string"
2133
+ },
2134
+ "windows": {
2135
+ "description": "The Windows configuration for the updater.",
2136
+ "default": {
2137
+ "installMode": "passive"
2138
+ },
2374
2139
  "allOf": [
2375
2140
  {
2376
- "$ref": "#/definitions/FsAllowlistScope"
2141
+ "$ref": "#/definitions/UpdaterWindowsConfig"
2377
2142
  }
2378
2143
  ]
2379
- },
2380
- "all": {
2381
- "description": "Use this flag to enable all custom protocols.",
2382
- "default": false,
2383
- "type": "boolean"
2384
- },
2385
- "asset": {
2386
- "description": "Enables the asset protocol.",
2387
- "default": false,
2388
- "type": "boolean"
2389
- }
2390
- },
2391
- "additionalProperties": false
2392
- },
2393
- "ProcessAllowlistConfig": {
2394
- "description": "Allowlist for the process APIs.",
2395
- "type": "object",
2396
- "properties": {
2397
- "all": {
2398
- "description": "Use this flag to enable all process APIs.",
2399
- "default": false,
2400
- "type": "boolean"
2401
- },
2402
- "relaunch": {
2403
- "description": "Enables the relaunch API.",
2404
- "default": false,
2405
- "type": "boolean"
2406
- },
2407
- "relaunchDangerousAllowSymlinkMacos": {
2408
- "description": "Dangerous option that allows macOS to relaunch even if the binary contains a symlink.\n\nThis is due to macOS having less symlink protection. Highly recommended to not set this flag unless you have a very specific reason too, and understand the implications of it.",
2409
- "default": false,
2410
- "type": "boolean"
2411
- },
2412
- "exit": {
2413
- "description": "Enables the exit API.",
2414
- "default": false,
2415
- "type": "boolean"
2416
2144
  }
2417
2145
  },
2418
2146
  "additionalProperties": false
2419
2147
  },
2420
- "ClipboardAllowlistConfig": {
2421
- "description": "Allowlist for the clipboard APIs.",
2148
+ "UpdaterWindowsConfig": {
2149
+ "description": "The updater configuration for Windows.\n\nSee more: <https://tauri.app/v1/api/config#updaterwindowsconfig>",
2422
2150
  "type": "object",
2423
2151
  "properties": {
2424
- "all": {
2425
- "description": "Use this flag to enable all clipboard APIs.",
2426
- "default": false,
2427
- "type": "boolean"
2428
- },
2429
- "writeText": {
2430
- "description": "Enables the clipboard's `writeText` API.",
2431
- "default": false,
2432
- "type": "boolean"
2433
- },
2434
- "readText": {
2435
- "description": "Enables the clipboard's `readText` API.",
2436
- "default": false,
2437
- "type": "boolean"
2152
+ "installMode": {
2153
+ "description": "The installation mode for the update on Windows. Defaults to `passive`.",
2154
+ "default": "passive",
2155
+ "allOf": [
2156
+ {
2157
+ "$ref": "#/definitions/WindowsUpdateInstallMode"
2158
+ }
2159
+ ]
2438
2160
  }
2439
2161
  },
2440
2162
  "additionalProperties": false
2441
2163
  },
2442
- "AppAllowlistConfig": {
2443
- "description": "Allowlist for the app APIs.",
2444
- "type": "object",
2445
- "properties": {
2446
- "all": {
2447
- "description": "Use this flag to enable all app APIs.",
2448
- "default": false,
2449
- "type": "boolean"
2164
+ "WindowsUpdateInstallMode": {
2165
+ "description": "Install modes for the Windows update.",
2166
+ "oneOf": [
2167
+ {
2168
+ "description": "Specifies there's a basic UI during the installation process, including a final dialog box at the end.",
2169
+ "type": "string",
2170
+ "enum": [
2171
+ "basicUi"
2172
+ ]
2450
2173
  },
2451
- "show": {
2452
- "description": "Enables the app's `show` API.",
2453
- "default": false,
2454
- "type": "boolean"
2174
+ {
2175
+ "description": "The quiet mode means there's no user interaction required. Requires admin privileges if the installer does.",
2176
+ "type": "string",
2177
+ "enum": [
2178
+ "quiet"
2179
+ ]
2455
2180
  },
2456
- "hide": {
2457
- "description": "Enables the app's `hide` API.",
2458
- "default": false,
2459
- "type": "boolean"
2181
+ {
2182
+ "description": "Specifies unattended mode, which means the installation only shows a progress bar.",
2183
+ "type": "string",
2184
+ "enum": [
2185
+ "passive"
2186
+ ]
2460
2187
  }
2461
- },
2462
- "additionalProperties": false
2188
+ ]
2463
2189
  },
2464
2190
  "SecurityConfig": {
2465
- "description": "Security configuration.",
2191
+ "description": "Security configuration.\n\nSee more: <https://tauri.app/v1/api/config#securityconfig>",
2466
2192
  "type": "object",
2467
2193
  "properties": {
2468
2194
  "csp": {
@@ -2500,6 +2226,26 @@
2500
2226
  "$ref": "#/definitions/DisabledCspModificationKind"
2501
2227
  }
2502
2228
  ]
2229
+ },
2230
+ "dangerousRemoteDomainIpcAccess": {
2231
+ "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.",
2232
+ "default": [],
2233
+ "type": "array",
2234
+ "items": {
2235
+ "$ref": "#/definitions/RemoteDomainAccessScope"
2236
+ }
2237
+ },
2238
+ "assetProtocol": {
2239
+ "description": "Custom protocol config.",
2240
+ "default": {
2241
+ "enable": false,
2242
+ "scope": []
2243
+ },
2244
+ "allOf": [
2245
+ {
2246
+ "$ref": "#/definitions/AssetProtocolConfig"
2247
+ }
2248
+ ]
2503
2249
  }
2504
2250
  },
2505
2251
  "additionalProperties": false
@@ -2552,105 +2298,121 @@
2552
2298
  }
2553
2299
  ]
2554
2300
  },
2555
- "UpdaterConfig": {
2556
- "description": "The Updater configuration object.",
2301
+ "RemoteDomainAccessScope": {
2302
+ "description": "External command access definition.",
2557
2303
  "type": "object",
2304
+ "required": [
2305
+ "domain",
2306
+ "windows"
2307
+ ],
2558
2308
  "properties": {
2559
- "active": {
2560
- "description": "Whether the updater is active or not.",
2561
- "default": false,
2562
- "type": "boolean"
2563
- },
2564
- "dialog": {
2565
- "description": "Display built-in dialog or use event system if disabled.",
2566
- "default": true,
2567
- "type": "boolean"
2568
- },
2569
- "endpoints": {
2570
- "description": "The updater endpoints. TLS is enforced on production.\n\nThe updater URL can contain the following variables: - {{current_version}}: The version of the app that is requesting the update - {{target}}: The operating system name (one of `linux`, `windows` or `darwin`). - {{arch}}: The architecture of the machine (one of `x86_64`, `i686`, `aarch64` or `armv7`).\n\n# Examples - \"https://my.cdn.com/latest.json\": a raw JSON endpoint that returns the latest version and download links for each platform. - \"https://updates.app.dev/{{target}}?version={{current_version}}&arch={{arch}}\": a dedicated API with positional and query string arguments.",
2309
+ "scheme": {
2310
+ "description": "The URL scheme to allow. By default, all schemas are allowed.",
2571
2311
  "type": [
2572
- "array",
2312
+ "string",
2573
2313
  "null"
2574
- ],
2575
- "items": {
2576
- "$ref": "#/definitions/UpdaterEndpoint"
2577
- }
2314
+ ]
2578
2315
  },
2579
- "pubkey": {
2580
- "description": "Signature public key.",
2581
- "default": "",
2316
+ "domain": {
2317
+ "description": "The domain to allow.",
2582
2318
  "type": "string"
2583
2319
  },
2584
2320
  "windows": {
2585
- "description": "The Windows configuration for the updater.",
2586
- "default": {
2587
- "installMode": "passive"
2588
- },
2589
- "allOf": [
2590
- {
2591
- "$ref": "#/definitions/UpdaterWindowsConfig"
2592
- }
2593
- ]
2321
+ "description": "The list of window labels this scope applies to.",
2322
+ "type": "array",
2323
+ "items": {
2324
+ "type": "string"
2325
+ }
2326
+ },
2327
+ "plugins": {
2328
+ "description": "The list of plugins that are allowed in this scope. The names should be without the `tauri-plugin-` prefix, for example `\"store\"` for `tauri-plugin-store`.",
2329
+ "default": [],
2330
+ "type": "array",
2331
+ "items": {
2332
+ "type": "string"
2333
+ }
2594
2334
  }
2595
2335
  },
2596
2336
  "additionalProperties": false
2597
2337
  },
2598
- "UpdaterEndpoint": {
2599
- "description": "A URL to an updater server.\n\nThe URL must use the `https` scheme on production.",
2600
- "type": "string",
2601
- "format": "uri"
2602
- },
2603
- "UpdaterWindowsConfig": {
2604
- "description": "The updater configuration for Windows.",
2338
+ "AssetProtocolConfig": {
2339
+ "description": "Config for the asset custom protocol.\n\nSee more: <https://tauri.app/v1/api/config#assetprotocolconfig>",
2605
2340
  "type": "object",
2606
2341
  "properties": {
2607
- "installMode": {
2608
- "description": "The installation mode for the update on Windows. Defaults to `passive`.",
2609
- "default": "passive",
2342
+ "scope": {
2343
+ "description": "The access scope for the asset protocol.",
2344
+ "default": [],
2610
2345
  "allOf": [
2611
2346
  {
2612
- "$ref": "#/definitions/WindowsUpdateInstallMode"
2347
+ "$ref": "#/definitions/FsScope"
2613
2348
  }
2614
2349
  ]
2350
+ },
2351
+ "enable": {
2352
+ "description": "Enables the asset protocol.",
2353
+ "default": false,
2354
+ "type": "boolean"
2615
2355
  }
2616
2356
  },
2617
2357
  "additionalProperties": false
2618
2358
  },
2619
- "WindowsUpdateInstallMode": {
2620
- "description": "Install modes for the Windows update.",
2621
- "oneOf": [
2622
- {
2623
- "description": "Specifies there's a basic UI during the installation process, including a final dialog box at the end.",
2624
- "type": "string",
2625
- "enum": [
2626
- "basicUi"
2627
- ]
2628
- },
2359
+ "FsScope": {
2360
+ "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`.",
2361
+ "anyOf": [
2629
2362
  {
2630
- "description": "The quiet mode means there's no user interaction required. Requires admin privileges if the installer does.",
2631
- "type": "string",
2632
- "enum": [
2633
- "quiet"
2634
- ]
2363
+ "description": "A list of paths that are allowed by this scope.",
2364
+ "type": "array",
2365
+ "items": {
2366
+ "type": "string"
2367
+ }
2635
2368
  },
2636
2369
  {
2637
- "description": "Specifies unattended mode, which means the installation only shows a progress bar.",
2638
- "type": "string",
2639
- "enum": [
2640
- "passive"
2641
- ]
2370
+ "description": "A complete scope configuration.",
2371
+ "type": "object",
2372
+ "properties": {
2373
+ "allow": {
2374
+ "description": "A list of paths that are allowed by this scope.",
2375
+ "default": [],
2376
+ "type": "array",
2377
+ "items": {
2378
+ "type": "string"
2379
+ }
2380
+ },
2381
+ "deny": {
2382
+ "description": "A list of paths that are not allowed by this scope. This gets precedence over the [`Self::Scope::allow`] list.",
2383
+ "default": [],
2384
+ "type": "array",
2385
+ "items": {
2386
+ "type": "string"
2387
+ }
2388
+ },
2389
+ "requireLiteralLeadingDot": {
2390
+ "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",
2391
+ "type": [
2392
+ "boolean",
2393
+ "null"
2394
+ ]
2395
+ }
2396
+ }
2642
2397
  }
2643
2398
  ]
2644
2399
  },
2645
- "SystemTrayConfig": {
2646
- "description": "Configuration for application system tray icon.",
2400
+ "TrayIconConfig": {
2401
+ "description": "Configuration for application tray icon.\n\nSee more: <https://tauri.app/v1/api/config#trayiconconfig>",
2647
2402
  "type": "object",
2648
2403
  "required": [
2649
2404
  "iconPath"
2650
2405
  ],
2651
2406
  "properties": {
2407
+ "id": {
2408
+ "description": "Set an id for this tray icon so you can reference it later, defaults to `main`.",
2409
+ "type": [
2410
+ "string",
2411
+ "null"
2412
+ ]
2413
+ },
2652
2414
  "iconPath": {
2653
- "description": "Path to the default icon to use on the system tray.",
2415
+ "description": "Path to the default icon to use for the tray icon.",
2654
2416
  "type": "string"
2655
2417
  },
2656
2418
  "iconAsTemplate": {
@@ -2669,12 +2431,19 @@
2669
2431
  "string",
2670
2432
  "null"
2671
2433
  ]
2434
+ },
2435
+ "tooltip": {
2436
+ "description": "Tray icon tooltip on Windows and macOS",
2437
+ "type": [
2438
+ "string",
2439
+ "null"
2440
+ ]
2672
2441
  }
2673
2442
  },
2674
2443
  "additionalProperties": false
2675
2444
  },
2676
2445
  "BuildConfig": {
2677
- "description": "The Build configuration object.",
2446
+ "description": "The Build configuration object.\n\nSee more: <https://tauri.app/v1/api/config#buildconfig>",
2678
2447
  "type": "object",
2679
2448
  "properties": {
2680
2449
  "runner": {
@@ -2703,7 +2472,7 @@
2703
2472
  ]
2704
2473
  },
2705
2474
  "beforeDevCommand": {
2706
- "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.",
2475
+ "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.",
2707
2476
  "anyOf": [
2708
2477
  {
2709
2478
  "$ref": "#/definitions/BeforeDevCommand"
@@ -2714,7 +2483,7 @@
2714
2483
  ]
2715
2484
  },
2716
2485
  "beforeBuildCommand": {
2717
- "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.",
2486
+ "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.",
2718
2487
  "anyOf": [
2719
2488
  {
2720
2489
  "$ref": "#/definitions/HookCommand"
@@ -2725,7 +2494,7 @@
2725
2494
  ]
2726
2495
  },
2727
2496
  "beforeBundleCommand": {
2728
- "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.",
2497
+ "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.",
2729
2498
  "anyOf": [
2730
2499
  {
2731
2500
  "$ref": "#/definitions/HookCommand"
@@ -2837,7 +2606,7 @@
2837
2606
  ]
2838
2607
  },
2839
2608
  "PluginConfig": {
2840
- "description": "The plugin configs holds a HashMap mapping a plugin name to its configuration object.",
2609
+ "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>",
2841
2610
  "type": "object",
2842
2611
  "additionalProperties": true
2843
2612
  }