wasmer 2.3.0

High-performance WebAssembly runtime
Documentation
[package]
name = "wasmer"
version = "2.3.0"
description = "High-performance WebAssembly runtime"
categories = ["wasm"]
keywords = ["wasm", "webassembly", "runtime", "vm"]
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]
repository = "https://github.com/wasmerio/wasmer"
license = "MIT"
readme = "README.md"
edition = "2018"

#####
# This crate comes in 2 major flavors:
#
# - `sys`, where `wasmer` will be compiled to a native executable
#    which provides compilers, engines, a full VM etc.
# - `js`, where `wasmer` will be compiled to WebAssembly to run in a
#   JavaScript host.
#####

# Shared dependencies.
[dependencies]
# - Mandatory shared dependencies.
wasmer-artifact = { path = "../artifact", version = "=2.3.0" }
indexmap = { version = "1.6", features = ["serde-1"] }
cfg-if = "1.0"
thiserror = "1.0"
more-asserts = "0.2"
# - Optional shared dependencies.
wat = { version = "1.0", optional = true }

# Dependencies and Development Dependencies for `sys`.
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
# - Mandatory dependencies for `sys`.
wasmer-vm = { path = "../vm", version = "=2.3.0" }
wasmer-compiler = { path = "../compiler", version = "=2.3.0" }
wasmer-derive = { path = "../derive", version = "=2.3.0" }
wasmer-engine = { path = "../engine", version = "=2.3.0" }
wasmer-types = { path = "../types", version = "=2.3.0" }
target-lexicon = { version = "0.12.2", default-features = false }
loupe = "0.1"
# - Optional dependencies for `sys`.
wasmer-compiler-singlepass = { path = "../compiler-singlepass", version = "=2.3.0", optional = true }
wasmer-compiler-cranelift = { path = "../compiler-cranelift", version = "=2.3.0", optional = true }
wasmer-compiler-llvm = { path = "../compiler-llvm", version = "=2.3.0", optional = true }
wasmer-engine-universal = { path = "../engine-universal", version = "=2.3.0", optional = true }
wasmer-engine-dylib = { path = "../engine-dylib", version = "=2.3.0", optional = true }
# - Mandatory dependencies for `sys` on Windows.
[target.'cfg(all(not(target_arch = "wasm32"), target_os = "windows"))'.dependencies]
winapi = "0.3"
# - Development Dependencies for `sys`.
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
wat = "1.0"
tempfile = "3.1"
anyhow = "1.0"

# Dependencies and Develoment Dependencies for `js`.
[target.'cfg(target_arch = "wasm32")'.dependencies]
# - Mandatory dependencies for `js`.
wasmer-types = { path = "../types", version = "=2.3.0", default-features = false, features = ["std"] }
wasm-bindgen = "0.2.74"
js-sys = "0.3.51"
wasmer-derive = { path = "../derive", version = "=2.3.0" }
# - Optional dependencies for `js`.
wasmparser = { version = "0.83", default-features = false, optional = true }
hashbrown = { version = "0.11", optional = true }
# - Development Dependencies for `js`.
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wat = "1.0"
anyhow = "1.0"
wasm-bindgen-test = "0.3.0"

# Specific to `js`.
#
# `wasm-opt` is on by default in for the release profile, but it can be
# disabled by setting it to `false`
[package.metadata.wasm-pack.profile.release]
wasm-opt = false

[badges]
maintenance = { status = "actively-developed" }

[features]
default = ["sys-default"]
std = []
core = ["hashbrown"]

# Features for `sys`.
sys = []
sys-default = ["sys", "wat", "default-cranelift", "default-universal"]
# - Compilers.
compiler = [
    "sys",
    "wasmer-compiler/translator",
    "wasmer-engine-universal/compiler",
    "wasmer-engine-dylib/compiler",
]
    singlepass = [
        "compiler",
        "wasmer-compiler-singlepass",
    ]
    cranelift = [
        "compiler",
        "wasmer-compiler-cranelift",
    ]
    llvm = [
        "compiler",
        "wasmer-compiler-llvm",
    ]
default-compiler = []
    default-singlepass = [
        "default-compiler",
        "singlepass",
    ]
    default-cranelift = [
        "default-compiler",
        "cranelift",
    ]
    default-llvm = [
        "default-compiler",
        "llvm",
    ]
# - Engines.
engine = ["sys"]
    universal = [
        "engine",
        "wasmer-engine-universal",
    ]
    dylib = [
        "engine",
        "wasmer-engine-dylib",
    ]
default-engine = []
    default-universal = [
        "default-engine",
        "universal",
    ]
    default-dylib = [
        "default-engine",
        "dylib",
    ]
# - Experimental / in-development features
experimental-reference-types-extern-ref = [
    "sys",
    "wasmer-types/experimental-reference-types-extern-ref",
]
# - Deprecated features.
jit = ["universal"]
native = ["dylib"]

# Features for `js`.
js = []
js-default = ["js", "std", "wasm-types-polyfill"]

wasm-types-polyfill = ["js", "wasmparser"]

js-serializable-module = []

[package.metadata.docs.rs]
features = ["compiler", "core", "cranelift", "default-compiler", "default-dylib", "default-engine", "dylib", "engine", "jit", "native", "singlepass", "sys", "sys-default", "universal"]