mirror of
https://github.com/denoland/deno.git
synced 2025-01-03 04:48:52 -05:00
cd59fc53a5
Fixes https://github.com/denoland/deno/issues/24756. Fixes https://github.com/denoland/deno/issues/24796. This also gets vitest working when using [`--pool=forks`](https://vitest.dev/guide/improving-performance#pool) (which is the default as of vitest 2.0). Ref https://github.com/denoland/deno/issues/23882. --- This PR resolves a handful of issues with child_process IPC. In particular: - We didn't support sending typed array views over IPC - Opening an IPC channel resulted in the event loop never exiting - Sending a `null` over IPC would terminate the channel - There was some UB in the read implementation (transmuting an `&[u8]` to `&mut [u8]`) - The `send` method wasn't returning anything, so there was no way to signal backpressure (this also resulted in the benchmark `child_process_ipc.mjs` being misleading, as it tried to respect backpressure. That gave node much worse results at larger message sizes, and gave us much worse results at smaller message sizes). - We weren't setting up the `channel` property on the `process` global (or on the `ChildProcess` object), and also didn't have a way to ref/unref the channel - Calling `kill` multiple times (or disconnecting the channel, then calling kill) would throw an error - Node couldn't spawn a deno subprocess and communicate with it over IPC
97 lines
2.3 KiB
TOML
97 lines
2.3 KiB
TOML
# Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
|
|
[package]
|
|
name = "deno_node"
|
|
version = "0.100.0"
|
|
authors.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
readme = "README.md"
|
|
repository.workspace = true
|
|
description = "Node compatibility for Deno"
|
|
|
|
[lib]
|
|
path = "lib.rs"
|
|
|
|
[features]
|
|
sync_fs = ["deno_package_json/sync", "node_resolver/sync"]
|
|
|
|
[dependencies]
|
|
aead-gcm-stream = "0.1"
|
|
aes.workspace = true
|
|
async-trait.workspace = true
|
|
blake2 = "0.10.6"
|
|
brotli.workspace = true
|
|
bytes.workspace = true
|
|
cbc.workspace = true
|
|
const-oid = "0.9.5"
|
|
data-encoding.workspace = true
|
|
deno_core.workspace = true
|
|
deno_fetch.workspace = true
|
|
deno_fs.workspace = true
|
|
deno_io.workspace = true
|
|
deno_media_type.workspace = true
|
|
deno_net.workspace = true
|
|
deno_package_json.workspace = true
|
|
deno_permissions.workspace = true
|
|
deno_whoami = "0.1.0"
|
|
digest = { version = "0.10.5", features = ["core-api", "std"] }
|
|
dsa = "0.6.1"
|
|
ecb.workspace = true
|
|
elliptic-curve.workspace = true
|
|
errno = "0.2.8"
|
|
faster-hex.workspace = true
|
|
h2.workspace = true
|
|
hkdf.workspace = true
|
|
home = "0.5.9"
|
|
http.workspace = true
|
|
http-body-util.workspace = true
|
|
hyper.workspace = true
|
|
hyper-util.workspace = true
|
|
idna = "0.3.0"
|
|
indexmap.workspace = true
|
|
ipnetwork = "0.20.0"
|
|
k256 = "0.13.1"
|
|
lazy-regex.workspace = true
|
|
libc.workspace = true
|
|
libz-sys.workspace = true
|
|
md-5 = { version = "0.10.5", features = ["oid"] }
|
|
md4 = "0.10.2"
|
|
memchr = "2.7.4"
|
|
node_resolver.workspace = true
|
|
num-bigint.workspace = true
|
|
num-bigint-dig = "0.8.2"
|
|
num-integer = "0.1.45"
|
|
num-traits = "0.2.14"
|
|
once_cell.workspace = true
|
|
p224.workspace = true
|
|
p256.workspace = true
|
|
p384.workspace = true
|
|
path-clean = "=0.1.0"
|
|
pbkdf2 = "0.12.1"
|
|
pin-project-lite = "0.2.13"
|
|
rand.workspace = true
|
|
regex.workspace = true
|
|
ring.workspace = true
|
|
ripemd = { version = "0.1.3", features = ["oid"] }
|
|
rsa.workspace = true
|
|
scrypt = "0.11.0"
|
|
sec1 = "0.7"
|
|
serde = "1.0.149"
|
|
sha1.workspace = true
|
|
sha2.workspace = true
|
|
sha3 = { version = "0.10.8", features = ["oid"] }
|
|
signature.workspace = true
|
|
simd-json = "0.13.4"
|
|
sm3 = "0.4.2"
|
|
spki.workspace = true
|
|
thiserror.workspace = true
|
|
tokio.workspace = true
|
|
url.workspace = true
|
|
winapi.workspace = true
|
|
x25519-dalek = "2.0.0"
|
|
x509-parser = "0.15.0"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows-sys.workspace = true
|
|
winapi = { workspace = true, features = ["consoleapi"] }
|