AppFlowy-Cloud/Cargo.toml

181 lines
5.7 KiB
TOML

[package]
name = "appflowy-cloud"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
actix = "0.13.3"
actix-web = { version = "4.4.1", default-features = false, features = ["openssl", "compress-brotli", "compress-gzip"] }
actix-http = { version = "3.5.1", default-features = false, features = ["openssl", "compress-brotli", "compress-gzip"] }
actix-rt = "2.9.0"
actix-web-actors = { version = "4.2.0" }
actix-service = "2.0.2"
actix-identity = "0.6.0"
actix-router = "0.5.2"
actix-session = { version = "0.8", features = ["redis-rs-tls-session"] }
openssl = { version = "0.10.62", features = ["vendored"] }
# serde
serde_json.workspace = true
serde.workspace = true
tokio = { version = "1.35.1", features = [
"macros",
"rt-multi-thread",
"sync",
"fs",
"time",
] }
tokio-stream = "0.1.14"
tokio-util = { version = "0.7.10", features = ["io"] }
futures = "0.3.30"
futures-util ={ version = "0.3.30" , features = ["std","io"] }
once_cell = "1.19.0"
chrono = { version = "0.4.31", features = ["serde", "clock"], default-features = false }
derive_more = { version = "0.99" }
argon2 = { version = "0.5", features = ["std"] }
secrecy = { version = "0.8", features = ["serde"] }
rand = { version = "0.8", features = ["std_rng"] }
anyhow = "1.0.79"
thiserror = "1.0.56"
reqwest = { version = "0.11.23", default-features = false, features = ["json", "rustls-tls", "cookies"] }
unicode-segmentation = "1.10"
lazy_static = "1.4.0"
fancy-regex = "0.11.0"
validator = "0.16.1"
bytes = "1.5.0"
rcgen = { version = "0.10.0", features = ["pem", "x509-parser"] }
mime = "0.3.17"
rust-s3 = {version = "0.33.0", default-features = false, features = ["tokio-rustls-tls", "with-tokio", "no-verify-ssl"] }
redis = "0.23.3"
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["registry", "env-filter", "ansi", "json"] }
tracing-bunyan-formatter = "0.3.9"
tracing-log = "0.1.4"
sqlx = { version = "0.7", default-features = false, features = ["runtime-tokio-rustls", "macros", "postgres", "uuid", "chrono", "migrate"] }
async-trait = "0.1.77"
prometheus-client = "0.22.0"
itertools = "0.11"
uuid = "1.6.1"
tokio-tungstenite = { version = "0.20.1", features = ["native-tls"] }
prost = "0.12.3"
casbin = { version = "2.1.0" }
dotenvy = "0.15.7"
url = "2.5.0"
brotli = "3.4.0"
moka.workspace = true
# collab
collab = { version = "0.1.0", features = ["async-plugin"] }
collab-entity = { version = "0.1.0" }
#Local crate
token = { path = "libs/token" }
snowflake = { path = "libs/snowflake" }
realtime = { path = "libs/realtime" }
database = { path = "libs/database" }
database-entity.workspace = true
gotrue = { path = "libs/gotrue" }
gotrue-entity = { path = "libs/gotrue-entity" }
infra = { path = "libs/infra" }
app-error = { workspace = true, features = ["sqlx_error", "actix_web_error", "tokio_error"] }
shared-entity = { path = "libs/shared-entity", features = ["cloud"] }
workspace-template = { workspace = true }
realtime-entity.workspace = true
# profiling
#puffin = "0.16.0"
#prometheus = { version = "0.13.3", features = ["process"] }
[dev-dependencies]
once_cell = "1.19.0"
tempfile = "3.9.0"
assert-json-diff = "2.0.2"
scraper = "0.17.1"
client-api-test-util = { path = "libs/client-api-test-util" }
client-api = { path = "libs/client-api", features = ["collab-sync", "test_util"] }
opener = "0.6.1"
image = "0.23.14"
collab-folder = { version = "0.1.0" }
websocket.workspace = true
[[bin]]
name = "appflowy_cloud"
path = "src/main.rs"
[lib]
path = "src/lib.rs"
[workspace]
members = [
"libs/token",
"libs/snowflake",
"libs/realtime",
"libs/realtime-entity",
"libs/database",
"libs/database-entity",
"libs/client-api",
"libs/infra",
"libs/shared-entity",
"libs/gotrue",
"libs/gotrue-entity",
"admin_frontend",
"libs/app_error",
"libs/workspace-template",
"libs/encrypt",
"libs/realtime-protocol",
"libs/websocket",
"libs/client-api-test-util", "libs/wasm-test",
]
[workspace.dependencies]
realtime-entity = { path = "libs/realtime-entity" }
realtime-protocol = { path = "libs/realtime-protocol" }
database-entity = { path = "libs/database-entity" }
shared-entity = { path = "libs/shared-entity" }
app-error = { path = "libs/app_error" }
serde_json = "1.0.111"
serde = { version = "1.0.195", features = ["derive"] }
bytes = "1.5.0"
workspace-template = { path = "libs/workspace-template" }
uuid = { version = "1.6.1", features = ["v4"] }
anyhow = "1.0.79"
tokio = { version = "1.35", features = ["sync"] }
yrs = "0.17.2"
bincode = "1.3.3"
websocket = { path = "libs/websocket" }
collab = { version = "0.1.0" }
collab-folder = { version = "0.1.0" }
tracing = { version = "0.1"}
collab-entity = { version = "0.1.0" }
gotrue = { path = "libs/gotrue" }
redis = "0.24.0"
moka = { version = "0.12.5", features = ["future"] }
[profile.release]
lto = true
opt-level = 3
codegen-units = 1
[profile.profiling]
inherits = "release"
codegen-units = 16
debug = true
lto = false
[patch.crates-io]
collab = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "2de6d172f56fed29ee6f32b82040cca4867647ac" }
collab-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "2de6d172f56fed29ee6f32b82040cca4867647ac" }
collab-folder = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "2de6d172f56fed29ee6f32b82040cca4867647ac" }
collab-document = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "2de6d172f56fed29ee6f32b82040cca4867647ac" }
[features]
custom_env= []
# Comment the above and uncomment the below to use local version of collab by cloning the repo and placing it in libs folder
#collab = { path = "libs/AppFlowy-Collab/collab" }
#collab-entity = { path = "libs/AppFlowy-Collab/collab-define" }