updated the dependencies - maintaining compatibility and tests (#4363)

* Update dependencies in Cargo.lock

* added in the missing bevy example which was included in recent merge

* undo unneccessary library installation in gh actions

* cleaned up further

* Update dependencies in Cargo.toml and Cargo.lock askana_escape to 0.13

* updated code to make tests work

* updated the wgpu texture example

* replaced all direct reference with use

* fixed wgpu and jsframework errors in benches and examples

* Fix: Import black_box from std::hint

* grand finale upgrade

* updated cargo.lock

* Bump hyper-util to 0.1.15 and plist to 1.7.4

* remove some unused swc dependencies and add a command to update them in the future

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
This commit is contained in:
authored and GitHub committed 2025-07-14 13:03:40 -07:00
1 parent 93147587b8
commit c5b33924ae
27 files changed
+774 -963

No files matched your search

+39 -30
View File
@@ -26,47 +26,56 @@ mozjpeg = { version = "0.10.13", default-features = false, features = [
"parallel",
] }
# - PNG
imagequant = "4.3.4"
imagequant = "4.4.0"
png = "0.17.16"
# Image format/conversion
image = { version = "0.25", features = ["avif"] }
# CSS Minification
lightningcss = { version = "1.0.0-alpha.63", features = ["browserslist", "into_owned"] }
lightningcss = { version = "1.0.0-alpha.67", features = [
"browserslist",
"into_owned",
] }
# SCSS Processing
grass = "0.13.4"
codemap = "0.1.3"
# Js minification - swc has introduces minor versions with breaking changes in the past so we pin all of their crates
swc_allocator = { version = "=2.0.0", default-features = false }
swc_atoms = { version = "=3.0.2", default-features = false }
swc_bundler = { version = "=7.0.0", default-features = false }
swc_cached = { version = "=1.0.0", default-features = false }
swc_common = { version = "=5.0.0", features = ["tty-emitter"], default-features = false }
swc_config = { version = "=1.0.0", default-features = false }
swc_config_macro = { version = "=1.0.0", default-features = false }
swc_ecma_ast = { version = "=5.0.1", default-features = false }
swc_ecma_codegen = { version = "=5.0.1", default-features = false }
swc_ecma_codegen_macros = { version = "=1.0.0", default-features = false }
swc_ecma_loader = { version = "=5.0.0", features = ["cache", "node"], default-features = false }
swc_ecma_minifier = { version = "=7.0.1", default-features = false }
swc_ecma_parser = { version = "=6.0.2", default-features = false }
swc_ecma_transforms_base = { version = "=7.0.0", default-features = false }
swc_ecma_transforms_macros = { version = "=1.0.0", default-features = false }
swc_ecma_transforms_optimization = { version = "=7.0.1", default-features = false }
swc_ecma_usage_analyzer = { version = "=7.0.0", default-features = false }
swc_ecma_utils = { version = "=7.0.0", default-features = false }
swc_ecma_visit = { version = "=5.0.0", default-features = false }
swc_eq_ignore_macros = { version = "=1.0.0", default-features = false }
swc_fast_graph = { version = "=6.0.0", default-features = false }
swc_graph_analyzer = { version = "=5.0.0", default-features = false }
swc_macros_common = { version = "=1.0.0", default-features = false }
swc_parallel = { version = "=1.0.1", default-features = false }
swc_timer = { version = "=1.0.0", default-features = false }
swc_visit = { version = "=2.0.0", default-features = false }
browserslist-rs = { version = "=0.16.0" }
# Root dependencies
swc_bundler = { version = "=24.0.0", default-features = false }
swc_common = { version = "=13.0.4", features = [
"tty-emitter",
], default-features = false }
swc_ecma_ast = { version = "=13.0.1", default-features = false }
swc_ecma_codegen = { version = "=15.0.2", default-features = false }
swc_ecma_loader = { version = "=13.0.0", features = [
"cache",
"node",
], default-features = false }
swc_ecma_minifier = { version = "=25.0.0", default-features = false }
swc_ecma_parser = { version = "=19.0.0", default-features = false }
swc_ecma_transforms_base = { version = "=20.0.0", default-features = false }
swc_ecma_visit = { version = "=13.0.0", default-features = false }
# Pinned from cargo tree --prefix none | grep -Eo 'swc[^ ]+ [^ ]+' | sort -u
swc_allocator = { version = "4.0.1" }
swc_atoms = { version = "6.0.1" }
swc_config = { version = "3.1.1" }
swc_config_macro = { version = "1.0.1" }
swc_ecma_codegen_macros = { version = "2.0.2" }
swc_ecma_lexer = { version = "19.0.1" }
swc_ecma_transforms_optimization = { version = "21.0.0" }
swc_ecma_usage_analyzer = { version = "19.0.2" }
swc_ecma_utils = { version = "18.1.0" }
swc_eq_ignore_macros = { version = "1.0.1" }
swc_graph_analyzer = { version = "14.0.1" }
swc_macros_common = { version = "1.0.1" }
swc_sourcemap = { version = "9.3.2" }
swc_timer = { version = "1.0.0" }
swc_visit = { version = "2.0.1" }
browserslist-rs = { version = "=0.19.0" }
[build-dependencies]
built = { version = "0.7.5", features = ["git2"] }
built = { version = "0.8.0", features = ["git2"] }
+1 -1
View File
@@ -30,7 +30,7 @@ use crate::hash::hash_file_contents;
struct TracingEmitter;
impl Emitter for TracingEmitter {
fn emit(&mut self, db: &swc_common::errors::DiagnosticBuilder<'_>) {
fn emit(&mut self, db: &mut swc_common::errors::DiagnosticBuilder<'_>) {
match db.level {
swc_common::errors::Level::Bug
| swc_common::errors::Level::Fatal
+27 -16
View File
@@ -52,8 +52,8 @@ rayon = { workspace = true }
futures-channel = { workspace = true }
krates = { workspace = true }
regex = "1.11.1"
console = "0.15.11"
ctrlc = "3.4.5"
console = "0.16.0"
ctrlc = "3.4.7"
axum = { workspace = true, default-features = true, features = ["ws"] }
axum-server = { workspace = true, features = ["tls-rustls"] }
@@ -67,7 +67,7 @@ syn = { workspace = true, features = [
"visit-mut",
] }
headers = "0.4.0"
headers = "0.4.1"
walkdir = "2"
dunce = { workspace = true }
@@ -77,24 +77,30 @@ reqwest = { workspace = true, features = ["rustls-tls", "trust-dns", "json"] }
tower = { workspace = true }
# path lookup
which = { version = "7.0.2" }
which = { version = "8.0.0" }
# plugin packages
open = { workspace = true }
cargo-generate = "0.23.3"
toml_edit = "0.22.24"
toml_edit = "0.22.27"
# formatting
# syn = { workspace = true }
prettyplease = { workspace = true }
# Assets
brotli = "7.0.0"
brotli = "8.0.1"
ignore = "0.4.23"
env_logger = { workspace = true }
const-serialize = { workspace = true, features = ["serde"] }
tracing-subscriber = { version = "0.3.19", features = ["std", "env-filter", "json", "registry", "fmt"] }
tracing-subscriber = { version = "0.3.19", features = [
"std",
"env-filter",
"json",
"registry",
"fmt",
] }
console-subscriber = { version = "0.4.1", optional = true }
tracing = { workspace = true }
wasm-opt = { version = "0.116.1", optional = true }
@@ -109,11 +115,11 @@ shell-words = { workspace = true }
log = { version = "0.4", features = ["max_level_off", "release_max_level_off"] }
# link intercept
tempfile = "3.13"
tempfile = "3.19.1"
manganis = { workspace = true }
manganis-core = { workspace = true }
target-lexicon = { version = "0.13.2", features = ["serde", "serde_support"] }
wasm-encoder = "0.229.0"
wasm-encoder = "0.235.0"
# Extracting data from an executable
object = { workspace = true, features = ["all"] }
@@ -121,31 +127,36 @@ tokio-util = { workspace = true, features = ["full"] }
itertools = { workspace = true }
throbber-widgets-tui = "0.8.0"
unicode-segmentation = "1.12.0"
handlebars = "6.3.1"
handlebars = "6.3.2"
strum = { version = "0.27.1", features = ["derive"] }
memmap = "0.7.0"
walrus = { workspace = true, features = ["parallel"]}
walrus = { workspace = true, features = ["parallel"] }
wasmparser = { workspace = true }
tauri-utils = { workspace = true }
tauri-bundler = { workspace = true }
include_dir = "0.7.4"
flate2 = "1.1.0"
flate2 = "1.1.2"
tar = "0.4.44"
local-ip-address = "0.6.3"
local-ip-address = "0.6.5"
dircpy = "0.3.19"
plist = "1.7.0"
plist = "1.7.4"
memoize = "0.5.1"
backtrace = "0.3.74"
ar = "0.9.0"
wasm-bindgen-externref-xform = "0.2.100"
pdb = "0.8.0"
self_update = { version = "0.42.0", features = ["archive-tar", "archive-zip", "compression-flate2", "compression-zip-deflate"] }
self_update = { version = "0.42.0", features = [
"archive-tar",
"archive-zip",
"compression-flate2",
"compression-zip-deflate",
] }
self-replace = "1.5.0"
cargo-config2 = { workspace = true }
[build-dependencies]
built = { version = "0.7.5", features = ["git2"] }
built = { version = "0.8.0", features = ["git2"] }
[features]
default = []
+1 -1
View File
@@ -3087,7 +3087,7 @@ impl BuildRequest {
/// Get the type of executable we are compiling
pub(crate) fn executable_type(&self) -> TargetKind {
self.crate_target.kind[0]
self.crate_target.kind[0].clone()
}
/// Get the features required to build for the given platform
+1 -1
View File
@@ -36,7 +36,7 @@ reqwest = { workspace = true }
tracing-subscriber = { workspace = true, default-features = true }
tracing-fluent-assertions = "0.3.0"
pretty_assertions = { workspace = true }
sysinfo = "0.33.1"
sysinfo = "0.35.2"
[dev-dependencies.web-sys]
version = "0.3.77"
+17 -17
View File
@@ -9,7 +9,7 @@ fn random_ns() -> Option<&'static str> {
match namespace {
0 => None,
1 => Some(Box::leak(
format!("ns{}", rand::random::<usize>()).into_boxed_str(),
format!("ns{}", rand::random::<u8>()).into_boxed_str(),
)),
_ => unreachable!(),
}
@@ -18,8 +18,8 @@ fn random_ns() -> Option<&'static str> {
fn create_random_attribute(attr_idx: &mut usize) -> TemplateAttribute {
match rand::random::<u8>() % 2 {
0 => TemplateAttribute::Static {
name: Box::leak(format!("attr{}", rand::random::<usize>()).into_boxed_str()),
value: Box::leak(format!("value{}", rand::random::<usize>()).into_boxed_str()),
name: Box::leak(format!("attr{}", rand::random::<u8>()).into_boxed_str()),
value: Box::leak(format!("value{}", rand::random::<u8>()).into_boxed_str()),
namespace: random_ns(),
},
1 => TemplateAttribute::Dynamic {
@@ -42,20 +42,20 @@ fn create_random_template_node(
match rand::random::<u8>() % 4 {
0 => {
let attrs = {
let attrs: Vec<_> = (0..(rand::random::<usize>() % 10))
let attrs: Vec<_> = (0..(rand::random::<u8>() % 10))
.map(|_| create_random_attribute(attr_idx))
.collect();
Box::leak(attrs.into_boxed_slice())
};
TemplateNode::Element {
tag: Box::leak(format!("tag{}", rand::random::<usize>()).into_boxed_str()),
tag: Box::leak(format!("tag{}", rand::random::<u8>()).into_boxed_str()),
namespace: random_ns(),
attrs,
children: {
if depth > 4 {
&[]
} else {
let children: Vec<_> = (0..(rand::random::<usize>() % 3))
let children: Vec<_> = (0..(rand::random::<u8>() % 3))
.map(|_| {
create_random_template_node(
dynamic_node_types,
@@ -71,7 +71,7 @@ fn create_random_template_node(
}
}
1 => TemplateNode::Text {
text: Box::leak(format!("{}", rand::random::<usize>()).into_boxed_str()),
text: Box::leak(format!("{}", rand::random::<u8>()).into_boxed_str()),
},
2 => TemplateNode::Dynamic {
id: {
@@ -127,11 +127,11 @@ enum DynamicNodeType {
Other,
}
fn create_random_template(depth: usize) -> (Template, Box<[DynamicNode]>) {
fn create_random_template(depth: u8) -> (Template, Box<[DynamicNode]>) {
let mut dynamic_node_types = Vec::new();
let mut template_idx = 0;
let mut attr_idx = 0;
let roots = (0..(1 + rand::random::<usize>() % 5))
let roots = (0..(1 + rand::random::<u8>() % 5))
.map(|_| {
create_random_template_node(
&mut dynamic_node_types,
@@ -166,7 +166,7 @@ fn create_random_template(depth: usize) -> (Template, Box<[DynamicNode]>) {
.iter()
.map(|ty| match ty {
DynamicNodeType::Text => {
DynamicNode::Text(VText::new(format!("{}", rand::random::<usize>())))
DynamicNode::Text(VText::new(format!("{}", rand::random::<u8>())))
}
DynamicNodeType::Other => create_random_dynamic_node(depth + 1),
})
@@ -174,7 +174,7 @@ fn create_random_template(depth: usize) -> (Template, Box<[DynamicNode]>) {
(Template { roots, node_paths, attr_paths }, dynamic_nodes)
}
fn create_random_dynamic_node(depth: usize) -> DynamicNode {
fn create_random_dynamic_node(depth: u8) -> DynamicNode {
let range = if depth > 5 { 1 } else { 3 };
match rand::random::<u8>() % range {
0 => DynamicNode::Placeholder(Default::default()),
@@ -207,11 +207,11 @@ fn create_random_dynamic_node(depth: usize) -> DynamicNode {
fn create_random_dynamic_attr() -> Attribute {
let value = match rand::random::<u8>() % 7 {
0 => AttributeValue::Text(format!("{}", rand::random::<usize>())),
0 => AttributeValue::Text(format!("{}", rand::random::<u8>())),
1 => AttributeValue::Float(rand::random()),
2 => AttributeValue::Int(rand::random()),
3 => AttributeValue::Bool(rand::random()),
4 => AttributeValue::any_value(rand::random::<usize>()),
4 => AttributeValue::any_value(rand::random::<u8>()),
5 => AttributeValue::None,
6 => {
let value = AttributeValue::listener(|e: Event<String>| println!("{:?}", e));
@@ -220,7 +220,7 @@ fn create_random_dynamic_attr() -> Attribute {
_ => unreachable!(),
};
Attribute::new(
Box::leak(format!("attr{}", rand::random::<usize>()).into_boxed_str()),
Box::leak(format!("attr{}", rand::random::<u8>()).into_boxed_str()),
value,
random_ns(),
rand::random(),
@@ -229,17 +229,17 @@ fn create_random_dynamic_attr() -> Attribute {
#[derive(PartialEq, Props, Clone)]
struct DepthProps {
depth: usize,
depth: u8,
root: bool,
}
fn create_random_element(cx: DepthProps) -> Element {
let last_template = use_hook(|| Rc::new(RefCell::new(None)));
if rand::random::<usize>() % 10 == 0 {
if rand::random::<u8>() % 10 == 0 {
needs_update();
}
let range = if cx.root { 2 } else { 3 };
let node = match rand::random::<usize>() % range {
let node = match rand::random::<u8>() % range {
// Change both the template and the dynamic nodes
0 => {
let (template, dynamic_nodes) = create_random_template(cx.depth + 1);
+6 -6
View File
@@ -21,7 +21,7 @@ dioxus-asset-resolver = { workspace = true }
generational-box = { workspace = true }
dioxus-devtools = { workspace = true, optional = true }
serde = "1.0.218"
serde = "1.0.219"
serde_json = "1.0.140"
thiserror = { workspace = true }
tracing = { workspace = true }
@@ -48,20 +48,20 @@ tao = { workspace = true, features = ["rwh_05"] }
dioxus-history = { workspace = true }
base64 = { workspace = true }
open = { workspace = true }
libc = "0.2.170"
libc = "0.2.174"
pollster = "0.4.0"
rand = { workspace = true, features = ["std_rng"] }
subtle = { version = "2.6", features = ["const-generics"] }
[target.'cfg(unix)'.dependencies]
signal-hook = "0.3.17"
signal-hook = "0.3.18"
[target.'cfg(target_os = "linux")'.dependencies]
wry = { workspace = true, features = ["os-webview", "protocol", "drag-drop", "linux-body"] }
[target.'cfg(any(target_os = "windows",target_os = "macos",target_os = "linux",target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))'.dependencies]
global-hotkey = "0.7.0"
rfd = { version = "0.15.2", default-features = false, features = ["xdg-portal", "tokio"] }
rfd = { version = "0.15.3", default-features = false, features = ["xdg-portal", "tokio"] }
muda = { workspace = true }
[target.'cfg(any(target_os = "windows",target_os = "macos",target_os = "linux"))'.dependencies]
@@ -89,8 +89,8 @@ openssl = { version = "0.10", features = ["vendored"], optional = true }
tungstenite = { workspace = true, features = ["native-tls"] }
[target.'cfg(target_os = "macos")'.dependencies]
cocoa = "0.26.0"
core-foundation = "0.10.0"
cocoa = "0.26.1"
core-foundation = "0.10.1"
objc = "0.2.7"
[build-dependencies]
+2 -2
View File
@@ -345,7 +345,7 @@ fn create_secure_key() -> EncodedKey {
val
}
let mut secure_rng = assert_crypto_random(rand::rngs::StdRng::from_entropy());
let mut secure_rng = assert_crypto_random(rand::rngs::StdRng::from_os_rng());
let mut expected_key: EncodedKey = [0u8; KEY_SIZE];
secure_rng.fill_bytes(&mut expected_key);
expected_key
@@ -353,7 +353,7 @@ fn create_secure_key() -> EncodedKey {
#[test]
fn test_key_encoding_length() {
let mut rand = rand::rngs::StdRng::from_entropy();
let mut rand = rand::rngs::StdRng::from_os_rng();
for _ in 0..100 {
let mut key: EncodedKey = [0u8; KEY_SIZE];
rand.fill_bytes(&mut key);
+1 -1
View File
@@ -37,7 +37,7 @@ fn create_rows(c: &mut Criterion) {
}
fn app() -> Element {
let mut rng = SmallRng::from_entropy();
let mut rng = SmallRng::from_os_rng();
rsx! (
table {
+2 -2
View File
@@ -52,7 +52,7 @@ hyper-rustls = { workspace = true, optional = true }
pin-project = { version = "1.1.10", optional = true }
thiserror = { workspace = true, optional = true }
bytes = "1.10.0"
bytes = "1.10.1"
tower = { workspace = true, features = ["util"], optional = true }
tower-layer = { version = "0.3.3", optional = true }
parking_lot = { workspace = true, features = ["send_guard"], optional = true }
@@ -68,7 +68,7 @@ web-sys = { version = "0.3.77", optional = true, features = [
dioxus-cli-config = { workspace = true, optional = true }
dioxus-devtools = { workspace = true, optional = true }
aws-lc-rs = { version = "1.12.5", optional = true }
aws-lc-rs = { version = "1.13.1", optional = true }
dioxus-history = { workspace = true }
[dev-dependencies]
+2 -1
View File
@@ -1,7 +1,8 @@
#![allow(unused)]
use generational_box::*;
use criterion::{black_box, criterion_group, criterion_main, Criterion};
use criterion::{criterion_group, criterion_main, Criterion};
use std::hint::black_box;
fn create<S: Storage<u32>>(owner: &Owner<S>) -> GenerationalBox<u32, S> {
owner.insert(0)
+1 -1
View File
@@ -28,7 +28,7 @@ serde_json = { workspace = true, optional = true }
tracing = { workspace = true }
rustversion = { workspace = true }
euclid = "0.22.11"
enumset = "1.1.5"
enumset = "1.1.6"
[build-dependencies]
lazy-js-bundle = { workspace = true }
@@ -11,5 +11,5 @@ dioxus = { workspace = true, features = ["web"] }
[build-dependencies]
reqwest = { workspace = true, features = ["blocking"] }
flate2 = "1.1.0"
flate2 = "1.1.2"
tar = "0.4.44"
@@ -8,7 +8,7 @@ publish = false
[dependencies]
dioxus = { workspace = true, features = ["fullstack"] }
serde = "1.0.218"
serde = "1.0.219"
tokio = { workspace = true, features = ["full"], optional = true }
[features]
@@ -8,7 +8,7 @@ publish = false
[dependencies]
dioxus = { workspace = true, features = ["fullstack", "router"] }
serde = "1.0.159"
serde = "1.0.219"
tokio = { workspace = true, features = ["full"], optional = true }
[features]
@@ -9,7 +9,7 @@ publish = false
[dependencies]
dioxus = { workspace = true, features = ["fullstack"] }
futures.workspace = true
serde = "1.0.218"
serde = "1.0.219"
tokio = { workspace = true, features = ["full"], optional = true }
[features]
@@ -8,7 +8,7 @@ publish = false
[dependencies]
dioxus = { workspace = true, features = ["fullstack"] }
serde = "1.0.218"
serde = "1.0.219"
tokio = { workspace = true, features = ["full"], optional = true }
[features]
@@ -6,8 +6,8 @@ publish = false
[dependencies]
dioxus = { workspace = true, features = ["fullstack"] }
async-std = "1.13.0"
serde = "1.0.218"
async-std = "1.13.1"
serde = "1.0.219"
[features]
default = []
@@ -9,11 +9,22 @@ authors = ["Jonathan Kelley"]
dioxus = { workspace = true, features = ["web", "router", "wasm-split"] }
dioxus-router = { workspace = true, features = ["wasm-split"] }
anyhow = { workspace = true }
async-compression = { workspace = true, features = ["futures-io", "gzip", "brotli"] }
async-compression = { workspace = true, features = [
"futures-io",
"gzip",
"brotli",
] }
futures = { workspace = true }
js-sys = { workspace = true }
wasm-bindgen = { workspace = true }
wasm-bindgen-futures = { workspace = true }
web-sys = { workspace = true, features = ["Document", "Window", "HtmlElement", "Text", "DomRectReadOnly", "console"] }
getrandom = { workspace = true, features = ["js"] }
web-sys = { workspace = true, features = [
"Document",
"Window",
"HtmlElement",
"Text",
"DomRectReadOnly",
"console",
] }
getrandom = { workspace = true, features = ["wasm_js"] }
reqwest = { workspace = true, features = ["json"] }
+6 -6
View File
@@ -24,7 +24,7 @@ tower-http = { workspace = true, features = ["fs"], optional = true }
tokio-util = { workspace = true, features = ["rt"], optional = true }
tokio-stream = { workspace = true, features = ["sync"], optional = true }
tower = { workspace = true, features = ["util"], optional = true}
tower-layer = { version = "0.3.2", optional = true}
tower-layer = { version = "0.3.3", optional = true}
hyper-util = { workspace = true, features = ["full"], optional = true }
hyper = { workspace = true, optional = true }
http = { workspace = true }
@@ -41,7 +41,7 @@ tracing = { workspace = true }
tracing-futures = { workspace = true }
async-trait = { workspace = true }
serde = { workspace = true }
enumset = "1.1.5"
enumset = "1.1.6"
futures-util = { workspace = true }
futures-channel = { workspace = true }
@@ -50,11 +50,11 @@ base64 = { workspace = true }
rustls = { workspace = true, optional = true }
hyper-rustls = { workspace = true, optional = true }
pin-project = { version = "1.1.2" }
pin-project = { version = "1.1.10" }
thiserror = { workspace = true }
bytes = "1.4.0"
bytes = "1.10.1"
parking_lot = { workspace = true, features = ["send_guard"] }
web-sys = { version = "0.3.61", features = [
web-sys = { version = "0.3.77", features = [
"Window",
"Document",
"Element",
@@ -65,7 +65,7 @@ web-sys = { version = "0.3.61", features = [
dioxus-cli-config = { workspace = true }
dioxus-devtools = { workspace = true, optional = true }
aws-lc-rs = { version = "1.8.1", optional = true }
aws-lc-rs = { version = "1.13.1", optional = true }
dioxus-history = { workspace = true }
subsecond.workspace = true
inventory = { workspace = true }