mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-31 07:39:20 +00:00
Gap 10: a file counts the library instances it places, creates, pastes or duplicates and reports them like its detaches. The server counts what a file's totals grow past their highest in the current week and keeps a year of weeks (actions.json). library.usage {days} and Show usage give insertions and detachments over the past 30 days, 90 days or year. New variants are appended; an older server refuses them and Show usage says so.
49 lines
1.7 KiB
TOML
49 lines
1.7 KiB
TOML
[package]
|
|
name = "figcraft-server"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
publish = false
|
|
description = "FigCraft's standalone collaboration server: keeps many files with share links (edit or view), persists them as snapshots plus a log, and serves live sessions (headless, native only)"
|
|
|
|
[lib]
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "figcraft-server"
|
|
path = "src/main.rs"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
figcraft-collab = { workspace = true }
|
|
figcraft-collab-net = { workspace = true }
|
|
# Checking a team library before keeping it (read as files using it read it).
|
|
figcraft-format = { workspace = true }
|
|
# Checking plugin bundles before the plugin directory keeps them (never run here).
|
|
figcraft-plugin = { workspace = true }
|
|
log = { workspace = true }
|
|
# The week a library analytics count falls in.
|
|
chrono = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
crc32fast = { workspace = true }
|
|
toml = "1"
|
|
env_logger = { version = "0.11", default-features = false, features = ["humantime"] }
|
|
# Stopping gracefully on SIGTERM/SIGINT/SIGHUP (systemd, Docker, Ctrl+C) and Ctrl+C/close on Windows.
|
|
ctrlc = { version = "3", features = ["termination"] }
|
|
|
|
# Free space on the data directory's disk (statvfs, without unsafe code of our own).
|
|
[target.'cfg(unix)'.dependencies]
|
|
rustix = { version = "1", default-features = false, features = ["std", "fs"] }
|
|
|
|
[dev-dependencies]
|
|
# Crafting hostile archives (zip bombs) in tests.
|
|
zip = { workspace = true }
|
|
wat = { workspace = true }
|
|
figcraft-engine = { workspace = true }
|
|
figcraft-doc = { workspace = true }
|
|
tungstenite = { version = "0.30", default-features = false, features = ["handshake"] }
|