Skip to content

Commit af05589

Browse files
committed
Clean up
1 parent 1c6a069 commit af05589

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

crates/turborepo-lockfiles/src/bun/de.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,15 @@ impl<'de> Deserialize<'de> for PackageEntry {
2626
D: serde::Deserializer<'de>,
2727
{
2828
use serde::de;
29-
#[derive(Deserialize, Debug)]
29+
#[derive(Deserialize)]
3030
#[serde(untagged)]
3131
enum Vals {
3232
Str(String),
3333
Info(Box<PackageInfo>),
3434
}
3535
let mut vals = VecDeque::<Vals>::deserialize(deserializer)?;
36+
37+
// First value is always the package key
3638
let key = vals
3739
.pop_front()
3840
.ok_or_else(|| de::Error::custom("expected package entry to not be empty"))?;
@@ -45,12 +47,11 @@ impl<'de> Deserialize<'de> for PackageEntry {
4547
Vals::Str(_) => None,
4648
Vals::Info(package_info) => Some(*package_info),
4749
};
48-
// For workspace packages deps are second element, rest have them as third
49-
// element
5050

5151
let mut registry = None;
5252
let mut info = None;
5353

54+
// Special case: root packages have a unique second value, so we handle it here
5455
if key.ends_with("@root:") {
5556
let root = vals.pop_front().and_then(|val| {
5657
serde_json::from_value::<RootInfo>(match val {

crates/turborepo-lockfiles/src/bun/ser.rs

+5-6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ use super::PackageEntry;
2121
impl Serialize for PackageEntry {
2222
fn serialize<S: serde::Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
2323
let mut tuple = serializer.serialize_tuple(4)?;
24+
25+
// First value is always the package key
2426
tuple.serialize_element(&self.ident)?;
2527

2628
// For root packages, only thing left to serialize is the root info
@@ -50,16 +52,13 @@ impl Serialize for PackageEntry {
5052

5153
#[cfg(test)]
5254
mod test {
53-
use std::{str::FromStr, sync::OnceLock};
55+
use std::sync::OnceLock;
5456

5557
use serde_json::json;
5658
use test_case::test_case;
5759

5860
use super::*;
59-
use crate::{
60-
bun::{PackageInfo, RootInfo, WorkspaceEntry},
61-
BunLockfile,
62-
};
61+
use crate::bun::{PackageInfo, RootInfo, WorkspaceEntry};
6362

6463
macro_rules! fixture {
6564
($name:ident, $kind:ty, $cons:expr) => {
@@ -147,7 +146,7 @@ mod test {
147146
#[test_case(json!(["[email protected]", "", {"dependencies": {"is-number": "^6.0.0"}}, "sha"]), registry_pkg() ; "registry package")]
148147
#[test_case(json!(["docs", {"dependencies": {"is-odd": "3.0.1"}}]), workspace_pkg() ; "workspace package")]
149148
#[test_case(json!(["some-package@root:", {"bin": "bin", "binDir": "binDir"}]), root_pkg() ; "root package")]
150-
fn test_serialization<T: for<'a> Serialize + PartialEq + std::fmt::Debug>(
149+
fn test_serialization<T: Serialize + PartialEq + std::fmt::Debug>(
151150
expected: serde_json::Value,
152151
input: &T,
153152
) {

0 commit comments

Comments
 (0)