summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/module_loader.rs15
-rw-r--r--cli/standalone/mod.rs14
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,