-
Notifications
You must be signed in to change notification settings - Fork 2
/
justfile
86 lines (58 loc) · 1.64 KB
/
justfile
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
76
77
78
79
80
81
82
83
84
85
86
# THIS FILE IS AUTOGENERATED FROM FLAKEBOX CONFIGURATION
alias b := build
alias c := check
alias t := test
[private]
default:
@just --list
# run `cargo build` on everything
build:
cargo build --workspace --all-targets
# run `cargo check` on everything
check:
cargo check --workspace --all-targets
# run all checks recommended before opening a PR
final-check: lint clippy
cargo test --doc
just test
# run code formatters
format:
cargo fmt --all
nixpkgs-fmt $(echo **.nix)
# run lints (git pre-commit hook)
lint:
env NO_STASH=true $(git rev-parse --git-common-dir)/hooks/pre-commit
# run tests
test: build
cargo test
# run and restart on changes
watch:
env RUST_LOG=${RUST_LOG:-debug} cargo watch -x run
# run `cargo clippy` on everything
clippy:
cargo clippy --workspace --all-targets -- --deny warnings --allow deprecated
# run `cargo clippy --fix` on everything
clippy-fix:
cargo clippy --workspace --all-targets --fix
# run `semgrep`
semgrep:
env SEMGREP_ENABLE_VERSION_CHECK=0 \
semgrep --error --config .config/semgrep.yaml
# check typos
[no-exit-message]
typos *PARAMS:
#!/usr/bin/env bash
set -eo pipefail
export FLAKEBOX_GIT_LS
FLAKEBOX_GIT_LS="$(git ls-files)"
export FLAKEBOX_GIT_LS_TEXT
FLAKEBOX_GIT_LS_TEXT="$(echo "$FLAKEBOX_GIT_LS" | grep -v -E "^db/|\.(png|ods|jpg|jpeg|woff2|keystore|wasm|ttf|jar|ico)\$")"
if ! echo "$FLAKEBOX_GIT_LS_TEXT" | typos {{PARAMS}} --stdin-paths; then
>&2 echo "Typos found: Valid new words can be added to '.typos.toml'"
return 1
fi
# fix all typos
[no-exit-message]
typos-fix-all:
just typos -w
# THIS FILE IS AUTOGENERATED FROM FLAKEBOX CONFIGURATION