diff options
author | snek <snek@deno.com> | 2024-07-31 16:22:34 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-31 23:22:34 +0000 |
commit | f57745fe2106a4d26dd2209e1b2cacb2d6430245 (patch) | |
tree | f3ea0c476940b296ec3cc507adca05088ed947be /cli/module_loader.rs | |
parent | fbcd250bc8ffb3b577afca7131d1d37f55eb47a2 (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.rs | 15 |
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, |