[package]
edition = "2021"
name = "cookcli"
version = "0.33.0"
build = "build.rs"
include = [
"/src",
"/build.rs",
"/Cargo.toml",
"/Cargo.lock",
"/README.md",
"/templates",
"/static",
"/seed",
"/locales",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A command-line interface for managing and working with Cooklang recipes"
homepage = "https://cooklang.org"
readme = "README.md"
keywords = [
"cooklang",
"recipes",
"cli",
"cooking",
]
categories = ["command-line-utilities"]
license = "MIT"
repository = "https://github.com/cooklang/cookcli"
[features]
default = [
"self-update",
"sync",
"server",
"import",
"lsp",
]
import = [
"dep:cooklang-import",
"dep:reqwest",
]
lsp = [
"dep:cooklang-language-server",
"dep:tower-lsp",
]
self-update = [
"dep:self_update",
"dep:reqwest",
]
server = [
"dep:axum",
"dep:askama_axum",
"dep:tower",
"dep:tower-http",
"dep:notify",
"dep:notify-debouncer-full",
"dep:tokio-stream",
"dep:futures-util",
"dep:open",
]
sync = [
"server",
"dep:cooklang-sync-client",
"dep:uuid",
"dep:tokio-util",
"dep:base64",
"dep:libsqlite3-sys",
"dep:thiserror",
"dep:reqwest",
]
[lib]
name = "cookcli"
path = "src/lib.rs"
[[bin]]
name = "cook"
path = "src/main.rs"
[dependencies.accept-language]
version = "3"
[dependencies.anstream]
version = "0.6"
[dependencies.anstyle]
version = "1"
[dependencies.anstyle-yansi]
version = "2"
[dependencies.anyhow]
version = "1"
[dependencies.askama]
version = "0.12"
features = ["serde-json"]
[dependencies.askama_axum]
version = "0.4"
optional = true
[dependencies.axum]
version = "0.7"
features = ["ws"]
optional = true
[dependencies.base64]
version = "0.23"
optional = true
[dependencies.camino]
version = "1"
features = ["serde1"]
[dependencies.chrono]
version = "0.4"
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.cooklang]
version = "0.18.5"
features = [
"aisle",
"bundled_units",
"pantry",
"shopping_list",
]
default-features = false
[dependencies.cooklang-find]
version = "0.6.1"
default-features = false
[dependencies.cooklang-import]
version = "0.9.14"
optional = true
[dependencies.cooklang-language-server]
version = "0.2.4"
optional = true
[dependencies.cooklang-reports]
version = "0.5.1"
[dependencies.cooklang-sync-client]
version = "0.5.0"
optional = true
[dependencies.directories]
version = "6"
[dependencies.flate2]
version = "1"
[dependencies.fluent]
version = "0.16"
[dependencies.fluent-templates]
version = "0.10"
[dependencies.futures-util]
version = "0.3"
optional = true
[dependencies.humantime]
version = "2"
[dependencies.libsqlite3-sys]
version = "0.35"
features = ["bundled"]
optional = true
[dependencies.mime_guess]
version = "2.0"
[dependencies.notify]
version = "8"
optional = true
[dependencies.notify-debouncer-full]
version = "0.7"
optional = true
[dependencies.open]
version = "5.3"
optional = true
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
optional = true
default-features = false
[dependencies.rust-embed]
version = "8"
[dependencies.self_update]
version = "0.44"
features = [
"archive-tar",
"archive-zip",
"compression-flate2",
"reqwest",
"rustls",
]
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sys-locale]
version = "0.3"
[dependencies.tabular]
version = "0.2"
features = ["ansi-cell"]
[dependencies.textwrap]
version = "0.16"
features = ["terminal_size"]
[dependencies.thiserror]
version = "2"
optional = true
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
features = ["sync"]
optional = true
[dependencies.tokio-util]
version = "0.7"
optional = true
[dependencies.toml]
version = "1.1.3"
[dependencies.tower]
version = "0.5"
features = ["util"]
optional = true
[dependencies.tower-http]
version = "0.6"
features = [
"fs",
"trace",
"cors",
"normalize-path",
]
optional = true
[dependencies.tower-lsp]
version = "0.20"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.unic-langid]
version = "0.9"
[dependencies.url]
version = "2.5"
[dependencies.urlencoding]
version = "2"
[dependencies.uuid]
version = "1"
features = ["v4"]
optional = true
[dependencies.walkdir]
version = "2"
[dependencies.yansi]
version = "1"
[dev-dependencies.assert_cmd]
version = "2"
[dev-dependencies.flate2]
version = "1"
[dev-dependencies.insta]
version = "1"
features = [
"yaml",
"json",
"filters",
]
[dev-dependencies.predicates]
version = "3"
[dev-dependencies.regex]
version = "1"
[dev-dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
default-features = false
[dev-dependencies.strip-ansi-escapes]
version = "0.2"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]
[dev-dependencies.walkdir]
version = "2"
[profile.release]
lto = true
codegen-units = 1
strip = true