@tauri-apps/cli 2.9.5 → 2.10.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 CHANGED
@@ -1,5 +1,50 @@
1
1
  # Changelog
2
2
 
3
+ ## \[2.10.0]
4
+
5
+ ### Enhancements
6
+
7
+ - [`f82594410`](https://www.github.com/tauri-apps/tauri/commit/f82594410cd57d6f794f58d4afea0ed335aa796f) ([#13253](https://www.github.com/tauri-apps/tauri/pull/13253) by [@Armaldio](https://www.github.com/tauri-apps/tauri/../../Armaldio)) Allow electron to run the CLI directly
8
+ - [`a2abe2e6b`](https://www.github.com/tauri-apps/tauri/commit/a2abe2e6bcb9e1eed8484240dfdb76a5bc28ae58) ([#14607](https://www.github.com/tauri-apps/tauri/pull/14607) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Simplified internal representation of `features: Option<Vec<String>>` with `Vec<String>`, no user facing changes
9
+ - [`84b04c4a8`](https://www.github.com/tauri-apps/tauri/commit/84b04c4a8d3310b7a7091d10e36244bf94996e51) ([#14759](https://www.github.com/tauri-apps/tauri/pull/14759) by [@amrbashir](https://www.github.com/tauri-apps/tauri/../../amrbashir)) Added new environment variables for `tauri signer sign` command, to align with existing environment variables used in `tauri build`, `tauri bundle` and `tauri signer generate`
10
+
11
+ - `TAURI_SIGNING_PRIVATE_KEY`
12
+ - `TAURI_SIGNING_PRIVATE_KEY_PATH`
13
+ - `TAURI_SIGNING_PRIVATE_KEY_PASSWORD`
14
+
15
+ The old environment variables are deprecated and will be removed in a future release.
16
+
17
+ - `TAURI_PRIVATE_KEY`
18
+ - `TAURI_PRIVATE_KEY_PATH`
19
+ - `TAURI_PRIVATE_KEY_PASSWORD`
20
+
21
+ ### Bug Fixes
22
+
23
+ - [`62aa13a12`](https://www.github.com/tauri-apps/tauri/commit/62aa13a124ef46bb5ce9887a2a574dd35ef86d4f) ([#14629](https://www.github.com/tauri-apps/tauri/pull/14629) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Fix `android build`'s `--aab` and `--apk` flags requiring a value to be provided.
24
+ - [`eccff9758`](https://www.github.com/tauri-apps/tauri/commit/eccff97588232055bd0cafd83e6ee03d11a501fb) ([#14779](https://www.github.com/tauri-apps/tauri/pull/14779) by [@lucasfernog](https://www.github.com/tauri-apps/tauri/../../lucasfernog)) Fix empty associated-domains entitlements when domains are not configured for deep links.
25
+ - [`ea31b07f1`](https://www.github.com/tauri-apps/tauri/commit/ea31b07f19e0aa467ed0f921f60575cfe09809c8) ([#14789](https://www.github.com/tauri-apps/tauri/pull/14789) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fixed the command description for `tauri inspect`
26
+ - [`7fca58230`](https://www.github.com/tauri-apps/tauri/commit/7fca58230f97c3e6834134419514a0c7dbbe784b) ([#14830](https://www.github.com/tauri-apps/tauri/pull/14830) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Updated `nsis_tauri_utils` to 0.5.3:
27
+
28
+ - Use an alternative method `CreateProcessWithTokenW` to run programs as user, this fixed a problem that the program launched with the previous method can't query its own handle
29
+ - [`53611c4d7`](https://www.github.com/tauri-apps/tauri/commit/53611c4d7bdaf89b9a5d7c46a9c4bf4e34216148) ([#14747](https://www.github.com/tauri-apps/tauri/pull/14747) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Only watch dependent workspace members when running `tauri dev` instead of watching on all members
30
+ - [`1b0e335d3`](https://www.github.com/tauri-apps/tauri/commit/1b0e335d3f3445948d6590f7e074275d97cd9859) ([#14713](https://www.github.com/tauri-apps/tauri/pull/14713) by [@wasuaje](https://www.github.com/tauri-apps/tauri/../../wasuaje)) `tauri signer sign` doesn't work for files without an extension
31
+
32
+ ### What's Changed
33
+
34
+ - [`e3fdcb500`](https://www.github.com/tauri-apps/tauri/commit/e3fdcb5002b362b46cde2a1971e4e7f2a1161208) ([#14836](https://www.github.com/tauri-apps/tauri/pull/14836) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Continued refactors of tauri-cli, fix too weak atomics.
35
+ - [`0575dd287`](https://www.github.com/tauri-apps/tauri/commit/0575dd287e021b61d2aedf64d62ae84a2c925fb4) ([#14521](https://www.github.com/tauri-apps/tauri/pull/14521) by [@kandrelczyk](https://www.github.com/tauri-apps/tauri/../../kandrelczyk)) Change the way bundle type information is added to binary files. Instead of looking up the value of a variable we simply look for the default value.
36
+ - [`7f7d9aac2`](https://www.github.com/tauri-apps/tauri/commit/7f7d9aac214e22d9492490543f7a9bcae0a6659e) ([#14668](https://www.github.com/tauri-apps/tauri/pull/14668) by [@sftse](https://www.github.com/tauri-apps/tauri/../../sftse)) Refactored internal use of static on config and directory resolvings, no user facing changes, please report any regressions if you encounter any
37
+
38
+ ### Dependencies
39
+
40
+ - Upgraded to `tauri-cli@2.10.0`
41
+
42
+ ## \[2.9.6]
43
+
44
+ ### Dependencies
45
+
46
+ - Upgraded to `tauri-cli@2.9.6`
47
+
3
48
  ## \[2.9.5]
4
49
 
5
50
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://schema.tauri.app/config/2.9.4",
3
+ "$id": "https://schema.tauri.app/config/2.10.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",
@@ -165,7 +165,7 @@
165
165
  "type": "object",
166
166
  "properties": {
167
167
  "windows": {
168
- "description": "The app windows configuration.\n\n ## Example:\n\n To create a window at app startup\n\n ```json\n {\n \"app\": {\n \"windows\": [\n { \"width\": 800, \"height\": 600 }\n ]\n }\n }\n ```\n\n If not specified, the window's label (its identifier) defaults to \"main\",\n you can use this label to get the window through\n `app.get_webview_window` in Rust or `WebviewWindow.getByLabel` in JavaScript\n\n When working with multiple windows, each window will need an unique label\n\n ```json\n {\n \"app\": {\n \"windows\": [\n { \"label\": \"main\", \"width\": 800, \"height\": 600 },\n { \"label\": \"secondary\", \"width\": 800, \"height\": 600 }\n ]\n }\n }\n ```\n\n You can also set `create` to false and use this config through the Rust APIs\n\n ```json\n {\n \"app\": {\n \"windows\": [\n { \"create\": false, \"width\": 800, \"height\": 600 }\n ]\n }\n }\n ```\n\n and use it like this\n\n ```rust\n tauri::Builder::default()\n .setup(|app| {\n tauri::WebviewWindowBuilder::from_config(app.handle(), app.config().app.windows[0])?.build()?;\n Ok(())\n });\n ```",
168
+ "description": "The app windows configuration.\n\n ## Example:\n\n To create a window at app startup\n\n ```json\n {\n \"app\": {\n \"windows\": [\n { \"width\": 800, \"height\": 600 }\n ]\n }\n }\n ```\n\n If not specified, the window's label (its identifier) defaults to \"main\",\n you can use this label to get the window through\n `app.get_webview_window` in Rust or `WebviewWindow.getByLabel` in JavaScript\n\n When working with multiple windows, each window will need an unique label\n\n ```json\n {\n \"app\": {\n \"windows\": [\n { \"label\": \"main\", \"width\": 800, \"height\": 600 },\n { \"label\": \"secondary\", \"width\": 800, \"height\": 600 }\n ]\n }\n }\n ```\n\n You can also set `create` to false and use this config through the Rust APIs\n\n ```json\n {\n \"app\": {\n \"windows\": [\n { \"create\": false, \"width\": 800, \"height\": 600 }\n ]\n }\n }\n ```\n\n and use it like this\n\n ```rust\n tauri::Builder::default()\n .setup(|app| {\n tauri::WebviewWindowBuilder::from_config(app.handle(), &app.config().app.windows[0])?.build()?;\n Ok(())\n });\n ```",
169
169
  "default": [],
170
170
  "type": "array",
171
171
  "items": {
@@ -231,7 +231,7 @@
231
231
  "type": "string"
232
232
  },
233
233
  "create": {
234
- "description": "Whether Tauri should create this window at app startup or not.\n\n When this is set to `false` you must manually grab the config object via `app.config().app.windows`\n and create it with [`WebviewWindowBuilder::from_config`](https://docs.rs/tauri/2/tauri/webview/struct.WebviewWindowBuilder.html#method.from_config).\n\n ## Example:\n\n ```rust\n tauri::Builder::default()\n .setup(|app| {\n tauri::WebviewWindowBuilder::from_config(app.handle(), app.config().app.windows[0])?.build()?;\n Ok(())\n });\n ```",
234
+ "description": "Whether Tauri should create this window at app startup or not.\n\n When this is set to `false` you must manually grab the config object via `app.config().app.windows`\n and create it with [`WebviewWindowBuilder::from_config`](https://docs.rs/tauri/2/tauri/webview/struct.WebviewWindowBuilder.html#method.from_config).\n\n ## Example:\n\n ```rust\n tauri::Builder::default()\n .setup(|app| {\n tauri::WebviewWindowBuilder::from_config(app.handle(), &app.config().app.windows[0])?.build()?;\n Ok(())\n });\n ```",
235
235
  "default": true,
236
236
  "type": "boolean"
237
237
  },
@@ -262,7 +262,7 @@
262
262
  "type": "boolean"
263
263
  },
264
264
  "x": {
265
- "description": "The horizontal position of the window's top left corner",
265
+ "description": "The horizontal position of the window's top left corner in logical pixels",
266
266
  "type": [
267
267
  "number",
268
268
  "null"
@@ -270,7 +270,7 @@
270
270
  "format": "double"
271
271
  },
272
272
  "y": {
273
- "description": "The vertical position of the window's top left corner",
273
+ "description": "The vertical position of the window's top left corner in logical pixels",
274
274
  "type": [
275
275
  "number",
276
276
  "null"
@@ -278,19 +278,19 @@
278
278
  "format": "double"
279
279
  },
280
280
  "width": {
281
- "description": "The window width.",
281
+ "description": "The window width in logical pixels.",
282
282
  "default": 800.0,
283
283
  "type": "number",
284
284
  "format": "double"
285
285
  },
286
286
  "height": {
287
- "description": "The window height.",
287
+ "description": "The window height in logical pixels.",
288
288
  "default": 600.0,
289
289
  "type": "number",
290
290
  "format": "double"
291
291
  },
292
292
  "minWidth": {
293
- "description": "The min window width.",
293
+ "description": "The min window width in logical pixels.",
294
294
  "type": [
295
295
  "number",
296
296
  "null"
@@ -298,7 +298,7 @@
298
298
  "format": "double"
299
299
  },
300
300
  "minHeight": {
301
- "description": "The min window height.",
301
+ "description": "The min window height in logical pixels.",
302
302
  "type": [
303
303
  "number",
304
304
  "null"
@@ -306,7 +306,7 @@
306
306
  "format": "double"
307
307
  },
308
308
  "maxWidth": {
309
- "description": "The max window width.",
309
+ "description": "The max window width in logical pixels.",
310
310
  "type": [
311
311
  "number",
312
312
  "null"
@@ -314,7 +314,7 @@
314
314
  "format": "double"
315
315
  },
316
316
  "maxHeight": {
317
- "description": "The max window height.",
317
+ "description": "The max window height in logical pixels.",
318
318
  "type": [
319
319
  "number",
320
320
  "null"
@@ -652,13 +652,13 @@
652
652
  ],
653
653
  "properties": {
654
654
  "width": {
655
- "description": "Horizontal margin in physical unit",
655
+ "description": "Horizontal margin in physical pixels",
656
656
  "type": "integer",
657
657
  "format": "uint32",
658
658
  "minimum": 0.0
659
659
  },
660
660
  "height": {
661
- "description": "Vertical margin in physical unit",
661
+ "description": "Vertical margin in physical pixels",
662
662
  "type": "integer",
663
663
  "format": "uint32",
664
664
  "minimum": 0.0
@@ -1296,7 +1296,7 @@
1296
1296
  "additionalProperties": false
1297
1297
  },
1298
1298
  "FsScope": {
1299
- "description": "Protocol scope definition.\n It is a list of glob patterns that restrict the API access from the webview.\n\n Each pattern can start with a variable that resolves to a system base directory.\n The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`,\n `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`,\n `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`,\n `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
1299
+ "description": "Protocol scope definition.\n It is a list of glob patterns that restrict the API access from the webview.\n\n Each pattern can start with a variable that resolves to a system base directory.\n The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`,\n `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`,\n `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$TEMP`,\n `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
1300
1300
  "anyOf": [
1301
1301
  {
1302
1302
  "description": "A list of paths that are allowed by this scope.",
@@ -1991,7 +1991,7 @@
1991
1991
  "description": "Defines the URL or assets to embed in the application.",
1992
1992
  "anyOf": [
1993
1993
  {
1994
- "description": "An external URL that should be used as the default application URL.",
1994
+ "description": "An external URL that should be used as the default application URL. No assets are embedded in the app in this case.",
1995
1995
  "type": "string",
1996
1996
  "format": "uri"
1997
1997
  },
@@ -2000,7 +2000,7 @@
2000
2000
  "type": "string"
2001
2001
  },
2002
2002
  {
2003
- "description": "An array of files to embed on the app.",
2003
+ "description": "An array of files to embed in the app.",
2004
2004
  "type": "array",
2005
2005
  "items": {
2006
2006
  "type": "string"
@@ -2792,7 +2792,7 @@
2792
2792
  "type": "object",
2793
2793
  "properties": {
2794
2794
  "version": {
2795
- "description": "MSI installer version in the format `major.minor.patch.build` (build is optional).\n\n Because a valid version is required for MSI installer, it will be derived from [`Config::version`] if this field is not set.\n\n The first field is the major version and has a maximum value of 255. The second field is the minor version and has a maximum value of 255.\n The third and foruth fields have a maximum value of 65,535.\n\n See <https://learn.microsoft.com/en-us/windows/win32/msi/productversion> for more info.",
2795
+ "description": "MSI installer version in the format `major.minor.patch.build` (build is optional).\n\n Because a valid version is required for MSI installer, it will be derived from [`Config::version`] if this field is not set.\n\n The first field is the major version and has a maximum value of 255. The second field is the minor version and has a maximum value of 255.\n The third and fourth fields have a maximum value of 65,535.\n\n See <https://learn.microsoft.com/en-us/windows/win32/msi/productversion> for more info.",
2796
2796
  "type": [
2797
2797
  "string",
2798
2798
  "null"
@@ -3096,7 +3096,7 @@
3096
3096
  "description": "Custom Signing Command configuration.",
3097
3097
  "anyOf": [
3098
3098
  {
3099
- "description": "A string notation of the script to execute.\n\n \"%1\" will be replaced with the path to the binary to be signed.\n\n This is a simpler notation for the command.\n Tauri will split the string with `' '` and use the first element as the command name and the rest as arguments.\n\n If you need to use whitespace in the command or arguments, use the object notation [`Self::ScriptWithOptions`].",
3099
+ "description": "A string notation of the script to execute.\n\n \"%1\" will be replaced with the path to the binary to be signed.\n\n This is a simpler notation for the command.\n Tauri will split the string with `' '` and use the first element as the command name and the rest as arguments.\n\n If you need to use whitespace in the command or arguments, use the object notation [`Self::CommandWithOptions`].",
3100
3100
  "type": "string"
3101
3101
  },
3102
3102
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tauri-apps/cli",
3
- "version": "2.9.5",
3
+ "version": "2.10.0",
4
4
  "description": "Command line interface for building Tauri apps",
5
5
  "type": "commonjs",
6
6
  "funding": {
@@ -65,16 +65,16 @@
65
65
  "tauri": "node ./tauri.js"
66
66
  },
67
67
  "optionalDependencies": {
68
- "@tauri-apps/cli-linux-x64-gnu": "2.9.5",
69
- "@tauri-apps/cli-win32-x64-msvc": "2.9.5",
70
- "@tauri-apps/cli-darwin-x64": "2.9.5",
71
- "@tauri-apps/cli-darwin-arm64": "2.9.5",
72
- "@tauri-apps/cli-linux-arm64-gnu": "2.9.5",
73
- "@tauri-apps/cli-linux-arm64-musl": "2.9.5",
74
- "@tauri-apps/cli-linux-arm-gnueabihf": "2.9.5",
75
- "@tauri-apps/cli-linux-x64-musl": "2.9.5",
76
- "@tauri-apps/cli-linux-riscv64-gnu": "2.9.5",
77
- "@tauri-apps/cli-win32-ia32-msvc": "2.9.5",
78
- "@tauri-apps/cli-win32-arm64-msvc": "2.9.5"
68
+ "@tauri-apps/cli-linux-x64-gnu": "2.10.0",
69
+ "@tauri-apps/cli-win32-x64-msvc": "2.10.0",
70
+ "@tauri-apps/cli-darwin-x64": "2.10.0",
71
+ "@tauri-apps/cli-darwin-arm64": "2.10.0",
72
+ "@tauri-apps/cli-linux-arm64-gnu": "2.10.0",
73
+ "@tauri-apps/cli-linux-arm64-musl": "2.10.0",
74
+ "@tauri-apps/cli-linux-arm-gnueabihf": "2.10.0",
75
+ "@tauri-apps/cli-linux-x64-musl": "2.10.0",
76
+ "@tauri-apps/cli-linux-riscv64-gnu": "2.10.0",
77
+ "@tauri-apps/cli-win32-ia32-msvc": "2.10.0",
78
+ "@tauri-apps/cli-win32-arm64-msvc": "2.10.0"
79
79
  }
80
80
  }
package/tauri.js CHANGED
@@ -20,7 +20,7 @@ if (globalThis.navigator?.userAgent?.includes('Deno')) {
20
20
  }
21
21
  // Even if started by a package manager, the binary will be NodeJS.
22
22
  // Some distribution still use "nodejs" as the binary name.
23
- else if (binStem.match(/(nodejs|node|bun)\-?([0-9]*)*$/g)) {
23
+ else if (binStem.match(/(nodejs|node|bun|electron)\-?([0-9]*)*$/g)) {
24
24
  const managerStem = process.env.npm_execpath
25
25
  ? path.parse(process.env.npm_execpath).name.toLowerCase()
26
26
  : null