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 | |
| 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')
| -rw-r--r-- | cli/module_loader.rs | 15 | ||||
| -rw-r--r-- | cli/standalone/mod.rs | 14 |
2 files changed, 28 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, diff --git a/cli/standalone/mod.rs b/cli/standalone/mod.rs index 1538807f1..afacacc1f 100644 --- a/cli/standalone/mod.rs +++ b/cli/standalone/mod.rs @@ -25,6 +25,7 @@ use deno_core::ResolutionKind; use deno_npm::npm_rc::ResolvedNpmRc; use deno_package_json::PackageJsonDepValue; use deno_runtime::deno_fs; +use deno_runtime::deno_node::create_host_defined_options; use deno_runtime::deno_node::NodeResolver; use deno_runtime::deno_permissions::Permissions; use deno_runtime::deno_permissions::PermissionsContainer; @@ -267,6 +268,19 @@ impl ModuleLoader for EmbeddedModuleLoader { } } + 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.shared.node_resolver.in_npm_package(&name) { + Some(create_host_defined_options(scope)) + } else { + None + } + } + fn load( &self, original_specifier: &ModuleSpecifier, |
