mirror of
https://github.com/denoland/deno.git
synced 2025-08-04 19:08:15 +00:00
feat(npm): functionality to support child_process.fork (#15891)
This commit is contained in:
parent
23125b275f
commit
d677ba67f5
18 changed files with 232 additions and 21 deletions
|
@ -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<Extension> {
|
|||
|
||||
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<String, AnyError> {
|
||||
let proc_state = state.borrow_mut::<ProcState>();
|
||||
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())
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue