diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2022-10-28 21:53:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-28 21:53:55 +0200 |
commit | 2c674dcd20aeb19d694e03d969f5792d1581e87a (patch) | |
tree | 5cc7212935bb1a46bc0f5c3920a823c3f0f7f73b /cli/worker.rs | |
parent | e202f890f04e37b40b311729c2a1e2a89949af2c (diff) |
refactor(npm): reorganize initialization of compat layer (#16471)
Ensures that "std/node" graph is analyzed only once.
Diffstat (limited to 'cli/worker.rs')
-rw-r--r-- | cli/worker.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/cli/worker.rs b/cli/worker.rs index 10fe5b36f..1aa2abdd9 100644 --- a/cli/worker.rs +++ b/cli/worker.rs @@ -60,6 +60,7 @@ impl CliMainWorker { log::debug!("main_module {}", self.main_module); if self.is_main_cjs { + self.ps.prepare_node_std_graph().await?; self.initialize_main_module_for_node().await?; node::load_cjs_module_from_ext_node( &mut self.worker.js_runtime, @@ -280,6 +281,9 @@ impl CliMainWorker { async fn execute_main_module_possibly_with_npm( &mut self, ) -> Result<(), AnyError> { + if self.ps.npm_resolver.has_packages() { + self.ps.prepare_node_std_graph().await?; + } let id = self.worker.preload_main_module(&self.main_module).await?; self.evaluate_module_possibly_with_npm(id).await } @@ -302,6 +306,7 @@ impl CliMainWorker { } async fn initialize_main_module_for_node(&mut self) -> Result<(), AnyError> { + self.ps.prepare_node_std_graph().await?; node::initialize_runtime(&mut self.worker.js_runtime).await?; if let DenoSubcommand::Run(flags) = self.ps.options.sub_command() { if let Ok(pkg_ref) = NpmPackageReference::from_str(&flags.script) { @@ -372,10 +377,6 @@ pub async fn create_main_worker( (main_module, false) }; - if ps.npm_resolver.has_packages() { - ps.prepare_node_std_graph().await?; - } - let module_loader = CliModuleLoader::new(ps.clone()); let maybe_inspector_server = ps.maybe_inspector_server.clone(); |