[package]
name = "flowy-core"
version = "0.1.0"
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
lib-dispatch = { path = "../lib-dispatch" }
lib-log = { path = "../lib-log" }
flowy-user = { path = "../flowy-user" }
flowy-net = { path = "../flowy-net" }
flowy-folder = { path = "../flowy-folder" }
flowy-database = { path = "../flowy-database" }
database-model = { path = "../../../shared-lib/database-model" }
user-model = { path = "../../../shared-lib/user-model" }
flowy-client-ws = { path = "../../../shared-lib/flowy-client-ws" }
flowy-sqlite = { path = "../flowy-sqlite", optional = true }
flowy-document = { path = "../flowy-document" }
flowy-revision = { path = "../flowy-revision" }
flowy-error = { path = "../flowy-error", features = ["adaptor_ws"] }
flowy-task = { path = "../flowy-task" }

tracing = { version = "0.1", features = ["log"] }
futures-core = { version = "0.3", default-features = false }
bytes = "1.4"
tokio = { version = "1.26", features = ["full"] }
console-subscriber = { version = "0.1.8", optional = true }
parking_lot = "0.12.1"

revision-model = { path = "../../../shared-lib/revision-model" }
ws-model = { path = "../../../shared-lib/ws-model" }
lib-ws = { path = "../../../shared-lib/lib-ws" }
lib-infra = { path = "../../../shared-lib/lib-infra" }
serde = "1.0"
serde_json = "1.0"

[features]
default = ["rev-sqlite"]
profiling = ["console-subscriber", "tokio/tracing"]
http_sync = ["flowy-folder/cloud_sync", "flowy-document/cloud_sync"]
native_sync = ["flowy-folder/cloud_sync", "flowy-document/cloud_sync"]
use_bunyan = ["lib-log/use_bunyan"]
dart = [
    "flowy-user/dart",
    "flowy-net/dart",
    "flowy-folder/dart",
    "flowy-database/dart",
    "flowy-document/dart",
]
ts = [
    "flowy-user/ts",
    "flowy-net/ts",
    "flowy-folder/ts",
    "flowy-database/ts",
    "flowy-document/ts",
]
rev-sqlite = [
    "flowy-sqlite",
    "flowy-user/rev-sqlite",
    "flowy-folder/rev-sqlite",
    "flowy-database/rev-sqlite",
    "flowy-document/rev-sqlite",
]
openssl_vendored = ["flowy-sqlite/openssl_vendored"]
