ruffle/web/Cargo.toml

85 lines
3.0 KiB
TOML

[package]
name = "ruffle_web"
description = "Web (WASM) bindings to the Ruffle flash player"
authors.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
version.workspace = true
publish = false # This crate is useless alone, people should use the npm package
[lints]
workspace = true
[lib]
crate-type = ["cdylib", "rlib"]
[features]
default = ["canvas", "console_error_panic_hook", "webgl", "wgpu-webgl", "webgpu"]
# core features
avm_debug = ["ruffle_core/avm_debug"]
lzma = ["ruffle_core/lzma"]
jpegxr = ["ruffle_core/jpegxr"]
# web features
canvas = ["ruffle_render_canvas"]
webgl = ["ruffle_render_webgl"]
webgpu = ["ruffle_render_wgpu"]
wgpu-webgl = ["ruffle_render_wgpu", "ruffle_render_wgpu/webgl"]
profiling = []
[dependencies]
console_error_panic_hook = { version = "0.1.7", optional = true }
slotmap = { workspace = true }
js-sys = { workspace = true }
tracing = { workspace = true, features = ["log"] }
tracing-subscriber = { version = "0.3.18", default-features = false, features = ["registry"] }
tracing-log = "0.2.0"
tracing-wasm = "0.2.1"
ruffle_render_canvas = { path = "../render/canvas", optional = true }
ruffle_web_common = { path = "common" }
ruffle_render = { path = "../render" }
ruffle_render_webgl = { path = "../render/webgl", optional = true }
ruffle_render_wgpu = { path = "../render/wgpu", optional = true }
ruffle_video_software = { path = "../video/software" }
url = { workspace = true }
wasm-bindgen = { workspace = true }
wasm-bindgen-futures = "0.4.43"
serde-wasm-bindgen = "0.6.5"
chrono = { workspace = true, features = ["wasmbind", "clock"] }
getrandom = { version = "0.2", features = ["js"] }
serde = { workspace = true, features = ["derive"] }
thiserror = { workspace = true }
base64 = "0.22.0"
async-channel = { workspace = true }
futures-util = { version = "0.3.30", features = ["sink"] }
gloo-net = { version = "0.6.0", default-features = false, features = ["websocket"] }
rfd = { workspace = true, features = ["file-handle-inner"] }
wasm-streams = "0.4.0"
futures = { workspace = true }
zip = { version = "2.2.0", default-features = false}
[dependencies.ruffle_core]
path = "../core"
features = ["audio", "mp3", "nellymoser", "default_compatibility_rules", "default_font", "serde"]
[dependencies.web-sys]
version = "0.3.70"
features = [
"AddEventListenerOptions", "AudioBuffer", "AudioBufferSourceNode", "AudioContext",
"AudioDestinationNode", "AudioNode", "AudioParam", "Blob", "BlobPropertyBag",
"ChannelMergerNode", "ChannelSplitterNode", "ClipboardEvent", "DataTransfer", "Element", "Event",
"EventTarget", "GainNode", "Headers", "HtmlCanvasElement", "HtmlDocument", "HtmlElement", "HtmlFormElement",
"HtmlInputElement", "HtmlTextAreaElement", "KeyboardEvent", "Location", "PointerEvent",
"Request", "RequestInit", "Response", "Storage", "WheelEvent", "Window", "ReadableStream", "RequestCredentials",
"Url", "Clipboard", "FocusEvent"
]
[package.metadata.cargo-machete]
ignored = [
# Not used directly, declared only to enable its `js` feature.
"getrandom"
]