The audit script silently passed on hosts without ripgrep installed because 'rg -n ...' would fail, '|| true' swallowed the failure, 'matches' would be empty, and report() would print 'ok: no matches'. This hid genuine UI drift from local 'pnpm run audit:ui' runs. Changes: - Detect ripgrep availability at startup and emit a stderr note when falling back. - Add a grep-based fallback that translates rg '--glob !path' exclusions into 'grep --exclude=<basename>' so caller-side exclusions (e.g. the @bytelyst/ui adapter file at Primitives.tsx) still apply. - Guard the optional 'extra_excludes' array expansion against 'set -u' when no exclusions are configured. Result: on this host (no rg) the audit now correctly reports 2 categories with matches — raw interactive controls and legacy global surface classes — instead of the false 'all green' it produced before. 'pnpm run audit:ui:strict' exits non-zero when matches remain, ready to wire into CI once UI5–UI8 finish migrating the remaining call sites. |
||
|---|---|---|
| .. | ||
| compose-smoke.sh | ||
| dependency-health.sh | ||
| docker-prep-original.sh | ||
| docker-prep.sh | ||
| local-smoke.sh | ||
| release-guard-audit.sh | ||
| secret-scan-repo.sh | ||
| secret-scan-staged.sh | ||
| ui-drift-audit.sh | ||