Files
anki/justfile
2026-03-31 08:26:59 -04:00

76 lines
1.6 KiB
Makefile

set windows-shell := ["cmd.exe", "/c"]
# Show available commands
default:
@just --list
# Build the project
build:
{{ ninja }} pylib qt
# Build wheels (needed for some platforms)
wheels:
{{ ninja }} wheels
# Build and run all checks (lint + test) - lets ninja handle dependencies
check:
{{ ninja }} pylib qt check
# Run all tests (Rust, Python, TypeScript)
test:
{{ ninja }} check:rust_test check:pytest check:vitest
# Check formatting (fast, no build needed)
fmt:
{{ ninja }} check:format
# Fix formatting
fix-fmt:
{{ ninja }} format
# Run linting and type checking (requires build outputs)
lint:
{{ ninja }} \
check:clippy \
check:mypy \
check:ruff \
check:eslint \
check:svelte \
check:typescript
# Fix auto-fixable lint issues (ruff + eslint)
fix-lint:
{{ ninja }} fix:ruff fix:eslint
# Run minilints (copyright, contributors, licenses)
minilints:
{{ ninja }} check:minilints
# Fix minilints (update licenses.json)
fix-minilints:
{{ ninja }} fix:minilints
# Sync translation files
ftl-sync:
{{ ninja }} ftl-sync
# Deprecate translation strings
ftl-deprecate:
{{ ninja }} ftl-deprecate
# Build documentation site
docs:
uv run --group docs sphinx-build -b html docs out/docs/html
@echo "Docs built at out/docs/html/index.html"
# Build and serve documentation site
docs-serve:
uv run --group docs sphinx-autobuild docs out/docs/html --host 127.0.0.1 --port 8000
# Build Rust API docs
docs-rust:
cargo doc --open
# Helper to get the right ninja command for the platform
ninja := if os() == "windows" { "tools\\ninja" } else { "./ninja" }