From aa286fdecb15461ef8ddd4c372f5a13e01e1cb7b Mon Sep 17 00:00:00 2001 From: David Sherret Date: Mon, 24 Apr 2023 19:44:35 -0400 Subject: refactor(ext/node): allow injecting `NodeFs` from CLI (#18829) This allows providing a `NodeFs` as part of the `WorkerOptions`. --- cli/tsc/mod.rs | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'cli/tsc') diff --git a/cli/tsc/mod.rs b/cli/tsc/mod.rs index 0d956b661..aa589a1ca 100644 --- a/cli/tsc/mod.rs +++ b/cli/tsc/mod.rs @@ -4,7 +4,6 @@ use crate::args::TsConfig; use crate::args::TypeCheckMode; use crate::cache::FastInsecureHasher; use crate::node; -use crate::node::CliNodeResolver; use crate::util::checksum; use crate::util::path::mapped_specifier_for_tsc; @@ -35,7 +34,7 @@ use deno_graph::ResolutionResolved; use deno_runtime::deno_node; use deno_runtime::deno_node::NodeResolution; use deno_runtime::deno_node::NodeResolutionMode; -use deno_runtime::deno_node::RealFs; +use deno_runtime::deno_node::NodeResolver; use deno_runtime::permissions::PermissionsContainer; use deno_semver::npm::NpmPackageReqReference; use lsp_types::Url; @@ -307,7 +306,7 @@ pub struct Request { pub debug: bool, pub graph: Arc, pub hash_data: u64, - pub maybe_node_resolver: Option>, + pub maybe_node_resolver: Option>, pub maybe_tsbuildinfo: Option, /// A vector of strings that represent the root/entry point modules for the /// program. @@ -331,7 +330,7 @@ struct State { graph: Arc, maybe_tsbuildinfo: Option, maybe_response: Option, - maybe_node_resolver: Option>, + maybe_node_resolver: Option>, remapped_specifiers: HashMap, root_map: HashMap, current_dir: PathBuf, @@ -341,7 +340,7 @@ impl State { pub fn new( graph: Arc, hash_data: u64, - maybe_node_resolver: Option>, + maybe_node_resolver: Option>, maybe_tsbuildinfo: Option, root_map: HashMap, remapped_specifiers: HashMap, @@ -637,7 +636,7 @@ fn resolve_graph_specifier_types( } Some(Module::Npm(module)) => { if let Some(node_resolver) = &state.maybe_node_resolver { - let maybe_resolution = node_resolver.resolve_npm_reference::( + let maybe_resolution = node_resolver.resolve_npm_reference( &module.nv_reference, NodeResolutionMode::Types, &mut PermissionsContainer::allow_all(), @@ -655,9 +654,7 @@ fn resolve_graph_specifier_types( let specifier = node::resolve_specifier_into_node_modules(&module.specifier); NodeResolution::into_specifier_and_media_type( - node_resolver - .url_to_node_resolution::(specifier) - .ok(), + node_resolver.url_to_node_resolution(specifier).ok(), ) })) } @@ -678,7 +675,7 @@ fn resolve_non_graph_specifier_types( // we're in an npm package, so use node resolution Ok(Some(NodeResolution::into_specifier_and_media_type( node_resolver - .resolve::( + .resolve( specifier, referrer, NodeResolutionMode::Types, @@ -692,7 +689,7 @@ fn resolve_non_graph_specifier_types( // we don't need this special code here. // This could occur when resolving npm:@types/node when it is // injected and not part of the graph - let maybe_resolution = node_resolver.resolve_npm_req_reference::( + let maybe_resolution = node_resolver.resolve_npm_req_reference( &npm_ref, NodeResolutionMode::Types, &mut PermissionsContainer::allow_all(), -- cgit v1.2.3