diff options
author | Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com> | 2024-09-27 12:35:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-27 12:35:37 -0700 |
commit | fbddd5a2ebfb11dd376a751e9fc4cf09a6286ada (patch) | |
tree | 75c13ee9f26f61fe8c1d6f80df2580a523177c1b /runtime/worker.rs | |
parent | a8d1ab52761516b7f9b6069d6e433254794ed48c (diff) |
fix(node): Pass NPM_PROCESS_STATE to subprocesses via temp file instead of env var (#25896)
Fixes https://github.com/denoland/deno/issues/25401. Fixes
https://github.com/denoland/deno/issues/25841. Fixes
https://github.com/denoland/deno/issues/25891.
Diffstat (limited to 'runtime/worker.rs')
-rw-r--r-- | runtime/worker.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/runtime/worker.rs b/runtime/worker.rs index 3d8c8a0b9..f72e6d7c0 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -49,6 +49,7 @@ use crate::code_cache::CodeCache; use crate::code_cache::CodeCacheType; use crate::inspector_server::InspectorServer; use crate::ops; +use crate::ops::process::NpmProcessStateProviderRc; use crate::permissions::RuntimePermissionDescriptorParser; use crate::shared::maybe_transpile_source; use crate::shared::runtime; @@ -158,6 +159,7 @@ pub struct WorkerOptions { /// executed tries to load modules. pub module_loader: Rc<dyn ModuleLoader>, pub node_services: Option<NodeExtInitServices>, + pub npm_process_state_provider: Option<NpmProcessStateProviderRc>, pub permission_desc_parser: Arc<dyn deno_permissions::PermissionDescriptorParser>, // Callbacks invoked when creating new instance of WebWorker @@ -235,6 +237,7 @@ impl Default for WorkerOptions { extensions: Default::default(), startup_snapshot: Default::default(), create_params: Default::default(), + npm_process_state_provider: Default::default(), bootstrap: Default::default(), stdio: Default::default(), feature_checker: Default::default(), @@ -437,7 +440,9 @@ impl MainWorker { ops::permissions::deno_permissions::init_ops_and_esm( options.permission_desc_parser, ), - ops::process::deno_process::init_ops_and_esm(), + ops::process::deno_process::init_ops_and_esm( + options.npm_process_state_provider, + ), ops::signal::deno_signal::init_ops_and_esm(), ops::tty::deno_tty::init_ops_and_esm(), ops::http::deno_http_runtime::init_ops_and_esm(), |