Files
SpacetimeDB/crates/cli/Cargo.toml
Tyler Cloutier 46f3e07dfc Fixes issues with --delete-data=on-conflict (#3730)
# Description of Changes

Fixes https://github.com/clockworklabs/SpacetimeDB/issues/3729

I genuinely don't know what came over me.

# API and ABI breaking changes

None

# Expected complexity level and risk

1.5 very straightforward but not strictly trivial

# Testing
Adds automated integration tests (written in Rust and run with `cargo
test`, although note this comment from @matklad about integration tests
for the future
https://internals.rust-lang.org/t/running-test-crates-in-parallel/15639/2):

- [x] Can publish an updated module if no migration is required
- [x] Can publish an updated module if auto-migration is required (with
the yes-break flag true/false)
- [x] Cannot publish if a manual migration is required
- [x] Can publish if a manual migration is required but the user
specified `--delete-data`
- [x] Can publish if a manual migration is required by the user
specified `--delete-data=on-conflict`
- [x] No data deletion occurs if no migration is required and
`--delete-data=on-conflict` is specified

---------

Signed-off-by: Zeke Foppa <196249+bfops@users.noreply.github.com>
Co-authored-by: Zeke Foppa <196249+bfops@users.noreply.github.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: Phoebe Goldman <phoebe@clockworklabs.io>
Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
2025-12-04 21:45:41 +00:00

108 lines
3.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
[features]
markdown-docs = []
[lib]
bench = false
[[bin]]
name = "spacetimedb-cli"
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-auth.workspace = true
spacetimedb-client-api-messages.workspace = true
spacetimedb-codegen.workspace = true
spacetimedb-data-structures.workspace = true
spacetimedb-fs-utils.workspace = true
spacetimedb-lib.workspace = true
spacetimedb-paths.workspace = true
spacetimedb-primitives.workspace = true
spacetimedb-schema.workspace = true
anyhow.workspace = true
base64.workspace = true
bytes.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
fs-err.workspace = true
http.workspace = true
is-terminal.workspace = true
itertools.workspace = true
indicatif.workspace = true
jsonwebtoken.workspace = true
mimalloc.workspace = true
percent-encoding.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
termtree.workspace = true
thiserror.workspace = true
tokio.workspace = true
tokio-tungstenite.workspace = true
toml.workspace = true
toml_edit.workspace = true
tracing = { workspace = true, features = ["release_max_level_off"] }
walkdir.workspace = true
wasmbin.workspace = true
webbrowser.workspace = true
clap-markdown.workspace = true
git2.workspace = true
dialoguer = { workspace = true, features = ["fuzzy-select"] }
rolldown.workspace = true
rolldown_utils.workspace = true
xmltree.workspace = true
quick-xml.workspace = true
names.workspace = true
notify.workspace = true
[dev-dependencies]
pretty_assertions.workspace = true
fs_extra.workspace = true
assert_cmd = "2"
predicates = "3"
portpicker = "0.1"
reqwest = { workspace = true, features = ["blocking", "json"] }
[target.'cfg(not(target_env = "msvc"))'.dependencies]
tikv-jemallocator = { workspace = true }
tikv-jemalloc-ctl = { workspace = true }
[target.'cfg(windows)'.dependencies]
windows-sys = { workspace = true, features = ["Win32_System_Console"] }
[build-dependencies]
serde_json.workspace = true
toml.workspace = true
[lints]
workspace = true