ruffle/web/Cargo.toml

69 lines
2.5 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
[lib]
crate-type = ["cdylib", "rlib"]
[features]
default = ["canvas", "console_error_panic_hook", "webgl", "wgpu-webgl"]
# core features
avm_debug = ["ruffle_core/avm_debug"]
lzma = ["ruffle_core/lzma"]
# 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 }
generational-arena = "0.2.9"
js-sys = "0.3.64"
tracing = { workspace = true, features = ["log"] }
tracing-subscriber = { version = "0.3.17", default-features = false, features = ["registry"] }
tracing-log = "0.1.3"
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 = "2.4.0"
wasm-bindgen = "=0.2.87"
wasm-bindgen-futures = "0.4.37"
serde-wasm-bindgen = "0.5.0"
chrono = { version = "0.4", default-features = false, features = ["wasmbind", "clock"] }
getrandom = { version = "0.2", features = ["js"] }
serde = { version = "1.0.188", features = ["derive"] }
thiserror = "1.0"
base64 = "0.21.3"
async-channel = "1.9.0"
[dependencies.ruffle_core]
path = "../core"
default-features = false
features = ["audio", "mp3", "nellymoser", "wasm-bindgen", "default", "default_compatibility_rules"]
[dependencies.web-sys]
version = "0.3.64"
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",
]