# Copyright 2018-2025 the Deno authors. MIT license.

[package]
name = "deno_webgpu"
version = "0.157.0"
authors = ["the Deno authors"]
edition.workspace = true
license = "MIT"
readme = "README.md"
repository = "https://github.com/gfx-rs/wgpu"
description = "WebGPU implementation for Deno"

[lib]
path = "lib.rs"

# We make all dependencies conditional on not being wasm,
# so the whole workspace can built as wasm.
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
wgpu-core = { workspace = true, features = [
    "raw-window-handle",
    "trace",
    "replay",
    "serde",
    "strict_asserts",
    "wgsl",
    "gles",
] }
wgpu-types = { workspace = true, features = ["serde"] }

deno_core.workspace = true
deno_error.workspace = true
serde = { workspace = true, features = ["derive"] }
tokio = { workspace = true, features = ["full"] }
raw-window-handle = { workspace = true }
thiserror.workspace = true
indexmap.workspace = true
serde_json.workspace = true
deno_unsync.workspace = true

# Apple Platforms
#
# We want the Metal backend.
[target.'cfg(target_vendor = "apple")'.dependencies]
wgpu-core = { workspace = true, features = ["metal"] }

# Windows
#
# We want the DX12 backend.
[target.'cfg(windows)'.dependencies]
wgpu-core = { workspace = true, features = ["dx12"] }

# Windows and Unix (not Emscripten)
#
# We want the Vulkan backend.
[target.'cfg(any(windows, all(unix, not(target_os = "emscripten"))))'.dependencies]
wgpu-core = { workspace = true, features = ["vulkan"] }
