summaryrefslogtreecommitdiff
path: root/cli/module_loader.rs
diff options
context:
space:
mode:
authorsnek <snek@deno.com>2024-07-31 16:22:34 -0700
committerGitHub <noreply@github.com>2024-07-31 23:22:34 +0000
commitf57745fe2106a4d26dd2209e1b2cacb2d6430245 (patch)
treef3ea0c476940b296ec3cc507adca05088ed947be /cli/module_loader.rs
parentfbcd250bc8ffb3b577afca7131d1d37f55eb47a2 (diff)
feat: upgrade V8 to 12.8 (#24693)
- upgrade to v8 12.8 - optimizes DataView bigint methods - fixes global interceptors - includes CPED methods for ALS - fix global resolution - makes global resolution consistent using host_defined_options. originally a separate patch but due to the global interceptor bug it needs to be included in this pr for all tests to pass.
Diffstat (limited to 'cli/module_loader.rs')
-rw-r--r--cli/module_loader.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/cli/module_loader.rs b/cli/module_loader.rs
index 3ac222b01..afd707ad8 100644
--- a/cli/module_loader.rs
+++ b/cli/module_loader.rs
@@ -35,7 +35,6 @@ use crate::util::text_encoding::code_without_source_map;
use crate::util::text_encoding::source_map_from_code;
use crate::worker::ModuleLoaderAndSourceMapGetter;
use crate::worker::ModuleLoaderFactory;
-
use deno_ast::MediaType;
use deno_core::anyhow::anyhow;
use deno_core::anyhow::bail;
@@ -64,6 +63,7 @@ use deno_graph::Module;
use deno_graph::ModuleGraph;
use deno_graph::Resolution;
use deno_runtime::code_cache;
+use deno_runtime::deno_node::create_host_defined_options;
use deno_runtime::deno_permissions::PermissionsContainer;
use deno_semver::npm::NpmPackageReqReference;
use node_resolver::NodeResolutionMode;
@@ -725,6 +725,19 @@ impl<TGraphContainer: ModuleGraphContainer> ModuleLoader
Ok(specifier)
}
+ fn get_host_defined_options<'s>(
+ &self,
+ scope: &mut deno_core::v8::HandleScope<'s>,
+ name: &str,
+ ) -> Option<deno_core::v8::Local<'s, deno_core::v8::Data>> {
+ let name = deno_core::ModuleSpecifier::parse(name).ok()?;
+ if self.0.shared.node_resolver.in_npm_package(&name) {
+ Some(create_host_defined_options(scope))
+ } else {
+ None
+ }
+ }
+
fn load(
&self,
specifier: &ModuleSpecifier,