diff options
Diffstat (limited to 'cli/npm/cache.rs')
-rw-r--r-- | cli/npm/cache.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/cli/npm/cache.rs b/cli/npm/cache.rs index 77ecf1228..6a0d72b3a 100644 --- a/cli/npm/cache.rs +++ b/cli/npm/cache.rs @@ -160,13 +160,14 @@ impl ReadonlyNpmCache { .take(if is_scoped_package { 3 } else { 2 }) .map(|(_, part)| part) .collect::<Vec<_>>(); + if parts.len() < 2 { + return None; + } let version = parts.pop().unwrap(); let name = parts.join("/"); - - Some(NpmPackageId { - name, - version: NpmVersion::parse(version).unwrap(), - }) + NpmVersion::parse(version) + .ok() + .map(|version| NpmPackageId { name, version }) } pub fn get_cache_location(&self) -> PathBuf { |