[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 = { workspace = true }
lib-log = { workspace = true }
flowy-user = { workspace = true }
flowy-user-pub = { workspace = true }
flowy-folder = { workspace = true }
flowy-folder-pub = { workspace = true }
flowy-database2 = { workspace = true }
flowy-database-pub = { workspace = true }
flowy-sqlite = { workspace = true }
flowy-document = { workspace = true }
flowy-document-pub = { workspace = true }
flowy-error = { workspace = true }
flowy-server = { workspace = true }
flowy-server-pub = { workspace = true }
flowy-date = { workspace = true }
collab-integrate = { workspace = true }
flowy-search = { workspace = true }
flowy-search-pub = { workspace = true }
collab-entity = { workspace = true }
collab-plugins = { workspace = true }
collab-folder = { workspace = true }
collab-document = { workspace = true }

collab = { workspace = true }
#collab = { workspace = true, features = ["verbose_log"] }

diesel.workspace = true
flowy-storage = { workspace = true }
flowy-storage-pub = { workspace = true }
client-api.workspace = true
flowy-ai = { workspace = true }
flowy-ai-pub = { workspace = true }


tracing.workspace = true
futures-core = { version = "0.3", default-features = false }
futures = "0.3"
bytes.workspace = true
tokio = { workspace = true, features = ["full"] }
tokio-stream = { workspace = true, features = ["sync"] }
console-subscriber = { version = "0.2", optional = true }
anyhow.workspace = true
dashmap.workspace = true
arc-swap.workspace = true
base64 = "0.21.5"
tokio-util.workspace = true
lib-infra = { workspace = true }
serde.workspace = true
serde_json.workspace = true
uuid.workspace = true
sysinfo = "0.30.5"
semver = { version = "1.0.22", features = ["serde"] }
url = "2.5.0"
once_cell = "1.19.0"


[target.'cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))'.dependencies]
flowy-sqlite-vec = { workspace = true }
twox-hash = { version = "2.1.0", features = ["xxhash64"] }

[features]
profiling = ["console-subscriber", "tokio/tracing"]
http_sync = []
native_sync = []
dart = [
  "flowy-user/dart",
  "flowy-date/dart",
  "flowy-search/dart",
  "flowy-folder/dart",
  "flowy-database2/dart",
  "flowy-ai/dart",
  "flowy-storage/dart",
]
openssl_vendored = ["flowy-sqlite/openssl_vendored"]

# Enable/Disable AppFlowy Verbose Log Configuration
verbose_log = [
  "flowy-document/verbose_log",
  "flowy-database2/verbose_log",
  "client-api/sync_verbose_log",
]
