[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"] 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 } generational-arena = "0.2.9" js-sys = "0.3.66" 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 = "2.5.0" wasm-bindgen = "=0.2.89" wasm-bindgen-futures = "0.4.39" serde-wasm-bindgen = "0.6.1" chrono = { version = "0.4", default-features = false, features = ["wasmbind", "clock"] } getrandom = { version = "0.2", features = ["js"] } serde = { version = "1.0.193", features = ["derive"] } thiserror = "1.0" base64 = "0.21.5" async-channel = "2.1.1" futures-util = { version = "0.3.29", features = ["sink"] } gloo-net = { version = "0.4.0", default-features = false, features = ["websocket"] } #TODO: change when fix released rfd = { version = "0.12.1", features = ["file-handle-inner"] } [dependencies.ruffle_core] path = "../core" features = ["audio", "mp3", "nellymoser", "default_compatibility_rules", "default_font"] [dependencies.web-sys] version = "0.3.66" 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", "RequestCredentials" ]