1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00

fix(npm): skip analyzing more specifiers in package.json (#17938)

This commit is contained in:
David Sherret 2023-02-24 21:16:26 -05:00 committed by GitHub
parent d6192ce8fd
commit b5b331e31a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -44,8 +44,13 @@ pub fn get_local_package_json_version_reqs(
) -> Result<(), AnyError> { ) -> Result<(), AnyError> {
if let Some(deps) = deps { if let Some(deps) = deps {
for (key, value) in deps { for (key, value) in deps {
if value.starts_with("workspace:") { if value.starts_with("workspace:")
// skip workspace specifiers for now || value.starts_with("file:")
|| value.starts_with("git:")
|| value.starts_with("http:")
|| value.starts_with("https:")
{
// skip these specifiers for now
continue; continue;
} }
let (name, version_req) = let (name, version_req) =
@ -209,11 +214,15 @@ mod test {
} }
#[test] #[test]
fn test_get_local_package_json_version_reqs_skips_workspace_specifiers() { fn test_get_local_package_json_version_reqs_skips_certain_specifiers() {
let mut package_json = PackageJson::empty(PathBuf::from("/package.json")); let mut package_json = PackageJson::empty(PathBuf::from("/package.json"));
package_json.dependencies = Some(HashMap::from([ package_json.dependencies = Some(HashMap::from([
("test".to_string(), "1".to_string()), ("test".to_string(), "1".to_string()),
("work".to_string(), "workspace:1.1.1".to_string()), ("work".to_string(), "workspace:1.1.1".to_string()),
("file".to_string(), "file:something".to_string()),
("git".to_string(), "git:something".to_string()),
("http".to_string(), "http://something".to_string()),
("https".to_string(), "https://something".to_string()),
])); ]));
let result = get_local_package_json_version_reqs(&package_json).unwrap(); let result = get_local_package_json_version_reqs(&package_json).unwrap();
assert_eq!( assert_eq!(