Skip to content

Commit f9e4556

Browse files
committed
chore: upgrade edition → 2024, dep updates
fix: changes needed for nom v8 fix: changes needed for rkyv upgrade fix: changes for reqwest updates fix: changes for update to `rng` fix: changes for update to `cacache` fix: changes for update to `petgraph` fix: unused demotiontarget struct fix: `PanicHook` → `PanicHookInfo` chore: update nom → v8 chore: update rkyv → `0.8.x` chore: update reqwest → `0.12.x` chore: update cacache → `13.1.x` chore: update edition → `2024` chore: update rust toolchain → `1.85` chore: update all deps without breakages chore: relock deps chore: run `cargo update` Signed-off-by: Sam Gammon <[email protected]>
1 parent 2dc8d9e commit f9e4556

File tree

27 files changed

+1949
-1375
lines changed

27 files changed

+1949
-1375
lines changed

Cargo.lock

Lines changed: 1751 additions & 1164 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 82 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ is_ci = { workspace = true }
4949
is-terminal = { workspace = true }
5050
kdl = { workspace = true }
5151
miette = { workspace = true, features = ["fancy"] }
52-
rand = { workspace = true, default_features = false }
52+
rand = { workspace = true, features = ["thread_rng"], default_features = false }
5353
sentry = { workspace = true }
5454
serde = { workspace = true, features = ["derive"] }
5555
serde_json = { workspace = true }
@@ -68,96 +68,97 @@ members = [".", "crates/*"]
6868

6969
[workspace.package]
7070
authors = ["Orogene Maintainers and Contributors"]
71-
edition = "2021"
71+
edition = "2024"
7272
repository = "https://github.com/orogene/orogene"
7373
homepage = "https://orogene.dev"
74-
rust-version = "1.67.1"
74+
rust-version = "1.85"
7575

7676
[workspace.dependencies]
77-
anyhow = "1.0.75"
78-
async-compression = "0.3.5"
79-
async-process = "1.0.1"
80-
async-std = "1.12.0"
81-
async-trait = "0.1.64"
82-
backon = "0.4.0"
83-
base64 = "0.21.2"
84-
bincode = "1.3.1"
85-
bytecount = "0.6.0"
86-
cacache = "12.0.0"
87-
chrono = "0.4.23"
88-
chrono-humanize = "0.0.11"
89-
clap = "4.2.1"
90-
colored = "2.0.0"
91-
config = { version = "0.13.2", default-features = false }
77+
anyhow = "1.0.96"
78+
async-compression = "0.4.12"
79+
async-process = "2.3.0"
80+
async-std = "1.13.0"
81+
async-trait = "0.1.86"
82+
backon = "1.4.0"
83+
base64 = "0.22.1"
84+
bincode = "1.3.3"
85+
bytecount = "0.6.8"
86+
cacache = { version = "13.1.0", default-features = false, features = ["mmap", "tokio-runtime"] }
87+
chrono = "0.4.40"
88+
chrono-humanize = "0.2.3"
89+
clap = "4.5.31"
90+
colored = "3.0.0"
91+
config = { version = "0.15.8", default-features = false }
9292
console_error_panic_hook = "0.1.7"
93-
darling = "0.10.2"
94-
dashmap = "4.0.0-rc6"
95-
derive_builder = "0.11.2"
93+
darling = "0.20.10"
94+
dashmap = "6.1.0"
95+
derive_builder = "0.20.2"
9696
dialoguer = { version = "0.10.4", default-features = false }
97-
directories = "4.0.1"
98-
dunce = "1.0.3"
99-
flate2 = "1.0.25"
100-
futures = "0.3.26"
101-
indexmap = "1.9.3"
102-
indicatif = "0.17.3"
97+
directories = "6.0.0"
98+
dunce = "1.0.5"
99+
flate2 = { version = "1.1.0", default-features = false }
100+
futures = "0.3.31"
101+
http = "1.2.0"
102+
indexmap = "2.7.1"
103+
indicatif = "0.17.11"
103104
io_tee = "0.1.1"
104-
is-terminal = "0.4.7"
105-
is_ci = "1.1.1"
106-
http-cache-reqwest = "0.6.0"
105+
is-terminal = "0.4.15"
106+
is_ci = "1.2.0"
107+
http-cache-reqwest = "0.15.1"
107108
humansize = "1.1.0"
108-
insta = "1.28.0"
109-
js-sys = "0.3.61"
110-
junction = "1.0.0"
111-
kdl = "5.0.0-alpha.1"
109+
insta = "1.42.2"
110+
js-sys = "0.3.77"
111+
junction = "1.2.0"
112+
kdl = { git = "https://github.com/elide-tools/kdl-rs.git", rev = "b76df4f16ce805798e6d513a6daedf97f6d28e5d" }
112113
maplit = "1.0.2"
113-
miette = "5.8.0"
114-
mockito = "1.0.0"
115-
node-semver = "2.1.0"
116-
nom = "7.1.3"
117-
once_cell = "1.17.1"
118-
open = "5.0.0"
119-
pathdiff = "0.2.1"
120-
percent-encoding = "2.1.0"
121-
petgraph = { version = "0.6.2", default-features = false }
122-
poloto = "17.1.0"
123-
pretty_assertions = "1.3.0"
124-
proc-macro2 = "1.0.18"
125-
quote = "1.0.7"
126-
rand = { version = "0.8.5", default-features = false }
127-
reflink-copy = "0.1.8"
128-
regex = "1.7.2"
129-
reqwest = "0.11.14"
130-
reqwest-middleware = "=0.2.2"
114+
miette = "7.5.0"
115+
mockito = "1.6.1"
116+
node-semver = "2.2.0"
117+
nom = "8.0.0"
118+
once_cell = "1.20.3"
119+
open = "5.3.2"
120+
pathdiff = "0.2.3"
121+
percent-encoding = "2.3.1"
122+
petgraph = { version = "0.7.1", default-features = false }
123+
poloto = "19.1.2"
124+
pretty_assertions = "1.4.1"
125+
proc-macro2 = "1.0.93"
126+
quote = "1.0.38"
127+
rand = { version = "0.9.0", features = ["thread_rng"] , default-features = false }
128+
reflink-copy = "0.1.24"
129+
regex = "1.11.1"
130+
reqwest = "0.12.12"
131+
reqwest-middleware = "0.4.1"
131132
resvg = "0.29.0"
132-
rkyv = "0.7.41"
133-
sentry = "0.31.0"
134-
serde = "1.0.152"
135-
serde_json = "1.0.93"
136-
serde-wasm-bindgen = "0.4.5"
137-
ssri = "9.0.0"
138-
supports-unicode = "2.0.0"
139-
syn = "1.0.33"
140-
tar = "0.4.38"
133+
rkyv = "0.8.10"
134+
sentry = "0.36.0"
135+
serde = "1.0.218"
136+
serde_json = "1.0.139"
137+
serde-wasm-bindgen = "0.6.5"
138+
ssri = "9.2.0"
139+
supports-unicode = "3.0.0"
140+
syn = "2.0.98"
141+
tar = "0.4.44"
141142
task-local-extensions = "0.1.4"
142-
tempfile = "3.3.0"
143-
term_grid = "0.1.7"
143+
tempfile = "3.17.1"
144+
term_grid = "0.2.0"
144145
term_size = "0.3.2"
145-
test-case = "3.0.0"
146-
thiserror = "1.0.38"
147-
tracing = "0.1.37"
148-
tracing-appender = "0.2.2"
149-
tracing-indicatif = "0.3.0"
150-
tracing-subscriber = "0.3.16"
151-
tsify = { version = "0.4.3", default-features = false }
152-
unicase = "2.6.0"
153-
url = "2.3.1"
154-
walkdir = "2.3.2"
155-
wasm-bindgen = "0.2.84"
156-
wasm-bindgen-futures = "0.4.34"
157-
wasm-streams = "0.3.0"
158-
which = "4.0.2"
159-
wiremock = "0.5.17"
160-
reqwest-retry = "0.2.2"
146+
test-case = "3.3.1"
147+
thiserror = "1.0.69"
148+
tracing = "0.1.41"
149+
tracing-appender = "0.2.3"
150+
tracing-indicatif = "0.3.9"
151+
tracing-subscriber = "0.3.19"
152+
tsify = { version = "0.4.5", default-features = false }
153+
unicase = "2.8.1"
154+
url = "2.5.4"
155+
walkdir = "2.5.0"
156+
wasm-bindgen = "0.2.100"
157+
wasm-bindgen-futures = "0.4.50"
158+
wasm-streams = "0.4.2"
159+
which = "7.0.2"
160+
wiremock = "0.6.3"
161+
reqwest-retry = "0.7.0"
161162

162163
# [patch.crates-io]
163164
# cacache = { path = "../cacache-rs" }
@@ -168,7 +169,7 @@ reqwest-retry = "0.2.2"
168169
# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
169170
cargo-dist-version = "0.3.1"
170171
# The preferred Rust toolchain to use in CI (rustup toolchain syntax)
171-
rust-toolchain-version = "1.72.1"
172+
rust-toolchain-version = "1.85.0"
172173
# CI backends to support
173174
ci = ["github"]
174175
# Target platforms to build apps for (Rust target-triple syntax)
@@ -190,7 +191,7 @@ pr-run-mode = "plan"
190191
allow-dirty = ["msi"]
191192

192193
[build-dependencies]
193-
embed-resource = "1.3.3"
194+
embed-resource = "3.0.1"
194195

195196
[[bin]]
196197
name = "oro"

build.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
fn main() {
2-
embed_resource::compile("oro-manifest.rc");
2+
let _ = embed_resource::compile("oro-manifest.rc", embed_resource::NONE);
33
}

crates/nassun/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ test-case = { workspace = true }
4444
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
4545
async-tar-wasm = "0.4.2-wasm.1"
4646
async-process = { workspace = true }
47-
async-std = { workspace = true, features = ["attributes", "std"] }
47+
async-std = { workspace = true, features = ["attributes", "std", "tokio1"] }
4848
backon = { workspace = true }
4949
cacache = { workspace = true }
50-
flate2 = { workspace = true }
50+
flate2 = { workspace = true, features = ["zlib-ng"] }
5151
io_tee = { workspace = true }
52-
rkyv = { workspace = true, features = ["validation"] }
52+
rkyv = { workspace = true }
5353
tar = { workspace = true }
5454
tempfile = { workspace = true }
5555
which = { workspace = true }

crates/nassun/src/fetch/npm.rs

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ impl NpmFetcher {
5252
impl NpmFetcher {
5353
fn _name<'a>(&'a self, spec: &'a PackageSpec) -> &'a str {
5454
match spec {
55-
PackageSpec::Npm { ref name, .. } | PackageSpec::Alias { ref name, .. } => name,
55+
PackageSpec::Npm { name, .. } | PackageSpec::Alias { name, .. } => name,
5656
_ => unreachable!(),
5757
}
5858
}
@@ -67,7 +67,7 @@ impl PackageFetcher for NpmFetcher {
6767

6868
async fn corgi_metadata(&self, pkg: &Package) -> Result<CorgiVersionMetadata> {
6969
let wanted = match pkg.resolved() {
70-
PackageResolution::Npm { ref version, .. } => version,
70+
PackageResolution::Npm { version, .. } => version,
7171
_ => unreachable!(),
7272
};
7373
let packument = self.corgi_packument(pkg.from(), Path::new("")).await?;
@@ -80,7 +80,7 @@ impl PackageFetcher for NpmFetcher {
8080

8181
async fn metadata(&self, pkg: &Package) -> Result<VersionMetadata> {
8282
let wanted = match pkg.resolved() {
83-
PackageResolution::Npm { ref version, .. } => version,
83+
PackageResolution::Npm { version, .. } => version,
8484
_ => unreachable!(),
8585
};
8686
let packument = self.packument(pkg.from(), Path::new("")).await?;
@@ -98,12 +98,7 @@ impl PackageFetcher for NpmFetcher {
9898
) -> Result<Arc<CorgiPackument>> {
9999
// When fetching the packument itself, we need the _package_ name, not
100100
// its alias! Hence these shenanigans.
101-
if let PackageSpec::Npm {
102-
ref name,
103-
ref scope,
104-
..
105-
} = spec.target()
106-
{
101+
if let PackageSpec::Npm { name, scope, .. } = spec.target() {
107102
if let Some(packument) = self.corgi_packuments.get(name) {
108103
if self.cache_packuments {
109104
return Ok(packument.value().clone());
@@ -125,16 +120,11 @@ impl PackageFetcher for NpmFetcher {
125120
// When fetching the packument itself, we need the _package_ name, not
126121
// its alias! Hence these shenanigans.
127122
let pkg = match spec {
128-
PackageSpec::Alias { ref spec, .. } => spec,
123+
PackageSpec::Alias { spec, .. } => spec,
129124
pkg @ PackageSpec::Npm { .. } => pkg,
130125
_ => unreachable!(),
131126
};
132-
if let PackageSpec::Npm {
133-
ref name,
134-
ref scope,
135-
..
136-
} = pkg
137-
{
127+
if let PackageSpec::Npm { name, scope, .. } = pkg {
138128
if let Some(packument) = self.packuments.get(name) {
139129
if self.cache_packuments {
140130
return Ok(packument.value().clone());
@@ -153,7 +143,7 @@ impl PackageFetcher for NpmFetcher {
153143

154144
async fn tarball(&self, pkg: &Package) -> Result<crate::TarballStream> {
155145
let url = match pkg.resolved() {
156-
PackageResolution::Npm { ref tarball, .. } => tarball,
146+
PackageResolution::Npm { tarball, .. } => tarball,
157147
_ => panic!("How did a non-Npm resolution get here?"),
158148
};
159149
Ok(self.client.stream_external(url).await?)

crates/nassun/src/package.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ impl Package {
272272
let name = self.name().to_owned();
273273
async_std::task::spawn_blocking(move || {
274274
let created = dashmap::DashSet::new();
275-
let index = rkyv::check_archived_root::<TarballIndex>(
275+
let index = rkyv::from_bytes::<TarballIndex, rkyv::rancor::Error>(
276276
entry
277277
.raw_metadata
278278
.as_ref()
@@ -321,7 +321,7 @@ impl fmt::Debug for Package {
321321

322322
#[cfg(not(target_arch = "wasm32"))]
323323
fn clean_from_cache(cache: &Path, sri: &Integrity, entry: cacache::Metadata) -> Result<()> {
324-
let index = rkyv::check_archived_root::<TarballIndex>(
324+
let index = rkyv::from_bytes::<TarballIndex, rkyv::rancor::Error>(
325325
entry
326326
.raw_metadata
327327
.as_ref()

crates/nassun/src/resolver.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ impl PackageResolver {
148148
use PackageSpec::*;
149149
let spec = wanted.target();
150150

151-
if let Dir { ref path } = spec {
151+
if let Dir { path } = spec {
152152
let p = self.base_dir.join(path);
153153
return Ok(PackageResolution::Dir {
154154
name: name.into(),
@@ -175,7 +175,7 @@ impl PackageResolver {
175175

176176
let mut target: Option<&SemVerVersion> = match spec {
177177
Npm {
178-
requested: Some(VersionSpec::Version(ref version)),
178+
requested: Some(VersionSpec::Version(version)),
179179
..
180180
} => Some(version),
181181
Npm {
@@ -216,7 +216,7 @@ impl PackageResolver {
216216

217217
if target.is_none() {
218218
if let Npm {
219-
requested: Some(VersionSpec::Range(ref range)),
219+
requested: Some(VersionSpec::Range(range)),
220220
..
221221
} = spec
222222
{

crates/nassun/src/tarball.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -377,8 +377,10 @@ impl TempTarball {
377377
// This is just so the index entry is loadable.
378378
.integrity("xxh3-deadbeef".parse().unwrap())
379379
.raw_metadata(
380-
rkyv::util::to_bytes::<_, 1024>(&tarball_index)
381-
.map_err(|e| NassunError::SerializeCacheError(format!("{e}")))?
380+
rkyv::to_bytes(&tarball_index)
381+
.map_err(|e: rkyv::rancor::Error| {
382+
NassunError::SerializeCacheError(format!("{e}"))
383+
})?
382384
.into_vec(),
383385
),
384386
)
@@ -410,8 +412,7 @@ impl std::io::Seek for TempTarball {
410412
}
411413

412414
#[cfg(not(target_arch = "wasm32"))]
413-
#[derive(rkyv::Archive, rkyv::Serialize, Default)]
414-
#[archive(check_bytes)]
415+
#[derive(rkyv::Archive, rkyv::Serialize, rkyv::Deserialize, Default)]
415416
pub(crate) struct TarballIndex {
416417
pub(crate) should_copy: bool,
417418
pub(crate) bin_paths: Vec<String>,

crates/node-maintainer/src/graph.rs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,6 @@ use crate::{error::NodeMaintainerError, Lockfile, LockfileNode};
1919
#[cfg(debug_assertions)]
2020
use NodeMaintainerError::GraphValidationError;
2121

22-
#[derive(Debug, Hash, PartialEq, Eq)]
23-
pub(crate) struct DemotionTarget {
24-
/// Index of the target ancestor node that should hold the demoted copy.
25-
pub(crate) target_idx: NodeIndex,
26-
27-
/// Index of the dependent node
28-
pub(crate) dependent_idx: NodeIndex,
29-
30-
/// Index of the edge between dependency and dependent
31-
pub(crate) edge_idx: EdgeIndex,
32-
}
33-
3422
#[derive(Debug, Clone)]
3523
pub struct Node {
3624
/// Index of this Node inside its [`Graph`].
@@ -410,7 +398,7 @@ impl Graph {
410398
peer_dependencies: peer_deps,
411399
optional_dependencies: opt_deps,
412400
integrity: match node.package.resolved() {
413-
PackageResolution::Npm { ref integrity, .. } => integrity.clone(),
401+
PackageResolution::Npm { integrity, .. } => integrity.clone(),
414402
_ => None,
415403
},
416404
})

crates/node-maintainer/src/resolver.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ impl<'a> Resolver<'a> {
191191
if let Some(packages) = package_stream.next().await {
192192
for res in packages {
193193
let (package, spec) = res?;
194-
let deps = fetches.lock().await.remove(&spec);
194+
let deps = fetches.lock().await.shift_remove(&spec);
195195

196196
if let Some(deps) = deps {
197197
in_flight -= deps.len();

0 commit comments

Comments
 (0)