mmdflux 1.2.0

Render Mermaid diagrams as Unicode text, ASCII, SVG, and MMDS JSON.
Documentation
# List available recipes
default:
    @just --list

# Run all tests
test *args:
    cargo nextest run {{ args }}

# Run all tests (CI mode: no fail-fast, verbose)
test-ci *args:
    cargo nextest run --profile ci {{ args }}

# Run a specific test file (e.g. just test-file integration)
test-file name *args:
    cargo nextest run --test {{ name }} {{ args }}

# Build (debug)
build *args:
    cargo build {{ args }}

# Build (release)
release *args:
    cargo build --release {{ args }}

# Run clippy and fmt check
lint:
    cargo +nightly fmt -- --check
    cargo clippy --locked --all-targets --all-features -- -D warnings

# Run clippy with auto-fix
fix *args:
    cargo clippy --fix --all-targets --all-features --allow-dirty --allow-staged -- -D warnings {{ args }}

# Format code
fmt:
    cargo +nightly fmt

# Run the CLI
run *args:
    cargo run -- {{ args }}

# Run MMDS conformance checks (semantic/layout/visual tiers)
conformance *args:
    cargo nextest run --test mmds_conformance --success-output immediate {{ args }}

# Check that everything compiles, passes lint, and tests
check: lint test

# Build wasm bindings for browser and bundler targets
wasm-build:
    wasm-pack build crates/mmdflux-wasm --target web --dev --out-dir ../../target/wasm-pkg-web
    wasm-pack build crates/mmdflux-wasm --target bundler --dev --out-dir ../../target/wasm-pkg-bundler

# Run browser-executed wasm-bindgen contract tests
wasm-test:
    just wasm-build
    ./scripts/run-wasm-browser-tests.sh

# Build release wasm artifacts and enforce CI-equivalent size budgets
wasm-size *args:
    ./scripts/check-wasm-size.sh {{ args }}