[package]
edition = "2024"
name = "evenframe"
version = "0.6.0"
authors = ["Jakob Lochinski"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A unified framework for TypeScript type generation and database schema synchronization"
homepage = "https://github.com/rymskip/evenframe"
documentation = "https://docs.rs/evenframe"
readme = "README.md"
keywords = [
"typescript",
"codegen",
"surrealdb",
"schema",
"types",
]
categories = [
"development-tools",
"database",
]
license = "MIT"
repository = "https://github.com/rymskip/evenframe"
[features]
arktype = ["evenframe_core/arktype"]
build-fullstack = [
"build-typesync",
"build-schemadump",
]
build-schemadump = ["evenframe_core/build-schemadump"]
build-typesync = ["evenframe_core/build-typesync"]
cli = [
"evenframe_core/cli",
"schemasync",
"surrealdb",
"typesync-all",
"dep:clap",
"dep:serde",
"dep:serde_json",
"dep:tokio",
"dep:toml",
"dep:tracing",
"dep:tracing-subscriber",
"dep:blake3",
"dep:rayon",
"dep:walkdir",
"dep:yaml_serde",
]
default = ["cli"]
dev-mode = ["evenframe_core/dev-mode"]
effect = ["evenframe_core/effect"]
flatbuffers = ["evenframe_core/flatbuffers"]
full = [
"evenframe_core/full",
"build-fullstack",
]
macroforge = ["evenframe_core/macroforge"]
metadata = ["evenframe_core/metadata"]
mockmake = ["evenframe_core/mockmake"]
protobuf = ["evenframe_core/protobuf"]
schemasync = ["evenframe_core/schemasync"]
surrealdb = ["evenframe_core/surrealdb"]
surrealdb-types = ["evenframe_core/surrealdb-types"]
typesync = ["evenframe_core/typesync"]
typesync-all = ["evenframe_core/typesync-all"]
wasm-plugins = ["evenframe_core/wasm-plugins"]
[lib]
name = "evenframe"
path = "src/lib.rs"
[[bin]]
name = "evenframe"
path = "src/main.rs"
required-features = ["cli"]
[[test]]
name = "cli"
path = "tests/cli.rs"
required-features = ["cli"]
[dependencies.blake3]
version = "1.8"
optional = true
[dependencies.clap]
version = "4.6"
features = [
"derive",
"env",
]
optional = true
[dependencies.convert_case]
version = "0.12.0"
[dependencies.evenframe_core]
version = "0.6.0"
default-features = false
[dependencies.evenframe_derive]
version = "0.6.0"
[dependencies.linkme]
version = "0.3.37"
[dependencies.rayon]
version = "1.12"
optional = true
[dependencies.regex]
version = "1.13.1"
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0.151"
optional = true
[dependencies.tokio]
version = "1.53.2"
features = [
"rt-multi-thread",
"macros",
"time",
]
optional = true
[dependencies.toml]
version = "1.1.6"
optional = true
[dependencies.tracing]
version = "0.1.44"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1.27"
features = [
"v4",
"serde",
]
[dependencies.walkdir]
version = "2.5.0"
optional = true
[dependencies.yaml_serde]
version = "0.10.7"
optional = true
[dev-dependencies.insta]
version = "1.49"
features = ["filters"]
[dev-dependencies.mockall]
version = "0.15"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.proptest]
version = "1.11"
[dev-dependencies.tempfile]
version = "3.27"
[lints.clippy]
enum_glob_use = "deny"
wildcard_imports = "deny"