axum-template/justfile

84 lines
1.3 KiB
Makefile

set dotenv-load
PROJECT_NAME := "{{project-name}}"
# List all available commands
default:
@just --list
# Format code
fmt:
cargo fmt
# Lint code
lint:
cargo clippy -- -D warnings
# Run tests
test:
cargo test
# Build the application (debug)
build:
cargo build
# Build the application (release)
build-release:
cargo build --release
# Run the application (debug)
run:
cargo run
# Run the application (release)
run-release:
cargo run --release
# Run migrations
migrate:
cargo sqlx migrate run
# Revert migrations
migrate-revert:
cargo sqlx migrate revert
# Create a new migration
migrate-create name:
cargo sqlx migrate add $(name)
# Check migrations
migrate-status:
cargo sqlx migrate status
# Watch for changes and run tests/linting/run (for development)
dev:
cargo watch -x clippy -x test -x run | bunyan
# Build, migrate, and run (release)
deploy:
just build-release
just migrate
just run-release
# Generate documentation
doc:
cargo doc --open
# Clean the project
clean:
cargo clean
# Analyze binary size
analyze-size:
cargo build --release
cargo install cargo-bloat
cargo bloat --release --all-features --crates
# Check dependencies for security vulnerabilities
audit:
cargo audit
# Check for outdated dependencies
outdated:
cargo outdated