mirror of
https://github.com/ethersync/ethersync.git
synced 2025-08-02 04:07:29 +03:00
104 lines
2.8 KiB
TOML
104 lines
2.8 KiB
TOML
# SPDX-FileCopyrightText: 2024 Danny McClanahan <dmcC2@hypnicjerk.ai>
|
|
# SPDX-FileCopyrightText: 2024 blinry <mail@blinry.org>
|
|
# SPDX-FileCopyrightText: 2024 zormit <nt4u@kpvn.de>
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
[package]
|
|
name = "ethersync"
|
|
description = "Enables real-time co-editing of local text files."
|
|
version = "0.7.0"
|
|
authors = ["Moritz Neeb <nt4u@kpvn.de>", "blinry <mail@blinry.org>"]
|
|
license = "AGPL-3.0-or-later"
|
|
readme = "../README.md"
|
|
documentation = "https://ethersync.github.io"
|
|
repository = "https://github.com/ethersync/ethersync"
|
|
keywords = [
|
|
"collaboration",
|
|
"local-first",
|
|
"synchronization",
|
|
"crdt",
|
|
"peer-to-peer",
|
|
]
|
|
categories = ["command-line-utilities", "text-editors"]
|
|
edition = "2021"
|
|
default-run = "ethersync"
|
|
|
|
[lib]
|
|
name = "ethersync"
|
|
|
|
[[bin]]
|
|
name = "ethersync"
|
|
test = false
|
|
bench = false
|
|
doc = false
|
|
required-features = ["executable-deps"]
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.81"
|
|
automerge = "0.6.1"
|
|
clap = { version = "4.5.3", features = ["derive", "env"], optional = true }
|
|
constant_time_eq = "0.3.1"
|
|
derive_more = { version = "2.0.1", features = ["as_ref", "deref", "display"] }
|
|
dissimilar = "1.0.9"
|
|
futures = { version = "0.3.30", default-features = false }
|
|
git2 = { version = "0.20.2", default-features = false }
|
|
ignore = "0.4.22"
|
|
iroh = "0.35.0"
|
|
magic-wormhole = "0.7.6"
|
|
notify = { version = "8.0.0", default-features = false, features = [
|
|
"macos_fsevent",
|
|
] }
|
|
operational-transform = "0.6.1"
|
|
path-clean = "1.0.1"
|
|
postcard = { version = "1.1.1", features = ["alloc"] }
|
|
rand = "0.8.5"
|
|
ropey = "1.6.1"
|
|
rust-ini = "0.21.1"
|
|
serde = { version = "1.0.198", features = ["derive"] }
|
|
serde_json = "1"
|
|
time = { version = "0.3.36", features = ["formatting"] }
|
|
tokio-util = { version = "0.7.11", features = ["codec"] }
|
|
tracing = "0.1.40"
|
|
tracing-subscriber = { version = "0.3.18", default-features = false, features = [
|
|
"ansi",
|
|
"fmt",
|
|
"time",
|
|
"env-filter",
|
|
] }
|
|
|
|
[dependencies.tokio]
|
|
version = "1"
|
|
features = ["rt", "io-std", "io-util", "macros", "net", "time"]
|
|
|
|
[features]
|
|
executable-deps = ["dep:clap", "tokio/signal", "tokio/rt-multi-thread"]
|
|
default = ["executable-deps"]
|
|
|
|
[dev-dependencies]
|
|
pretty_assertions = "1.4.0"
|
|
temp-dir = "0.1.13"
|
|
tracing-test = "0.2.4"
|
|
|
|
# Stripping symbols (not debuginfo) reduces binary size by ~1.5x.
|
|
# This is the default profile for `cargo install`:
|
|
# https://doc.rust-lang.org/cargo/reference/profiles.html#profile-selection.
|
|
# TODO: We may want to make [profile.release-size] the default
|
|
# once we're out of the fast iteration development phase.
|
|
[profile.release]
|
|
strip = true
|
|
opt-level = 3
|
|
|
|
# 2-3x slower to compile, but produces a ~1.2x smaller binary.
|
|
[profile.release-lto]
|
|
inherits = "release"
|
|
lto = true
|
|
codegen-units = 1
|
|
|
|
# Also quite slow to compile, but produces a ~1.6x smaller binary.
|
|
[profile.release-size]
|
|
inherits = "release"
|
|
lto = true
|
|
codegen-units = 1
|
|
opt-level = "s"
|