convex-typegen 0.3.0

Type safe bindings for ConvexDB in Rust
Documentation
# Default: show available recipes.
default:
    @just --list

# Build the library crate (this package has no `main`; use `example` to execute something).
build *ARGS:
    cargo build --all-features --release {{ ARGS }}

# Run the workspace tests for `convex-typegen`.
test *ARGS:
    cargo test {{ ARGS }}

# Clippy on all targets and features (warnings denied).
lint:
    cargo clippy --all-targets --all-features -- -D warnings

# Apply Rustfmt using nightly so options in `rustfmt.toml` apply (`rustup toolchain install nightly`).
fmt:
    cargo +nightly fmt --all
    cargo +nightly fmt --manifest-path examples/basic/Cargo.toml
    cargo +nightly fmt --manifest-path examples/advanced/Cargo.toml

# Fail if the tree is not rustfmt-clean (same as `fmt` but check-only).
fmt-check:
    cargo +nightly fmt --all --check
    cargo +nightly fmt --manifest-path examples/basic/Cargo.toml --check
    cargo +nightly fmt --manifest-path examples/advanced/Cargo.toml --check

# Clippy + tests (formatting: use `fmt-check` or `fmt` when you want rustfmt enforced).
check: lint test

install-example-deps:
    cd examples/basic && bun install
    cd examples/advanced && pnpm install

# Build and run the `basic` example (Convex URL / keys typically come from `.env` via dotenvy).
example *ARGS:
    cargo run --manifest-path examples/basic/Cargo.toml {{ ARGS }}

# Richer Convex surface + Rust smoke test (`examples/advanced/readme.md`).
example-advanced *ARGS:
    cargo run --manifest-path examples/advanced/Cargo.toml {{ ARGS }}

# Generate and open the documentation for this package.
doc:
    cargo doc --all-features --no-deps --open

publish:
    cargo publish

publish-test:
    cargo publish --dry-run --allow-dirty