-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathMakefile
More file actions
101 lines (83 loc) · 3.54 KB
/
Copy pathMakefile
File metadata and controls
101 lines (83 loc) · 3.54 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
default: contracts-generate format check
help:
@echo "Common docs tasks:"
@echo " make dev # Run local Mintlify server (http://localhost:3000)"
@echo " make check # Run all checks (validate, links, assets, a11y, vale, redirects)"
@echo " make check-validate # Validate docs build"
@echo " make check-links # Check for broken links"
@echo " make check-assets # Check /images for orphaned + missing refs"
@echo " make check-a11y # Run accessibility checks"
@echo " make check-vale # Run vale prose linter on .md / .mdx (release-page surfaces only by default)"
@echo " # Override scope: VALE_PATHS=\"general/ nodes/ build/\" make check-vale"
@echo " make check-redirects # Verify all redirects land on HTTP 200 (needs running server)"
@echo " # Override port: BASE_URL=http://localhost:3335 make check-redirects"
@echo " make contracts-generate # Regenerate contract pages/snippets from data/contracts.json"
@echo " make check-pol-addresses # POLAddresses vs contracts.json summary (fails if not_ok > 0)"
@echo " make list-pol-addresses-not-ok # List all not_ok POL address rows"
@echo " make format # Reformat all .md and .mdx files with Prettier"
@echo " make format-check # Check formatting compliance without changes"
@echo " make mint-install # Install Mintlify CLI globally via npm"
dev:
mint dev
check: check-validate check-links check-assets check-a11y check-vale check-redirects check-pol-addresses
check-validate:
mint validate
check-links:
mint broken-links
check-a11y:
mint a11y
# Vale prose linter. Vocabulary lives in vale/config/vocabularies/Berachain/.
check-vale:
@if ! command -v vale >/dev/null 2>&1; then \
echo "vale not on PATH. Install with: brew install vale"; \
exit 1; \
fi
vale .
check-redirects:
bash scripts/check-redirects.sh $${BASE_URL:-http://localhost:3000}
check-assets:
@assets_file_list="$$(mktemp)"; \
assets_ref_list="$$(mktemp)"; \
rg --files images | sed 's#^images#/images#' | sort -u > "$$assets_file_list"; \
rg -o --no-filename '/images/[A-Za-z0-9._/-]+' . --glob '*.mdx' --glob '*.md' --glob '*.json' | sort -u > "$$assets_ref_list"; \
orphans="$$(comm -23 "$$assets_file_list" "$$assets_ref_list")"; \
missing="$$(comm -23 "$$assets_ref_list" "$$assets_file_list")"; \
rm -f "$$assets_file_list" "$$assets_ref_list"; \
if [ -n "$$orphans" ]; then \
echo "❌ Orphaned assets found:"; \
printf '%s\n' "$$orphans"; \
failed=1; \
fi; \
if [ -n "$$missing" ]; then \
echo "❌ Missing asset references found:"; \
printf '%s\n' "$$missing"; \
failed=1; \
fi; \
if [ -n "$$failed" ]; then \
exit 1; \
fi; \
echo "✅ No orphaned or missing asset references found."
format:
prettier --write "**/*.{md,mdx}"
format-check:
prettier --check "**/*.{md,mdx}"
contracts-generate:
node scripts/contracts/generate-pages.mjs
make format
POL_ADDRESSES_SOL := ../contracts-internal/script/pol/POLAddresses.sol
check-pol-addresses:
@if [ ! -f "$(POL_ADDRESSES_SOL)" ]; then \
echo "⏭️ POL addresses: skipped ($(POL_ADDRESSES_SOL) not found; clone berachain/contracts-internal as sibling)"; \
exit 0; \
fi; \
line="$$(node scripts/contracts/verify-pol-addresses.mjs --summary)"; status=$$?; \
if [ $$status -eq 0 ]; then \
echo "✅ POL addresses: $$line"; \
else \
echo "❌ POL addresses: $$line"; \
exit $$status; \
fi
list-pol-addresses-not-ok:
@node scripts/contracts/verify-pol-addresses.mjs --list-not-ok
mint-install:
npm i -g mint