fsqlite-cli 0.3.13

Interactive SQL shell
[package]
name = "fsqlite-cli"
version = "0.3.13"
description = "Interactive SQL shell"
edition.workspace = true
license-file.workspace = true
repository.workspace = true

[[bin]]
name = "fsqlite"
path = "src/main.rs"

[features]
# The workspace `fsqlite` dep is declared `default-features = false` (root
# Cargo.toml), so the shipped shell would otherwise register ZERO SQL
# extensions — no json1/fts5/rtree/icu/misc — a parity gap vs stock sqlite3
# (which ships json1+fts5+rtree). Forward the facade extension features and turn
# them on by default so `cargo build -p fsqlite-cli` ships them; a
# `--no-default-features` build still yields a lean engine-only shell. bd-dv4xv.
default = ["json", "fts5", "rtree", "icu", "misc"]
json = ["fsqlite/json"]
fts5 = ["fsqlite/fts5"]
rtree = ["fsqlite/rtree"]
icu = ["fsqlite/icu"]
misc = ["fsqlite/misc"]

[dependencies]
# `linux-asupersync-uring` (which implies the facade's `native`) must be
# enabled here explicitly: the workspace `fsqlite` spec is
# `default-features = false`, so without it the file-backed pager compiles out
# and the shipped shell cannot open real database files — the v0.3.8 release
# binaries shipped exactly that defect (bd-slgya). Workspace-wide builds mask
# the gap via feature unification; the dsr release build (`-p fsqlite-cli`)
# does not.
fsqlite = { workspace = true, features = ["linux-asupersync-uring"] }
fsqlite-error = { workspace = true }
fsqlite-core = { workspace = true }
fsqlite-types = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
# The CLI is the top-level consumer, so it is the component that owns the async
# runtime and hands a `Cx` down into the engine (see AGENTS.md: FrankenSQLite
# itself never builds a runtime).
asupersync = { workspace = true }

[dev-dependencies]
# The inline `#[cfg(test)]` module drives the async `run`/`run_with_shell_options`
# entry points through `asupersync::test_utils::run_test`, which lives behind
# `test-internals`. The runtime the binary itself builds in `main` is unchanged.
asupersync = { workspace = true, features = ["test-internals"] }
tempfile = { workspace = true }

[lints]
workspace = true