greentic-component 0.4.21

High-level component loader and store for Greentic components
Documentation
[package]
name = "greentic-component"
version.workspace=true
edition = "2024"
rust-version = "1.89"
license = "MIT"
description = "High-level component loader and store for Greentic components"
repository = "https://github.com/greentic-ai/greentic-component"
homepage = "https://github.com/greentic-ai/greentic-component"
documentation = "https://docs.rs/greentic-component"
keywords = ["greentic", "component", "wasm"]
categories = ["wasm"]
include = [
    "Cargo.toml",
    "assets/**",
    "examples/**",
    "schemas/**",
    "src/**",
    "tests/**",
]

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

[features]
default = ["oci", "cli"]
oci = ["dep:oci-distribution"]
schema = ["dep:schemars"]
abi = ["dep:wit-component", "dep:wit-parser", "dep:wasmparser"]
describe = ["abi"]
loader = ["describe"]
prepare = ["loader", "dep:dashmap"]
cli = [
    "prepare",
    "dep:clap",
    "dep:include_dir",
    "dep:handlebars",
    "dep:walkdir",
    "dep:tempfile",
    "dep:miette",
]

[dependencies]
anyhow = { workspace = true }
blake3 = { workspace = true }
bytes = { workspace = true }
clap = { workspace = true, optional = true }
directories = { workspace = true }
hex = { workspace = true }
ignore = { workspace = true }
include_dir = { workspace = true, optional = true }
handlebars = { workspace = true, optional = true }
miette = { workspace = true, optional = true }
jsonschema = { workspace = true }
greentic-component-manifest = { workspace = true }
oci-distribution = { workspace = true, optional = true }
once_cell = { workspace = true }
pathdiff = { workspace = true }
regex = { workspace = true }
schemars = { workspace = true, optional = true }
semver = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
serde_with = { workspace = true }
sha2 = { workspace = true }
thiserror = { workspace = true }
displaydoc = { workspace = true }
dashmap = { workspace = true, optional = true }
time = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
tempfile = { workspace = true, optional = true }
walkdir = { workspace = true, optional = true }
wit-component = { workspace = true, optional = true }
wit-parser = { workspace = true, optional = true }
wasmparser = { workspace = true, optional = true }
wasm-metadata = { workspace = true }
greentic-types = { workspace = true }

[dev-dependencies]
assert_fs = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true }
wasm-encoder = { workspace = true }
assert_cmd = { workspace = true }
predicates = { workspace = true }
insta = { workspace = true }
greentic-interfaces-guest = { workspace = true }

[[example]]
name = "gen_fixture"
required-features = ["abi"]