about summary refs log tree commit diff
path: root/Cargo.toml
diff options
context:
space:
mode:
Diffstat (limited to 'Cargo.toml')
-rw-r--r--Cargo.toml158
1 files changed, 158 insertions, 0 deletions
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..71ebc66
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,158 @@
+[package]
+name = "kittybox"
+version = "0.1.0"
+authors = ["Vika <vika@fireburn.ru>"]
+edition = "2021"
+default-run = "kittybox"
+autobins = false
+
+[features]
+default = ["rustls", "postgres"]
+#util = ["anyhow"]
+#migration = ["util"]
+webauthn = ["openssl", "dep:webauthn"]
+openssl = ["reqwest/native-tls-crate", "reqwest/native-tls-alpn", "sqlx/tls-native-tls"]
+rustls = ["reqwest/rustls-tls-webpki-roots", "sqlx/tls-rustls"]
+cli = ["clap"]
+postgres = ["sqlx", "kittybox-util/sqlx"]
+
+[[bin]]
+name = "kittybox"
+path = "src/main.rs"
+required-features = []
+
+#[[bin]]
+#name = "kittybox-bulk-import"
+#path = "src/bin/kittybox_bulk_import.rs"
+#required-features = ["migration"]
+
+#[[bin]]
+#name = "kittybox-database-converter"
+#path = "src/bin/kittybox_database_converter.rs"
+#required-features = ["migration", "redis"]
+
+[[bin]]
+name = "kittybox-indieauth-helper"
+path = "src/bin/kittybox-indieauth-helper.rs"
+required-features = ["cli"]
+
+[[bin]]
+name = "kittybox-check-webmention"
+path = "src/bin/kittybox-check-webmention.rs"
+required-features = ["cli"]
+
+[[bin]]
+name = "kittybox-mf2"
+path = "src/bin/kittybox-mf2.rs"
+required-features = ["cli"]
+
+[workspace]
+members = [".", "./util", "./templates", "./indieauth"]
+default-members = [".", "./util", "./templates", "./indieauth"]
+[dependencies.kittybox-util]
+version = "0.1.0"
+path = "./util"
+features = ["fs"]
+[dependencies.kittybox-frontend-renderer]
+version = "0.1.0"
+path = "./templates"
+[dependencies.kittybox-indieauth]
+version = "0.1.0"
+path = "./indieauth"
+features = ["axum"]
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dev-dependencies]
+tempfile = "^3.4.0"          # Temporary file managment
+wiremock = "^0.5.14"
+faker_rand = "^0.1.1"        # Seedable, rand-compatible generators of fake data
+rand = "^0.8.5"              # Utilities for random number generation
+tracing-test = "^0.2.2"
+
+[dependencies]
+argon2 = { version = "^0.5.0", features = ["std"] }
+async-trait = "^0.1.50"      # Type erasure for async trait methods
+bytes = "^1.1.0"
+data-encoding = "^2.3.2"     # Efficient and customizable data-encoding functions like base64, base32, and hex
+easy-scraper = "^0.2.0"      # HTML scraping library focused on ease of use
+either = "^1.6.1"            # A general purpose sum type with two cases
+futures = "^0.3.14"          # An implementation of futures and streams
+futures-util = "^0.3.14"     # Common utilities and extension traits for the futures-rs library
+hex = "^0.4.3"
+lazy_static = "^1.4.0"       # A macro for declaring lazily evaluated statics in Rust
+listenfd = "^0.5.0"          # A simple library to work with listenfds passed from the outside (systemd/catflap socket activation)
+#log = "^0.4.14"              # A lightweight logging facade for Rust
+markdown = "^1.0.0-alpha.7"  # Native Rust library for parsing Markdown and (outputting HTML)
+newbase60 = "^0.1.3"         # A library that implements Tantek Çelik's New Base 60
+rand = "^0.8.4"              # Random number generators.
+serde_json = "^1.0.64"       # A JSON serialization file format
+serde_urlencoded = "^0.7.0"  # `x-www-form-urlencoded` meets Serde
+serde_variant = "^0.1.1"     # Retrieve serde provided variant names for enum objects
+relative-path = "^1.5.0"     # Portable relative paths for Rust
+sha2 = "^0.10.7"              # SHA-2 series of algorithms for Rust
+uuid = "^1.3.3"
+tracing = { version = "0.1.34", features = [] }
+tracing-tree = "0.2.1"
+tracing-log = "0.1.3"
+tracing-subscriber = { version = "0.3.11", features = ["env-filter", "json"] }
+tower-http = { version = "0.3.3", features = ["trace", "cors", "catch-panic"] }
+tower = { version = "0.4.12", features = ["tracing"] }
+webauthn = { version = "0.4.5", package = "webauthn-rs", features = ["danger-allow-state-serialisation"], optional = true }
+[dependencies.tokio]
+version = "^1.29.1"
+features = ["full", "tracing"] # TODO determine if my app doesn't need some features
+#[dependencies.console-subscriber]
+#version = "0.1.10"
+[dependencies.tokio-stream]
+version = "^0.1.8"
+features = ["time", "net"]
+[dependencies.tokio-util]
+version = "^0.7.3"
+features = ["io-util"]
+[dependencies.anyhow]
+version = "^1.0.42"
+optional = true
+[dependencies.axum]
+version = "^0.6.18"
+features = ["multipart", "json", "headers", "form", "macros"]
+[dependencies.axum-extra]
+version = "^0.7.4"
+features = ["cookie"]
+[dependencies.chrono]        # Date and time library for Rust
+version = "^0.4.19"
+features = ["serde"]
+[dependencies.redis]
+version = "^0.21.3"
+optional = true
+features = ["aio", "tokio-comp"]
+[dependencies.prometheus]    # Prometheus instrumentation library for Rust applications
+version = "^0.13.0"
+features = ["process"]
+[dependencies.serde]         # A generic serialization/deserialization framework
+version = "^1.0.170"
+features = ["derive"]
+[dependencies.url]           # URL library for Rust, based on the WHATWG URL Standard
+version = "^2.2.1"
+features = ["serde"]
+[dependencies.hyper]
+version = "^0.14.17"
+features = ["stream", "runtime"]
+[dependencies.reqwest]
+version = "^0.11.10"
+default-features = false
+features = ["gzip", "brotli", "json", "stream"]
+[dependencies.microformats]
+version = "^0.3.0"
+#git = "https://gitlab.com/maxburon/microformats-parser"
+
+[dependencies.clap]
+version = "4.3.11"
+features = ["derive"]
+optional = true
+[dependencies.thiserror]
+version = "1.0.35"
+[dependencies.sqlx]
+version = "^0.7"
+features = ["uuid", "chrono", "json", "postgres", "runtime-tokio"]
+optional = true
\ No newline at end of file