summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/Cargo.toml2
-rw-r--r--cli/args/mod.rs28
-rw-r--r--cli/lsp/config.rs71
3 files changed, 35 insertions, 66 deletions
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
index ad0a840fd..d1f1dc5d5 100644
--- a/cli/Cargo.toml
+++ b/cli/Cargo.toml
@@ -65,7 +65,7 @@ winres.workspace = true
[dependencies]
deno_ast = { workspace = true, features = ["bundler", "cjs", "codegen", "proposal", "react", "sourcemap", "transforms", "typescript", "view", "visit"] }
deno_cache_dir = { workspace = true }
-deno_config = { version = "=0.34.3", features = ["workspace", "sync"] }
+deno_config = { version = "=0.35.0", features = ["workspace", "sync"] }
deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] }
deno_doc = { version = "0.148.0", features = ["html", "syntect"] }
deno_graph = { version = "=0.82.1" }
diff --git a/cli/args/mod.rs b/cli/args/mod.rs
index cec1b53b2..b8a05f325 100644
--- a/cli/args/mod.rs
+++ b/cli/args/mod.rs
@@ -1065,27 +1065,13 @@ impl CliOptions {
None => None,
}
};
- Ok(
- self
- .workspace()
- .create_resolver(
- CreateResolverOptions {
- pkg_json_dep_resolution,
- specified_import_map: cli_arg_specified_import_map,
- },
- |specifier| {
- let specifier = specifier.clone();
- async move {
- let file = file_fetcher
- .fetch_bypass_permissions(&specifier)
- .await?
- .into_text_decoded()?;
- Ok(file.source.to_string())
- }
- },
- )
- .await?,
- )
+ Ok(self.workspace().create_resolver(
+ CreateResolverOptions {
+ pkg_json_dep_resolution,
+ specified_import_map: cli_arg_specified_import_map,
+ },
+ |path| Ok(std::fs::read_to_string(path)?),
+ )?)
}
pub fn node_ipc_fd(&self) -> Option<i64> {
diff --git a/cli/lsp/config.rs b/cli/lsp/config.rs
index 94fdff167..e55e7b734 100644
--- a/cli/lsp/config.rs
+++ b/cli/lsp/config.rs
@@ -1451,9 +1451,10 @@ impl ConfigData {
// Mark the import map as a watched file
if let Some(import_map_specifier) = member_dir
.workspace
- .to_import_map_specifier()
+ .to_import_map_path()
.ok()
.flatten()
+ .and_then(|path| Url::from_file_path(path).ok())
{
add_watched_file(
import_map_specifier.clone(),
@@ -1542,50 +1543,32 @@ impl ConfigData {
None
}
};
- let resolver = deno_core::unsync::spawn({
- let workspace = member_dir.workspace.clone();
- let file_fetcher = file_fetcher.cloned();
- async move {
- workspace
- .create_resolver(
- CreateResolverOptions {
- pkg_json_dep_resolution,
- specified_import_map,
- },
- move |specifier| {
- let specifier = specifier.clone();
- let file_fetcher = file_fetcher.clone().unwrap();
- async move {
- let file = file_fetcher
- .fetch_bypass_permissions(&specifier)
- .await?
- .into_text_decoded()?;
- Ok(file.source.to_string())
- }
- },
- )
- .await
- .inspect_err(|err| {
- lsp_warn!(
- " Failed to load resolver: {}",
- err // will contain the specifier
- );
- })
- .ok()
- }
- })
- .await
- .unwrap()
- .unwrap_or_else(|| {
- // create a dummy resolver
- WorkspaceResolver::new_raw(
- scope.clone(),
- None,
- member_dir.workspace.resolver_jsr_pkgs().collect(),
- member_dir.workspace.package_jsons().cloned().collect(),
- pkg_json_dep_resolution,
+ let resolver = member_dir
+ .workspace
+ .create_resolver(
+ CreateResolverOptions {
+ pkg_json_dep_resolution,
+ specified_import_map,
+ },
+ |path| Ok(std::fs::read_to_string(path)?),
)
- });
+ .inspect_err(|err| {
+ lsp_warn!(
+ " Failed to load resolver: {}",
+ err // will contain the specifier
+ );
+ })
+ .ok()
+ .unwrap_or_else(|| {
+ // create a dummy resolver
+ WorkspaceResolver::new_raw(
+ scope.clone(),
+ None,
+ member_dir.workspace.resolver_jsr_pkgs().collect(),
+ member_dir.workspace.package_jsons().cloned().collect(),
+ pkg_json_dep_resolution,
+ )
+ });
if !resolver.diagnostics().is_empty() {
lsp_warn!(
" Import map diagnostics:\n{}",