summaryrefslogtreecommitdiff
path: root/cli/worker.rs
diff options
context:
space:
mode:
authorNathan Whitaker <17734409+nathanwhit@users.noreply.github.com>2024-09-27 12:35:37 -0700
committerGitHub <noreply@github.com>2024-09-27 12:35:37 -0700
commitfbddd5a2ebfb11dd376a751e9fc4cf09a6286ada (patch)
tree75c13ee9f26f61fe8c1d6f80df2580a523177c1b /cli/worker.rs
parenta8d1ab52761516b7f9b6069d6e433254794ed48c (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 'cli/worker.rs')
-rw-r--r--cli/worker.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/cli/worker.rs b/cli/worker.rs
index 861419f1e..c355d18bd 100644
--- a/cli/worker.rs
+++ b/cli/worker.rs
@@ -29,6 +29,7 @@ use deno_runtime::deno_tls::RootCertStoreProvider;
use deno_runtime::deno_web::BlobStore;
use deno_runtime::fmt_errors::format_js_error;
use deno_runtime::inspector_server::InspectorServer;
+use deno_runtime::ops::process::NpmProcessStateProviderRc;
use deno_runtime::ops::worker_host::CreateWebWorkerCb;
use deno_runtime::permissions::RuntimePermissionDescriptorParser;
use deno_runtime::web_worker::WebWorker;
@@ -147,13 +148,13 @@ impl SharedWorkerState {
NodeExtInitServices {
node_require_resolver: self.npm_resolver.clone().into_require_resolver(),
node_resolver: self.node_resolver.clone(),
- npm_process_state_provider: self
- .npm_resolver
- .clone()
- .into_process_state_provider(),
npm_resolver: self.npm_resolver.clone().into_npm_resolver(),
}
}
+
+ pub fn npm_process_state_provider(&self) -> NpmProcessStateProviderRc {
+ self.npm_resolver.clone().into_process_state_provider()
+ }
}
pub struct CliMainWorker {
@@ -614,6 +615,7 @@ impl CliMainWorkerFactory {
module_loader,
fs: shared.fs.clone(),
node_services: Some(shared.create_node_init_services()),
+ npm_process_state_provider: Some(shared.npm_process_state_provider()),
get_error_class_fn: Some(&errors::get_error_class_name),
cache_storage_dir,
origin_storage_dir,
@@ -820,6 +822,7 @@ fn create_web_worker_callback(
strace_ops: shared.options.strace_ops.clone(),
close_on_idle: args.close_on_idle,
maybe_worker_metadata: args.maybe_worker_metadata,
+ npm_process_state_provider: Some(shared.npm_process_state_provider()),
};
WebWorker::bootstrap_from_options(