[package]
edition = "2021"
rust-version = "1.91.1"
name = "taskchampion"
version = "3.1.0"
authors = ["Dustin J. Mitchell <dustin@mozilla.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Personal task-tracking"
homepage = "https://gothenburgbitfactory.github.io/taskchampion/"
documentation = "https://docs.rs/crate/taskchampion"
readme = "src/crate-doc.md"
keywords = [
"cli",
"todo",
"tasks",
"taskwarrior",
"task-tracking",
]
categories = ["command-line-utilities"]
license = "MIT"
repository = "https://github.com/GothenburgBitFactory/taskchampion"
[package.metadata.docs.rs]
all-features = true
additional-targets = ["wasm32-unknown-unknown"]
[features]
bundled = ["rusqlite/bundled"]
cloud = []
default = [
"sync",
"bundled",
"storage",
"tls-webpki-roots",
]
encryption = ["dep:ring"]
http = [
"dep:reqwest",
"dep:url",
]
server-aws = [
"cloud",
"encryption",
"http",
"dep:aws-sdk-s3",
"dep:aws-config",
"dep:aws-credential-types",
"dep:aws-smithy-runtime-api",
"dep:aws-smithy-types",
]
server-gcp = [
"cloud",
"encryption",
"http",
"dep:google-cloud-storage",
"dep:reqwest-middleware",
]
server-git = [
"dep:serde_with",
"dep:glob",
"encryption",
]
server-local = ["dep:rusqlite"]
server-sync = [
"encryption",
"http",
]
storage = ["storage-sqlite"]
storage-indexeddb = [
"dep:idb",
"dep:web-sys",
]
storage-sqlite = ["dep:rusqlite"]
sync = [
"server-sync",
"server-gcp",
"server-aws",
"server-local",
"server-git",
]
tls-native-roots = ["reqwest?/rustls-tls-native-roots"]
tls-webpki-roots = ["reqwest?/rustls-tls-webpki-roots"]
[lib]
name = "taskchampion"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[test]]
name = "aws-tls"
path = "tests/aws-tls.rs"
[[test]]
name = "cross-sync"
path = "tests/cross-sync.rs"
[[test]]
name = "gcp-tls"
path = "tests/gcp-tls.rs"
[[test]]
name = "sync-server-tls"
path = "tests/sync-server-tls.rs"
[[test]]
name = "syncing-proptest"
path = "tests/syncing-proptest.rs"
[[test]]
name = "tls_utils"
path = "tests/tls_utils.rs"
[[test]]
name = "update-and-delete-sync"
path = "tests/update-and-delete-sync.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.byteorder]
version = "1.5"
[dependencies.chrono]
version = "^0.4.44"
features = ["serde"]
[dependencies.flate2]
version = "1"
[dependencies.glob]
version = "0.3.3"
optional = true
[dependencies.idb]
version = "0.6.4"
optional = true
[dependencies.log]
version = "^0.4.17"
[dependencies.reqwest]
version = "0.12"
optional = true
default-features = false
[dependencies.ring]
version = "0.17"
optional = true
[dependencies.rusqlite]
version = "0.39"
features = ["fallible_uint"]
optional = true
[dependencies.serde]
version = "^1.0.147"
features = ["derive"]
[dependencies.serde_json]
version = "^1.0"
[dependencies.serde_with]
version = "3.20.0"
features = ["base64"]
optional = true
[dependencies.strum]
version = "0.28"
[dependencies.strum_macros]
version = "0.28"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1"
features = [
"macros",
"sync",
"rt",
]
[dependencies.url]
version = "2"
optional = true
[dependencies.uuid]
version = "^1.23.1"
features = [
"serde",
"v4",
]
[dev-dependencies.libc]
version = "0.2"
[dev-dependencies.pretty_assertions]
version = "1"
[dev-dependencies.rstest]
version = "0.26"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"time",
"rt",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aws-config]
version = "1.8"
features = [
"rt-tokio",
"behavior-version-latest",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aws-credential-types]
version = "1"
features = ["hardcoded-credentials"]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aws-sdk-s3]
version = "1.132"
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aws-smithy-runtime-api]
version = "1.11"
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aws-smithy-types]
version = "1.4"
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.google-cloud-storage]
version = "0.24.0"
features = [
"rustls-tls",
"auth",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.reqwest-middleware]
version = "0.4"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.httptest]
version = "0.16.4"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.proptest]
version = "^1.11.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.4"
features = ["wasm_js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.ring]
version = "0"
features = ["wasm32_unknown_unknown_js"]
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.serde-wasm-bindgen]
version = "0.6"
[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1"
features = ["js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3.83"
features = [
"Window",
"IdbFactory",
"IdbOpenDbRequest",
"IdbDatabase",
"IdbTransaction",
"IdbObjectStore",
"IdbRequest",
"DomException",
"IdbObjectStoreParameters",
"IdbTransactionMode",
"EventTarget",
"Event",
"console",
]
optional = true
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3"