mirror of
https://github.com/storytold/craft-libs.git
synced 2026-10-31 07:39:23 +00:00
Add shared config.toml storage while keeping settings types, defaults and UI policy in each app. Includes isolated in-memory operation, configurable portable paths, atomic saves with private backups, damaged-file preservation, schema migrations, and documented best-effort handling of external edits. Validation: native macOS formatting, strict workspace clippy, 172 workspace tests and the craft-settings WASM check. Independent backup-permission and failed external-migration repros fail before the fixes and pass afterward. Hosted CI: all seven UI and printing jobs pass across macOS, Linux, Windows and UI WASM. Refs #12
23 lines
582 B
TOML
23 lines
582 B
TOML
[package]
|
|
name = "craft-settings"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
repository.workspace = true
|
|
description = "Shared settings storage for the Craft suite: platform folders, config.toml, atomic saves, recovery and migration"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
craft-atomic = { workspace = true }
|
|
serde = { version = "1", features = ["derive"] }
|
|
toml_edit = { version = "0.25", features = ["serde"] }
|
|
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
dirs = "7"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|