Files
Cibello-app/scripts/brand-guard.sh
T
2026-08-05 19:21:11 +07:00

45 lines
1.6 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# Varumärkesvakt (beslut D-026): varumärkesnamn får ENDAST finnas i brand.config.json.
# Körs i CI och kan köras lokalt: ./scripts/brand-guard.sh
#
# Vaktar två saker:
# 1. Det gamla arbetsnamnet får aldrig återinträda någonstans.
# 2. Det AKTUELLA namnet i brand.config.json får inte hårdkodas i kod
# (README/docs får nämna det; kod, seed och infrastruktur får det inte).
set -euo pipefail
cd "$(dirname "$0")/.."
FAIL=0
# 1. Historiska/förbjudna namn uppdatera listan vid namnbyte.
FORBIDDEN=("matrivo")
for name in "${FORBIDDEN[@]}"; do
HITS=$(grep -ril "$name" . \
--exclude-dir=node_modules --exclude-dir=.git --exclude-dir=dist \
--exclude-dir=.turbo --exclude-dir=.expo --exclude-dir=.data \
--exclude=brand-guard.sh 2>/dev/null || true)
if [ -n "$HITS" ]; then
echo "FEL: förbjudet namn '$name' hittades i:"
echo "$HITS"
FAIL=1
fi
done
# 2. Aktuellt namn utanför brand.config.json i kod/infrastruktur.
CURRENT=$(node -e "console.log(require('./brand.config.json').name)")
HITS=$(grep -rl "$CURRENT" apps packages infrastructure \
--include="*.ts" --include="*.tsx" --include="*.sql" --include="*.yml" \
--include="*.yaml" --include="Dockerfile*" \
--exclude-dir=node_modules --exclude-dir=dist --exclude-dir=.turbo 2>/dev/null || true)
if [ -n "$HITS" ]; then
echo "FEL: aktuella namnet '$CURRENT' är hårdkodat utanför brand.config.json i:"
echo "$HITS"
echo "Använd BRAND.name / {brand}-interpolation i stället."
FAIL=1
fi
if [ "$FAIL" -eq 0 ]; then
echo "Varumärkesvakt: OK namnet lever endast i brand.config.json."
fi
exit $FAIL