Files

138 lines
5.9 KiB
TOML

[package]
license.workspace = true
name = "moli-renderer-v8"
version = "0.1.0"
edition = "2024"
[features]
default = []
# Diagnostic-only page-created global snapshots. Core integration tests enable
# this through a dev-dependency; normal browser builds leave it compiled out.
test-support = []
# Test-harness only. Enables non-standard WPT WebDriver globals
# (`window.webdriver` / `window.WebDriver`) used by imported WPT tests.
# Keep disabled for normal browser builds so page scripts do not see this test surface.
wpt-extensions = []
[dependencies]
anyhow = "1.0.100"
app_units = "0.7.8"
base64 = "0.22"
brotlic = "0.8.2"
crossbeam-channel = "0.5.15"
cssparser = "0.37"
data-url = "0.3.2"
dom = { package = "stylo_dom", version = "0.20" }
encoding_rs = "0.8"
flate2 = { version = "1.1.9", default-features = false, features = ["zlib"] }
euclid = "0.22"
kurbo = "0.13.1"
futures-util = "0.3.31"
precomputed-hash = "0.1"
percent-encoding = "2.3"
selectors = "0.40"
stylo = "0.20"
stylo_static_prefs = "0.20"
moli-action-window = { path = "../moli-action-window" }
moli-broadcast-channel = { path = "../moli-broadcast-channel" }
moli-browser-profile = { path = "../moli-browser-profile" }
moli-crypto = { path = "../moli-crypto" }
moli-css-parse = { path = "../moli-css-parse" }
moli-dom = { path = "../moli-dom" }
moli-parser = { path = "../moli-parser" }
moli-page-types = { path = "../moli-page-types" }
moli-protocol-cdp = { path = "../moli-protocol-cdp" }
moli-selector = { path = "../moli-selector" }
moli-shared-worker = { path = "../moli-shared-worker" }
moli-storage-service = { path = "../moli-storage-service" }
moli-cookie-jar = { path = "../moli-cookie-jar" }
moli-canvas = { path = "../moli-canvas" }
moli-encoding = { path = "../moli-encoding" }
moli-encoding-detector = { path = "../moli-encoding-detector" }
moli-fetch = { path = "../moli-fetch" }
moli-file-api = { path = "../moli-file-api" }
moli-geometry = { path = "../moli-geometry" }
moli-http-cache = { path = "../moli-http-cache" }
moli-html2md = { path = "../moli-html2md" }
moli-image = { path = "../moli-image" }
moli-import-map = { path = "../moli-import-map" }
moli-indexeddb = { path = "../moli-indexeddb" }
moli-local-executor = { path = "../moli-local-executor" }
moli-layout = { path = "../moli-layout" }
moli-message-port = { path = "../moli-message-port" }
moli-multipart = { path = "../moli-multipart" }
moli-module-script-tree = { path = "../moli-module-script-tree" }
moli-module-syntax = { path = "../moli-module-syntax" }
moli-owner-queue = { path = "../moli-owner-queue" }
moli-paint = { path = "../moli-paint" }
moli-script = { path = "../moli-script" }
moli-stylesheet-blocking = { path = "../moli-stylesheet-blocking" }
moli-storage-key = { path = "../moli-storage-key" }
moli-streams = { path = "../moli-streams" }
moli-structured-clone = { path = "../moli-structured-clone" }
moli-svg = { path = "../moli-svg" }
moli-time = { path = "../moli-time" }
moli-trace = { path = "../moli-trace" }
moli-url = { path = "../moli-url" }
moli-url-policy = { path = "../moli-url-policy" }
moli-v8-init = { path = "../moli-v8-init" }
moli-v8-platform = { path = "../moli-v8-platform" }
moli-v8-util = { path = "../moli-v8-util" }
moli-web-errors = { path = "../moli-web-errors" }
moli-web-mime = { path = "../moli-web-mime" }
moli-webcrypto = { path = "../moli-webcrypto" }
moli-webapi-declare = { path = "../moli-webapi-declare" }
moli-webidl = { path = "../moli-webidl" }
moli-webidl-callback = { path = "../moli-webidl-callback" }
moli-window-features = { path = "../moli-window-features" }
moli-websocket = { path = "../moli-websocket" }
moli-xpath = { path = "../moli-xpath" }
curl = { version = "0.4.49", default-features = false, features = ["brotli", "http2", "poll_7_68_0", "ssl", "static-curl"] }
http = "1"
httpdate = "1.0.3"
html-escape = "0.2.13"
html5ever = "0.39.0"
indexmap = "2.6"
parking_lot = "0.12"
markup5ever = "0.39.0"
xml5ever = "0.39.0"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = { version = "1.0.145", features = ["raw_value"] }
serde_v8 = "=0.320.0"
strum = { version = "0.28.0", features = ["derive"] }
# Tokio >=1.53 releases a dropped mpsc receiver's waker even while context-wide
# senders remain (tokio-rs/tokio#8095). Older versions retain stopped renderer
# I/O drivers and leak an eventpoll/eventfd pair per closed target on Linux.
tokio = { version = "1.53.1", features = ["io-util", "macros", "net", "rt-multi-thread", "signal", "sync", "time"] }
tracing = "0.1.41"
url = "2.5.7"
uuid = { version = "1.23.1", default-features = false }
widestring = "1.2.1"
style_traits = { package = "stylo_traits", version = "0.20" }
xmlparser = "0.13.6"
typed-num = { version = "0.3.0", default-features = false, features = ["serde"] }
wasm_dep_analyzer = { git = "https://github.com/ldm0/wasm_dep_analyzer", branch = "moli0" }
# rusty_v8 publishes pointer-compressed archives for these targets. Those
# archives also provide the process-wide PartitionAlloc allocator shim.
[target.'cfg(any(all(target_os = "linux", target_env = "gnu", target_arch = "x86_64"), all(target_os = "macos", any(target_arch = "x86_64", target_arch = "aarch64"))))'.dependencies]
v8 = { version = "152.2.0", features = ["v8_enable_pointer_compression"] }
# Keep the upstream V8 configuration on targets without an official
# pointer-compressed archive.
[target.'cfg(not(any(all(target_os = "linux", target_env = "gnu", target_arch = "x86_64"), all(target_os = "macos", any(target_arch = "x86_64", target_arch = "aarch64")))))'.dependencies]
v8 = "152.2.0"
[dev-dependencies]
fastrand = "2.3.0"
moli-fetch = { path = "../moli-fetch", features = ["test-support"] }
moli-parser = { path = "../moli-parser", features = ["test-support"] }
moli-page-types = { path = "../moli-page-types", features = ["test-support"] }
moli-v8-test-util = { path = "../moli-v8-test-util" }
moli-websocket = { path = "../moli-websocket", features = ["test-support"] }
png = "0.18"
wuff = "0.2.9"
[lints]
workspace = true