Files
Phoebe Goldman db34ff6a8e Create new crate fs-utils; move Lockfile and create_parent_dir (#1334)
* Create new crate `fs-utils`; move `Lockfile` and `create_parent_dir`

The snapshot crate will need to create lockfiles.
Rather than duplicating code to do so, we choose to move our definition of `Lockfile`
into a crate that can be depended on by both `cli` and `snapshot`.
No existing crate seems like an obvious choice for this
-- a `Lockfile` is not really a data structure, so `data-structures` seems wrong --
so we add a new crate, `fs-utils`.
Currently this contains only `Lockfile` and `create_parent_dir`,
but a follow-up PR will add `DirTrie`, a Git-like on-disk object store.

* Deduplicate `map_err` closure

* Zeke's nit: simplify control flow

Co-authored-by: Zeke Foppa <196249+bfops@users.noreply.github.com>
Signed-off-by: Phoebe Goldman <phoebe@goldman-tribe.org>

---------

Signed-off-by: Phoebe Goldman <phoebe@goldman-tribe.org>
Co-authored-by: Zeke Foppa <196249+bfops@users.noreply.github.com>
2024-06-04 16:57:28 +00:00

71 lines
2.0 KiB
TOML

[package]
name = "spacetimedb-cli"
version.workspace = true
edition.workspace = true
license-file = "LICENSE"
description = "A command line interface for SpacetimeDB"
rust-version.workspace = true
[lib]
bench = false
[[bin]]
name = "spacetime"
path = "src/main.rs"
# Benching off, because of https://bheisler.github.io/criterion.rs/book/faq.html#cargo-bench-gives-unrecognized-option-errors-for-valid-command-line-options
bench = false
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
spacetimedb-primitives.workspace = true
spacetimedb-core.workspace = true
spacetimedb-data-structures.workspace = true
spacetimedb-lib.workspace = true
spacetimedb-standalone = { workspace = true, optional = true }
spacetimedb-client-api-messages.workspace = true
spacetimedb-fs-utils.workspace = true
anyhow.workspace = true
base64.workspace = true
cargo_metadata.workspace = true
chrono.workspace = true
clap = {workspace = true, features = ["derive", "env", "string"]}
colored.workspace = true
convert_case.workspace = true
dirs.workspace = true
duct.workspace = true
email_address.workspace = true
futures.workspace = true
flate2.workspace = true
is-terminal.workspace = true
itertools.workspace = true
indicatif.workspace = true
jsonwebtoken.workspace = true
mimalloc.workspace = true
regex.workspace = true
reqwest.workspace = true
rustyline.workspace = true
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["raw_value", "preserve_order"] }
serde_with = { workspace = true, features = ["chrono_0_4"] }
slab.workspace = true
syntect.workspace = true
tabled.workspace = true
tar.workspace = true
tempfile.workspace = true
termcolor.workspace = true
thiserror.workspace = true
tokio.workspace = true
toml.workspace = true
wasmbin.workspace = true
wasmtime.workspace = true
[dev-dependencies]
insta.workspace = true
spacetimedb-testing = { path = "../testing" }
[features]
standalone = ["spacetimedb-standalone"]
default = ["standalone"]