Lay groundwork for Phase 3 of the workspace split (improvise-8zh): a new `crates/improvise-io/` sub-crate that will house the persistence and import layers once the files move in the next commit. Only scaffolding here: - New `crates/improvise-io/Cargo.toml` declares deps on improvise-core, improvise-formula, and the external crates persistence+import already use: anyhow, chrono, csv, flate2, indexmap, pest, pest_derive, serde, serde_json. Dev-deps: pest_meta, proptest, tempfile. - New `crates/improvise-io/src/lib.rs` re-exports the core modules under their conventional names (`format`, `model`, `view`, `workbook`, `formula`) so in the next commit the moved code's `crate::model::*`, `crate::view::*`, `crate::workbook::*`, `crate::format::*`, and `crate::formula::*` paths resolve unchanged. - Root `Cargo.toml` adds the new crate to workspace members and the main crate's `[dependencies]`, ready to receive the move. No source files change yet; cargo check --workspace still compiles as before. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
62 lines
1.4 KiB
TOML
62 lines
1.4 KiB
TOML
[workspace]
|
|
members = [".", "crates/improvise-formula", "crates/improvise-core", "crates/improvise-io"]
|
|
|
|
[package]
|
|
name = "improvise"
|
|
version = "0.1.0-rc2"
|
|
edition = "2024"
|
|
description = "Terminal pivot-table modeling in the spirit of Lotus Improv"
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/fiddlerwoaroof/improvise"
|
|
homepage = "https://github.com/fiddlerwoaroof/improvise"
|
|
readme = "README.md"
|
|
keywords = ["tui", "pivot", "spreadsheet", "data", "improv"]
|
|
categories = ["command-line-utilities", "visualization"]
|
|
|
|
[[bin]]
|
|
name = "improvise"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
improvise-core = { path = "crates/improvise-core" }
|
|
improvise-formula = { path = "crates/improvise-formula" }
|
|
improvise-io = { path = "crates/improvise-io" }
|
|
ratatui = "0.30"
|
|
crossterm = "0.29"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
anyhow = "1"
|
|
thiserror = "2"
|
|
indexmap = { version = "2", features = ["serde"] }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
flate2 = "1"
|
|
unicode-width = "^0.2"
|
|
dirs = "6"
|
|
csv = "1"
|
|
clap = { version = "4.6.0", features = ["derive"] }
|
|
enum_dispatch = "0.3.13"
|
|
pest = "2.8.6"
|
|
pest_derive = "2.8.6"
|
|
|
|
[dev-dependencies]
|
|
pest = "2.8.6"
|
|
pest_derive = "2.8.6"
|
|
pest_meta = "2.8.6"
|
|
proptest = "1"
|
|
tempfile = "3"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = true
|
|
codegen-units = 1
|
|
strip = true
|
|
|
|
[profile.profiling]
|
|
inherits = "release"
|
|
strip = false
|
|
debug = 2
|
|
|
|
# The profile that 'dist' will build with
|
|
[profile.dist]
|
|
inherits = "release"
|