spacedrive/core/Cargo.toml

81 lines
2.4 KiB
TOML

[package]
name = "sd-core"
version = "0.1.0"
description = "Virtual distributed filesystem engine that powers Spacedrive."
authors = ["Spacedrive Technology Inc."]
license = "GNU GENERAL PUBLIC LICENSE"
repository = "https://github.com/spacedriveapp/spacedrive"
edition = "2021"
rust-version = "1.64.0"
[features]
default = ["p2p"]
p2p = [
] # This feature controls whether the Spacedrive Core contains the Peer to Peer syncing engine (It isn't required for the hosted core so we can disable it).
mobile = [
] # This feature allows features to be disabled when the Core is running on mobile.
android = ["dep:tracing-android"]
ffmpeg = [
"dep:ffmpeg-next",
"dep:sd-ffmpeg",
] # This feature controls whether the Spacedrive Core contains functionality which requires FFmpeg.
location-watcher = ["dep:notify"]
[dependencies]
hostname = "0.3.1"
# Universal Dependencies
base64 = "0.13.0"
serde = { version = "1.0", features = ["derive"] }
chrono = { version = "0.4.22", features = ["serde"] }
serde_json = "1.0"
futures = "0.3"
int-enum = "0.5.0"
rmp = "^0.8.11"
rmp-serde = "^1.1.1"
blake3 = "1.3.1"
# Project dependencies
rspc = { workspace = true, features = ["uuid", "chrono", "tracing"] }
prisma-client-rust = { workspace = true }
normi = { workspace = true }
specta = { workspace = true }
uuid = { version = "1.1.2", features = ["v4", "serde"] }
sysinfo = "0.26.4"
thiserror = "1.0.37"
tokio = { workspace = true, features = [
"sync",
"rt-multi-thread",
"io-util",
"macros",
"time",
] }
include_dir = { version = "0.7.2", features = ["glob"] }
async-trait = "^0.1.57"
image = "0.24.4"
webp = "0.2.2"
ffmpeg-next = { version = "5.1.1", optional = true, features = [] }
sd-ffmpeg = { path = "../crates/ffmpeg", optional = true }
sd-crypto = { path = "../crates/crypto", features = ["rspc", "serde"] }
sd-file-ext = { path = "../crates/file-ext" }
sd-sync = { path = "../crates/sync" }
fs_extra = "1.2.0"
tracing = "0.1.36"
tracing-subscriber = { version = "0.3.15", features = ["env-filter"] }
tracing-android = { version = "0.2.0", optional = true }
async-stream = "0.3.3"
once_cell = "1.15.0"
ctor = "0.1.23"
globset = { version = "^0.4.9", features = ["serde1"] }
itertools = "^0.10.5"
enumflags2 = "0.7.5"
notify = { version = "5.0.0", default-features = false, features = [
"macos_fsevent",
], optional = true }
uhlc = "0.5.1"
[dev-dependencies]
tempfile = "^3.3.0"
tracing-test = "^0.2.3"