managarten/lint-staged.config.js
Till JS 430aa30cbf refactor(theming): re-apply theme validator suite after parallel rebase
The plan-doc commits 129971ffc + 9db044178 dropped the
audit-theme-tokens → validate-theme-variables rename, the
validate-theme-tokens → validate-theme-utilities rename, the new
validate-theme-parity script, brand-literals.md, and the corresponding
package.json + lint-staged.config.js + themes.css wiring. The files
still existed on disk (git mv changes survived) but were untracked.

Restore the validator suite so `pnpm run validate:all` works again:
  - validate:theme-variables (CSS var names: --muted → --color-muted)
  - validate:theme-utilities (Tailwind: no white/N, no neutral palette)
  - validate:theme-parity    (every --color-* in :root ⇔ .dark + each
                              [data-theme="..."])

All three wired into validate:all and lint-staged. `pnpm run validate:all`
is clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:07:48 +02:00

26 lines
1.4 KiB
JavaScript

export default {
'*.{ts,tsx,js,jsx,mjs,cjs}': [
'eslint --fix --ignore-pattern "apps-archived/**" --ignore-pattern "services-archived/**" --ignore-pattern "**/web-archived/**" --ignore-pattern "**/server-archived/**"',
'prettier --config .prettierrc.json --write',
],
'*.{json,md,svelte,astro}': ['prettier --config .prettierrc.json --write'],
// Theme-variable + utility audit whenever styles-bearing files change.
// Runs on the whole tree (ignores staged filenames), scans ~3k files
// in <1s, and fails if any file re-introduces:
// - bare `--muted` / `--theme-*` CSS variables instead of Mana's
// canonical `--color-*` tokens (validate-theme-variables.mjs), or
// - raw white-alpha / neutral-palette Tailwind utilities instead of
// theme-token utilities (validate-theme-utilities.mjs).
'*.{svelte,css}': () => [
'node scripts/validate-theme-variables.mjs',
'node scripts/validate-theme-utilities.mjs',
'node scripts/validate-theme-parity.mjs',
],
// Validate the tunnel config locally so a malformed ingress map can
// never reach main. The validator runs entirely in node (no
// cloudflared CLI dependency on the dev box) and catches the same
// failure modes that `cloudflared tunnel ingress validate` would
// catch on the server: bad YAML, missing tunnel id, duplicate
// hostnames, missing catch-all, malformed service URLs.
'cloudflared-config.yml': ['node scripts/validate-cloudflared-config.mjs'],
};