golem-wasm-ast 1.1.26

WASM AST
[package]
name = "golem-wasm-ast"
version = "1.1.26"
edition = "2021"
license = "Apache-2.0"
homepage = "https://golem.cloud"
repository = "https://github.com/golemcloud/golem/"
description = "WASM AST"

[dependencies]
bincode = { workspace = true, optional = true }
bincode_derive = { workspace = true, optional = true }
itertools = { workspace = true }
leb128 = { version = "0.2.5", optional = true }
mappable-rc = "0.1.1"
poem-openapi = { workspace = true, optional = true }
poem-openapi-derive = { workspace = true, optional = true }
prost = { workspace = true, optional = true }
serde = { workspace = true, optional = true, features = ["derive"] }
serde_json = { workspace = true, optional = true }
wasmparser = { version = "0.219.1", optional = true }
wasm-encoder = { version = "0.219.1", optional = true }
wasm-metadata = { version = "0.219.1", optional = true }
wasm-wave = { workspace = true, optional = true }
wit-parser = { version = "0.219.1", optional = true }

[dev-dependencies]
colored-diff = "0.2.3"
pretty_assertions = "1.4.1"
test-r = { workspace = true }
wasmprinter = "0.219.1"

[build-dependencies]
prost-build = "0.13.5"

[features]
default = [
    "parser",
    "wit-parser",
    "writer",
    "component",
    "metadata",
    "analysis",
    "wave",
    "json",
    "bincode",
    "poem_openapi",
    "protobuf",
]

# Support building up the WASM AST by parsing a binary WASM module or component using the wasmparser library
parser = ["dep:wasmparser", "dep:leb128"]

# Support building up AnalyzedTypes from WIT definitions.
wit-parser = ["dep:wit-parser"]

# Support writing out a binary WASM module or component using the wasm-encoder library
writer = ["dep:wasm-encoder"]

# Support for the WASM component model
component = []

# Support for extracting producer and other metadata from a binary WASM module or component using the wasm-metadata library
metadata = ["dep:wasm-metadata"]

# Enables some higher level analysis features built on top of the WASM AST
analysis = ["component"]

# Wave format representation
wave = ["dep:wasm-wave"]

# Bincode serialization for analysis output
bincode = ["dep:bincode", "dep:bincode_derive"]

# Serde JSON serialization for analysis output
json = ["dep:serde", "dep:serde_json"]

# poem-openapi instances for analysis output
poem_openapi = ["json", "dep:poem-openapi", "dep:poem-openapi-derive"]

# Protobuf representation of analysed types
protobuf = ["dep:prost"]

[lib]
path = "src/lib.rs"
harness = false

[[test]]
name = "exports"
harness = false

[[test]]
name = "mems"
harness = false

[[test]]
name = "metadata"
harness = false

[[test]]
name = "roundtrip"
harness = false