Compare commits

..
Author SHA1 Message Date
renovate[bot]andGitHub 01198111d1 chore(deps): update rust crate reqwest to v0.13.4 2026-08-05 07:51:44 +00:00
TonyandGitHub f8053e659e docs: cargo features (#3527)
* dialog

* fs

* geolocation

* haptic

* log

* single instance

* notification

* updater

* ##

* persisted scopes

* stronghold

* sql

* upload

* websocket

* http
(this one was too long that I generated through codex, didn't review yet)

* add change file

* no persisted-scope-js

* add `://`

* Merge branch 'v2' into document-cargo-features

* update system-proxy docs

* finish http docs

* notification doesn't need version bumps

* clean up docs
2026-08-05 15:48:11 +08:00
TonyandGitHub 19fb3926fd feat(http): add system-proxy feature (#3528)
* feat(http): add `system-proxy` feature

* require reqwest 0.12.16
2026-08-04 19:51:32 +08:00
TonyandGitHub 2371be839f feat(updater): add system-proxy feature (#3526)
* feat(updater): add `system-proxy` feature

* enable by default
2026-08-04 16:37:00 +08:00
TonyandGitHub e215ff90d3 chore: remove outdated prod features (#3525) 2026-08-04 15:45:25 +08:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>Tony
ba89f32eb0 chore(deps): update dependency @zerodevx/svelte-json-view to v2 (#3524)
* chore(deps): update dependency @zerodevx/svelte-json-view to v2

* update pnpm to 11.20.0?

* bump brace-expansion for audit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tony <legendmastertony@gmail.com>
2026-08-04 10:46:11 +08:00
31 changed files with 209 additions and 67 deletions
+30
View File
@@ -0,0 +1,30 @@
---
"dialog": patch
"dialog-js": patch
"fs": patch
"fs-js": patch
"geolocation": patch
"geolocation-js": patch
"haptics": patch
"haptics-js": patch
"http": patch
"http-js": patch
"log": patch
"log-js": patch
"persisted-scope": patch
"positioner": patch
"positioner-js": patch
"single-instance": patch
"sql": patch
"sql-js": patch
"stronghold": patch
"stronghold-js": patch
"updater": patch
"updater-js": patch
"upload": patch
"upload-js": patch
"websocket": patch
"websocket-js": patch
---
Documented Cargo feature flags in each plugin's crate-level documentation.
+6
View File
@@ -0,0 +1,6 @@
---
"http": minor
"http-js": minor
---
Added `system-proxy` feature to replace the old `macos-system-configuration` feature flag to match the new reqwest API.
+6
View File
@@ -0,0 +1,6 @@
---
"updater": minor
"updater-js": minor
---
Added `system-proxy` (enabled by default) feature flag to control `reqwest/system-proxy` feature (Use Windows and macOS system proxy settings automatically)
+1 -1
View File
@@ -30,7 +30,7 @@
"@tauri-apps/plugin-store": "workspace:*",
"@tauri-apps/plugin-updater": "workspace:*",
"@tauri-apps/plugin-upload": "workspace:*",
"@zerodevx/svelte-json-view": "1.0.11"
"@zerodevx/svelte-json-view": "2.0.0"
},
"devDependencies": {
"@iconify-json/codicon": "^1.2.49",
-3
View File
@@ -66,6 +66,3 @@ tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "2.3.5" }
tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "2.3.2" }
tauri-plugin-geolocation = { path = "../../../plugins/geolocation/", version = "2.3.2" }
tauri-plugin-haptics = { path = "../../../plugins/haptics/", version = "2.3.2" }
[features]
prod = ["tauri/custom-protocol"]
+1 -1
View File
@@ -25,5 +25,5 @@
"typescript-eslint": "8.58.2"
},
"minimumReleaseAge": 4320,
"packageManager": "pnpm@11.13.0"
"packageManager": "pnpm@11.20.0"
}
+1 -1
View File
@@ -161,7 +161,7 @@ impl Builder {
///
/// ```no_run
/// Builder::new()
/// .app_name("My Custom Name"))
/// .app_name("My Custom Name")
/// .build();
/// ```
pub fn app_name<S: Into<String>>(mut self, app_name: S) -> Self {
@@ -26,9 +26,3 @@ tauri-plugin-single-instance = { path = "../../../../single-instance", features
"deep-link",
] }
log = "0.4"
[features]
# this feature is used for production builds or when `devUrl` points to the filesystem and the built-in dev server is disabled.
# If you use cargo directly instead of tauri's cli you can use this feature flag to switch between tauri's `dev` and `build` modes.
# DO NOT REMOVE!!
prod = ["tauri/custom-protocol"]
+5
View File
@@ -3,6 +3,11 @@
// SPDX-License-Identifier: MIT
//! Native system dialogs for opening and saving files along with message dialogs.
//!
//! ## Cargo features
//!
//! - **gtk3** *(enabled by default)*: Uses GTK for dialogs on Linux & BSDs; has no effect on Windows and macOS
//! - **xdg-portal**: Uses XDG Desktop Portal instead of GTK on Linux & BSDs
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+4
View File
@@ -3,6 +3,10 @@
// SPDX-License-Identifier: MIT
//! Access the file system.
//!
//! ## Cargo features
//!
//! - **watch**: Enables the `watch` command backed by [`notify`](http://crates.io/crates/notify).
// TODO(v3): consider redesign the API to implement automatic stopAccessingSecurityScopedResource on iOS
// this likely requires returning a handle to a resource so we can impl Drop for it
+6
View File
@@ -2,6 +2,12 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
//! Access device geolocation APIs.
//!
//! ## Cargo features
//!
//! - **specta**: Add support for [`specta::specta`](https://docs.rs/specta/2.0.0-rc.25/specta/attr.specta.html) on structs like [`PermissionStatus`], [`PositionOptions`].
use tauri::{
plugin::{Builder, TauriPlugin},
Manager, Runtime,
+6
View File
@@ -2,6 +2,12 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
//! Trigger haptic feedback on supported devices.
//!
//! ## Cargo features
//!
//! - **specta**: Add support for [`specta::specta`](https://docs.rs/specta/2.0.0-rc.25/specta/attr.specta.html) on structs like [`ImpactFeedbackStyle`], [`NotificationFeedbackType`].
use tauri::{
plugin::{Builder, TauriPlugin},
Manager, Runtime,
+6 -8
View File
@@ -41,7 +41,8 @@ tauri-plugin-fs = { path = "../fs", version = "2.5.1" }
urlpattern = "0.3"
regex = "1"
http = "1"
reqwest = { version = "0.12", default-features = false }
# 0.12.16 is when `system-proxy` was added
reqwest = { version = "0.13.0", default-features = false }
url = { workspace = true }
data-url = "0.3"
cookie_store = { version = "0.22", optional = true, features = ["serde"] }
@@ -49,13 +50,7 @@ bytes = { version = "1.9", optional = true }
tracing = { workspace = true, optional = true }
[features]
default = [
"rustls-tls",
"http2",
"charset",
"macos-system-configuration",
"cookies",
]
default = ["rustls-tls", "http2", "charset", "system-proxy", "cookies"]
multipart = ["reqwest/multipart"]
json = ["reqwest/json"]
stream = ["reqwest/stream"]
@@ -76,7 +71,10 @@ trust-dns = ["reqwest/trust-dns"]
socks = ["reqwest/socks"]
http2 = ["reqwest/http2"]
charset = ["reqwest/charset"]
# Deprecated, switch to system-proxy
macos-system-configuration = ["reqwest/macos-system-configuration"]
system-proxy = ["reqwest/system-proxy"]
unsafe-headers = []
tracing = ["dep:tracing"]
dangerous-settings = []
+40
View File
@@ -3,6 +3,46 @@
// SPDX-License-Identifier: MIT
//! Access the HTTP client written in Rust.
//!
//! ## Cargo features
//!
//! ### Reqwest feature forwards
//!
//! These features forwards [`reqwest`](https://docs.rs/reqwest/0.12.28/reqwest/index.html) features:
//!
//! - **http2** *(enabled by default)*: Enables HTTP/2 support.
//! - **native-tls**: Enables TLS functionality provided by native-tls.
//! - **native-tls-vendored**: Enables the vendored feature of native-tls.
//! - **native-tls-alpn**: Enables the alpn feature of native-tls.
//! - **rustls-tls** *(enabled by default)*: Enables TLS functionality provided by rustls. Equivalent to
//! rustls-tls-webpki-roots.
//! - **rustls-tls-manual-roots**: Enables TLS functionality provided by rustls, without setting any root
//! certificates. Roots have to be specified manually.
//! - **rustls-tls-webpki-roots**: Enables TLS functionality provided by rustls, while using root certificates
//! from the webpki-roots crate.
//! - **rustls-tls-native-roots**: Enables TLS functionality provided by rustls, while using root certificates
//! from the rustls-native-certs crate.
//! - **blocking**: Provides the [blocking](https://docs.rs/reqwest/0.12.28/reqwest/blocking/index.html) client API.
//! - **charset** *(enabled by default)*: Improved support for decoding text.
//! - **cookies** *(enabled by default)*: Provides cookie session support.
//! - **gzip**: Provides response body gzip decompression.
//! - **brotli**: Provides response body brotli decompression.
//! - **zstd**: Provides response body zstd decompression.
//! - **deflate**: Provides response body deflate decompression.
//! - **json**: Provides serialization and deserialization for JSON bodies.
//! - **multipart**: Provides functionality for multipart forms.
//! - **stream**: Adds support for futures::Stream.
//! - **socks**: Provides SOCKS5 proxy support.
//! - **trust-dns**: Enables a trust-dns/Hickory DNS async resolver instead of the default threadpool using
//! getaddrinfo.
//! - **macos-system-configuration** *(deprecated, use `system-proxy` instead)*: Use Windows and macOS system proxy settings automatically.
//! - **system-proxy** *(enabled by default)*: Use Windows and macOS system proxy settings automatically.
//!
//! ### tauri-plugin-http features
//!
//! - **tracing**: Adds request, response, and cookie-store diagnostics through `tracing`.
//! - **unsafe-headers**: Allows webview requests to send any headers.
//! - **dangerous-settings**: Allows dangerous client settings such as accepting invalid certificates or hostnames.
pub use reqwest;
use tauri::{
+12 -1
View File
@@ -3,6 +3,11 @@
// SPDX-License-Identifier: MIT
//! Logging for Tauri applications.
//!
//! ## Cargo features
//!
//! - **colored**: Enables [`Builder::with_colors`] `fern`'s `colored` feature for ANSI-colored outputs.
//! - **tracing**: Emit both log and tracing for the JavaScript log commands.
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
@@ -648,7 +653,13 @@ impl Builder {
/// Skip the creation and global registration of a logger
///
/// If you wish to use your own global logger, you must call `skip_logger` so that the plugin does not attempt to set a second global logger. In this configuration, no logger will be created and the plugin's `log` command will rely on the result of `log::logger()`. You will be responsible for configuring the logger yourself and any included targets will be ignored. If ever initializing the plugin multiple times, such as if registering the plugin while testing, call this method to avoid panicking when registering multiple loggers. For interacting with `tracing`, you can leverage the `tracing-log` logger to forward logs to `tracing` or enable the `tracing` feature for this plugin to emit events directly to the tracing system. Both scenarios require calling this method.
/// If you wish to use your own global logger, you must call `skip_logger` so that the plugin does not attempt to set a second global logger.
/// In this configuration, no logger will be created and the plugin's `log` command will rely on the result of `log::logger()`.
/// You will be responsible for configuring the logger yourself and any included targets will be ignored.
/// If ever initializing the plugin multiple times, such as if registering the plugin while testing, call this method to avoid panicking when registering multiple loggers.
/// For interacting with `tracing`, you can leverage the `tracing-log` logger to forward logs to `tracing` or enable the `tracing` feature for this plugin to emit events directly to the tracing system.
/// Both scenarios require calling this method.
///
/// ```rust
/// static LOGGER: SimpleLogger = SimpleLogger;
///
+4
View File
@@ -3,6 +3,10 @@
// SPDX-License-Identifier: MIT
//! Send message notifications (brief auto-expiring OS window element) to your user. Can also be used with the Notification Web API.
//!
//! ## Cargo features
//!
//! - **windows7-compat**: Adds support for the legacy Windows 7 notification implementation and Windows-version detection.
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+20 -16
View File
@@ -3,6 +3,10 @@
// SPDX-License-Identifier: MIT
//! Save filesystem and asset scopes and restore them when the app is reopened.
//!
//! ## Cargo features
//!
//! - **protocol-asset**: Enables `tauri`'s `protocol-asset` feature and adds support for persisting `asset://` protocol scopes.
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
@@ -188,25 +192,25 @@ pub fn init<R: Runtime>() -> TauriPlugin<R> {
if let Some(fs_scope) = &fs_scope {
if fs_scope_state_path.exists() {
let scope: Scope = std::fs::read(&fs_scope_state_path)
.map_err(Error::from)
.and_then(|scope| bincode::deserialize(&scope).map_err(Into::into))
.unwrap_or_default();
let scope: Scope = std::fs::read(&fs_scope_state_path)
.map_err(Error::from)
.and_then(|scope| bincode::deserialize(&scope).map_err(Into::into))
.unwrap_or_default();
for allowed in &scope.allowed_paths {
let allowed = fix_pattern(&ac, allowed);
allow_path(fs_scope, &allowed);
}
for forbidden in &scope.forbidden_patterns {
let forbidden = fix_pattern(&ac, forbidden);
forbid_path(fs_scope, &forbidden);
}
for allowed in &scope.allowed_paths {
let allowed = fix_pattern(&ac, allowed);
allow_path(fs_scope, &allowed);
}
for forbidden in &scope.forbidden_patterns {
let forbidden = fix_pattern(&ac, forbidden);
forbid_path(fs_scope, &forbidden);
}
// Manually save the fixed scopes to disk once.
// This is needed to fix broken .peristed-scope files in case the app doesn't update the scope itself.
save_scopes(fs_scope, &app_dir, &fs_scope_state_path);
// Manually save the fixed scopes to disk once.
// This is needed to fix broken .peristed-scope files in case the app doesn't update the scope itself.
save_scopes(fs_scope, &app_dir, &fs_scope_state_path);
}
}
}
#[cfg(feature = "protocol-asset")]
if asset_scope_state_path.exists() {
+1 -1
View File
@@ -5,7 +5,7 @@
//! A plugin for Tauri that helps position your windows at well-known locations.
//!
//! # Cargo features
//! ## Cargo features
//!
//! - **tray-icon**: Enables tray-icon-relative positions.
//!
@@ -16,6 +16,3 @@ tauri-plugin-cli = { path = "../../../../cli" }
[build-dependencies]
tauri-build = { workspace = true }
[features]
prod = ["tauri/custom-protocol"]
+5
View File
@@ -3,6 +3,11 @@
// SPDX-License-Identifier: MIT
//! Ensure a single instance of your tauri app is running.
//!
//! ## Cargo features
//!
//! - **semver**: Allows the app with SemVer incompatible versions to run alongside each other.
//! - **deep-link**: Trigger [`tauri-plugin-deep-link`](https://crates.io/crates/tauri-plugin-deep-link) event before invoking the single-instance callback.
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+10 -1
View File
@@ -2,7 +2,16 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
//! Interface with SQL databases through [sqlx](https://github.com/launchbadge/sqlx). It supports the `sqlite`, `mysql` and `postgres` drivers, enabled by a Cargo feature.
//! Interface with SQL databases through [sqlx](https://github.com/launchbadge/sqlx).
//!
//! ## Cargo features
//!
//! No database driver is enabled by default. Enable at least one driver;
//! multiple drivers may be enabled together.
//!
//! - **sqlite**: Adds support for SQLite.
//! - **mysql**: Adds support for MySQL.
//! - **postgres**: Adds support for PostgreSQL.
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
@@ -17,8 +17,3 @@ tauri = { workspace = true, features = ["wry", "common-controls-v6", "x11"] }
serde = { workspace = true }
serde_json = { workspace = true }
tauri-plugin-store = { path = "../../../" }
[features]
# this feature is used for production builds or when `devPath` points to the filesystem
# DO NOT REMOVE!!
prod = ["tauri/custom-protocol"]
+4
View File
@@ -3,6 +3,10 @@
// SPDX-License-Identifier: MIT
//! Store secrets and keys using the [IOTA Stronghold](https://github.com/iotaledger/stronghold.rs) encrypted database and secure runtime.
//!
//! ## Cargo features
//!
//! - **kdf** *(enabled by default)*: Exposes the key-derivation module and provides the default Argon2-based password-to-key derivation.
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+2 -1
View File
@@ -75,8 +75,9 @@ flate2 = "1"
osakit = { version = "0.3", features = ["full"] }
[features]
default = ["rustls-tls", "zip"]
default = ["rustls-tls", "system-proxy", "zip"]
zip = ["dep:zip", "dep:tar", "dep:flate2"]
native-tls = ["reqwest/native-tls"]
native-tls-vendored = ["reqwest/native-tls-vendored"]
rustls-tls = ["reqwest/rustls-no-provider", "dep:rustls"]
system-proxy = ["reqwest/system-proxy"]
+9 -1
View File
@@ -4,7 +4,15 @@
//! In-app updates for Tauri applications.
//!
//! - Supported platforms: Windows, Linux and macOS.crypted database and secure runtime.
//! Supported platforms: Windows, Linux and macOS.
//!
//! ## Cargo features
//!
//! - **zip** *(enabled by default)*: Adds support for compressed updater bundles from Tauri v1.
//! - **rustls-tls** *(enabled by default)*: Enables TLS functionality provided by `rustls`.
//! - **native-tls**: Enables TLS functionality provided by `native-tls`.
//! - **native-tls-vendored**: Enables the `vendored` feature of `native-tls`.
//! - **system-proxy** *(enabled by default)*: Use Windows and macOS system proxy settings automatically.
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
@@ -13,6 +13,3 @@ serde_json = { workspace = true }
tauri-plugin-updater = { path = "../.." }
tiny_http = "0.12"
time = { version = "0.3", features = ["formatting"] }
[features]
prod = ["tauri/custom-protocol"]
+1 -1
View File
@@ -35,7 +35,7 @@ log = { workspace = true }
thiserror = { workspace = true }
tokio = { version = "1", features = ["fs"] }
tokio-util = { version = "0.7", features = ["codec"] }
reqwest = { version = "0.12", default-features = false, features = [
reqwest = { version = "0.13", default-features = false, features = [
"macos-system-configuration",
"json",
"stream",
+6
View File
@@ -5,6 +5,12 @@
//! Upload files from disk to a remote server over HTTP.
//!
//! Download files from a remote HTTP server to disk.
//!
//! ## Cargo features
//!
//! - **rustls-tls** *(enabled by default)*: Enables TLS functionality provided by `rustls`.
//! - **native-tls**: Enables TLS functionality provided by `native-tls`.
//! - **native-tls-vendored**: Enables the `vendored` feature of `native-tls`.
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
@@ -15,6 +15,3 @@ tokio-tungstenite = "0.29"
[build-dependencies]
tauri-build = { workspace = true }
[features]
prod = ["tauri/custom-protocol"]
+9
View File
@@ -3,6 +3,15 @@
// SPDX-License-Identifier: MIT
//! Open a WebSocket connection using a Rust client in JS.
//!
//! ## Cargo features
//!
//! - **rustls-tls** *(enabled by default)*: Enables TLS functionality provided by `rustls` with WebPKI roots.
//! - **rustls-tls-native-roots**: Enables TLS functionality provided by `rustls` with the platform's native certificate roots.
//! - **native-tls**: Enables TLS functionality provided by `native-tls`.
//! - **native-tls-vendored**: Enables the `vendored` feature of `native-tls`.
//!
//! At least one TLS feature is required for `wss://`; plain `ws://` works without one.
#![doc(
html_logo_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png",
+14 -11
View File
@@ -108,8 +108,8 @@ importers:
specifier: workspace:*
version: link:../../plugins/upload
'@zerodevx/svelte-json-view':
specifier: 1.0.11
version: 1.0.11(svelte@5.55.7(@typescript-eslint/types@8.58.2))
specifier: 2.0.0
version: 2.0.0(svelte@5.55.7(@typescript-eslint/types@8.58.2))
devDependencies:
'@iconify-json/codicon':
specifier: ^1.2.49
@@ -1272,10 +1272,13 @@ packages:
peerDependencies:
vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 || ^8.0.0-0
'@zerodevx/svelte-json-view@1.0.11':
resolution: {integrity: sha512-mIjj0H1al/P4FPlbeDoiey93lNEUqBEAe5LIdD5GttZfEYt3awexD2lHwKNfUeY4jHizOJkoWTPN/2iO0GBqpw==}
'@zerodevx/svelte-json-view@2.0.0':
resolution: {integrity: sha512-bzkyssGxz0Z6Utv80vxBBkfkTzW1ZkkJ28cAmURc2+ytMPd6zTH7LRiUJgJf14gIzdeRRYNkD7CZ/MHPlP7LVQ==}
peerDependencies:
svelte: ^3.57.0 || ^4.0.0 || ^5.0.0
svelte: ^5.0.0
peerDependenciesMeta:
svelte:
optional: true
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
@@ -1302,8 +1305,8 @@ packages:
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
engines: {node: 18 || 20 || >=22}
brace-expansion@5.0.8:
resolution: {integrity: sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==}
brace-expansion@5.0.9:
resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==}
engines: {node: 20 || >=22}
buffer-from@1.1.2:
@@ -2706,8 +2709,8 @@ snapshots:
unplugin-utils: 0.3.1
vite: 8.0.16(esbuild@0.28.1)(jiti@2.6.1)(terser@5.46.1)(tsx@4.23.1)
'@zerodevx/svelte-json-view@1.0.11(svelte@5.55.7(@typescript-eslint/types@8.58.2))':
dependencies:
'@zerodevx/svelte-json-view@2.0.0(svelte@5.55.7(@typescript-eslint/types@8.58.2))':
optionalDependencies:
svelte: 5.55.7(@typescript-eslint/types@8.58.2)
acorn-jsx@5.3.2(acorn@8.16.0):
@@ -2729,7 +2732,7 @@ snapshots:
balanced-match@4.0.4: {}
brace-expansion@5.0.8:
brace-expansion@5.0.9:
dependencies:
balanced-match: 4.0.4
@@ -3057,7 +3060,7 @@ snapshots:
minimatch@10.2.4:
dependencies:
brace-expansion: 5.0.8
brace-expansion: 5.0.9
mlly@1.8.2:
dependencies: