-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Expand file tree
/
Copy pathjustfile
More file actions
75 lines (58 loc) · 1.63 KB
/
justfile
File metadata and controls
75 lines (58 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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" }