[package]
edition = "2024"
rust-version = "1.97"
name = "jerrycan"
version = "0.7.30"
authors = ["Pavel Hegler"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The AI-native Rust backend platform: framework, CLI, and MCP server. https://jerrycan.cc"
homepage = "https://jerrycan.cc"
readme = "README.md"
keywords = [
"web",
"framework",
"backend",
"ai",
"mcp",
]
categories = [
"web-programming::http-server",
"command-line-utilities",
]
license = "MIT"
repository = "https://github.com/backant-io/jerrycan"
[package.metadata.cargo-semver-checks.lints]
struct_marked_non_exhaustive = "allow"
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.tar.gz"
pkg-fmt = "tgz"
[features]
auth = ["dep:jerrycan-auth"]
cli = [
"dep:clap",
"dep:serde",
"dep:serde_json",
"dep:tokio",
"dep:sea-query",
"dep:sqlparser",
"dep:sha2",
"dep:syn",
"dep:proc-macro2",
"db",
]
db = ["dep:jerrycan-db"]
default = ["cli"]
jobs = [
"dep:jerrycan-jobs",
"db",
]
jobs-redis = [
"jobs",
"jerrycan-jobs/jobs-redis",
]
mock-idp = [
"oauth",
"jerrycan-auth/mock-idp",
]
oauth = [
"auth",
"jerrycan-auth/oauth",
]
observe = ["dep:jerrycan-observe"]
rate-limit = ["dep:jerrycan-ratelimit"]
rate-limit-redis = [
"rate-limit",
"jerrycan-ratelimit/rate-limit-redis",
]
realtime = [
"dep:jerrycan-realtime",
"db",
]
realtime-redis = [
"realtime",
"jerrycan-realtime/realtime-redis",
]
storage = [
"dep:jerrycan-storage",
"db",
]
storage-s3 = [
"storage",
"jerrycan-storage/storage-s3",
]
validate = ["dep:jerrycan-validate"]
[lib]
name = "jerrycan"
path = "src/lib.rs"
[[bin]]
name = "jerrycan"
path = "src/main.rs"
required-features = ["cli"]
[[test]]
name = "authgen"
path = "tests/authgen.rs"
[[test]]
name = "checkpipe"
path = "tests/checkpipe.rs"
[[test]]
name = "cli"
path = "tests/cli.rs"
[[test]]
name = "conformance"
path = "tests/conformance.rs"
[[test]]
name = "contract_compat"
path = "tests/contract_compat.rs"
[[test]]
name = "contracts"
path = "tests/contracts.rs"
[[test]]
name = "dbgen"
path = "tests/dbgen.rs"
[[test]]
name = "deploy"
path = "tests/deploy.rs"
[[test]]
name = "designing_examples"
path = "tests/designing_examples.rs"
[[test]]
name = "determinism"
path = "tests/determinism.rs"
[[test]]
name = "embedded_sync"
path = "tests/embedded_sync.rs"
[[test]]
name = "eval"
path = "tests/eval.rs"
[[test]]
name = "explain"
path = "tests/explain.rs"
[[test]]
name = "facade"
path = "tests/facade.rs"
[[test]]
name = "features"
path = "tests/features.rs"
[[test]]
name = "fuzz_smoke"
path = "tests/fuzz_smoke.rs"
[[test]]
name = "generation"
path = "tests/generation.rs"
[[test]]
name = "genroute_compile"
path = "tests/genroute_compile.rs"
[[test]]
name = "last_admin_concurrency"
path = "tests/last_admin_concurrency.rs"
[[test]]
name = "mcp"
path = "tests/mcp.rs"
[[test]]
name = "migrate_e2e"
path = "tests/migrate_e2e.rs"
[[test]]
name = "migrate_membership_lossless"
path = "tests/migrate_membership_lossless.rs"
[[test]]
name = "migrate_supabase"
path = "tests/migrate_supabase.rs"
[[test]]
name = "package"
path = "tests/package.rs"
[[test]]
name = "reference_eval"
path = "tests/reference_eval.rs"
[[test]]
name = "reserve_capacity_concurrency"
path = "tests/reserve_capacity_concurrency.rs"
[[test]]
name = "testgen"
path = "tests/testgen.rs"
[[test]]
name = "uuid_identity"
path = "tests/uuid_identity.rs"
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.jerrycan-auth]
version = "0.7.2"
optional = true
[dependencies.jerrycan-core]
version = "0.7.2"
[dependencies.jerrycan-db]
version = "0.7.2"
optional = true
[dependencies.jerrycan-jobs]
version = "0.7.2"
optional = true
[dependencies.jerrycan-macros]
version = "0.7.2"
[dependencies.jerrycan-observe]
version = "0.7.2"
optional = true
[dependencies.jerrycan-ratelimit]
version = "0.7.2"
optional = true
[dependencies.jerrycan-realtime]
version = "0.7.2"
optional = true
[dependencies.jerrycan-storage]
version = "0.7.2"
optional = true
[dependencies.jerrycan-validate]
version = "0.7.2"
optional = true
[dependencies.proc-macro2]
version = "1"
features = ["span-locations"]
optional = true
[dependencies.sea-query]
version = "0.32"
features = [
"backend-sqlite",
"backend-postgres",
]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.sqlparser]
version = "0.62"
optional = true
[dependencies.syn]
version = "2"
features = [
"full",
"visit",
]
optional = true
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"net",
"time",
"sync",
"signal",
]
optional = true
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"net",
"time",
"sync",
"signal",
]