summaryrefslogtreecommitdiff
path: root/cli/lsp
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp')
-rw-r--r--cli/lsp/documents.rs8
-rw-r--r--cli/lsp/jsr.rs25
2 files changed, 17 insertions, 16 deletions
diff --git a/cli/lsp/documents.rs b/cli/lsp/documents.rs
index 80c5a4dc5..dcfdb0d00 100644
--- a/cli/lsp/documents.rs
+++ b/cli/lsp/documents.rs
@@ -1410,11 +1410,9 @@ impl Documents {
if let Some(lockfile) = config_data.lockfile.as_ref() {
let reqs = npm_reqs_by_scope.entry(Some(scope.clone())).or_default();
let lockfile = lockfile.lock();
- for key in lockfile.content.packages.specifiers.keys() {
- if let Some(key) = key.strip_prefix("npm:") {
- if let Ok(req) = PackageReq::from_str(key) {
- reqs.insert(req);
- }
+ for dep_req in lockfile.content.packages.specifiers.keys() {
+ if dep_req.kind == deno_semver::package::PackageKind::Npm {
+ reqs.insert(dep_req.req.clone());
}
}
}
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 {