fix: ignore workspace specifiers in package.json (#17934)

Part of #17916
This commit is contained in:
David Sherret 2023-02-24 19:27:50 -05:00 committed by GitHub
parent 484b6fe2fa
commit 5683daf1aa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -44,6 +44,10 @@ pub fn get_local_package_json_version_reqs(
) -> Result<(), AnyError> {
if let Some(deps) = deps {
for (key, value) in deps {
if value.starts_with("workspace:") {
// skip workspace specifiers for now
continue;
}
let (name, version_req) =
parse_dep_entry_name_and_raw_version(key, value)?;
@ -203,4 +207,21 @@ mod test {
)
);
}
#[test]
fn test_get_local_package_json_version_reqs_skips_workspace_specifiers() {
let mut package_json = PackageJson::empty(PathBuf::from("/package.json"));
package_json.dependencies = Some(HashMap::from([
("test".to_string(), "1".to_string()),
("work".to_string(), "workspace:1.1.1".to_string()),
]));
let result = get_local_package_json_version_reqs(&package_json).unwrap();
assert_eq!(
result,
BTreeMap::from([(
"test".to_string(),
NpmPackageReq::from_str("test@1").unwrap()
)])
);
}
}