[package]
name = "evenframe_core"
version = "0.1.2"
edition = "2024"
authors = ["Jakob Lochinski"]
license = "MIT"
description = "Core functionality for Evenframe - TypeScript type generation and database schema synchronization"
repository = "https://github.com/rymskip/evenframe"
documentation = "https://docs.rs/evenframe_core"
readme = "../README.md"
keywords = ["typescript", "codegen", "surrealdb", "schema", "types"]
categories = ["development-tools", "database"]
[features]
default = ["surrealdb"]
surrealdb = ["dep:surrealdb"]
sql = ["dep:sqlx"]
postgres = ["sql", "sqlx?/postgres"]
mysql = ["sql", "sqlx?/mysql"]
sqlite = ["sql", "sqlx?/sqlite"]
sql-all = ["postgres", "mysql", "sqlite"]
all-providers = ["surrealdb", "sql-all"]
[dependencies]
serde_json = { workspace = true }
regex = { workspace = true }
try_from_expr = { workspace = true }
syn = { workspace = true }
tracing = { workspace = true }
convert_case = { workspace = true }
tokio = { workspace = true }
toml = { workspace = true }
surrealdb = { version = "3.0.0", features = ["kv-mem", "protocol-http"], optional = true }
sqlx = { version = "0.8", features = ["runtime-tokio", "tls-rustls"], optional = true }
async-trait = "0.1"
dotenv = "0.15.0"
proc-macro2 = "1.0.95"
quote = "1.0.40"
serde = { version = "1.0.219", features = ["derive"] }
rand = "0.9.2"
rand_distr = "0.5.1"
heck = "0.5.0"
chrono = "0.4.41"
chrono-tz = "0.10.4"
derive_more = { version = "2.0.1", features = ["from"] }
petgraph = "0.8.2"
futures = "0.3.31"
bon = "3.6.5"
uuid = { version = "1.17", features = ["v4"] }
axum = { version = "0.8.4", features = ["macros"] }
serde-value = "0.7.0"
thiserror = "2.0.12"
ordered-float = { version = "5.0.0", features = ["serde"] }
derive-syn-parse = "0.2.0"
linkme = "0.3.33"
once_cell = "1.21.3"
walkdir = "2.5"
logos = "0.15"
protox = "0.8"
prost-types = "0.13"
macroforge_ts = "0.1.17"
[dev-dependencies]
proptest = "1.4"
mockall = "0.12"
temp-env = "0.3"
tempfile = "3.10"
pretty_assertions = "1.4"