diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-02-24 19:27:50 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-24 19:27:50 -0500 |
commit | 5683daf1aa1c01f5f4d01879d6ce054b0922faf6 (patch) | |
tree | 4cfb29e207866002f8afeba13c6ec016b02c0abc | |
parent | 484b6fe2faeec93912e1fc57b54784428cbd15d3 (diff) |
fix: ignore workspace specifiers in package.json (#17934)
Part of #17916
-rw-r--r-- | cli/args/package_json.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/cli/args/package_json.rs b/cli/args/package_json.rs index 667918cd1..97fb97f0b 100644 --- a/cli/args/package_json.rs +++ b/cli/args/package_json.rs @@ -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() + )]) + ); + } } |