summaryrefslogtreecommitdiff
path: root/cli/module_loader.rs
diff options
context:
space:
mode:
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,