Skip to content

Commit

Permalink
feat: add NpmResolutionPackage.bin (#44)
Browse files Browse the repository at this point in the history
  • Loading branch information
bartlomieju authored Apr 23, 2024
1 parent d104f6f commit 77b2d2f
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ use std::collections::HashSet;

use deno_semver::package::PackageNv;
use deno_semver::Version;
use registry::NpmPackageVersionBinEntry;
use registry::NpmPackageVersionDistInfo;
use resolution::SerializedNpmResolutionSnapshotPackage;
use serde::Deserialize;
Expand Down Expand Up @@ -243,6 +244,7 @@ pub struct NpmResolutionPackage {
/// which could be different from the package name.
pub dependencies: HashMap<String, NpmPackageId>,
pub optional_dependencies: HashSet<String>,
pub bin: Option<NpmPackageVersionBinEntry>,
}

impl std::fmt::Debug for NpmResolutionPackage {
Expand Down Expand Up @@ -274,6 +276,7 @@ impl NpmResolutionPackage {
dist: self.dist.clone(),
dependencies: self.dependencies.clone(),
optional_dependencies: self.optional_dependencies.clone(),
bin: self.bin.clone(),
}
}

Expand Down
1 change: 1 addition & 0 deletions src/resolution/graph.rs
Original file line number Diff line number Diff line change
Expand Up @@ -675,6 +675,7 @@ impl Graph {
.keys()
.cloned()
.collect(),
bin: version_info.bin.clone(),
},
);
}
Expand Down
10 changes: 10 additions & 0 deletions src/resolution/snapshot.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ use super::NpmPackageVersionNotFound;
use super::NpmPackageVersionResolutionError;

use crate::registry::NpmPackageInfo;
use crate::registry::NpmPackageVersionBinEntry;
use crate::registry::NpmPackageVersionDistInfo;
use crate::registry::NpmRegistryApi;
use crate::registry::NpmRegistryPackageInfoLoadError;
Expand Down Expand Up @@ -113,6 +114,7 @@ pub struct SerializedNpmResolutionSnapshotPackage {
/// which could be different from the package name.
pub dependencies: HashMap<String, NpmPackageId>,
pub optional_dependencies: HashSet<String>,
pub bin: Option<NpmPackageVersionBinEntry>,
}

#[derive(Default, Clone, Serialize, Deserialize, PartialEq, Eq)]
Expand Down Expand Up @@ -236,6 +238,7 @@ impl NpmResolutionSnapshot {
dist: package.dist,
dependencies: package.dependencies,
optional_dependencies: package.optional_dependencies,
bin: package.bin,
},
);
}
Expand Down Expand Up @@ -294,6 +297,7 @@ impl NpmResolutionSnapshot {
// the fields below are stripped from the output
system: Default::default(),
optional_dependencies: Default::default(),
bin: None,
};
for (key, dep_id) in &pkg.dependencies {
let dep = self.packages.get(dep_id).unwrap();
Expand Down Expand Up @@ -973,6 +977,7 @@ pub async fn snapshot_from_lockfile<'a>(
.optional_dependencies
.into_keys()
.collect(),
bin: version_info.bin.clone(),
});
}
Err(err) => {
Expand Down Expand Up @@ -1073,13 +1078,15 @@ mod tests {
system: Default::default(),
dist: Default::default(),
optional_dependencies: HashSet::from(["c".to_string()]),
bin: None,
},
SerializedNpmResolutionSnapshotPackage {
id: NpmPackageId::from_serialized("[email protected]").unwrap(),
dependencies: Default::default(),
system: Default::default(),
dist: Default::default(),
optional_dependencies: Default::default(),
bin: None,
},
SerializedNpmResolutionSnapshotPackage {
id: NpmPackageId::from_serialized("[email protected]").unwrap(),
Expand All @@ -1090,13 +1097,15 @@ mod tests {
},
dist: Default::default(),
optional_dependencies: Default::default(),
bin: None,
},
SerializedNpmResolutionSnapshotPackage {
id: NpmPackageId::from_serialized("[email protected]").unwrap(),
dependencies: Default::default(),
system: Default::default(),
dist: Default::default(),
optional_dependencies: Default::default(),
bin: None,
},
],
}
Expand Down Expand Up @@ -1207,6 +1216,7 @@ mod tests {
system: Default::default(),
dist: Default::default(),
optional_dependencies: Default::default(),
bin: None,
}
}

Expand Down

0 comments on commit 77b2d2f

Please sign in to comment.