-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add NpmResolutionPackage.bin (#44)
- Loading branch information
1 parent
d104f6f
commit 77b2d2f
Showing
3 changed files
with
14 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -675,6 +675,7 @@ impl Graph { | |
.keys() | ||
.cloned() | ||
.collect(), | ||
bin: version_info.bin.clone(), | ||
}, | ||
); | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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; | ||
|
@@ -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)] | ||
|
@@ -236,6 +238,7 @@ impl NpmResolutionSnapshot { | |
dist: package.dist, | ||
dependencies: package.dependencies, | ||
optional_dependencies: package.optional_dependencies, | ||
bin: package.bin, | ||
}, | ||
); | ||
} | ||
|
@@ -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(); | ||
|
@@ -973,6 +977,7 @@ pub async fn snapshot_from_lockfile<'a>( | |
.optional_dependencies | ||
.into_keys() | ||
.collect(), | ||
bin: version_info.bin.clone(), | ||
}); | ||
} | ||
Err(err) => { | ||
|
@@ -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(), | ||
|
@@ -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, | ||
}, | ||
], | ||
} | ||
|
@@ -1207,6 +1216,7 @@ mod tests { | |
system: Default::default(), | ||
dist: Default::default(), | ||
optional_dependencies: Default::default(), | ||
bin: None, | ||
} | ||
} | ||
|
||
|