@tauri-apps/cli 2.4.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/config.schema.json +120 -3
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## \[2.5.0]
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
|
|
7
|
+
- [`0aa48fb9e`](https://www.github.com/tauri-apps/tauri/commit/0aa48fb9e4b9d7b5bf3522000a76ebc1836394ed) ([#13030](https://www.github.com/tauri-apps/tauri/pull/13030)) Added `bundleVersion` to iOS and macOS configuration to support specifying a `CFBundleVersion`.
|
|
8
|
+
|
|
9
|
+
### Enhancements
|
|
10
|
+
|
|
11
|
+
- [`ad3fd3890`](https://www.github.com/tauri-apps/tauri/commit/ad3fd3890f1fa26a9f9be04ff1bc156d6dd2a8bc) ([#13152](https://www.github.com/tauri-apps/tauri/pull/13152)) Detect package manager from environment variable `npm_config_user_agent` first
|
|
12
|
+
- [`82406c61e`](https://www.github.com/tauri-apps/tauri/commit/82406c61e0fbb775ef00791ccab45349325bdd45) ([#13231](https://www.github.com/tauri-apps/tauri/pull/13231)) Improve iOS simulator usage, checking if Xcode iOS SDK is installed and allowing usage of Simulator for older iOS releases (previously only supported when running on Xcode via `ios dev --open`).
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- [`2dccfab53`](https://www.github.com/tauri-apps/tauri/commit/2dccfab5321fef55d45f3a4c674b6151b1c4424a) ([#13236](https://www.github.com/tauri-apps/tauri/pull/13236)) Fix `fileAssociations` missing `LSHandlerRank` on macOS.
|
|
17
|
+
- [`080252903`](https://www.github.com/tauri-apps/tauri/commit/0802529031c4fd309edff374a8694e93ddec161d) ([#13210](https://www.github.com/tauri-apps/tauri/pull/13210)) Fixes iOS dev not working on Xcode 16.3 simulators. To apply the fix, either regenerate the Xcode project with `rm -r src-tauri/gen/apple && tauri ios init` or remove the `arm64-sim` architecture from the Xcode project.
|
|
18
|
+
|
|
19
|
+
### Dependencies
|
|
20
|
+
|
|
21
|
+
- Upgraded to `tauri-cli@2.5.0`
|
|
22
|
+
|
|
3
23
|
## \[2.4.1]
|
|
4
24
|
|
|
5
25
|
### Enhancements
|
package/config.schema.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "https://schema.tauri.app/config/2.
|
|
3
|
+
"$id": "https://schema.tauri.app/config/2.5.0",
|
|
4
4
|
"title": "Config",
|
|
5
5
|
"description": "The Tauri configuration object.\n It is read from a file where you can define your frontend assets,\n configure the bundler and define a tray icon.\n\n The configuration file is generated by the\n [`tauri init`](https://v2.tauri.app/reference/cli/#init) command that lives in\n your Tauri application source directory (src-tauri).\n\n Once generated, you may modify it at will to customize your Tauri application.\n\n ## File Formats\n\n By default, the configuration is defined as a JSON file named `tauri.conf.json`.\n\n Tauri also supports JSON5 and TOML files via the `config-json5` and `config-toml` Cargo features, respectively.\n The JSON5 file name must be either `tauri.conf.json` or `tauri.conf.json5`.\n The TOML file name is `Tauri.toml`.\n\n ## Platform-Specific Configuration\n\n In addition to the default configuration file, Tauri can\n read a platform-specific configuration from `tauri.linux.conf.json`,\n `tauri.windows.conf.json`, `tauri.macos.conf.json`, `tauri.android.conf.json` and `tauri.ios.conf.json`\n (or `Tauri.linux.toml`, `Tauri.windows.toml`, `Tauri.macos.toml`, `Tauri.android.toml` and `Tauri.ios.toml` if the `Tauri.toml` format is used),\n which gets merged with the main configuration object.\n\n ## Configuration Structure\n\n The configuration is composed of the following objects:\n\n - [`app`](#appconfig): The Tauri configuration\n - [`build`](#buildconfig): The build configuration\n - [`bundle`](#bundleconfig): The bundle configurations\n - [`plugins`](#pluginconfig): The plugins configuration\n\n Example tauri.config.json file:\n\n ```json\n {\n \"productName\": \"tauri-app\",\n \"version\": \"0.1.0\",\n \"build\": {\n \"beforeBuildCommand\": \"\",\n \"beforeDevCommand\": \"\",\n \"devUrl\": \"http://localhost:3000\",\n \"frontendDist\": \"../dist\"\n },\n \"app\": {\n \"security\": {\n \"csp\": null\n },\n \"windows\": [\n {\n \"fullscreen\": false,\n \"height\": 600,\n \"resizable\": true,\n \"title\": \"Tauri App\",\n \"width\": 800\n }\n ]\n },\n \"bundle\": {},\n \"plugins\": {}\n }\n ```",
|
|
6
6
|
"type": "object",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
]
|
|
32
32
|
},
|
|
33
33
|
"version": {
|
|
34
|
-
"description": "App version. It is a semver version number or a path to a `package.json` file containing the `version` field
|
|
34
|
+
"description": "App version. It is a semver version number or a path to a `package.json` file containing the `version` field.\n\n If removed the version number from `Cargo.toml` is used.\n It's recommended to manage the app versioning in the Tauri config.\n\n ## Platform-specific\n\n - **macOS**: Translates to the bundle's CFBundleShortVersionString property and is used as the default CFBundleVersion.\n You can set an specific bundle version using [`bundle > macOS > bundleVersion`](MacConfig::bundle_version).\n - **iOS**: Translates to the bundle's CFBundleShortVersionString property and is used as the default CFBundleVersion.\n You can set an specific bundle version using [`bundle > iOS > bundleVersion`](IosConfig::bundle_version).\n The `tauri ios build` CLI command has a `--build-number <number>` option that lets you append a build number to the app version.\n - **Android**: By default version 1.0 is used. You can set a version code using [`bundle > android > versionCode`](AndroidConfig::version_code).\n\n By default version 1.0 is used on Android.",
|
|
35
35
|
"type": [
|
|
36
36
|
"string",
|
|
37
37
|
"null"
|
|
@@ -319,6 +319,17 @@
|
|
|
319
319
|
],
|
|
320
320
|
"format": "double"
|
|
321
321
|
},
|
|
322
|
+
"preventOverflow": {
|
|
323
|
+
"description": "Whether or not to prevent the window from overflowing the workarea\n\n ## Platform-specific\n\n - **iOS / Android:** Unsupported.",
|
|
324
|
+
"anyOf": [
|
|
325
|
+
{
|
|
326
|
+
"$ref": "#/definitions/PreventOverflowConfig"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"type": "null"
|
|
330
|
+
}
|
|
331
|
+
]
|
|
332
|
+
},
|
|
322
333
|
"resizable": {
|
|
323
334
|
"description": "Whether the window is resizable or not. When resizable is set to false, native window's maximize button is automatically disabled.",
|
|
324
335
|
"default": true,
|
|
@@ -545,6 +556,16 @@
|
|
|
545
556
|
"description": "Whether we should disable JavaScript code execution on the webview or not.",
|
|
546
557
|
"default": false,
|
|
547
558
|
"type": "boolean"
|
|
559
|
+
},
|
|
560
|
+
"allowLinkPreview": {
|
|
561
|
+
"description": "on macOS and iOS there is a link preview on long pressing links, this is enabled by default.\n see https://docs.rs/objc2-web-kit/latest/objc2_web_kit/struct.WKWebView.html#method.allowsLinkPreview",
|
|
562
|
+
"default": true,
|
|
563
|
+
"type": "boolean"
|
|
564
|
+
},
|
|
565
|
+
"disableInputAccessoryView": {
|
|
566
|
+
"description": "Allows disabling the input accessory view on iOS.\n\n The accessory view is the view that appears above the keyboard when a text input element is focused.\n It usually displays a view with \"Done\", \"Next\" buttons.",
|
|
567
|
+
"default": false,
|
|
568
|
+
"type": "boolean"
|
|
548
569
|
}
|
|
549
570
|
},
|
|
550
571
|
"additionalProperties": false
|
|
@@ -568,6 +589,46 @@
|
|
|
568
589
|
}
|
|
569
590
|
]
|
|
570
591
|
},
|
|
592
|
+
"PreventOverflowConfig": {
|
|
593
|
+
"description": "Prevent overflow with a margin",
|
|
594
|
+
"anyOf": [
|
|
595
|
+
{
|
|
596
|
+
"description": "Enable prevent overflow or not",
|
|
597
|
+
"type": "boolean"
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
"description": "Enable prevent overflow with a margin\n so that the window's size + this margin won't overflow the workarea",
|
|
601
|
+
"allOf": [
|
|
602
|
+
{
|
|
603
|
+
"$ref": "#/definitions/PreventOverflowMargin"
|
|
604
|
+
}
|
|
605
|
+
]
|
|
606
|
+
}
|
|
607
|
+
]
|
|
608
|
+
},
|
|
609
|
+
"PreventOverflowMargin": {
|
|
610
|
+
"description": "Enable prevent overflow with a margin\n so that the window's size + this margin won't overflow the workarea",
|
|
611
|
+
"type": "object",
|
|
612
|
+
"required": [
|
|
613
|
+
"height",
|
|
614
|
+
"width"
|
|
615
|
+
],
|
|
616
|
+
"properties": {
|
|
617
|
+
"width": {
|
|
618
|
+
"description": "Horizontal margin in physical unit",
|
|
619
|
+
"type": "integer",
|
|
620
|
+
"format": "uint32",
|
|
621
|
+
"minimum": 0.0
|
|
622
|
+
},
|
|
623
|
+
"height": {
|
|
624
|
+
"description": "Vertical margin in physical unit",
|
|
625
|
+
"type": "integer",
|
|
626
|
+
"format": "uint32",
|
|
627
|
+
"minimum": 0.0
|
|
628
|
+
}
|
|
629
|
+
},
|
|
630
|
+
"additionalProperties": false
|
|
631
|
+
},
|
|
571
632
|
"Theme": {
|
|
572
633
|
"description": "System theme.",
|
|
573
634
|
"oneOf": [
|
|
@@ -1515,7 +1576,7 @@
|
|
|
1515
1576
|
]
|
|
1516
1577
|
},
|
|
1517
1578
|
"HeaderConfig": {
|
|
1518
|
-
"description": "A struct, where the keys are some specific http header names.\n If the values to those keys are defined, then they will be send as part of a response message.\n This does not include error messages and ipc messages\n\n ## Example configuration\n ```javascript\n {\n //..\n app:{\n //..\n security: {\n headers: {\n \"Cross-Origin-Opener-Policy\": \"same-origin\",\n \"Cross-Origin-Embedder-Policy\": \"require-corp\",\n \"Timing-Allow-Origin\": [\n \"https://developer.mozilla.org\",\n \"https://example.com\",\n ],\n \"Access-Control-Expose-Headers\": \"Tauri-Custom-Header\",\n \"Tauri-Custom-Header\": {\n \"key1\": \"'value1' 'value2'\",\n \"key2\": \"'value3'\"\n }\n },\n csp: \"default-src 'self'; connect-src ipc: http://ipc.localhost\",\n }\n //..\n }\n //..\n }\n ```\n In this example `Cross-Origin-Opener-Policy` and `Cross-Origin-Embedder-Policy` are set to allow for the use of [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer).\n The result is, that those headers are then set on every response sent via the `get_response` function in crates/tauri/src/protocol/tauri.rs.\n The Content-Security-Policy header is defined separately, because it is also handled separately.\n\n For the helloworld example, this config translates into those response headers:\n ```http\n access-control-allow-origin: http://tauri.localhost\n access-control-expose-headers: Tauri-Custom-Header\n content-security-policy: default-src 'self'; connect-src ipc: http://ipc.localhost; script-src 'self' 'sha256-Wjjrs6qinmnr+tOry8x8PPwI77eGpUFR3EEGZktjJNs='\n content-type: text/html\n cross-origin-embedder-policy: require-corp\n cross-origin-opener-policy: same-origin\n tauri-custom-header: key1 'value1' 'value2'; key2 'value3'\n timing-allow-origin: https://developer.mozilla.org, https://example.com\n ```\n Since the resulting header values are always 'string-like'. So depending on the what data type the HeaderSource is, they need to be converted.\n - `String`(JS/Rust): stay the same for the resulting header value\n - `Array`(JS)/`Vec\\<String\\>`(Rust): Item are joined by \", \" for the resulting header value\n - `Object`(JS)/ `Hashmap\\<String,String\\>`(Rust): Items are composed from: key + space + value. Item are then joined by \"; \" for the resulting header value",
|
|
1579
|
+
"description": "A struct, where the keys are some specific http header names.\n\n If the values to those keys are defined, then they will be send as part of a response message.\n This does not include error messages and ipc messages\n\n ## Example configuration\n ```javascript\n {\n //..\n app:{\n //..\n security: {\n headers: {\n \"Cross-Origin-Opener-Policy\": \"same-origin\",\n \"Cross-Origin-Embedder-Policy\": \"require-corp\",\n \"Timing-Allow-Origin\": [\n \"https://developer.mozilla.org\",\n \"https://example.com\",\n ],\n \"Access-Control-Expose-Headers\": \"Tauri-Custom-Header\",\n \"Tauri-Custom-Header\": {\n \"key1\": \"'value1' 'value2'\",\n \"key2\": \"'value3'\"\n }\n },\n csp: \"default-src 'self'; connect-src ipc: http://ipc.localhost\",\n }\n //..\n }\n //..\n }\n ```\n In this example `Cross-Origin-Opener-Policy` and `Cross-Origin-Embedder-Policy` are set to allow for the use of [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer).\n The result is, that those headers are then set on every response sent via the `get_response` function in crates/tauri/src/protocol/tauri.rs.\n The Content-Security-Policy header is defined separately, because it is also handled separately.\n\n For the helloworld example, this config translates into those response headers:\n ```http\n access-control-allow-origin: http://tauri.localhost\n access-control-expose-headers: Tauri-Custom-Header\n content-security-policy: default-src 'self'; connect-src ipc: http://ipc.localhost; script-src 'self' 'sha256-Wjjrs6qinmnr+tOry8x8PPwI77eGpUFR3EEGZktjJNs='\n content-type: text/html\n cross-origin-embedder-policy: require-corp\n cross-origin-opener-policy: same-origin\n tauri-custom-header: key1 'value1' 'value2'; key2 'value3'\n timing-allow-origin: https://developer.mozilla.org, https://example.com\n ```\n Since the resulting header values are always 'string-like'. So depending on the what data type the HeaderSource is, they need to be converted.\n - `String`(JS/Rust): stay the same for the resulting header value\n - `Array`(JS)/`Vec\\<String\\>`(Rust): Item are joined by \", \" for the resulting header value\n - `Object`(JS)/ `Hashmap\\<String,String\\>`(Rust): Items are composed from: key + space + value. Item are then joined by \"; \" for the resulting header value",
|
|
1519
1580
|
"type": "object",
|
|
1520
1581
|
"properties": {
|
|
1521
1582
|
"Access-Control-Allow-Credentials": {
|
|
@@ -2284,6 +2345,15 @@
|
|
|
2284
2345
|
"string",
|
|
2285
2346
|
"null"
|
|
2286
2347
|
]
|
|
2348
|
+
},
|
|
2349
|
+
"rank": {
|
|
2350
|
+
"description": "The ranking of this app among apps that declare themselves as editors or viewers of the given file type. Maps to `LSHandlerRank` on macOS.",
|
|
2351
|
+
"default": "Default",
|
|
2352
|
+
"allOf": [
|
|
2353
|
+
{
|
|
2354
|
+
"$ref": "#/definitions/HandlerRank"
|
|
2355
|
+
}
|
|
2356
|
+
]
|
|
2287
2357
|
}
|
|
2288
2358
|
},
|
|
2289
2359
|
"additionalProperties": false
|
|
@@ -2332,6 +2402,39 @@
|
|
|
2332
2402
|
}
|
|
2333
2403
|
]
|
|
2334
2404
|
},
|
|
2405
|
+
"HandlerRank": {
|
|
2406
|
+
"description": "Corresponds to LSHandlerRank",
|
|
2407
|
+
"oneOf": [
|
|
2408
|
+
{
|
|
2409
|
+
"description": "LSHandlerRank.Default. This app is an opener of files of this type; this value is also used if no rank is specified.",
|
|
2410
|
+
"type": "string",
|
|
2411
|
+
"enum": [
|
|
2412
|
+
"Default"
|
|
2413
|
+
]
|
|
2414
|
+
},
|
|
2415
|
+
{
|
|
2416
|
+
"description": "LSHandlerRank.Owner. This app is the primary creator of files of this type.",
|
|
2417
|
+
"type": "string",
|
|
2418
|
+
"enum": [
|
|
2419
|
+
"Owner"
|
|
2420
|
+
]
|
|
2421
|
+
},
|
|
2422
|
+
{
|
|
2423
|
+
"description": "LSHandlerRank.Alternate. This app is a secondary viewer of files of this type.",
|
|
2424
|
+
"type": "string",
|
|
2425
|
+
"enum": [
|
|
2426
|
+
"Alternate"
|
|
2427
|
+
]
|
|
2428
|
+
},
|
|
2429
|
+
{
|
|
2430
|
+
"description": "LSHandlerRank.None. This app is never selected to open files of this type, but it accepts drops of files of this type.",
|
|
2431
|
+
"type": "string",
|
|
2432
|
+
"enum": [
|
|
2433
|
+
"None"
|
|
2434
|
+
]
|
|
2435
|
+
}
|
|
2436
|
+
]
|
|
2437
|
+
},
|
|
2335
2438
|
"WindowsConfig": {
|
|
2336
2439
|
"description": "Windows bundler configuration.\n\n See more: <https://v2.tauri.app/reference/config/#windowsconfig>",
|
|
2337
2440
|
"type": "object",
|
|
@@ -3292,6 +3395,13 @@
|
|
|
3292
3395
|
"type": "string"
|
|
3293
3396
|
}
|
|
3294
3397
|
},
|
|
3398
|
+
"bundleVersion": {
|
|
3399
|
+
"description": "The version of the build that identifies an iteration of the bundle.\n\n Translates to the bundle's CFBundleVersion property.",
|
|
3400
|
+
"type": [
|
|
3401
|
+
"string",
|
|
3402
|
+
"null"
|
|
3403
|
+
]
|
|
3404
|
+
},
|
|
3295
3405
|
"minimumSystemVersion": {
|
|
3296
3406
|
"description": "A version string indicating the minimum macOS X version that the bundled application supports. Defaults to `10.13`.\n\n Setting it to `null` completely removes the `LSMinimumSystemVersion` field on the bundle's `Info.plist`\n and the `MACOSX_DEPLOYMENT_TARGET` environment variable.\n\n An empty string is considered an invalid value so the default value is used.",
|
|
3297
3407
|
"default": "10.13",
|
|
@@ -3493,6 +3603,13 @@
|
|
|
3493
3603
|
"null"
|
|
3494
3604
|
]
|
|
3495
3605
|
},
|
|
3606
|
+
"bundleVersion": {
|
|
3607
|
+
"description": "The version of the build that identifies an iteration of the bundle.\n\n Translates to the bundle's CFBundleVersion property.",
|
|
3608
|
+
"type": [
|
|
3609
|
+
"string",
|
|
3610
|
+
"null"
|
|
3611
|
+
]
|
|
3612
|
+
},
|
|
3496
3613
|
"minimumSystemVersion": {
|
|
3497
3614
|
"description": "A version string indicating the minimum iOS version that the bundled application supports. Defaults to `13.0`.\n\n Maps to the IPHONEOS_DEPLOYMENT_TARGET value.",
|
|
3498
3615
|
"default": "13.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tauri-apps/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "Command line interface for building Tauri apps",
|
|
5
5
|
"funding": {
|
|
6
6
|
"type": "opencollective",
|
|
@@ -63,16 +63,16 @@
|
|
|
63
63
|
"tauri": "node ./tauri.js"
|
|
64
64
|
},
|
|
65
65
|
"optionalDependencies": {
|
|
66
|
-
"@tauri-apps/cli-win32-x64-msvc": "2.
|
|
67
|
-
"@tauri-apps/cli-darwin-x64": "2.
|
|
68
|
-
"@tauri-apps/cli-linux-x64-gnu": "2.
|
|
69
|
-
"@tauri-apps/cli-darwin-arm64": "2.
|
|
70
|
-
"@tauri-apps/cli-linux-arm64-gnu": "2.
|
|
71
|
-
"@tauri-apps/cli-linux-arm64-musl": "2.
|
|
72
|
-
"@tauri-apps/cli-linux-arm-gnueabihf": "2.
|
|
73
|
-
"@tauri-apps/cli-linux-x64-musl": "2.
|
|
74
|
-
"@tauri-apps/cli-linux-riscv64-gnu": "2.
|
|
75
|
-
"@tauri-apps/cli-win32-ia32-msvc": "2.
|
|
76
|
-
"@tauri-apps/cli-win32-arm64-msvc": "2.
|
|
66
|
+
"@tauri-apps/cli-win32-x64-msvc": "2.5.0",
|
|
67
|
+
"@tauri-apps/cli-darwin-x64": "2.5.0",
|
|
68
|
+
"@tauri-apps/cli-linux-x64-gnu": "2.5.0",
|
|
69
|
+
"@tauri-apps/cli-darwin-arm64": "2.5.0",
|
|
70
|
+
"@tauri-apps/cli-linux-arm64-gnu": "2.5.0",
|
|
71
|
+
"@tauri-apps/cli-linux-arm64-musl": "2.5.0",
|
|
72
|
+
"@tauri-apps/cli-linux-arm-gnueabihf": "2.5.0",
|
|
73
|
+
"@tauri-apps/cli-linux-x64-musl": "2.5.0",
|
|
74
|
+
"@tauri-apps/cli-linux-riscv64-gnu": "2.5.0",
|
|
75
|
+
"@tauri-apps/cli-win32-ia32-msvc": "2.5.0",
|
|
76
|
+
"@tauri-apps/cli-win32-arm64-msvc": "2.5.0"
|
|
77
77
|
}
|
|
78
78
|
}
|