summaryrefslogtreecommitdiff
path: root/cli/module_loader.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-02-16 17:10:06 -0500
committerGitHub <noreply@github.com>2024-02-16 22:10:06 +0000
commit828d9b84858d53b74d7801604c8c3bee418b631e (patch)
treef08718d9c11847c4689c2606d4e2bae2dc143bd8 /cli/module_loader.rs
parent67a4231bb62b7839f39bafc9e2e656f43093619b (diff)
refactor: remove module graph setup from ModuleLoader (#22442)
`ModuleLoader` was doing too much duplicate work.
Diffstat (limited to 'cli/module_loader.rs')
-rw-r--r--cli/module_loader.rs49
1 files changed, 5 insertions, 44 deletions
diff --git a/cli/module_loader.rs b/cli/module_loader.rs
index 84ced345f..4e0fe7142 100644
--- a/cli/module_loader.rs
+++ b/cli/module_loader.rs
@@ -3,14 +3,11 @@
use crate::args::CliOptions;
use crate::args::DenoSubcommand;
use crate::args::TsTypeLib;
-use crate::cache::ModuleInfoCache;
use crate::cache::ParsedSourceCache;
use crate::emit::Emitter;
use crate::graph_util::graph_lock_or_exit;
use crate::graph_util::graph_valid_with_cli_options;
-use crate::graph_util::workspace_config_to_workspace_members;
-use crate::graph_util::DenoGraphFsAdapter;
-use crate::graph_util::FileWatcherReporter;
+use crate::graph_util::CreateGraphOptions;
use crate::graph_util::ModuleGraphBuilder;
use crate::graph_util::ModuleGraphContainer;
use crate::node;
@@ -68,12 +65,8 @@ pub struct ModuleLoadPreparer {
fs: Arc<dyn deno_fs::FileSystem>,
graph_container: Arc<ModuleGraphContainer>,
lockfile: Option<Arc<Mutex<Lockfile>>>,
- maybe_file_watcher_reporter: Option<FileWatcherReporter>,
module_graph_builder: Arc<ModuleGraphBuilder>,
- module_info_cache: Arc<ModuleInfoCache>,
- parsed_source_cache: Arc<ParsedSourceCache>,
progress_bar: ProgressBar,
- resolver: Arc<CliGraphResolver>,
type_checker: Arc<TypeChecker>,
}
@@ -84,12 +77,8 @@ impl ModuleLoadPreparer {
fs: Arc<dyn deno_fs::FileSystem>,
graph_container: Arc<ModuleGraphContainer>,
lockfile: Option<Arc<Mutex<Lockfile>>>,
- maybe_file_watcher_reporter: Option<FileWatcherReporter>,
module_graph_builder: Arc<ModuleGraphBuilder>,
- module_info_cache: Arc<ModuleInfoCache>,
- parsed_source_cache: Arc<ParsedSourceCache>,
progress_bar: ProgressBar,
- resolver: Arc<CliGraphResolver>,
type_checker: Arc<TypeChecker>,
) -> Self {
Self {
@@ -97,12 +86,8 @@ impl ModuleLoadPreparer {
fs,
graph_container,
lockfile,
- maybe_file_watcher_reporter,
module_graph_builder,
- module_info_cache,
- parsed_source_cache,
progress_bar,
- resolver,
type_checker,
}
}
@@ -123,23 +108,6 @@ impl ModuleLoadPreparer {
let _pb_clear_guard = self.progress_bar.clear_guard();
let mut cache = self.module_graph_builder.create_fetch_cacher(permissions);
- let maybe_imports = self.options.to_maybe_imports()?;
- let maybe_workspace_config = self.options.maybe_workspace_config();
- let workspace_members = if let Some(wc) = maybe_workspace_config {
- workspace_config_to_workspace_members(wc)?
- } else {
- vec![]
- };
- let graph_resolver = self.resolver.as_graph_resolver();
- let graph_npm_resolver = self.resolver.as_graph_npm_resolver();
- let maybe_file_watcher_reporter = self
- .maybe_file_watcher_reporter
- .as_ref()
- .map(|r| r.as_reporter());
-
- let parser = self.parsed_source_cache.as_capturing_parser();
- let analyzer = self.module_info_cache.as_module_analyzer(&parser);
-
log::debug!("Creating module graph.");
let mut graph_update_permit =
self.graph_container.acquire_update_permit().await;
@@ -154,19 +122,12 @@ impl ModuleLoadPreparer {
.module_graph_builder
.build_graph_with_npm_resolution(
graph,
- roots.clone(),
- &mut cache,
- deno_graph::BuildOptions {
+ CreateGraphOptions {
is_dynamic,
- imports: maybe_imports,
- file_system: Some(&DenoGraphFsAdapter(self.fs.as_ref())),
- resolver: Some(graph_resolver),
- npm_resolver: Some(graph_npm_resolver),
- module_parser: Some(&parser),
- module_analyzer: Some(&analyzer),
- reporter: maybe_file_watcher_reporter,
+ graph_kind: graph.graph_kind(),
+ roots: roots.clone(),
+ loader: Some(&mut cache),
workspace_fast_check: false,
- workspace_members,
},
)
.await?;