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

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

[dependencies]
folder-model = { path = "../../../shared-lib/folder-model" }
flowy-client-sync = { path = "../flowy-client-sync"}
revision-model = { path = "../../../shared-lib/revision-model" }
ws-model = { path = "../../../shared-lib/ws-model" }
flowy-derive = { path = "../flowy-derive" }
lib-ot = { path = "../../../shared-lib/lib-ot" }
lib-infra = { path = "../../../shared-lib/lib-infra" }

flowy-document = { path = "../flowy-document" }
flowy-sqlite = { path = "../flowy-sqlite", optional = true }
flowy-error = { path = "../flowy-error", features = ["adaptor_database", "adaptor_dispatch"]}
flowy-notification = { path = "../flowy-notification" }
lib-dispatch = { path = "../lib-dispatch" }
flowy-revision = { path = "../flowy-revision" }
flowy-revision-persistence = { path = "../flowy-revision-persistence" }

parking_lot = "0.12.1"
protobuf = {version = "2.28.0"}
log = "0.4.17"
diesel = {version = "1.4.8", features = ["sqlite"]}
diesel_derives = {version = "1.4.1", features = ["sqlite"]}
futures = "0.3.26"
pin-project = "1.0"
strum = "0.21"
strum_macros = "0.21"
tokio = { version = "1.26", features = ["rt"] }
lazy_static = "1.4.0"
serde = { version = "1.0", features = ["derive"] }
tracing = { version = "0.1", features = ["log"] }
bytes = { version = "1.4" }
unicode-segmentation = "1.10"
serde_json = "1.0"

[dev-dependencies]
flowy-folder = { path = "../flowy-folder", features = ["flowy_unit_test"]}
flowy-test = { path = "../flowy-test" }

[build-dependencies]
flowy-codegen = { path = "../flowy-codegen"}


[features]
default = ["rev-sqlite"]
sync = []
cloud_sync = ["sync"]
rev-sqlite = ["flowy-sqlite", "flowy-folder/rev-sqlite"]
flowy_unit_test = ["lib-ot/flowy_unit_test", "flowy-revision/flowy_unit_test"]
dart = ["flowy-codegen/dart", "flowy-notification/dart"]
ts = ["flowy-codegen/ts", "flowy-notification/ts"]
