Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,334 changes: 1,238 additions & 96 deletions Cargo.lock

Large diffs are not rendered by default.

21 changes: 19 additions & 2 deletions crates/trusted-server-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ workspace = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
chromiumoxide = { workspace = true }
clap = { workspace = true }
derive_more = { workspace = true, features = ["display"] }
edgezero-cli = { workspace = true }
error-stack = { workspace = true }
futures = { workspace = true }
log = { workspace = true }
regex = { workspace = true }
Expand All @@ -32,6 +34,20 @@ trusted-server-core = { workspace = true }
url = { workspace = true }
which = { workspace = true }

# `ts dev lint domains` and `ts dev install-hooks` drive all git access through
# gitoxide (no `git` subprocess). Cross-host: the linter runs in CI on every
# target. Versions verified via `cargo tree -p gix -p gix-config` to avoid
# duplicate versions in the lock file.
gix = { version = "0.83", default-features = false, features = [

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 thinking — These four (gix, gix-config here, assert_cmd and predicates in dev-dependencies) are the only direct deps in the workspace declared with inline versions; the root [workspace.dependencies] centralizes 95 others, and every other crate uses { workspace = true }. The comment explains why the versions are pinned, which is the valuable part — but with the version living in a leaf manifest, a second crate that later wants gix (an integration-tests harness, say) can silently resolve a different minor and reintroduce the duplicate-version problem this comment is guarding against.

Moving the four version specs to [workspace.dependencies] and keeping the feature list plus the rationale comment here (gix = { workspace = true, features = [...] }) preserves the intent and makes the pin enforceable workspace-wide. Non-blocking — flagging it because the comment implies the pin matters more than a leaf manifest can guarantee.

"blob-diff",
"index",
"revision",
"sha1",
# Fixture repos in the unit tests construct trees via gix-only APIs.
"tree-editor",
] }
gix-config = "0.56"

# `ts dev proxy` is macOS-only — CA trust via the login keychain, Safari
# automation via `networksetup`, and a native TLS / networking stack. Scoping
# these dependencies to macOS keeps unsupported targets (notably the
Expand All @@ -41,9 +57,7 @@ which = { workspace = true }
[target.'cfg(target_os = "macos")'.dependencies]
base64 = { workspace = true }
bytes = { workspace = true }
derive_more = { workspace = true }
directories = { workspace = true }
error-stack = { workspace = true }
http-body-util = { workspace = true }
hyper = { workspace = true, features = ["http1", "server", "client"] }
hyper-util = { workspace = true, features = ["tokio"] }
Expand All @@ -62,4 +76,7 @@ tokio = { workspace = true, features = ["test-util"] }
x509-parser = { workspace = true }

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
assert_cmd = "2"
predicates = "3"
temp-env = { workspace = true }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ refactortemp-env is added here but never referenced: no temp_env usage anywhere under crates/trusted-server-cli/ (the Cargo.toml line is the only hit in the crate). assert_cmd, predicates, and tempfile are all genuinely used; this one looks like a leftover from an earlier draft of the fixture strategy.

Proposed fix (apply manually — dropping the line also rewrites Cargo.lock, so it can't be a one-click suggestion):

 [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
 assert_cmd = "2"
 predicates = "3"
-temp-env = { workspace = true }
 tempfile = { workspace = true }

then cargo check -p trusted-server-cli --target <host> to refresh Cargo.lock (the temp-env entry disappears from the crate's dependency list). I verified the removal in a scratch worktree: fmt clean, clippy clean, full CLI suite passes.

tempfile = { workspace = true }
Loading
Loading