[package]
edition = "2024"
name = "devalang"
version = "0.2.0"
authors = ["Labscend Studios <hello@labscend.studio>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Write music with code. Devalang is a domain-specific language (DSL) for sound designers and music hackers. Compose, automate, and control sound — in plain text."
homepage = "https://devalang.com"
documentation = "https://docs.devalang.com/"
readme = "README.md"
license = "MIT"
repository = "https://github.com/devaloop-labs/devalang"
[features]
cli = [
"dep:clap",
"dep:crossterm",
"dep:tokio",
"dep:notify",
"dep:toml",
"dep:time",
"dep:rodio",
"dep:inquire",
"dep:atty",
"dep:hound",
"dep:midly",
"dep:midir",
"dep:tiny_http",
"dep:webbrowser",
"dep:wasmtime",
"dep:reqwest",
"dep:dirs",
"dep:zip",
"dep:urlencoding",
"dep:flate2",
"dep:tar",
"dep:rand",
"dep:mp3lame-encoder",
"uuid/v4",
]
default = ["cli"]
plugin = ["dep:paste"]
plugin-only = []
wasm = [
"dep:js-sys",
"dep:web-sys",
"dep:wasm-bindgen-futures",
"dep:wasm-bindgen",
"dep:serde-wasm-bindgen",
"dep:getrandom",
"getrandom/js",
"dep:hound",
"dep:midly",
"dep:toml",
"uuid/js",
"dep:reqwest",
"dep:dirs",
"dep:zip",
"dep:urlencoding",
"dep:flate2",
"dep:tar",
]
[lib]
name = "devalang_wasm"
crate-type = [
"cdylib",
"rlib",
]
path = "src/rust/lib.rs"
[[bin]]
name = "devalang"
path = "src/rust/bin/devalang.rs"
required-features = ["cli"]
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.atty]
version = "0.2"
optional = true
[dependencies.clap]
version = "4.5"
features = ["derive"]
optional = true
[dependencies.crossterm]
version = "0.27"
optional = true
[dependencies.dirs]
version = "6.0.0"
optional = true
[dependencies.flate2]
version = "1.1.2"
optional = true
[dependencies.getrandom]
version = "0.2"
optional = true
[dependencies.hound]
version = "3.5"
optional = true
[dependencies.inquire]
version = "0.5"
optional = true
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.midir]
version = "0.9"
optional = true
[dependencies.midly]
version = "0.5"
optional = true
[dependencies.mp3lame-encoder]
version = "0.2"
optional = true
[dependencies.notify]
version = "6.1"
optional = true
[dependencies.once_cell]
version = "1.19"
[dependencies.paste]
version = "1.0"
optional = true
[dependencies.rand]
version = "0.8"
optional = true
[dependencies.rayon]
version = "1.10"
[dependencies.regex]
version = "1.10"
[dependencies.reqwest]
version = "0.12.23"
features = ["json"]
optional = true
[dependencies.rodio]
version = "0.17"
features = [
"wav",
"flac",
"mp3",
]
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde-wasm-bindgen]
version = "0.4"
optional = true
[dependencies.serde_json]
version = "1.0"
[dependencies.tar]
version = "0.4.44"
optional = true
[dependencies.thiserror]
version = "1.0"
[dependencies.time]
version = "0.3"
features = [
"macros",
"formatting",
]
optional = true
[dependencies.tiny_http]
version = "0.12.0"
optional = true
[dependencies.tokio]
version = "1.38"
features = [
"rt-multi-thread",
"macros",
"time",
"sync",
"signal",
]
optional = true
[dependencies.toml]
version = "0.8"
optional = true
[dependencies.urlencoding]
version = "2.1"
optional = true
[dependencies.uuid]
version = "1.18.1"
default-features = false
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[dependencies.wasmtime]
version = "26.0"
optional = true
[dependencies.web-sys]
version = "0.3"
features = [
"console",
"Window",
"Request",
"RequestInit",
"Response",
]
optional = true
[dependencies.webbrowser]
version = "1.0.5"
optional = true
[dependencies.zip]
version = "5.1.1"
features = ["deflate"]
optional = true
default-features = false
[dev-dependencies.tempfile]
version = "3.8"