surrealpatch/lib/Cargo.toml

182 lines
5.2 KiB
TOML

[package]
name = "surrealdb"
publish = true
edition = "2021"
version = "1.3.0"
rust-version = "1.70.0"
readme = "CARGO.md"
authors = ["Tobie Morgan Hitchcock <tobie@surrealdb.com>"]
description = "A scalable, distributed, collaborative, document-graph database, for the realtime web"
repository = "https://github.com/surrealdb/surrealdb"
homepage = "https://github.com/surrealdb/surrealdb"
documentation = "https://docs.rs/surrealdb/"
keywords = [
"database",
"embedded-database",
"key-value",
"key-value-store",
"kv-store",
]
categories = ["database-implementations", "data-structures", "embedded"]
license-file = "../LICENSE"
resolver = "2"
[features]
# Public features
default = ["protocol-ws", "rustls"]
protocol-http = ["dep:reqwest", "dep:tokio-util"]
protocol-ws = ["dep:tokio-tungstenite", "dep:trice", "tokio/time"]
kv-mem = ["surrealdb-core/kv-mem", "tokio/time"]
kv-indxdb = ["surrealdb-core/kv-indxdb"]
kv-speedb = ["surrealdb-core/kv-speedb", "tokio/time"]
kv-rocksdb = ["surrealdb-core/kv-rocksdb", "tokio/time"]
kv-tikv = ["surrealdb-core/kv-tikv"]
kv-fdb-5_1 = ["surrealdb-core/kv-fdb-5_1", "kv-fdb"]
kv-fdb-5_2 = ["surrealdb-core/kv-fdb-5_2", "kv-fdb"]
kv-fdb-6_0 = ["surrealdb-core/kv-fdb-6_0", "kv-fdb"]
kv-fdb-6_1 = ["surrealdb-core/kv-fdb-6_1", "kv-fdb"]
kv-fdb-6_2 = ["surrealdb-core/kv-fdb-6_2", "kv-fdb"]
kv-fdb-6_3 = ["surrealdb-core/kv-fdb-6_3", "kv-fdb"]
kv-fdb-7_0 = ["surrealdb-core/kv-fdb-7_0", "kv-fdb"]
kv-fdb-7_1 = ["surrealdb-core/kv-fdb-7_1", "kv-fdb"]
scripting = ["surrealdb-core/scripting"]
http = ["surrealdb-core/http"]
native-tls = [
"dep:native-tls",
"reqwest?/native-tls",
"tokio-tungstenite?/native-tls",
]
rustls = [
"dep:rustls",
"reqwest?/rustls-tls",
"tokio-tungstenite?/rustls-tls-webpki-roots",
]
ml = ["surrealdb-core/ml"]
ml2 = ["surrealdb-core/ml2"]
jwks = ["surrealdb-core/jwks"]
arbitrary = ["surrealdb-core/arbitrary"]
sql2 = ["surrealdb-core/sql2"]
parser2 = ["surrealdb-core/experimental-parser"]
# Private features
kv-fdb = ["tokio/time"]
[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]
features = [
"protocol-ws",
"protocol-http",
"kv-mem",
"kv-rocksdb",
"rustls",
"native-tls",
"http",
"scripting",
]
targets = []
[dependencies]
bincode = "1.3.3"
channel = { version = "1.9.0", package = "async-channel" }
chrono = { version = "0.4.31", features = ["serde"] }
dmp = "0.2.0"
flume = "0.11.0"
futures = "0.3.29"
futures-concurrency = "7.4.3"
geo = { version = "0.27.0", features = ["use-serde"] }
indexmap = { version = "2.1.0", features = ["serde"] }
native-tls = { version = "0.2.11", optional = true }
once_cell = "1.18.0"
path-clean = "1.0.1"
reqwest = { version = "0.11.22", default-features = false, features = [
"json",
"stream",
"multipart",
], optional = true }
revision = "0.5.0"
rust_decimal = { version = "1.33.1", features = ["maths", "serde-str"] }
rustls = { version = "0.21.10", optional = true }
semver = { version = "1.0.20", features = ["serde"] }
serde = { version = "1.0.193", features = ["derive"] }
serde_json = "1.0.108"
surrealdb-core = { version = "1", default-features = false, path = "../core", package = "surrealdb-core" }
thiserror = "1.0.50"
tokio-util = { version = "0.7.10", optional = true, features = ["compat"] }
tracing = "0.1.40"
trice = { version = "0.4.0", optional = true }
url = "2.5.0"
[dev-dependencies]
criterion = { version = "0.5.1", features = ["async_tokio"] }
env_logger = "0.10.1"
pprof = { version = "0.13.0", features = ["flamegraph", "criterion"] }
rand = "0.8.5"
radix_trie = "0.2.1"
regex = "1.10.2"
serial_test = "2.0.0"
temp-dir = "0.1.11"
test-log = { version = "0.2.13", features = ["trace"] }
time = { version = "0.3.30", features = ["serde"] }
tokio = { version = "1.34.0", features = ["macros", "sync", "rt-multi-thread"] }
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
ulid = { version = "1.1.0", features = ["serde"] }
wiremock = "0.5.22"
[target.'cfg(target_arch = "wasm32")'.dependencies]
pharos = "0.5.3"
ring = { version = "0.17.7", features = ["wasm32_unknown_unknown_js"] } # Make ring-based dependencies work on Wasm
tokio = { version = "1.34.0", default-features = false, features = ["rt", "sync"] }
uuid = { version = "1.6.1", features = ["serde", "js", "v4", "v7"] }
wasm-bindgen-futures = "0.4.39"
wasmtimer = { version = "0.2.0", default-features = false, features = [
"tokio",
] }
ws_stream_wasm = "0.7.4"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { version = "1.34.0", default-features = false, features = [
"macros",
"io-util",
"io-std",
"fs",
"rt-multi-thread",
"time",
"sync",
] }
tokio-tungstenite = { version = "0.20.1", optional = true }
uuid = { version = "1.6.1", features = ["serde", "v4", "v7"] }
[lib]
name = "surrealdb" # Needed for the nightly crate as we will be renaming it
bench = false
[[bench]]
name = "executor"
harness = false
[[bench]]
name = "parser"
harness = false
[[bench]]
name = "processor"
harness = false
[[bench]]
name = "hash_trie_btree"
harness = false
[[bench]]
name = "index_btree"
harness = false
[[bench]]
name = "index_mtree"
harness = false
[[bench]]
name = "move_vs_clone"
harness = false
[[bench]]
name = "sdb"
harness = false