wit-bindgen-cli 0.52.0

CLI tool to generate bindings for WIT documents and the component model.
[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]
# The default set of lints in Clippy is viewed as "too noisy" right now so
# they're all turned off by default. Selective lints are then enabled below as
# necessary.
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 = []