mirror of
https://github.com/tauri-apps/tauri.git
synced 2026-04-11 10:43:31 +02:00
Compare commits
23 Commits
dev
...
tauri-cli-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
caddd5bdd8 | ||
|
|
72c2636527 | ||
|
|
83e024c670 | ||
|
|
07c9e352df | ||
|
|
d00178d60c | ||
|
|
705da977a9 | ||
|
|
1675e41f05 | ||
|
|
f9638b6315 | ||
|
|
aeddc40b9e | ||
|
|
fe6f81fa88 | ||
|
|
9dd67abd93 | ||
|
|
dbe81b8410 | ||
|
|
017861e4d5 | ||
|
|
77cc49ac3c | ||
|
|
e3b6d38d26 | ||
|
|
b705f89a10 | ||
|
|
97a05145fb | ||
|
|
b15948b11c | ||
|
|
5163861588 | ||
|
|
80a215a6f3 | ||
|
|
01ae1218dc | ||
|
|
d42668ce17 | ||
|
|
1ab0db6352 |
45
.github/PULL_REQUEST_TEMPLATE.md
vendored
45
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,30 +1,21 @@
|
||||
<!--
|
||||
Update "[ ]" to "[x]" to check a box
|
||||
Before submitting a PR, please read https://github.com/tauri-apps/tauri/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
|
||||
|
||||
Please make sure to read the Pull Request Guidelines: https://github.com/tauri-apps/tauri/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
|
||||
1. Give the PR a descriptive title.
|
||||
|
||||
Examples of good title:
|
||||
- fix(windows): fix race condition in event loop
|
||||
- docs: update docstrings
|
||||
- feat: add `Window::set_fullscreen`
|
||||
|
||||
Examples of bad title:
|
||||
- fix #7123
|
||||
- update docs
|
||||
- fix bugs
|
||||
|
||||
2. If there is a related issue, reference it in the PR text, e.g. closes #123.
|
||||
3. If this change requires a new version, then add a change file in `.changes` directory with the appropriate bump, see https://github.com/tauri-apps/tauri/blob/dev/.changes/readme.md
|
||||
4. Ensure that all your commits are signed https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits
|
||||
5. Ensure `cargo test` and `cargo clippy` passes.
|
||||
6. Propose your changes as a draft PR if your work is still in progress.
|
||||
-->
|
||||
|
||||
### What kind of change does this PR introduce?
|
||||
<!-- Check at least one. If you are introducing a new binding, you must reference an issue where this binding has been proposed, discussed and approved by the maintainers. -->
|
||||
|
||||
- [ ] Bugfix
|
||||
- [ ] Feature
|
||||
- [ ] Docs
|
||||
- [ ] New Binding issue #___
|
||||
- [ ] Code style update
|
||||
- [ ] Refactor
|
||||
- [ ] Build-related changes
|
||||
- [ ] Other, please describe:
|
||||
|
||||
### Does this PR introduce a breaking change?
|
||||
<!-- If yes, please describe the impact and migration path for existing applications in an attached issue. -->
|
||||
|
||||
- [ ] Yes, and the changes were approved in issue #___
|
||||
- [ ] No
|
||||
|
||||
### Checklist
|
||||
- [ ] When resolving issues, they are referenced in the PR's title (e.g `fix: remove a typo, closes #___, #___`)
|
||||
- [ ] A change file is added if any packages will require a version bump due to this PR per [the instructions in the readme](https://github.com/tauri-apps/tauri/blob/dev/.changes/readme.md).
|
||||
- [ ] I have added a convincing reason for adding this feature, if necessary
|
||||
|
||||
### Other information
|
||||
|
||||
@@ -56,10 +56,11 @@ jobs:
|
||||
- name: Downgrade crates with MSRV conflict
|
||||
# The --precise flag can only be used once per invocation.
|
||||
run: |
|
||||
cargo update -p system-deps:6.2.0 --precise 6.1.1
|
||||
cargo update -p system-deps:6.2.2 --precise 6.1.1
|
||||
cargo update -p toml:0.7.8 --precise 0.7.3
|
||||
cargo update -p toml_edit:0.19.15 --precise 0.19.8
|
||||
cargo update -p embed-resource --precise 2.3.0
|
||||
cargo update -p notify-rust --precise 4.10.0
|
||||
cargo update -p toml_datetime --precise 0.6.1
|
||||
cargo update -p serde_spanned --precise 0.6.1
|
||||
cargo update -p winnow --precise 0.4.1
|
||||
@@ -73,13 +74,13 @@ jobs:
|
||||
cargo update -p colored --precise 2.0.2
|
||||
cargo update -p arboard --precise 3.2.1
|
||||
cargo update -p tempfile --precise 3.6.0
|
||||
cargo update -p serde_with:3.6.1 --precise 3.0.0
|
||||
cargo update -p serde_with:3.7.0 --precise 3.0.0
|
||||
cargo update -p tokio --precise 1.29.0
|
||||
cargo update -p flate2 --precise 1.0.26
|
||||
cargo update -p h2 --precise 0.3.20
|
||||
cargo update -p reqwest --precise 0.11.18
|
||||
cargo update -p bstr --precise 1.6.2
|
||||
cargo update -p cfg-expr:0.15.7 --precise 0.15.4
|
||||
cargo update -p cfg-expr:0.15.8 --precise 0.15.4
|
||||
cargo update -p memchr --precise 2.6.2
|
||||
cargo update -p async-executor --precise 1.5.1
|
||||
cargo update -p proptest --precise 1.2.0
|
||||
@@ -88,7 +89,6 @@ jobs:
|
||||
cargo update -p backtrace --precise 0.3.68
|
||||
cargo update -p blocking --precise 1.4.1
|
||||
cargo update -p ignore --precise 0.4.18
|
||||
cargo update -p regex --precise 1.9.6
|
||||
cargo update -p globset --precise 0.4.13
|
||||
cargo update -p crossbeam-channel --precise 0.5.8
|
||||
cargo update -p crossbeam-utils --precise 0.8.16
|
||||
@@ -99,6 +99,12 @@ jobs:
|
||||
cargo update -p serde_json --precise 1.0.97
|
||||
cargo update -p petgraph --precise 0.6.3
|
||||
cargo update -p os_str_bytes --precise 6.5.1
|
||||
cargo update -p thread_local --precise 1.1.7
|
||||
cargo update -p cc --precise 1.0.94
|
||||
cargo update -p home --precise 0.5.5
|
||||
cargo update -p tree_magic_mini --precise 3.0.3
|
||||
cargo update -p tokio-test --precise 0.4.3
|
||||
cargo update -p tokio-stream --precise 0.1.14
|
||||
|
||||
- name: test build
|
||||
run: cargo check --target ${{ matrix.platform.target }} --features tracing,compression,wry,linux-protocol-headers,isolation,custom-protocol,api-all,cli,updater,system-tray,windows7-compat,http-multipart,test
|
||||
|
||||
479
Cargo.lock
generated
479
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -27,7 +27,7 @@ tauri-utils = { version = "1.5.3", path = "../tauri-utils", features = [
|
||||
cargo_toml = "0.15"
|
||||
serde = "1"
|
||||
serde_json = "1"
|
||||
heck = "0.4"
|
||||
heck = "0.5"
|
||||
json-patch = "1.2"
|
||||
tauri-winres = "0.1"
|
||||
semver = "1"
|
||||
|
||||
@@ -19,7 +19,7 @@ proc-macro = true
|
||||
proc-macro2 = { version = "1", features = ["span-locations"] }
|
||||
quote = "1"
|
||||
syn = { version = "1", features = ["full"] }
|
||||
heck = "0.4"
|
||||
heck = "0.5"
|
||||
tauri-codegen = { version = "1.4.2", default-features = false, path = "../tauri-codegen" }
|
||||
tauri-utils = { version = "1.5.3", path = "../tauri-utils" }
|
||||
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# Changelog
|
||||
|
||||
## \[0.14.5]
|
||||
|
||||
### What's Changed
|
||||
|
||||
- [`d42668ce`](https://www.github.com/tauri-apps/tauri/commit/d42668ce17494ab778f436aaa9b216d6db3f0b31)([#9003](https://www.github.com/tauri-apps/tauri/pull/9003)) Fix panic during intialization on wayland when using `clipboard` feature, instead propagate the error during API usage.
|
||||
|
||||
## \[0.14.4]
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -1,25 +1,22 @@
|
||||
[package]
|
||||
name = "tauri-runtime-wry"
|
||||
version = "0.14.4"
|
||||
authors = ["Tauri Programme within The Commons Conservancy"]
|
||||
categories = ["gui", "web-programming"]
|
||||
version = "0.14.5"
|
||||
authors = [ "Tauri Programme within The Commons Conservancy" ]
|
||||
categories = [ "gui", "web-programming" ]
|
||||
license = "Apache-2.0 OR MIT"
|
||||
homepage = "https://tauri.app"
|
||||
repository = "https://github.com/tauri-apps/tauri"
|
||||
description = "Wry bindings to the Tauri runtime"
|
||||
edition = "2021"
|
||||
rust-version = "1.60"
|
||||
exclude = ["CHANGELOG.md", "/target"]
|
||||
exclude = [ "CHANGELOG.md", "/target" ]
|
||||
readme = "README.md"
|
||||
|
||||
[dependencies]
|
||||
wry = { version = "0.24.6", default-features = false, features = [
|
||||
"file-drop",
|
||||
"protocol",
|
||||
] }
|
||||
wry = { version = "0.24.6", default-features = false, features = [ "file-drop", "protocol" ] }
|
||||
tauri-runtime = { version = "0.14.2", path = "../tauri-runtime" }
|
||||
tauri-utils = { version = "1.5.3", path = "../tauri-utils" }
|
||||
uuid = { version = "1", features = ["v4"] }
|
||||
uuid = { version = "1", features = [ "v4" ] }
|
||||
rand = "0.8"
|
||||
raw-window-handle = "0.5"
|
||||
tracing = { version = "0.1", optional = true }
|
||||
@@ -28,29 +25,29 @@ arboard = { version = "3", optional = true }
|
||||
[target."cfg(windows)".dependencies]
|
||||
webview2-com = "0.19.1"
|
||||
|
||||
[target."cfg(windows)".dependencies.windows]
|
||||
version = "0.39.0"
|
||||
features = ["Win32_Foundation"]
|
||||
[target."cfg(windows)".dependencies.windows]
|
||||
version = "0.39.0"
|
||||
features = [ "Win32_Foundation" ]
|
||||
|
||||
[target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
|
||||
gtk = { version = "0.15", features = ["v3_20"] }
|
||||
webkit2gtk = { version = "0.18.2", features = ["v2_22"] }
|
||||
gtk = { version = "0.15", features = [ "v3_20" ] }
|
||||
webkit2gtk = { version = "0.18.2", features = [ "v2_22" ] }
|
||||
percent-encoding = "2.1"
|
||||
|
||||
[target."cfg(any(target_os = \"ios\", target_os = \"macos\"))".dependencies]
|
||||
cocoa = "0.24"
|
||||
|
||||
[features]
|
||||
dox = ["wry/dox"]
|
||||
devtools = ["wry/devtools", "tauri-runtime/devtools"]
|
||||
system-tray = ["tauri-runtime/system-tray", "wry/tray"]
|
||||
dox = [ "wry/dox" ]
|
||||
devtools = [ "wry/devtools", "tauri-runtime/devtools" ]
|
||||
system-tray = [ "tauri-runtime/system-tray", "wry/tray" ]
|
||||
macos-private-api = [
|
||||
"wry/fullscreen",
|
||||
"wry/transparent",
|
||||
"tauri-runtime/macos-private-api",
|
||||
"tauri-runtime/macos-private-api"
|
||||
]
|
||||
objc-exception = ["wry/objc-exception"]
|
||||
global-shortcut = ["tauri-runtime/global-shortcut"]
|
||||
clipboard = ["tauri-runtime/clipboard", "arboard/wayland-data-control"]
|
||||
linux-headers = ["wry/linux-headers", "webkit2gtk/v2_36"]
|
||||
tracing = ["dep:tracing", "wry/tracing"]
|
||||
objc-exception = [ "wry/objc-exception" ]
|
||||
global-shortcut = [ "tauri-runtime/global-shortcut" ]
|
||||
clipboard = [ "tauri-runtime/clipboard", "arboard/wayland-data-control" ]
|
||||
linux-headers = [ "wry/linux-headers", "webkit2gtk/v2_36" ]
|
||||
tracing = [ "dep:tracing", "wry/tracing" ]
|
||||
|
||||
@@ -14,7 +14,7 @@ use tauri_runtime::{ClipboardManager, Result};
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct ClipboardManagerWrapper {
|
||||
pub clipboard: Arc<Mutex<Clipboard>>,
|
||||
pub clipboard: Arc<Mutex<std::result::Result<Clipboard, arboard::Error>>>,
|
||||
}
|
||||
|
||||
impl fmt::Debug for ClipboardManagerWrapper {
|
||||
@@ -23,17 +23,47 @@ impl fmt::Debug for ClipboardManagerWrapper {
|
||||
}
|
||||
}
|
||||
|
||||
struct ClipboardError(String);
|
||||
impl std::error::Error for ClipboardError {}
|
||||
impl fmt::Display for ClipboardError {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
write!(f, "ClipboardError: {}", self.0)
|
||||
}
|
||||
}
|
||||
impl fmt::Debug for ClipboardError {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_tuple("ClipboardError").field(&self.0).finish()
|
||||
}
|
||||
}
|
||||
impl From<ClipboardError> for crate::Error {
|
||||
fn from(e: ClipboardError) -> crate::Error {
|
||||
crate::Error::Clipboard(Box::new(e))
|
||||
}
|
||||
}
|
||||
|
||||
impl ClipboardManager for ClipboardManagerWrapper {
|
||||
fn read_text(&self) -> Result<Option<String>> {
|
||||
Ok(self.clipboard.lock().unwrap().get_text().ok())
|
||||
}
|
||||
|
||||
fn write_text<V: Into<String>>(&mut self, text: V) -> Result<()> {
|
||||
self
|
||||
.clipboard
|
||||
.lock()
|
||||
.unwrap()
|
||||
.set_text(text.into())
|
||||
.map_err(|e| crate::Error::Clipboard(Box::new(e)))
|
||||
.as_mut()
|
||||
.map(|c| c.get_text().map(Some))
|
||||
.map_err(|e| ClipboardError(e.to_string()))?
|
||||
.map_err(|e| ClipboardError(e.to_string()))
|
||||
.map_err(Into::into)
|
||||
}
|
||||
|
||||
fn write_text<V: Into<String>>(&mut self, text: V) -> Result<()> {
|
||||
let text = text.into();
|
||||
self
|
||||
.clipboard
|
||||
.lock()
|
||||
.unwrap()
|
||||
.as_mut()
|
||||
.map(|c| c.set_text(text))
|
||||
.map_err(|e| ClipboardError(e.to_string()))?
|
||||
.map_err(|e| ClipboardError(e.to_string()))
|
||||
.map_err(Into::into)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2019,7 +2019,7 @@ impl<T: UserEvent> Wry<T> {
|
||||
#[cfg(feature = "clipboard")]
|
||||
#[allow(clippy::redundant_clone)]
|
||||
let clipboard_manager_handle = ClipboardManagerWrapper {
|
||||
clipboard: Arc::new(Mutex::new(Clipboard::new().unwrap())),
|
||||
clipboard: Arc::new(Mutex::new(Clipboard::new())),
|
||||
};
|
||||
|
||||
Ok(Self {
|
||||
|
||||
@@ -40,7 +40,7 @@ dunce = "1"
|
||||
log = "0.4.20"
|
||||
|
||||
[target."cfg(target_os = \"linux\")".dependencies]
|
||||
heck = "0.4"
|
||||
heck = "0.5"
|
||||
|
||||
[target."cfg(windows)".dependencies]
|
||||
windows-version = "0.1"
|
||||
|
||||
@@ -41,6 +41,8 @@ impl StartingBinary {
|
||||
///
|
||||
/// Because [`Error`] is not clone-able, it is recreated instead.
|
||||
pub(super) fn cloned(&self) -> Result<PathBuf> {
|
||||
// false positive
|
||||
#[allow(clippy::useless_asref)]
|
||||
self
|
||||
.0
|
||||
.as_ref()
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# Changelog
|
||||
|
||||
## \[1.6.2]
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- [`e3b6d38d2`](https://www.github.com/tauri-apps/tauri/commit/e3b6d38d26d27b292f98d6c0e8603a15265a5b43)([#9166](https://www.github.com/tauri-apps/tauri/pull/9166)) Fix `basename(path, 'ext')` JS API when removing all occurances of `ext` where it should only remove the last one.
|
||||
- [`705da977a`](https://www.github.com/tauri-apps/tauri/commit/705da977a9c941a4b2d90219b34925498f507ab2)([#9529](https://www.github.com/tauri-apps/tauri/pull/9529)) Do not use JS optional chaining to prevent script errors on older webviews such as macOS 10.14.
|
||||
|
||||
## \[1.6.1]
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Upgraded to `tauri-runtime-wry@0.14.5`
|
||||
|
||||
## \[1.6.0]
|
||||
|
||||
### New Features
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
[package]
|
||||
authors = ["Tauri Programme within The Commons Conservancy"]
|
||||
categories = ["gui", "web-programming"]
|
||||
authors = [ "Tauri Programme within The Commons Conservancy" ]
|
||||
categories = [ "gui", "web-programming" ]
|
||||
description = "Make tiny, secure apps for all desktop platforms with Tauri"
|
||||
edition = "2021"
|
||||
rust-version = "1.60"
|
||||
exclude = ["/test", "/.scripts", "CHANGELOG.md", "/target"]
|
||||
exclude = [ "/test", "/.scripts", "CHANGELOG.md", "/target" ]
|
||||
homepage = "https://tauri.app"
|
||||
license = "Apache-2.0 OR MIT"
|
||||
name = "tauri"
|
||||
readme = "README.md"
|
||||
repository = "https://github.com/tauri-apps/tauri"
|
||||
version = "1.6.0"
|
||||
version = "1.6.2"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
no-default-features = true
|
||||
@@ -35,43 +35,35 @@ features = [
|
||||
"process-exit",
|
||||
"protocol-asset",
|
||||
"process-command-api",
|
||||
"shell-open",
|
||||
"shell-open"
|
||||
]
|
||||
rustdoc-args = ["--cfg", "doc_cfg"]
|
||||
rustdoc-args = [ "--cfg", "doc_cfg" ]
|
||||
default-target = "x86_64-unknown-linux-gnu"
|
||||
targets = [
|
||||
"x86_64-pc-windows-msvc",
|
||||
"x86_64-unknown-linux-gnu",
|
||||
"x86_64-apple-darwin",
|
||||
"x86_64-apple-darwin"
|
||||
]
|
||||
|
||||
[package.metadata.cargo-udeps.ignore]
|
||||
normal = ["reqwest", "nix"]
|
||||
normal = [ "reqwest", "nix" ]
|
||||
|
||||
[dependencies]
|
||||
serde_json = { version = "1.0", features = ["raw_value", "preserve_order"] }
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
tokio = { version = "1", features = [
|
||||
"rt",
|
||||
"rt-multi-thread",
|
||||
"sync",
|
||||
"fs",
|
||||
"io-util",
|
||||
] }
|
||||
serde_json = { version = "1.0", features = [ "raw_value", "preserve_order" ] }
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
tokio = { version = "1", features = [ "rt", "rt-multi-thread", "sync", "fs", "io-util" ] }
|
||||
futures-util = "0.3"
|
||||
uuid = { version = "1", features = ["v4"] }
|
||||
uuid = { version = "1", features = [ "v4" ] }
|
||||
url = { version = "2.3" }
|
||||
anyhow = "1.0"
|
||||
thiserror = "1.0"
|
||||
once_cell = "1"
|
||||
tauri-runtime = { version = "0.14.2", path = "../tauri-runtime" }
|
||||
tauri-macros = { version = "1.4.3", path = "../tauri-macros" }
|
||||
tauri-utils = { version = "1.5.3", features = [
|
||||
"resources",
|
||||
], path = "../tauri-utils" }
|
||||
tauri-runtime-wry = { version = "0.14.4", path = "../tauri-runtime-wry", optional = true }
|
||||
tauri-utils = { version = "1.5.3", features = [ "resources" ], path = "../tauri-utils" }
|
||||
tauri-runtime-wry = { version = "0.14.5", path = "../tauri-runtime-wry", optional = true }
|
||||
rand = "0.8"
|
||||
semver = { version = "1.0", features = ["serde"] }
|
||||
semver = { version = "1.0", features = [ "serde" ] }
|
||||
serde_repr = "0.1"
|
||||
state = "0.5"
|
||||
tar = "0.4.38"
|
||||
@@ -84,17 +76,14 @@ dirs-next = "2.0"
|
||||
percent-encoding = "2.2"
|
||||
base64 = { version = "0.21", optional = true }
|
||||
clap = { version = "3", optional = true }
|
||||
reqwest = { version = "0.11", features = ["json", "stream"], optional = true }
|
||||
bytes = { version = "1", features = ["serde"], optional = true }
|
||||
reqwest = { version = "0.11", features = [ "json", "stream" ], optional = true }
|
||||
bytes = { version = "1", features = [ "serde" ], optional = true }
|
||||
open = { version = "3.2", optional = true }
|
||||
shared_child = { version = "1.0", optional = true }
|
||||
os_pipe = { version = "1.0", optional = true }
|
||||
raw-window-handle = "0.5"
|
||||
minisign-verify = { version = "0.2", optional = true }
|
||||
time = { version = "0.3", features = [
|
||||
"parsing",
|
||||
"formatting",
|
||||
], optional = true }
|
||||
time = { version = "0.3", features = [ "parsing", "formatting" ], optional = true }
|
||||
os_info = { version = "3", optional = true }
|
||||
regex = { version = "1", optional = true }
|
||||
glob = "0.3"
|
||||
@@ -106,24 +95,17 @@ ico = { version = "0.2.0", optional = true }
|
||||
encoding_rs = "0.8.31"
|
||||
sys-locale = { version = "0.2.3", optional = true }
|
||||
tracing = { version = "0.1", optional = true }
|
||||
indexmap = { version = "1", features = ["std", "serde"], optional = true }
|
||||
indexmap = { version = "1", features = [ "std", "serde" ], optional = true }
|
||||
|
||||
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
|
||||
rfd = { version = "0.10", optional = true, features = [
|
||||
"gtk3",
|
||||
"common-controls-v6",
|
||||
] }
|
||||
rfd = { version = "0.10", optional = true, features = [ "gtk3", "common-controls-v6" ] }
|
||||
notify-rust = { version = "4.5", optional = true }
|
||||
|
||||
[target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
|
||||
gtk = { version = "0.15", features = ["v3_20"] }
|
||||
gtk = { version = "0.15", features = [ "v3_20" ] }
|
||||
glib = "0.15"
|
||||
webkit2gtk = { version = "0.18.2", features = ["v2_22"] }
|
||||
nix = { version = "0.26.0", default-features = false, features = [
|
||||
"user",
|
||||
"socket",
|
||||
"uio",
|
||||
], optional = true }
|
||||
webkit2gtk = { version = "0.18.2", features = [ "v2_22" ] }
|
||||
nix = { version = "0.26.0", default-features = false, features = [ "user", "socket", "uio" ], optional = true }
|
||||
|
||||
[target."cfg(target_os = \"macos\")".dependencies]
|
||||
embed_plist = "1.2"
|
||||
@@ -135,12 +117,12 @@ dunce = "1"
|
||||
webview2-com = "0.19.1"
|
||||
win7-notifications = { version = "0.4", optional = true }
|
||||
|
||||
[target."cfg(windows)".dependencies.windows]
|
||||
version = "0.39.0"
|
||||
features = ["Win32_Foundation"]
|
||||
[target."cfg(windows)".dependencies.windows]
|
||||
version = "0.39.0"
|
||||
features = [ "Win32_Foundation" ]
|
||||
|
||||
[build-dependencies]
|
||||
heck = "0.4"
|
||||
heck = "0.5"
|
||||
once_cell = "1"
|
||||
|
||||
[dev-dependencies]
|
||||
@@ -148,57 +130,61 @@ mockito = "0.31"
|
||||
proptest = "1.0.0"
|
||||
quickcheck = "1.0.3"
|
||||
quickcheck_macros = "1.0.0"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
serde_json = "1.0"
|
||||
tauri = { path = ".", default-features = false, features = ["wry"] }
|
||||
tauri = { path = ".", default-features = false, features = [ "wry" ] }
|
||||
tokio-test = "0.4.2"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
tokio = { version = "1", features = [ "full" ] }
|
||||
cargo_toml = "0.11"
|
||||
|
||||
[features]
|
||||
default = ["wry", "compression", "objc-exception"]
|
||||
tracing = ["dep:tracing", "tauri-macros/tracing", "tauri-runtime-wry/tracing"]
|
||||
test = []
|
||||
compression = ["tauri-macros/compression", "tauri-utils/compression"]
|
||||
wry = ["tauri-runtime-wry"]
|
||||
objc-exception = ["tauri-runtime-wry/objc-exception"]
|
||||
linux-protocol-headers = ["tauri-runtime-wry/linux-headers", "webkit2gtk/v2_36"]
|
||||
isolation = ["tauri-utils/isolation", "tauri-macros/isolation"]
|
||||
custom-protocol = ["tauri-macros/custom-protocol"]
|
||||
default = [ "wry", "compression", "objc-exception" ]
|
||||
tracing = [
|
||||
"dep:tracing",
|
||||
"tauri-macros/tracing",
|
||||
"tauri-runtime-wry/tracing"
|
||||
]
|
||||
test = [ ]
|
||||
compression = [ "tauri-macros/compression", "tauri-utils/compression" ]
|
||||
wry = [ "tauri-runtime-wry" ]
|
||||
objc-exception = [ "tauri-runtime-wry/objc-exception" ]
|
||||
linux-protocol-headers = [ "tauri-runtime-wry/linux-headers", "webkit2gtk/v2_36" ]
|
||||
isolation = [ "tauri-utils/isolation", "tauri-macros/isolation" ]
|
||||
custom-protocol = [ "tauri-macros/custom-protocol" ]
|
||||
updater = [
|
||||
"minisign-verify",
|
||||
"time",
|
||||
"base64",
|
||||
"http-api",
|
||||
"dialog-ask",
|
||||
"fs-extract-api",
|
||||
"fs-extract-api"
|
||||
]
|
||||
http-api = ["reqwest", "bytes", "indexmap"]
|
||||
http-multipart = ["reqwest/multipart"]
|
||||
os-api = ["sys-locale"]
|
||||
shell-open-api = ["open", "regex", "tauri-macros/shell-scope"]
|
||||
fs-extract-api = ["zip"]
|
||||
reqwest-client = ["http-api"]
|
||||
reqwest-native-tls-vendored = ["native-tls-vendored"]
|
||||
native-tls-vendored = ["reqwest/native-tls-vendored"]
|
||||
process-command-api = ["shared_child", "os_pipe"]
|
||||
http-api = [ "reqwest", "bytes", "indexmap" ]
|
||||
http-multipart = [ "reqwest/multipart" ]
|
||||
os-api = [ "sys-locale" ]
|
||||
shell-open-api = [ "open", "regex", "tauri-macros/shell-scope" ]
|
||||
fs-extract-api = [ "zip" ]
|
||||
reqwest-client = [ "http-api" ]
|
||||
reqwest-native-tls-vendored = [ "native-tls-vendored" ]
|
||||
native-tls-vendored = [ "reqwest/native-tls-vendored" ]
|
||||
process-command-api = [ "shared_child", "os_pipe" ]
|
||||
global-shortcut = [
|
||||
"tauri-runtime/global-shortcut",
|
||||
"tauri-runtime-wry/global-shortcut",
|
||||
"tauri-runtime-wry/global-shortcut"
|
||||
]
|
||||
clipboard = ["tauri-runtime/clipboard", "tauri-runtime-wry/clipboard"]
|
||||
dialog = ["rfd"]
|
||||
notification = ["notify-rust", "nix"]
|
||||
cli = ["clap"]
|
||||
system-tray = ["tauri-runtime/system-tray", "tauri-runtime-wry/system-tray"]
|
||||
devtools = ["tauri-runtime/devtools", "tauri-runtime-wry/devtools"]
|
||||
dox = ["tauri-runtime-wry/dox"]
|
||||
clipboard = [ "tauri-runtime/clipboard", "tauri-runtime-wry/clipboard" ]
|
||||
dialog = [ "rfd" ]
|
||||
notification = [ "notify-rust", "nix" ]
|
||||
cli = [ "clap" ]
|
||||
system-tray = [ "tauri-runtime/system-tray", "tauri-runtime-wry/system-tray" ]
|
||||
devtools = [ "tauri-runtime/devtools", "tauri-runtime-wry/devtools" ]
|
||||
dox = [ "tauri-runtime-wry/dox" ]
|
||||
macos-private-api = [
|
||||
"tauri-runtime/macos-private-api",
|
||||
"tauri-runtime-wry/macos-private-api",
|
||||
"tauri-runtime-wry/macos-private-api"
|
||||
]
|
||||
windows7-compat = ["win7-notifications"]
|
||||
window-data-url = ["data-url"]
|
||||
windows7-compat = [ "win7-notifications" ]
|
||||
window-data-url = [ "data-url" ]
|
||||
api-all = [
|
||||
"clipboard-all",
|
||||
"dialog-all",
|
||||
@@ -212,17 +198,17 @@ api-all = [
|
||||
"protocol-all",
|
||||
"shell-all",
|
||||
"window-all",
|
||||
"app-all",
|
||||
"app-all"
|
||||
]
|
||||
clipboard-all = ["clipboard-write-text", "clipboard-read-text"]
|
||||
clipboard-read-text = ["clipboard"]
|
||||
clipboard-write-text = ["clipboard"]
|
||||
dialog-all = ["dialog-open", "dialog-save", "dialog-message", "dialog-ask"]
|
||||
dialog-ask = ["dialog"]
|
||||
dialog-confirm = ["dialog"]
|
||||
dialog-message = ["dialog"]
|
||||
dialog-open = ["dialog"]
|
||||
dialog-save = ["dialog"]
|
||||
clipboard-all = [ "clipboard-write-text", "clipboard-read-text" ]
|
||||
clipboard-read-text = [ "clipboard" ]
|
||||
clipboard-write-text = [ "clipboard" ]
|
||||
dialog-all = [ "dialog-open", "dialog-save", "dialog-message", "dialog-ask" ]
|
||||
dialog-ask = [ "dialog" ]
|
||||
dialog-confirm = [ "dialog" ]
|
||||
dialog-message = [ "dialog" ]
|
||||
dialog-open = [ "dialog" ]
|
||||
dialog-save = [ "dialog" ]
|
||||
fs-all = [
|
||||
"fs-copy-file",
|
||||
"fs-create-dir",
|
||||
@@ -232,35 +218,33 @@ fs-all = [
|
||||
"fs-remove-dir",
|
||||
"fs-remove-file",
|
||||
"fs-rename-file",
|
||||
"fs-write-file",
|
||||
"fs-write-file"
|
||||
]
|
||||
fs-copy-file = []
|
||||
fs-create-dir = []
|
||||
fs-exists = []
|
||||
fs-read-file = []
|
||||
fs-read-dir = []
|
||||
fs-remove-dir = []
|
||||
fs-remove-file = []
|
||||
fs-rename-file = []
|
||||
fs-write-file = []
|
||||
global-shortcut-all = ["global-shortcut"]
|
||||
http-all = ["http-request"]
|
||||
http-request = ["http-api"]
|
||||
notification-all = ["notification", "dialog-ask"]
|
||||
os-all = ["os_info", "os-api"]
|
||||
path-all = []
|
||||
process-all = ["process-relaunch", "process-exit"]
|
||||
process-exit = []
|
||||
process-relaunch = []
|
||||
process-relaunch-dangerous-allow-symlink-macos = [
|
||||
"tauri-utils/process-relaunch-dangerous-allow-symlink-macos",
|
||||
]
|
||||
protocol-all = ["protocol-asset"]
|
||||
protocol-asset = []
|
||||
shell-all = ["shell-execute", "shell-sidecar", "shell-open"]
|
||||
shell-execute = ["process-command-api", "regex", "tauri-macros/shell-scope"]
|
||||
shell-sidecar = ["process-command-api", "regex", "tauri-macros/shell-scope"]
|
||||
shell-open = ["shell-open-api"]
|
||||
fs-copy-file = [ ]
|
||||
fs-create-dir = [ ]
|
||||
fs-exists = [ ]
|
||||
fs-read-file = [ ]
|
||||
fs-read-dir = [ ]
|
||||
fs-remove-dir = [ ]
|
||||
fs-remove-file = [ ]
|
||||
fs-rename-file = [ ]
|
||||
fs-write-file = [ ]
|
||||
global-shortcut-all = [ "global-shortcut" ]
|
||||
http-all = [ "http-request" ]
|
||||
http-request = [ "http-api" ]
|
||||
notification-all = [ "notification", "dialog-ask" ]
|
||||
os-all = [ "os_info", "os-api" ]
|
||||
path-all = [ ]
|
||||
process-all = [ "process-relaunch", "process-exit" ]
|
||||
process-exit = [ ]
|
||||
process-relaunch = [ ]
|
||||
process-relaunch-dangerous-allow-symlink-macos = [ "tauri-utils/process-relaunch-dangerous-allow-symlink-macos" ]
|
||||
protocol-all = [ "protocol-asset" ]
|
||||
protocol-asset = [ ]
|
||||
shell-all = [ "shell-execute", "shell-sidecar", "shell-open" ]
|
||||
shell-execute = [ "process-command-api", "regex", "tauri-macros/shell-scope" ]
|
||||
shell-sidecar = [ "process-command-api", "regex", "tauri-macros/shell-scope" ]
|
||||
shell-open = [ "shell-open-api" ]
|
||||
window-all = [
|
||||
"window-create",
|
||||
"window-center",
|
||||
@@ -294,48 +278,48 @@ window-all = [
|
||||
"window-set-cursor-position",
|
||||
"window-set-ignore-cursor-events",
|
||||
"window-start-dragging",
|
||||
"window-print",
|
||||
"window-print"
|
||||
]
|
||||
window-create = []
|
||||
window-center = []
|
||||
window-request-user-attention = []
|
||||
window-set-resizable = []
|
||||
window-set-maximizable = []
|
||||
window-set-minimizable = []
|
||||
window-set-closable = []
|
||||
window-set-title = []
|
||||
window-maximize = []
|
||||
window-unmaximize = []
|
||||
window-minimize = []
|
||||
window-unminimize = []
|
||||
window-show = []
|
||||
window-hide = []
|
||||
window-close = []
|
||||
window-set-decorations = []
|
||||
window-set-always-on-top = []
|
||||
window-set-content-protected = []
|
||||
window-set-size = []
|
||||
window-set-min-size = []
|
||||
window-set-max-size = []
|
||||
window-set-position = []
|
||||
window-set-fullscreen = []
|
||||
window-set-focus = []
|
||||
window-set-icon = []
|
||||
window-set-skip-taskbar = []
|
||||
window-set-cursor-grab = []
|
||||
window-set-cursor-visible = []
|
||||
window-set-cursor-icon = []
|
||||
window-set-cursor-position = []
|
||||
window-set-ignore-cursor-events = []
|
||||
window-start-dragging = []
|
||||
window-print = []
|
||||
app-all = ["app-show", "app-hide"]
|
||||
app-show = []
|
||||
app-hide = []
|
||||
config-json5 = ["tauri-macros/config-json5"]
|
||||
config-toml = ["tauri-macros/config-toml"]
|
||||
icon-ico = ["infer", "ico"]
|
||||
icon-png = ["infer", "png"]
|
||||
window-create = [ ]
|
||||
window-center = [ ]
|
||||
window-request-user-attention = [ ]
|
||||
window-set-resizable = [ ]
|
||||
window-set-maximizable = [ ]
|
||||
window-set-minimizable = [ ]
|
||||
window-set-closable = [ ]
|
||||
window-set-title = [ ]
|
||||
window-maximize = [ ]
|
||||
window-unmaximize = [ ]
|
||||
window-minimize = [ ]
|
||||
window-unminimize = [ ]
|
||||
window-show = [ ]
|
||||
window-hide = [ ]
|
||||
window-close = [ ]
|
||||
window-set-decorations = [ ]
|
||||
window-set-always-on-top = [ ]
|
||||
window-set-content-protected = [ ]
|
||||
window-set-size = [ ]
|
||||
window-set-min-size = [ ]
|
||||
window-set-max-size = [ ]
|
||||
window-set-position = [ ]
|
||||
window-set-fullscreen = [ ]
|
||||
window-set-focus = [ ]
|
||||
window-set-icon = [ ]
|
||||
window-set-skip-taskbar = [ ]
|
||||
window-set-cursor-grab = [ ]
|
||||
window-set-cursor-visible = [ ]
|
||||
window-set-cursor-icon = [ ]
|
||||
window-set-cursor-position = [ ]
|
||||
window-set-ignore-cursor-events = [ ]
|
||||
window-start-dragging = [ ]
|
||||
window-print = [ ]
|
||||
app-all = [ "app-show", "app-hide" ]
|
||||
app-show = [ ]
|
||||
app-hide = [ ]
|
||||
config-json5 = [ "tauri-macros/config-json5" ]
|
||||
config-toml = [ "tauri-macros/config-toml" ]
|
||||
icon-ico = [ "infer", "ico" ]
|
||||
icon-png = [ "infer", "png" ]
|
||||
|
||||
[[example]]
|
||||
name = "commands"
|
||||
@@ -348,7 +332,7 @@ path = "../../examples/helloworld/main.rs"
|
||||
[[example]]
|
||||
name = "multiwindow"
|
||||
path = "../../examples/multiwindow/main.rs"
|
||||
required-features = ["window-create"]
|
||||
required-features = [ "window-create" ]
|
||||
|
||||
[[example]]
|
||||
name = "parent-window"
|
||||
@@ -357,7 +341,7 @@ path = "../../examples/parent-window/main.rs"
|
||||
[[example]]
|
||||
name = "navigation"
|
||||
path = "../../examples/navigation/main.rs"
|
||||
required-features = ["window-create"]
|
||||
required-features = [ "window-create" ]
|
||||
|
||||
[[example]]
|
||||
name = "splashscreen"
|
||||
@@ -374,4 +358,4 @@ path = "../../examples/streaming/main.rs"
|
||||
[[example]]
|
||||
name = "isolation"
|
||||
path = "../../examples/isolation/main.rs"
|
||||
required-features = ["isolation"]
|
||||
required-features = [ "isolation" ]
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -102,7 +102,8 @@
|
||||
'click',
|
||||
function (e) {
|
||||
let target = e.target
|
||||
const baseTarget = document.querySelector('head base')?.target
|
||||
const base = document.querySelector('head base')
|
||||
const baseTarget = base ? base.target : null
|
||||
while (target != null) {
|
||||
if (target.matches('a')) {
|
||||
if (
|
||||
|
||||
@@ -150,15 +150,17 @@ impl Cmd {
|
||||
path: String,
|
||||
ext: Option<String>,
|
||||
) -> super::Result<String> {
|
||||
match Path::new(&path)
|
||||
.file_name()
|
||||
.and_then(std::ffi::OsStr::to_str)
|
||||
{
|
||||
Some(p) => Ok(if let Some(ext) = ext {
|
||||
p.replace(ext.as_str(), "")
|
||||
} else {
|
||||
p.to_string()
|
||||
}),
|
||||
let file_name = Path::new(&path).file_name().map(|f| f.to_string_lossy());
|
||||
match file_name {
|
||||
Some(p) => {
|
||||
let maybe_stripped = if let Some(ext) = ext {
|
||||
p.strip_suffix(&ext).unwrap_or(&p).to_string()
|
||||
} else {
|
||||
p.to_string()
|
||||
};
|
||||
Ok(maybe_stripped)
|
||||
}
|
||||
|
||||
None => Err(crate::error::into_anyhow(crate::api::Error::Path(
|
||||
"Couldn't get the basename".into(),
|
||||
))),
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# Changelog
|
||||
|
||||
## \[1.5.4]
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- [`e3b6d38d2`](https://www.github.com/tauri-apps/tauri/commit/e3b6d38d26d27b292f98d6c0e8603a15265a5b43)([#9166](https://www.github.com/tauri-apps/tauri/pull/9166)) Fix `basename(path, 'ext')` JS API when removing all occurances of `ext` where it should only remove the last one.
|
||||
- [`705da977a`](https://www.github.com/tauri-apps/tauri/commit/705da977a9c941a4b2d90219b34925498f507ab2)([#9529](https://www.github.com/tauri-apps/tauri/pull/9529)) Do not use JS optional chaining to prevent script errors on older webviews such as macOS 10.14.
|
||||
|
||||
## \[1.5.3]
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tauri-apps/api",
|
||||
"version": "1.5.3",
|
||||
"version": "1.5.4",
|
||||
"description": "Tauri API definitions",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
|
||||
@@ -726,9 +726,9 @@ async function join(...paths: string[]): Promise<string> {
|
||||
* Returns the directory name of a `path`. Trailing directory separators are ignored.
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { dirname, appDataDir } from '@tauri-apps/api/path';
|
||||
* const appDataDirPath = await appDataDir();
|
||||
* const dir = await dirname(appDataDirPath);
|
||||
* import { dirname } from '@tauri-apps/api/path';
|
||||
* const dir = await dirname('/path/to/somedir/');
|
||||
* assert(dir === 'somedir');
|
||||
* ```
|
||||
*
|
||||
* @since 1.0.0
|
||||
@@ -747,10 +747,9 @@ async function dirname(path: string): Promise<string> {
|
||||
* Returns the extension of the `path`.
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { extname, resolveResource } from '@tauri-apps/api/path';
|
||||
* const resourcePath = await resolveResource('app.conf');
|
||||
* const ext = await extname(resourcePath);
|
||||
* assert(ext === 'conf');
|
||||
* import { extname } from '@tauri-apps/api/path';
|
||||
* const ext = await extname('/path/to/file.html');
|
||||
* assert(ext === 'html');
|
||||
* ```
|
||||
*
|
||||
* @since 1.0.0
|
||||
@@ -769,9 +768,8 @@ async function extname(path: string): Promise<string> {
|
||||
* Returns the last portion of a `path`. Trailing directory separators are ignored.
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { basename, resolveResource } from '@tauri-apps/api/path';
|
||||
* const resourcePath = await resolveResource('app.conf');
|
||||
* const base = await basename(resourcePath);
|
||||
* import { basename } from '@tauri-apps/api/path';
|
||||
* const base = await basename('path/to/app.conf');
|
||||
* assert(base === 'app.conf');
|
||||
* ```
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es2021",
|
||||
"target": "es2019",
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"skipLibCheck": true,
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# Changelog
|
||||
|
||||
## \[1.5.2]
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- [`dbe81b841`](https://www.github.com/tauri-apps/tauri/commit/dbe81b84104bff29bc98ecdb89934a3c6bb68150)([#9282](https://www.github.com/tauri-apps/tauri/pull/9282)) The NSIS uninstaller now won't mindlessly try to remove the whole installation folder when the "Remove application data" checkbox was ticked. This prevents data loss when the app was installed in a folder which contained other files.
|
||||
- [`017861e4d`](https://www.github.com/tauri-apps/tauri/commit/017861e4d59f89181aa4d3c35c32d78f14ff0201)([#9281](https://www.github.com/tauri-apps/tauri/pull/9281)) Fixed an issue causing the NSIS bundler to install resources incorrectly when the installer was built on a non-Windows system.
|
||||
|
||||
## \[1.5.1]
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- [`516386158`](https://www.github.com/tauri-apps/tauri/commit/5163861588b229fe2e13e61bf65fbf5b88743bb3)([#9040](https://www.github.com/tauri-apps/tauri/pull/9040)) On Windows, fix building WiX installer when resources contains an XML charcter that should be escaped.
|
||||
- [`97a05145f`](https://www.github.com/tauri-apps/tauri/commit/97a05145fbb24533526eba6589594f03046e11df)([#9119](https://www.github.com/tauri-apps/tauri/pull/9119)) Fix compilation error due to dependency on unstable features of `log` crate.
|
||||
|
||||
## \[1.5.0]
|
||||
|
||||
### New Features
|
||||
|
||||
@@ -1,42 +1,38 @@
|
||||
workspace = {}
|
||||
workspace = { }
|
||||
|
||||
[package]
|
||||
name = "tauri-bundler"
|
||||
version = "1.5.0"
|
||||
version = "1.5.2"
|
||||
authors = [
|
||||
"George Burton <burtonageo@gmail.com>",
|
||||
"Tauri Programme within The Commons Conservancy",
|
||||
"Tauri Programme within The Commons Conservancy"
|
||||
]
|
||||
categories = ["command-line-utilities", "development-tools::cargo-plugins"]
|
||||
categories = [ "command-line-utilities", "development-tools::cargo-plugins" ]
|
||||
license = "Apache-2.0 OR MIT"
|
||||
keywords = ["bundle", "cargo", "tauri"]
|
||||
keywords = [ "bundle", "cargo", "tauri" ]
|
||||
repository = "https://github.com/tauri-apps/tauri"
|
||||
description = "Wrap rust executables in OS-specific app bundles for Tauri"
|
||||
edition = "2021"
|
||||
rust-version = "1.60"
|
||||
exclude = ["CHANGELOG.md", "/target", "rustfmt.toml"]
|
||||
exclude = [ "CHANGELOG.md", "/target", "rustfmt.toml" ]
|
||||
|
||||
[dependencies]
|
||||
tauri-utils = { version = "1.5.3", path = "../../core/tauri-utils", features = [
|
||||
"resources",
|
||||
] }
|
||||
tauri-utils = { version = "1.5.3", path = "../../core/tauri-utils", features = [ "resources" ] }
|
||||
image = "0.24.7"
|
||||
flate2 = "1.0"
|
||||
anyhow = "1.0"
|
||||
thiserror = "1.0"
|
||||
serde_json = "1.0"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
strsim = "0.10.0"
|
||||
tar = "0.4.40"
|
||||
walkdir = "2"
|
||||
handlebars = "4.5"
|
||||
tempfile = "3.8.1"
|
||||
log = { version = "0.4.20", features = ["kv_unstable"] }
|
||||
log = { version = "0.4.21", features = [ "kv" ] }
|
||||
dirs-next = "2.0"
|
||||
os_pipe = "1"
|
||||
ureq = { version = "2.9.1", default-features = false, features = [
|
||||
"socks-proxy",
|
||||
] }
|
||||
ureq = { version = "2.9.1", default-features = false, features = [ "socks-proxy" ] }
|
||||
native-tls = { version = "0.2", optional = true }
|
||||
hex = "0.4"
|
||||
semver = "1"
|
||||
@@ -46,24 +42,27 @@ zip = "0.6"
|
||||
dunce = "1"
|
||||
|
||||
[target."cfg(target_os = \"windows\")".dependencies]
|
||||
uuid = { version = "1", features = ["v4", "v5"] }
|
||||
uuid = { version = "1", features = [ "v4", "v5" ] }
|
||||
winreg = "0.51"
|
||||
glob = "0.3"
|
||||
|
||||
[target."cfg(target_os = \"windows\")".dependencies.windows-sys]
|
||||
version = "0.48"
|
||||
features = ["Win32_System_SystemInformation", "Win32_System_Diagnostics_Debug"]
|
||||
[target."cfg(target_os = \"windows\")".dependencies.windows-sys]
|
||||
version = "0.48"
|
||||
features = [
|
||||
"Win32_System_SystemInformation",
|
||||
"Win32_System_Diagnostics_Debug"
|
||||
]
|
||||
|
||||
[target."cfg(target_os = \"macos\")".dependencies]
|
||||
icns = { package = "tauri-icns", version = "0.1" }
|
||||
time = { version = "0.3", features = ["formatting"] }
|
||||
time = { version = "0.3", features = [ "formatting" ] }
|
||||
plist = "1"
|
||||
|
||||
[target."cfg(any(target_os = \"macos\", target_os = \"windows\"))".dependencies]
|
||||
regex = "1"
|
||||
|
||||
[target."cfg(target_os = \"linux\")".dependencies]
|
||||
heck = "0.4"
|
||||
heck = "0.5"
|
||||
ar = "0.9.0"
|
||||
md5 = "0.7.0"
|
||||
|
||||
@@ -72,7 +71,7 @@ name = "tauri_bundler"
|
||||
path = "src/lib.rs"
|
||||
|
||||
[features]
|
||||
default = ["rustls"]
|
||||
native-tls = ["ureq/native-tls"]
|
||||
native-tls-vendored = ["native-tls", "native-tls/vendored"]
|
||||
rustls = ["ureq/tls"]
|
||||
default = [ "rustls" ]
|
||||
native-tls = [ "ureq/native-tls" ]
|
||||
native-tls-vendored = [ "native-tls", "native-tls/vendored" ]
|
||||
rustls = [ "ureq/tls" ]
|
||||
|
||||
@@ -16,7 +16,7 @@ use crate::bundle::{
|
||||
},
|
||||
};
|
||||
use anyhow::{bail, Context};
|
||||
use handlebars::{to_json, Handlebars};
|
||||
use handlebars::{html_escape, to_json, Handlebars};
|
||||
use log::info;
|
||||
use regex::Regex;
|
||||
use serde::{Deserialize, Serialize};
|
||||
@@ -122,7 +122,7 @@ impl ResourceDirectory {
|
||||
r#"<Component Id="{id}" Guid="{guid}" Win64="$(var.Win64)" KeyPath="yes"><File Id="PathFile_{id}" Source="{path}" /></Component>"#,
|
||||
id = file.id,
|
||||
guid = file.guid,
|
||||
path = file.path.display()
|
||||
path = html_escape(&file.path.display().to_string())
|
||||
).as_str()
|
||||
);
|
||||
}
|
||||
@@ -140,7 +140,7 @@ impl ResourceDirectory {
|
||||
format!(
|
||||
r#"<Directory Id="I{id}" Name="{name}">{files}{directories}</Directory>"#,
|
||||
id = Uuid::new_v4().as_simple(),
|
||||
name = self.name,
|
||||
name = html_escape(&self.name),
|
||||
files = files,
|
||||
directories = directories,
|
||||
)
|
||||
|
||||
@@ -339,6 +339,31 @@ fn build_nsis_app_installer(
|
||||
resources_ancestors.sort_by_key(|p| std::cmp::Reverse(p.components().count()));
|
||||
resources_ancestors.pop(); // Last one is always ""
|
||||
|
||||
// We need to convert / to \ for nsis to move the files into the correct dirs
|
||||
#[cfg(not(target_os = "windows"))]
|
||||
let resources: ResourcesMap = resources
|
||||
.into_iter()
|
||||
.map(|(r, p)| {
|
||||
(
|
||||
r,
|
||||
(
|
||||
p.0.display().to_string().replace('/', "\\").into(),
|
||||
p.1.display().to_string().replace('/', "\\").into(),
|
||||
),
|
||||
)
|
||||
})
|
||||
.collect();
|
||||
#[cfg(not(target_os = "windows"))]
|
||||
let resources_ancestors: Vec<PathBuf> = resources_ancestors
|
||||
.into_iter()
|
||||
.map(|p| p.display().to_string().replace('/', "\\").into())
|
||||
.collect();
|
||||
#[cfg(not(target_os = "windows"))]
|
||||
let resources_dirs: Vec<PathBuf> = resources_dirs
|
||||
.into_iter()
|
||||
.map(|p| p.display().to_string().replace('/', "\\").into())
|
||||
.collect();
|
||||
|
||||
data.insert("resources_ancestors", to_json(resources_ancestors));
|
||||
data.insert("resources_dirs", to_json(resources_dirs));
|
||||
data.insert("resources", to_json(&resources));
|
||||
|
||||
@@ -641,14 +641,10 @@ Section Uninstall
|
||||
; Delete uninstaller
|
||||
Delete "$INSTDIR\uninstall.exe"
|
||||
|
||||
${If} $DeleteAppDataCheckboxState == 1
|
||||
RMDir /R /REBOOTOK "$INSTDIR"
|
||||
${Else}
|
||||
{{#each resources_ancestors}}
|
||||
RMDir /REBOOTOK "$INSTDIR\\{{this}}"
|
||||
{{/each}}
|
||||
RMDir "$INSTDIR"
|
||||
${EndIf}
|
||||
{{#each resources_ancestors}}
|
||||
RMDir /REBOOTOK "$INSTDIR\\{{this}}"
|
||||
{{/each}}
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
; Remove start menu shortcut
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $AppStartMenuFolder
|
||||
|
||||
@@ -1,5 +1,30 @@
|
||||
# Changelog
|
||||
|
||||
## \[1.5.12]
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- [`1675e41f0`](https://www.github.com/tauri-apps/tauri/commit/1675e41f05c77d517890f59fddcf536744e6a0ad)([#9481](https://www.github.com/tauri-apps/tauri/pull/9481)) Fixed an issue with the CLI renaming the main executable in kebab-case when building for Windows on a non-Windows system which caused the bundler step to fail.
|
||||
- [`9dd67abd9`](https://www.github.com/tauri-apps/tauri/commit/9dd67abd93e96097fc169404b70e729e46c3cd64)([#9298](https://www.github.com/tauri-apps/tauri/pull/9298)) Upgrade `heck` to v0.5 to better support Chinese and Japanese product name, because Chinese do not have word separation.
|
||||
- [`f9638b631`](https://www.github.com/tauri-apps/tauri/commit/f9638b6315668ced871f242224f001f474262f85)([#9491](https://www.github.com/tauri-apps/tauri/pull/9491)) Fixed an issue that caused the CLI to rename app binaries incorrectly if the product name contained a `.` which resulted in the bundling step to fail.
|
||||
- [`77cc49ac3`](https://www.github.com/tauri-apps/tauri/commit/77cc49ac3cd27368b3be4f67e35ae021acee4c92)([#9188](https://www.github.com/tauri-apps/tauri/pull/9188)) Fixed an issue causing the `build.runner` and `build.features` configs to not take effect.
|
||||
- [`aeddc40b9`](https://www.github.com/tauri-apps/tauri/commit/aeddc40b9e461bc118382ae62431d39e29f25915)([#9411](https://www.github.com/tauri-apps/tauri/pull/9411)) Fix `tauri info` crashing when Node.js is not installed.
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Upgraded to `tauri-bundler@1.5.2`
|
||||
|
||||
## \[1.5.11]
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- [`97a05145f`](https://www.github.com/tauri-apps/tauri/commit/97a05145fbb24533526eba6589594f03046e11df)([#9119](https://www.github.com/tauri-apps/tauri/pull/9119)) Fix compilation error due to dependency on unstable features of `log` crate.
|
||||
- [`b15948b11`](https://www.github.com/tauri-apps/tauri/commit/b15948b11c0e362eea7ef57a4606f15f7dbd886b)([#8903](https://www.github.com/tauri-apps/tauri/pull/8903)) Fix `.taurignore` failing to ignore in some cases.
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Upgraded to `tauri-bundler@1.5.1`
|
||||
|
||||
## \[1.5.10]
|
||||
|
||||
### New Features
|
||||
|
||||
95
tooling/cli/Cargo.lock
generated
95
tooling/cli/Cargo.lock
generated
@@ -158,7 +158,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -436,10 +436,10 @@ version = "4.4.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"heck 0.4.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -629,7 +629,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -639,7 +639,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -682,7 +682,7 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"strsim",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -693,7 +693,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
|
||||
dependencies = [
|
||||
"darling_core",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -839,9 +839,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
|
||||
|
||||
[[package]]
|
||||
name = "erased-serde"
|
||||
version = "0.3.31"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c"
|
||||
checksum = "388979d208a049ffdfb22fa33b9c81942215b940910bccfe258caeb25d125cb3"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
@@ -1183,9 +1183,12 @@ name = "heck"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
||||
dependencies = [
|
||||
"unicode-segmentation",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
@@ -1665,9 +1668,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.20"
|
||||
version = "0.4.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
|
||||
checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
|
||||
dependencies = [
|
||||
"value-bag",
|
||||
]
|
||||
@@ -2044,7 +2047,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2198,7 +2201,7 @@ dependencies = [
|
||||
"pest_meta",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2316,7 +2319,7 @@ dependencies = [
|
||||
"phf_shared 0.11.2",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2363,7 +2366,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2449,9 +2452,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.70"
|
||||
version = "1.0.78"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
|
||||
checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
@@ -2476,9 +2479,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.33"
|
||||
version = "1.0.35"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
|
||||
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
@@ -2910,9 +2913,9 @@ checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.193"
|
||||
version = "1.0.197"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
|
||||
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
@@ -2929,13 +2932,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.193"
|
||||
version = "1.0.197"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
|
||||
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3026,7 +3029,7 @@ dependencies = [
|
||||
"darling",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3297,9 +3300,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.39"
|
||||
version = "2.0.52"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
|
||||
checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -3346,7 +3349,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tauri-bundler"
|
||||
version = "1.5.0"
|
||||
version = "1.5.2"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"ar",
|
||||
@@ -3355,7 +3358,7 @@ dependencies = [
|
||||
"flate2",
|
||||
"glob",
|
||||
"handlebars",
|
||||
"heck",
|
||||
"heck 0.5.0",
|
||||
"hex",
|
||||
"image",
|
||||
"log",
|
||||
@@ -3386,7 +3389,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tauri-cli"
|
||||
version = "1.5.10"
|
||||
version = "1.5.12"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"axum",
|
||||
@@ -3401,7 +3404,7 @@ dependencies = [
|
||||
"env_logger",
|
||||
"glob",
|
||||
"handlebars",
|
||||
"heck",
|
||||
"heck 0.5.0",
|
||||
"html5ever",
|
||||
"ignore",
|
||||
"image",
|
||||
@@ -3467,7 +3470,7 @@ dependencies = [
|
||||
"dunce",
|
||||
"getrandom 0.2.11",
|
||||
"glob",
|
||||
"heck",
|
||||
"heck 0.5.0",
|
||||
"html5ever",
|
||||
"infer",
|
||||
"json-patch",
|
||||
@@ -3545,7 +3548,7 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3628,7 +3631,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3913,9 +3916,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "value-bag"
|
||||
version = "1.4.2"
|
||||
version = "1.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4a72e1902dde2bd6441347de2b70b7f5d59bf157c6c62f0c44572607a1d55bbe"
|
||||
checksum = "126e423afe2dd9ac52142e7e9d5ce4135d7e13776c529d27fd6bc49f19e3280b"
|
||||
dependencies = [
|
||||
"value-bag-serde1",
|
||||
"value-bag-sval2",
|
||||
@@ -3923,9 +3926,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "value-bag-serde1"
|
||||
version = "1.4.2"
|
||||
version = "1.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "07ba39dc791ecb35baad371a3fc04c6eab688c04937d2e0ac6c22b612c0357bf"
|
||||
checksum = "ede32f342edc46e84bd41fd394ce2192b553de11725dd83b6223150610c21b44"
|
||||
dependencies = [
|
||||
"erased-serde",
|
||||
"serde",
|
||||
@@ -3934,9 +3937,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "value-bag-sval2"
|
||||
version = "1.4.2"
|
||||
version = "1.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3e06c10810a57bbf45778d023d432a50a1daa7d185991ae06bcfb6c654d0945"
|
||||
checksum = "0024e44b25144c2f4d0ed35d39688e0090d57753e20fef38d08e0c1a40bdf23d"
|
||||
dependencies = [
|
||||
"sval",
|
||||
"sval_buffer",
|
||||
@@ -4011,7 +4014,7 @@ dependencies = [
|
||||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
@@ -4045,7 +4048,7 @@ checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
@@ -4380,7 +4383,7 @@ checksum = "e1012d89e3acb79fad7a799ce96866cfb8098b74638465ea1b1533d35900ca90"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
[workspace]
|
||||
members = ["node"]
|
||||
members = [ "node" ]
|
||||
|
||||
[package]
|
||||
name = "tauri-cli"
|
||||
version = "1.5.10"
|
||||
authors = ["Tauri Programme within The Commons Conservancy"]
|
||||
version = "1.5.12"
|
||||
authors = [ "Tauri Programme within The Commons Conservancy" ]
|
||||
edition = "2021"
|
||||
rust-version = "1.60"
|
||||
categories = ["gui", "web-programming"]
|
||||
categories = [ "gui", "web-programming" ]
|
||||
license = "Apache-2.0 OR MIT"
|
||||
homepage = "https://tauri.app"
|
||||
repository = "https://github.com/tauri-apps/tauri"
|
||||
@@ -20,7 +20,7 @@ include = [
|
||||
"*.rs",
|
||||
"tauri.gitignore",
|
||||
"tauri-dev-watcher.gitignore",
|
||||
"LICENSE*",
|
||||
"LICENSE*"
|
||||
]
|
||||
|
||||
[package.metadata.binstall]
|
||||
@@ -40,63 +40,52 @@ path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
clap_complete = "4"
|
||||
clap = { version = "4.4", features = ["derive"] }
|
||||
clap = { version = "4.4", features = [ "derive" ] }
|
||||
anyhow = "1.0"
|
||||
tauri-bundler = { version = "1.5.0", path = "../bundler", default-features = false }
|
||||
tauri-bundler = { version = "1.5.2", path = "../bundler", default-features = false }
|
||||
colored = "2.0"
|
||||
once_cell = "1"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
serde_json = "1.0"
|
||||
notify = "6.1"
|
||||
notify-debouncer-mini = "0.4"
|
||||
shared_child = "1.0"
|
||||
toml_edit = "0.21"
|
||||
json-patch = "1.2"
|
||||
tauri-utils = { version = "1.5.3", path = "../../core/tauri-utils", features = [
|
||||
"isolation",
|
||||
"schema",
|
||||
"config-json5",
|
||||
"config-toml",
|
||||
] }
|
||||
tauri-utils = { version = "1.5.3", path = "../../core/tauri-utils", features = [ "isolation", "schema", "config-json5", "config-toml" ] }
|
||||
toml = "0.8"
|
||||
jsonschema = "0.17"
|
||||
handlebars = "4.4"
|
||||
include_dir = "0.7"
|
||||
minisign = "=0.7.3"
|
||||
base64 = "0.21.5"
|
||||
ureq = { version = "2.9.1", default-features = false, features = ["gzip"] }
|
||||
ureq = { version = "2.9.1", default-features = false, features = [ "gzip" ] }
|
||||
os_info = "3"
|
||||
semver = "1.0"
|
||||
regex = "1.10.2"
|
||||
unicode-width = "0.1"
|
||||
zeroize = "1.6"
|
||||
heck = { version = "0.4", features = ["unicode"] }
|
||||
heck = "0.5"
|
||||
dialoguer = "0.11"
|
||||
url = { version = "2.4", features = ["serde"] }
|
||||
url = { version = "2.4", features = [ "serde" ] }
|
||||
os_pipe = "1"
|
||||
ignore = "0.4"
|
||||
ctrlc = "3.4"
|
||||
log = { version = "0.4.20", features = ["kv_unstable", "kv_unstable_std"] }
|
||||
log = { version = "0.4.21", features = [ "kv", "kv_std" ] }
|
||||
env_logger = "0.10.0"
|
||||
icns = { package = "tauri-icns", version = "0.1" }
|
||||
image = { version = "0.24", default-features = false, features = ["ico"] }
|
||||
axum = { version = "0.6.20", features = ["ws"] }
|
||||
image = { version = "0.24", default-features = false, features = [ "ico" ] }
|
||||
axum = { version = "0.6.20", features = [ "ws" ] }
|
||||
html5ever = "0.26"
|
||||
kuchiki = { package = "kuchikiki", version = "0.8" }
|
||||
tokio = { version = "1", features = ["macros", "sync"] }
|
||||
tokio = { version = "1", features = [ "macros", "sync" ] }
|
||||
common-path = "1"
|
||||
serde-value = "0.7.0"
|
||||
itertools = "0.11"
|
||||
glob = "0.3"
|
||||
|
||||
[target."cfg(windows)".dependencies]
|
||||
winapi = { version = "0.3", features = [
|
||||
"handleapi",
|
||||
"processenv",
|
||||
"winbase",
|
||||
"wincon",
|
||||
"winnt",
|
||||
] }
|
||||
winapi = { version = "0.3", features = [ "handleapi", "processenv", "winbase", "wincon", "winnt" ] }
|
||||
cc = "1"
|
||||
|
||||
[target."cfg(unix)".dependencies]
|
||||
@@ -106,7 +95,7 @@ libc = "0.2"
|
||||
lto = true
|
||||
|
||||
[features]
|
||||
default = ["rustls"]
|
||||
native-tls = ["tauri-bundler/native-tls", "ureq/native-tls"]
|
||||
native-tls-vendored = ["native-tls", "tauri-bundler/native-tls-vendored"]
|
||||
rustls = ["tauri-bundler/rustls", "ureq/tls"]
|
||||
default = [ "rustls" ]
|
||||
native-tls = [ "tauri-bundler/native-tls", "ureq/native-tls" ]
|
||||
native-tls-vendored = [ "native-tls", "tauri-bundler/native-tls-vendored" ]
|
||||
rustls = [ "tauri-bundler/rustls", "ureq/tls" ]
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"cli.js": {
|
||||
"version": "1.5.10",
|
||||
"version": "1.5.12",
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"tauri": "1.6.0",
|
||||
"tauri": "1.6.2",
|
||||
"tauri-build": "1.5.1"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,29 @@
|
||||
# Changelog
|
||||
|
||||
## \[1.5.12]
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- [`1675e41f0`](https://www.github.com/tauri-apps/tauri/commit/1675e41f05c77d517890f59fddcf536744e6a0ad)([#9481](https://www.github.com/tauri-apps/tauri/pull/9481)) Fixed an issue with the CLI renaming the main executable in kebab-case when building for Windows on a non-Windows system which caused the bundler step to fail.
|
||||
- [`9dd67abd9`](https://www.github.com/tauri-apps/tauri/commit/9dd67abd93e96097fc169404b70e729e46c3cd64)([#9298](https://www.github.com/tauri-apps/tauri/pull/9298)) Upgrade `heck` to v0.5 to better support Chinese and Japanese product name, because Chinese do not have word separation.
|
||||
- [`f9638b631`](https://www.github.com/tauri-apps/tauri/commit/f9638b6315668ced871f242224f001f474262f85)([#9491](https://www.github.com/tauri-apps/tauri/pull/9491)) Fixed an issue that caused the CLI to rename app binaries incorrectly if the product name contained a `.` which resulted in the bundling step to fail.
|
||||
- [`77cc49ac3`](https://www.github.com/tauri-apps/tauri/commit/77cc49ac3cd27368b3be4f67e35ae021acee4c92)([#9188](https://www.github.com/tauri-apps/tauri/pull/9188)) Fixed an issue causing the `build.runner` and `build.features` configs to not take effect.
|
||||
- [`aeddc40b9`](https://www.github.com/tauri-apps/tauri/commit/aeddc40b9e461bc118382ae62431d39e29f25915)([#9411](https://www.github.com/tauri-apps/tauri/pull/9411)) Fix `tauri info` crashing when Node.js is not installed.
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Upgraded to `tauri-cli@1.5.12`
|
||||
|
||||
## \[1.5.11]
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- [`b15948b11`](https://www.github.com/tauri-apps/tauri/commit/b15948b11c0e362eea7ef57a4606f15f7dbd886b)([#8903](https://www.github.com/tauri-apps/tauri/pull/8903)) Fix `.taurignore` failing to ignore in some cases.
|
||||
|
||||
### Dependencies
|
||||
|
||||
- Upgraded to `tauri-cli@1.5.11`
|
||||
|
||||
## \[1.5.10]
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tauri-apps/cli",
|
||||
"version": "1.5.10",
|
||||
"version": "1.5.12",
|
||||
"description": "Command line interface for building Tauri apps",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
|
||||
@@ -119,7 +119,6 @@ pub fn command(mut options: Options, verbosity: u8) -> Result<()> {
|
||||
|
||||
let mut interface = AppInterface::new(config_, options.target.clone())?;
|
||||
let app_settings = interface.app_settings();
|
||||
let interface_options = options.clone().into();
|
||||
|
||||
if let Some(before_build) = config_.build.before_build_command.clone() {
|
||||
run_hook(
|
||||
@@ -169,6 +168,7 @@ pub fn command(mut options: Options, verbosity: u8) -> Result<()> {
|
||||
.get_or_insert(Vec::new())
|
||||
.extend(config_.build.features.clone().unwrap_or_default());
|
||||
|
||||
let interface_options = options.clone().into();
|
||||
let bin_path = app_settings.app_binary_path(&interface_options)?;
|
||||
let out_dir = bin_path.parent().unwrap();
|
||||
|
||||
|
||||
@@ -40,16 +40,17 @@ pub fn items(metadata: &VersionMetadata) -> Vec<SectionItem> {
|
||||
.unwrap_or_default()
|
||||
.trim();
|
||||
ActionResult::Description(format!("node: {}{}", v, {
|
||||
let version = semver::Version::parse(v).unwrap();
|
||||
let target_version = semver::Version::parse(node_target_ver.as_str()).unwrap();
|
||||
if version < target_version {
|
||||
format!(
|
||||
" ({}, latest: {})",
|
||||
"outdated".red(),
|
||||
target_version.to_string().green()
|
||||
)
|
||||
} else {
|
||||
"".into()
|
||||
let version = semver::Version::parse(v);
|
||||
let target_version = semver::Version::parse(node_target_ver.as_str());
|
||||
match (version, target_version) {
|
||||
(Ok(version), Ok(target_version)) if version < target_version => {
|
||||
format!(
|
||||
" ({}, latest: {})",
|
||||
"outdated".red(),
|
||||
target_version.to_string().green()
|
||||
)
|
||||
}
|
||||
_ => "".into(),
|
||||
}
|
||||
}))
|
||||
} else {
|
||||
|
||||
@@ -263,7 +263,11 @@ struct IgnoreMatcher(Vec<Gitignore>);
|
||||
impl IgnoreMatcher {
|
||||
fn is_ignore(&self, path: &Path, is_dir: bool) -> bool {
|
||||
for gitignore in &self.0 {
|
||||
if gitignore.matched(path, is_dir).is_ignore() {
|
||||
if path.starts_with(gitignore.path())
|
||||
&& gitignore
|
||||
.matched_path_or_any_parents(path, is_dir)
|
||||
.is_ignore()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -734,10 +738,12 @@ impl AppSettings for RustAppSettings {
|
||||
BundleBinary::new(
|
||||
format!(
|
||||
"{}{}",
|
||||
config
|
||||
.package
|
||||
.binary_name()
|
||||
.unwrap_or_else(|| binary.name.clone()),
|
||||
(if target_os == "windows" {
|
||||
config.package.product_name.clone()
|
||||
} else {
|
||||
config.package.binary_name()
|
||||
})
|
||||
.unwrap_or_else(|| binary.name.clone()),
|
||||
&binary_extension
|
||||
),
|
||||
true,
|
||||
@@ -776,17 +782,23 @@ impl AppSettings for RustAppSettings {
|
||||
match binaries.iter_mut().find(|bin| bin.name() == default_run) {
|
||||
Some(bin) => {
|
||||
if let Some(bin_name) = config.package.binary_name() {
|
||||
bin.set_name(bin_name);
|
||||
if target_os == "windows" {
|
||||
bin.set_name(config.package.product_name.clone().unwrap());
|
||||
} else {
|
||||
bin.set_name(bin_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
None => {
|
||||
binaries.push(BundleBinary::new(
|
||||
format!(
|
||||
"{}{}",
|
||||
config
|
||||
.package
|
||||
.binary_name()
|
||||
.unwrap_or_else(|| default_run.to_string()),
|
||||
(if target_os == "windows" {
|
||||
config.package.product_name.clone()
|
||||
} else {
|
||||
config.package.binary_name()
|
||||
})
|
||||
.unwrap_or_else(|| default_run.to_string()),
|
||||
&binary_extension
|
||||
),
|
||||
true,
|
||||
|
||||
@@ -357,11 +357,12 @@ fn rename_app(
|
||||
product_name.into()
|
||||
};
|
||||
|
||||
let binary_extension = if target_os == "windows" { ".exe" } else { "" };
|
||||
|
||||
let product_path = bin_path
|
||||
.parent()
|
||||
.unwrap()
|
||||
.join(product_name)
|
||||
.with_extension(bin_path.extension().unwrap_or_default());
|
||||
.join(format!("{product_name}{binary_extension}"));
|
||||
|
||||
rename(bin_path, &product_path).with_context(|| {
|
||||
format!(
|
||||
|
||||
@@ -129,7 +129,7 @@ where
|
||||
.format(|f, record| {
|
||||
let mut is_command_output = false;
|
||||
if let Some(action) = record.key_values().get("action".into()) {
|
||||
let action = action.to_str().unwrap();
|
||||
let action = action.to_cow_str().unwrap();
|
||||
is_command_output = action == "stdout" || action == "stderr";
|
||||
if !is_command_output {
|
||||
let mut action_style = f.style();
|
||||
|
||||
Reference in New Issue
Block a user