diff options
Diffstat (limited to 'cli/compat/mod.rs')
-rw-r--r-- | cli/compat/mod.rs | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/cli/compat/mod.rs b/cli/compat/mod.rs index 997265f96..3797d7cb4 100644 --- a/cli/compat/mod.rs +++ b/cli/compat/mod.rs @@ -8,6 +8,7 @@ use deno_core::located_script_name; use deno_core::url::Url; use deno_core::JsRuntime; +pub use esm_resolver::check_if_should_use_esm_loader; pub(crate) use esm_resolver::NodeEsmResolver; // TODO(bartlomieju): this needs to be bumped manually for @@ -86,33 +87,6 @@ fn try_resolve_builtin_module(specifier: &str) -> Option<Url> { } } -pub(crate) async fn check_if_should_use_esm_loader( - js_runtime: &mut JsRuntime, - main_module: &str, -) -> Result<bool, AnyError> { - // Decide if we're running with Node ESM loader or CJS loader. - let source_code = &format!( - r#"(async function checkIfEsm(main) {{ - const {{ resolveMainPath, shouldUseESMLoader }} = await import("{}"); - const resolvedMain = resolveMainPath(main); - const useESMLoader = shouldUseESMLoader(resolvedMain); - return useESMLoader; - }})('{}');"#, - MODULE_URL_STR.as_str(), - escape_for_single_quote_string(main_module), - ); - let result = - js_runtime.execute_script(&located_script_name!(), source_code)?; - let use_esm_loader_global = js_runtime.resolve_value(result).await?; - let use_esm_loader = { - let scope = &mut js_runtime.handle_scope(); - let use_esm_loader_local = use_esm_loader_global.open(scope); - use_esm_loader_local.boolean_value(scope) - }; - - Ok(use_esm_loader) -} - pub(crate) fn load_cjs_module( js_runtime: &mut JsRuntime, main_module: &str, |