[package]
name = "starlane"
description = """
Starlane -- An Orchestration and Infrastructure Framework for WebAssembly Components (https://starlane.io)
This packaged manages `HyperSpace` which provides infrastructure for `Space`
Apis (WebAssembly & external programs meant to provide custom behaviors in Starlane),
This package references the `starlane-space` package and reuses of it to run the infrastructure and
it also contains mechanisms (Drivers) for extending the Starlane Type system
"""
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
[features]
full=["server"]
default=["server"]
server=["space","service","hyperspace", "hyperlane","postgres", "postgres-embedded","hyperlane-tcp", "cli", "dep:threadpool", "dep:oneshot", "dep:anyhow"]
cli=["dep:text_io","dep:clap", "dep:walkdir", "parse"]
hypererr=[]
hyperspace=["dep:futures","dep:dashmap","dep:semver", "parse", "dep:zip","hypererr"]
hyperlane=["hypererr"]
hyperlane-tcp = ["hyperlane","dep:rcgen","rustls","dep:tokio-rustls","dep:tls-api-rustls"]
hyperlane-quic = ["hyperlane","dep:rcgen","rustls", "dep:quinn"]
postgres=[ "dep:sqlx","dep:serde","dep:async-recursion" ]
postgres-embedded=[ "postgres", "dep:postgresql_embedded" ]
parse=["dep:nom", "dep:nom-supreme", "dep:nom_locate"]
rustls=["dep:rustls","dep:rcgen","rustls-pemfile"]
driver=["hyperspace"]
dialect=[]
dialect-cli=["dialect","dep:clap"]
service=[]
space=["dep:regex", "dep:validator", "dep:convert_case", "dep:serde_json", "dep:enum-ordinalize", "dep:ariadne", "dep:serde_urlencoded"]
wasm=[]
[dependencies]
starlane-macros = { workspace=true , version = "0.3.21" }
starlane-primitive-macros ={ workspace=true , version = "0.3.21" }
thiserror = { workspace = true}
lazy_static = { workspace=true }
uuid = { workspace=true, features=["v4"] }
chrono = { workspace=true, features=["serde"] }
tokio = { workspace=true, features = ["full"] }
tokio-util = { workspace=true}
async-trait = {workspace = true}
ctrlc = {workspace = true}
bincode = {workspace = true}
strum = {workspace = true}
strum_macros = {workspace = true}
wasmer = {workspace = true}
wasmer-compiler-singlepass = {workspace = true}
wasmer-wasix = {workspace = true}
itertools = {workspace = true}
tempdir = { workspace=true }
once_cell = { workspace=true }
zip = { workspace=true, optional = true }
dirs ={ workspace=true}
ascii ={ workspace=true }
url ={ workspace=true }
futures = {workspace=true, default-features = true, optional=true }
dashmap = {workspace=true, optional = true}
semver = { workspace=true, features=['serde'], optional = true }
sqlx = { workspace = true, features = [ "runtime-tokio","runtime-tokio-rustls", "postgres", "macros", "any" ], optional = true }
serde = { workspace = true, features=['derive','rc'], optional=true }
async-recursion = { workspace = true, optional=true }
md-5 = {workspace = true}
rcgen = { workspace = true, optional = true, features=["pem", "x509-parser" ]}
rustls = { workspace = true, optional = true, features=["aws_lc_rs"]}
rustls-pemfile = { workspace = true, optional = true }
tokio-rustls = { workspace = true, optional = true}
tls-api-rustls = { workspace = true, optional = true}
text_io = { workspace = true, optional = true}
clap = { workspace = true, optional = true , features=["derive"]}
walkdir = { workspace = true, optional = true }
ariadne = { workspace = true, optional = true }
nom ={ workspace = true, optional = true }
nom-supreme = { workspace = true, optional = true }
nom_locate = { workspace = true, optional = true }
regex = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
serde_urlencoded = { workspace = true, optional = true }
enum-ordinalize = { workspace = true, optional = true }
convert_case = { workspace = true, optional = true }
validator = { workspace = true, optional = true }
threadpool ={ workspace = true, optional = true }
oneshot = { workspace = true, optional = true }
anyhow = { workspace = true, optional = true }
quinn ={ workspace = true, optional = true }
webpki-roots = { workspace = true}
path-clean = { workspace = true}
thiserror-context = { workspace = true }
rustyline = { workspace = true, features=["with-file-history", "with-dirs"]}
cliclack = { workspace = true }
serde_yaml = { workspace = true }
derive_builder = { workspace=true }
postgresql_embedded = { workspace=true, optional = true }
text-to-ascii-art = { workspace = true}
colored = {workspace = true}
lerp = { workspace = true, features=["derive"] }
atty ={workspace = true}
termsize = {workspace = true}
port_check = {workspace = true}
crossterm = {workspace = true}
textwrap = {workspace = true}
console = {workspace = true}
derive-name = {workspace = true}
tracing = { workspace = true, features=["std","log","attributes","tracing-attributes","async-await"]}
tracing-subscriber = { workspace = true, features = ["default"]}
tracing-attributes= { workspace = true, features=["async-await"]}
tracing-core= { workspace = true, features = ["valuable","default"] }
[lib]
name = "starlane"
path= "src/lib.rs"
[[bin]]
name = "starlane"
doc = false
path = "src/main.rs"