No description
Establishes the load-bearing type surface for the Backstage rebuild: - src/admin/resource-types.ts — discriminated unions for Field, Column, Filter, Action, plus the top-level Resource and ResourceGroup. Strict per the maintainability bar: a config object missing a required key fails TypeScript. - src/admin/validate.ts — validateForResource() derives validation from the field definitions (required, maxLength, multi-text min/max, number bounds, date parse, visibleWhen-aware). - tests/admin-validate.test.ts — 8 cases locking the validator API: required, maxLength, visibleWhen skip & reveal, multi-text bounds, number bounds, all-valid, form-null short-circuit. No consumers yet. Next commit pulls these into admin.css and the shared layout components. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| content | ||
| design | ||
| migrations | ||
| public | ||
| scripts | ||
| src | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| astro.config.mjs | ||
| CLAUDE.md | ||
| DECISIONS.md | ||
| HANDOVER.md | ||
| KNOWN_ISSUES.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| SPEC.md | ||
| todo.md | ||
| tsconfig.json | ||
| vitest.config.ts | ||