summaryrefslogtreecommitdiff
path: root/cli/lsp/jsr.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/jsr.rs')
-rw-r--r--cli/lsp/jsr.rs25
1 files changed, 14 insertions, 11 deletions
diff --git a/cli/lsp/jsr.rs b/cli/lsp/jsr.rs
index c0a82383d..6c591637c 100644
--- a/cli/lsp/jsr.rs
+++ b/cli/lsp/jsr.rs
@@ -92,20 +92,23 @@ impl JsrCacheResolver {
}
}
if let Some(lockfile) = config_data.and_then(|d| d.lockfile.as_ref()) {
- for (req_url, nv_url) in &lockfile.lock().content.packages.specifiers {
- let Some(req) = req_url.strip_prefix("jsr:") else {
- continue;
- };
- let Some(nv) = nv_url.strip_prefix("jsr:") else {
- continue;
- };
- let Ok(req) = PackageReq::from_str(req) else {
- continue;
+ for (dep_req, version) in &lockfile.lock().content.packages.specifiers {
+ let req = match dep_req.kind {
+ deno_semver::package::PackageKind::Jsr => &dep_req.req,
+ deno_semver::package::PackageKind::Npm => {
+ continue;
+ }
};
- let Ok(nv) = PackageNv::from_str(nv) else {
+ let Ok(version) = Version::parse_standard(version) else {
continue;
};
- nv_by_req.insert(req, Some(nv));
+ nv_by_req.insert(
+ req.clone(),
+ Some(PackageNv {
+ name: req.name.clone(),
+ version,
+ }),
+ );
}
}
Self {