summaryrefslogtreecommitdiff
path: root/cli/tools/registry
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-09-28 19:17:48 -0400
committerGitHub <noreply@github.com>2024-09-28 19:17:48 -0400
commit5faf769ac61b627d14710cdf487de7cd4eb3f9d3 (patch)
tree2cc4ab975522b3c8845ab3040c010fd998a769a6 /cli/tools/registry
parent3138478f66823348eb745c7f0c2d34eed378a3f0 (diff)
refactor: extract out sloppy imports resolution from CLI crate (#25920)
This is slow progress towards creating a `deno_resolver` crate. Waiting on: * https://github.com/denoland/deno/pull/25918 * https://github.com/denoland/deno/pull/25916
Diffstat (limited to 'cli/tools/registry')
-rw-r--r--cli/tools/registry/mod.rs7
-rw-r--r--cli/tools/registry/unfurl.rs15
2 files changed, 15 insertions, 7 deletions
diff --git a/cli/tools/registry/mod.rs b/cli/tools/registry/mod.rs
index 941514b04..4098d62e3 100644
--- a/cli/tools/registry/mod.rs
+++ b/cli/tools/registry/mod.rs
@@ -43,7 +43,8 @@ use crate::cache::ParsedSourceCache;
use crate::factory::CliFactory;
use crate::graph_util::ModuleGraphCreator;
use crate::http_util::HttpClient;
-use crate::resolver::SloppyImportsResolver;
+use crate::resolver::CliSloppyImportsResolver;
+use crate::resolver::SloppyImportsCachedFs;
use crate::tools::check::CheckOptions;
use crate::tools::lint::collect_no_slow_type_diagnostics;
use crate::tools::registry::diagnostics::PublishDiagnostic;
@@ -108,7 +109,9 @@ pub async fn publish(
}
let specifier_unfurler = Arc::new(SpecifierUnfurler::new(
if cli_options.unstable_sloppy_imports() {
- Some(SloppyImportsResolver::new(cli_factory.fs().clone()))
+ Some(CliSloppyImportsResolver::new(SloppyImportsCachedFs::new(
+ cli_factory.fs().clone(),
+ )))
} else {
None
},
diff --git a/cli/tools/registry/unfurl.rs b/cli/tools/registry/unfurl.rs
index 0f5b9fdd3..5ec726a64 100644
--- a/cli/tools/registry/unfurl.rs
+++ b/cli/tools/registry/unfurl.rs
@@ -12,9 +12,10 @@ use deno_graph::DynamicTemplatePart;
use deno_graph::ParserModuleAnalyzer;
use deno_graph::TypeScriptReference;
use deno_package_json::PackageJsonDepValue;
+use deno_resolver::sloppy_imports::SloppyImportsResolutionMode;
use deno_runtime::deno_node::is_builtin_node_module;
-use crate::resolver::SloppyImportsResolver;
+use crate::resolver::CliSloppyImportsResolver;
#[derive(Debug, Clone)]
pub enum SpecifierUnfurlerDiagnostic {
@@ -42,14 +43,14 @@ impl SpecifierUnfurlerDiagnostic {
}
pub struct SpecifierUnfurler {
- sloppy_imports_resolver: Option<SloppyImportsResolver>,
+ sloppy_imports_resolver: Option<CliSloppyImportsResolver>,
workspace_resolver: WorkspaceResolver,
bare_node_builtins: bool,
}
impl SpecifierUnfurler {
pub fn new(
- sloppy_imports_resolver: Option<SloppyImportsResolver>,
+ sloppy_imports_resolver: Option<CliSloppyImportsResolver>,
workspace_resolver: WorkspaceResolver,
bare_node_builtins: bool,
) -> Self {
@@ -179,7 +180,7 @@ impl SpecifierUnfurler {
let resolved =
if let Some(sloppy_imports_resolver) = &self.sloppy_imports_resolver {
sloppy_imports_resolver
- .resolve(&resolved, deno_graph::source::ResolutionMode::Execution)
+ .resolve(&resolved, SloppyImportsResolutionMode::Execution)
.map(|res| res.into_specifier())
.unwrap_or(resolved)
} else {
@@ -388,6 +389,8 @@ fn to_range(
mod tests {
use std::sync::Arc;
+ use crate::resolver::SloppyImportsCachedFs;
+
use super::*;
use deno_ast::MediaType;
use deno_ast::ModuleSpecifier;
@@ -455,7 +458,9 @@ mod tests {
);
let fs = Arc::new(RealFs);
let unfurler = SpecifierUnfurler::new(
- Some(SloppyImportsResolver::new(fs)),
+ Some(CliSloppyImportsResolver::new(SloppyImportsCachedFs::new(
+ fs,
+ ))),
workspace_resolver,
true,
);