[package]
name = "wit-bindgen-cli"
authors = ["Alex Crichton <alex@alexcrichton.com>"]
version = { workspace = true }
edition = { workspace = true }
repository = { workspace = true }
license = { workspace = true }
rust-version = { workspace = true }
homepage = 'https://github.com/bytecodealliance/wit-bindgen'
description = """
CLI tool to generate bindings for WIT documents and the component model.
"""
[lints]
workspace = true
[workspace]
resolver = "2"
[workspace.package]
edition = "2024"
version = "0.52.0"
license = "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT"
repository = "https://github.com/bytecodealliance/wit-bindgen"
rust-version = "1.87.0"
[workspace.dependencies]
anyhow = "1.0.72"
bitflags = "2.3.3"
heck = { version = "0.5" }
pulldown-cmark = { version = "0.9", default-features = false }
serde = { version = "1.0.218", features = ["derive"] }
clap = { version = "4.3.19", features = ["derive"] }
indexmap = "2.0.0"
prettyplease = "0.2.20"
syn = { version = "2.0.89", features = ["printing"] }
futures = "0.3.31"
wat = "1.244.0"
wasmparser = "0.244.0"
wasm-encoder = "0.244.0"
wasm-metadata = { version = "0.244.0", default-features = false }
wit-parser = "0.244.0"
wit-component = "0.244.0"
wasm-compose = "0.244.0"
wit-bindgen-core = { path = 'crates/core', version = '0.52.0' }
wit-bindgen-c = { path = 'crates/c', version = '0.52.0' }
wit-bindgen-cpp = { path = 'crates/cpp', version = '0.52.0' }
wit-bindgen-rust = { path = "crates/rust", version = "0.52.0" }
wit-bindgen-csharp = { path = 'crates/csharp', version = '0.52.0' }
wit-bindgen-markdown = { path = 'crates/markdown', version = '0.52.0' }
wit-bindgen-moonbit = { path = 'crates/moonbit', version = '0.52.0' }
wit-bindgen-go = { path = 'crates/go', version = '0.52.0' }
wit-bindgen = { path = 'crates/guest-rust', version = '0.52.0', default-features = false }
wit-bindgen-test = { path = 'crates/test', version = '0.52.0' }
[workspace.lints.clippy]
all = { level = 'allow', priority = -1 }
clone_on_copy = 'warn'
map_clone = 'warn'
unnecessary_to_owned = 'warn'
manual_strip = 'warn'
uninlined_format_args = 'warn'
unnecessary_mut_passed = 'warn'
unnecessary_fallible_conversions = 'warn'
unnecessary_cast = 'warn'
allow_attributes_without_reason = 'warn'
[[bin]]
name = "wit-bindgen"
[dependencies]
anyhow = { workspace = true }
clap = { workspace = true, features = ['wrap_help'] }
wit-bindgen-core = { workspace = true }
wit-bindgen-rust = { workspace = true, features = ['clap'], optional = true }
wit-bindgen-c = { workspace = true, features = ['clap'], optional = true }
wit-bindgen-cpp = { workspace = true, features = ['clap'], optional = true }
wit-bindgen-markdown = { workspace = true, features = ['clap'], optional = true }
wit-bindgen-moonbit = { workspace = true, features = ['clap'], optional = true }
wit-bindgen-csharp = { workspace = true, features = ['clap'], optional = true }
wit-bindgen-go = { workspace = true, features = ['clap'], optional = true }
wit-bindgen-test = { workspace = true }
wit-component = { workspace = true }
wasm-encoder = { workspace = true }
env_logger = "0.11.7"
[features]
default = [
'c',
'rust',
'markdown',
'go',
'csharp',
'cpp',
'moonbit',
'async',
]
c = ['dep:wit-bindgen-c']
cpp = ['dep:wit-bindgen-cpp']
rust = ['dep:wit-bindgen-rust']
markdown = ['dep:wit-bindgen-markdown']
go = ['dep:wit-bindgen-go']
csharp = ['dep:wit-bindgen-csharp']
csharp-mono = ['csharp']
moonbit = ['dep:wit-bindgen-moonbit']
async = []