diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-04-24 19:44:35 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-24 19:44:35 -0400 |
commit | aa286fdecb15461ef8ddd4c372f5a13e01e1cb7b (patch) | |
tree | 47ddc4e428b650fae536c3c1eb73ae5a64c4fe6a /runtime/worker.rs | |
parent | bb74e75a049768c2949aa08de6752a16813b97de (diff) |
refactor(ext/node): allow injecting `NodeFs` from CLI (#18829)
This allows providing a `NodeFs` as part of the `WorkerOptions`.
Diffstat (limited to 'runtime/worker.rs')
-rw-r--r-- | runtime/worker.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/runtime/worker.rs b/runtime/worker.rs index 5cd60604d..56684e992 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -33,7 +33,6 @@ use deno_core::SourceMapGetter; use deno_fs::StdFs; use deno_io::Stdio; use deno_kv::sqlite::SqliteDbHandler; -use deno_node::NpmResolver; use deno_tls::rustls::RootCertStore; use deno_web::BlobStore; use log::debug; @@ -94,7 +93,8 @@ pub struct WorkerOptions { /// If not provided runtime will error if code being /// executed tries to load modules. pub module_loader: Rc<dyn ModuleLoader>, - pub npm_resolver: Option<Rc<dyn NpmResolver>>, + pub node_fs: Option<Arc<dyn deno_node::NodeFs>>, + pub npm_resolver: Option<Arc<dyn deno_node::NpmResolver>>, // Callbacks invoked when creating new instance of WebWorker pub create_web_worker_cb: Arc<ops::worker_host::CreateWebWorkerCb>, pub web_worker_preload_module_cb: Arc<ops::worker_host::WorkerEventCb>, @@ -164,6 +164,7 @@ impl Default for WorkerOptions { broadcast_channel: Default::default(), source_map_getter: Default::default(), root_cert_store: Default::default(), + node_fs: Default::default(), npm_resolver: Default::default(), blob_store: Default::default(), extensions: Default::default(), @@ -268,6 +269,7 @@ impl MainWorker { deno_fs::deno_fs::init_ops::<_, PermissionsContainer>(unstable, StdFs), deno_node::deno_node::init_ops::<crate::RuntimeNodeEnv>( options.npm_resolver, + options.node_fs, ), // Ops from this crate ops::runtime::deno_runtime::init_ops(main_module.clone()), |