ocre-cli 0.2.0

Command-line tool for Ocre: create, generate, migrate, run and deploy apps.
[package]
name = "ocre-cli"
version = "0.2.0"
description = "Command-line tool for Ocre: create, generate, migrate, run and deploy apps."
edition.workspace = true
license.workspace = true
repository.workspace = true
# tests/ mirrors src/ for unit tests (compiled into the binary with `#[path]`);
# only the targets below are test binaries.
autotests = false

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

# Commands against fake cf, wrangler, npm and node (tests/support/fake_cf.sh).
[[test]]
name = "cli"
path = "tests/integration/cli.rs"

[[test]]
name = "auth"
path = "tests/integration/auth.rs"

[[test]]
name = "db"
path = "tests/integration/db.rs"

[[test]]
name = "cache"
path = "tests/integration/cache.rs"

[[test]]
name = "i18n"
path = "tests/integration/i18n.rs"

[[test]]
name = "mail"
path = "tests/integration/mail.rs"

[[test]]
name = "jobs"
path = "tests/integration/jobs.rs"

[[test]]
name = "routes"
path = "tests/integration/routes.rs"

[[test]]
name = "realtime"
path = "tests/integration/realtime.rs"

[[test]]
name = "storage"
path = "tests/integration/storage.rs"

[[test]]
name = "models"
path = "tests/integration/models.rs"

# `ocre new` in a pseudo-terminal.
[[test]]
name = "wizard"
path = "tests/integration/wizard.rs"

[[test]]
name = "generators"
path = "tests/integration/generators.rs"

[[test]]
name = "commands"
path = "tests/integration/commands.rs"

[[test]]
name = "secrets"
path = "tests/integration/secrets.rs"

[[test]]
name = "logs"
path = "tests/integration/logs.rs"

[[test]]
name = "fixtures"
path = "tests/integration/fixtures.rs"

[[test]]
name = "platform"
path = "tests/integration/platform.rs"

# Generated apps on workerd (the real `cf dev`); ignored by default, run locally with
# `cargo test -p ocre-cli --test e2e -- --ignored`.
[[test]]
name = "e2e"
path = "tests/system/e2e.rs"

[dependencies]
# Fixture files (`db/fixtures/*.yml`): YAML 1.2 with anchors; JSON is YAML too.
yaml-rust2 = { version = "0.13.0", default-features = false }
clap = { version = "4.6.7", features = ["derive"] }
cliclack = "0.5.6"
getrandom = "0.4.3"
json5 = "1.3.1"
minijinja = { version = "2.24.0", default-features = false, features = ["builtins", "custom_syntax", "serde"] }
# Locale files are checked with the parser the Worker uses (`ocre::i18n::check`).
ocre = { path = "../ocre", version = "0.2.0", default-features = false, features = ["push"] }
serde.workspace = true
serde_json = "1.0.151"
sha2 = "0.10.9"
toml = "1.1.6"
ureq = "3.4.2"

[dev-dependencies]
rexpect = "0.7.1"
# WebSocket client for the realtime e2e test.
tungstenite = { version = "0.30.0", default-features = false, features = ["handshake"] }