From d677ba67f50e5edb0491d8ed1e4171473d662081 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 28 Sep 2022 13:04:16 -0400 Subject: feat(npm): functionality to support child_process.fork (#15891) --- cli/ops/mod.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'cli/ops/mod.rs') diff --git a/cli/ops/mod.rs b/cli/ops/mod.rs index 98029ab44..df3331353 100644 --- a/cli/ops/mod.rs +++ b/cli/ops/mod.rs @@ -1,7 +1,11 @@ // Copyright 2018-2022 the Deno authors. All rights reserved. MIT license. use crate::proc_state::ProcState; +use deno_core::anyhow::bail; +use deno_core::error::AnyError; +use deno_core::op; use deno_core::Extension; +use deno_core::OpState; pub mod bench; pub mod testing; @@ -12,9 +16,21 @@ pub fn cli_exts(ps: ProcState) -> Vec { fn init_proc_state(ps: ProcState) -> Extension { Extension::builder() + .ops(vec![op_npm_process_state::decl()]) .state(move |state| { state.put(ps.clone()); Ok(()) }) .build() } + +#[op] +fn op_npm_process_state(state: &mut OpState) -> Result { + let proc_state = state.borrow_mut::(); + if !proc_state.options.unstable() { + bail!( + "Unstable use of npm process state. The --unstable flag must be provided." + ) + } + Ok(proc_state.npm_resolver.get_npm_process_state()) +} -- cgit v1.2.3