[package]
edition = "2021"
name = "ferrijs-std"
version = "0.2.0"
authors = ["Salama Ashoush <salamaashoush@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Node and web standard library for the ferrijs QuickJS runtime: WHATWG Streams, Events, AbortController, Buffer, crypto, fs, os, url, zlib and the capability model they enforce (partly derived from awslabs/llrt, Apache-2.0)."
homepage = "https://github.com/salamaashoush/ferrijs"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/salamaashoush/ferrijs"
[features]
_modern-webcrypto = []
_rustcrypto = ["_subtle-full"]
_subtle-full = []
brotli-c = ["brotlic"]
brotli-rust = ["brotli"]
bytearray-buffer = []
crypto-rust = [
"_rustcrypto",
"_modern-webcrypto",
]
default = [
"fs",
"sleep-tokio",
"system",
"statistics",
"network",
"crypto-rust",
"brotli-rust",
"flate2-rust",
"zstd-c",
]
flate2-c = ["flate2/zlib-ng"]
flate2-rust = ["flate2/rust_backend"]
fs = []
network = [
"sysinfo/network",
"system",
]
sleep-tokio = []
statistics = ["system"]
system = ["sysinfo/system"]
zstd-c = ["zstd"]
zstd-rust = ["zstd"]
[lib]
name = "ferrijs_std"
path = "src/lib.rs"
[dependencies.aes]
version = "0.9"
[dependencies.aes-gcm]
version = "0.11"
features = [
"alloc",
"aes",
"hazmat",
]
default-features = false
[dependencies.aes-kw]
version = "0.3"
features = ["oid"]
default-features = false
[dependencies.base64]
version = "0.23"
[dependencies.base64-simd]
version = "0.8"
features = ["alloc"]
default-features = false
[dependencies.brotli]
version = "9"
features = ["std"]
optional = true
default-features = false
[dependencies.brotlic]
version = "0.8"
optional = true
default-features = false
[dependencies.cbc]
version = "0.2"
features = ["alloc"]
[dependencies.chacha20poly1305]
version = "0.11"
features = ["alloc"]
default-features = false
[dependencies.const-oid]
version = "0.10"
features = ["db"]
default-features = false
[dependencies.crc32c]
version = "0.6"
default-features = false
[dependencies.crc32fast]
version = "1"
default-features = false
[dependencies.cshake]
version = "0.2"
features = ["alloc"]
default-features = false
[dependencies.ctr]
version = "0.10"
default-features = false
[dependencies.ctutils]
version = "0.4"
default-features = false
[dependencies.der]
version = "0.8"
features = [
"derive",
"alloc",
]
default-features = false
[dependencies.ecdsa]
version = "0.17"
default-features = false
[dependencies.ed25519-dalek]
version = "3.0.0"
features = [
"alloc",
"pkcs8",
"rand_core",
]
default-features = false
[dependencies.either]
version = "1"
[dependencies.elliptic-curve]
version = "0.14"
features = [
"alloc",
"sec1",
]
default-features = false
[dependencies.ferrijs-permissions]
version = "0.2.0"
[dependencies.flate2]
version = "1"
[dependencies.half]
version = "2"
default-features = false
[dependencies.hex-simd]
version = "0.8"
features = ["alloc"]
default-features = false
[dependencies.hkdf]
version = "0.13"
default-features = false
[dependencies.hmac]
version = "0.13"
default-features = false
[dependencies.home]
version = "0.5"
default-features = false
[dependencies.itoa]
version = "1"
default-features = false
[dependencies.keccak]
version = "0.2"
default-features = false
[dependencies.md-5]
version = "0.11"
features = [
"alloc",
"oid",
]
default-features = false
[dependencies.memchr]
version = "2"
[dependencies.ml-dsa]
version = "0.1"
features = [
"alloc",
"pkcs8",
"rand_core",
]
default-features = false
[dependencies.ml-kem]
version = "0.3"
features = [
"alloc",
"pkcs8",
]
default-features = false
[dependencies.num_cpus]
version = "1"
default-features = false
[dependencies.once_cell]
version = "1"
features = ["std"]
default-features = false
[dependencies.p256]
version = "0.14"
features = [
"alloc",
"ecdh",
"ecdsa",
"pkcs8",
]
default-features = false
[dependencies.p384]
version = "0.14.0"
features = [
"alloc",
"ecdh",
"ecdsa",
"pkcs8",
]
default-features = false
[dependencies.p521]
version = "0.14.0"
features = [
"ecdh",
"ecdsa",
"pkcs8",
]
default-features = false
[dependencies.pbkdf2]
version = "0.13"
default-features = false
[dependencies.percent-encoding]
version = "2"
features = ["std"]
default-features = false
[dependencies.phf]
version = "0.14"
features = ["macros"]
default-features = false
[dependencies.pkcs8]
version = "0.11"
features = ["alloc"]
default-features = false
[dependencies.rand]
version = "0.10"
features = [
"std",
"std_rng",
"thread_rng",
]
default-features = false
[dependencies.rquickjs]
version = "0.13"
features = [
"full-async",
"parallel",
"macro",
"loader",
"array-buffer",
"half",
"either",
"bytes",
]
[dependencies.rsa]
version = "0.10.0-rc.18"
features = [
"std",
"sha2",
"encoding",
]
default-features = false
[dependencies.ryu]
version = "1"
default-features = false
[dependencies.sha1]
version = "0.11"
features = [
"alloc",
"oid",
]
default-features = false
[dependencies.sha2]
version = "0.11"
features = [
"alloc",
"oid",
]
default-features = false
[dependencies.sha3]
version = "0.12"
default-features = false
[dependencies.shake]
version = "0.1"
default-features = false
[dependencies.simd-json]
version = "0.18"
features = ["big-int-as-float"]
default-features = false
[dependencies.simdutf8]
version = "0.1"
features = [
"std",
"aarch64_neon",
]
[dependencies.spki]
version = "0.8"
features = ["alloc"]
default-features = false
[dependencies.sponge-cursor]
version = "0.1"
default-features = false
[dependencies.sysinfo]
version = "0.39"
optional = true
default-features = false
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2"
features = ["std"]
default-features = false
[dependencies.x25519-dalek]
version = "3.0.0"
features = [
"static_secrets",
"zeroize",
]
default-features = false
[dependencies.zstd]
version = "0.14"
optional = true
default-features = false
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"full",
"test-util",
]
[dev-dependencies.uuid]
version = "1"
features = ["v4"]
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[lints.clippy.correctness]
level = "deny"
priority = -1
[lints.clippy.perf]
level = "deny"
priority = -1
[lints.clippy.suspicious]
level = "deny"
priority = -1
[lints.rust]
unsafe_code = "allow"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
'cfg(feature, values("sleep-timers"))',
"cfg(nightly)",
"cfg(rust_nightly)",
'cfg(feature, values("crypto-openssl", "crypto-ring", "crypto-ring-rust", "crypto-graviola", "crypto-graviola-rust", "llrt_json"))',
]