diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-05-18 11:42:03 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-18 11:42:03 -0400 |
commit | a2dbcf9e0aa1f70056ccc6ecdd4c813d30af768c (patch) | |
tree | ae0c11a160b1203209b5a54d5dbb693d7dbc5135 /cli/standalone/mod.rs | |
parent | fcb6a18b2b9fe23f3c19f6039d8f270a3a1999d6 (diff) |
perf: analyze cjs exports and emit typescript in parallel (#23856)
Diffstat (limited to 'cli/standalone/mod.rs')
-rw-r--r-- | cli/standalone/mod.rs | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/cli/standalone/mod.rs b/cli/standalone/mod.rs index 37720bd54..288618287 100644 --- a/cli/standalone/mod.rs +++ b/cli/standalone/mod.rs @@ -193,33 +193,33 @@ impl ModuleLoader for EmbeddedModuleLoader { )); } - let permissions = if is_dynamic { - &self.dynamic_permissions - } else { - &self.root_permissions - }; - if let Some(result) = - self.shared.npm_module_loader.load_sync_if_in_npm_package( - original_specifier, - maybe_referrer, - permissions, - ) - { - return match result { - Ok(code_source) => deno_core::ModuleLoadResponse::Sync(Ok( - deno_core::ModuleSource::new_with_redirect( + if self.shared.node_resolver.in_npm_package(original_specifier) { + let npm_module_loader = self.shared.npm_module_loader.clone(); + let original_specifier = original_specifier.clone(); + let maybe_referrer = maybe_referrer.cloned(); + let permissions = if is_dynamic { + self.dynamic_permissions.clone() + } else { + self.root_permissions.clone() + }; + return deno_core::ModuleLoadResponse::Async( + async move { + let code_source = npm_module_loader + .load(&original_specifier, maybe_referrer.as_ref(), &permissions) + .await?; + Ok(deno_core::ModuleSource::new_with_redirect( match code_source.media_type { MediaType::Json => ModuleType::Json, _ => ModuleType::JavaScript, }, ModuleSourceCode::String(code_source.code), - original_specifier, + &original_specifier, &code_source.found_url, None, - ), - )), - Err(err) => deno_core::ModuleLoadResponse::Sync(Err(err)), - }; + )) + } + .boxed_local(), + ); } let Some(module) = |