feat(timeline): add precision-aware date-label facade

timelineDateLabel delegates to the shared formatDocumentDate so a timeline
chip renders identically to the same date on a document, in the active
locale (REQ-001/REQ-002). UNKNOWN precision and null/undefined/'' eventDate
short-circuit to null with no formatter call (REQ-003/REQ-004); raw is always
null since timeline events carry no verbatim spreadsheet cell. The facade
owns no precision logic of its own (REQ-005).

Register the new `timeline` frontend domain in the eslint boundaries config
(allowed to import only `shared`) and add src/lib/timeline/** to the vitest
coverage include (REQ-006). The spec partially mocks the paraglide runtime
via importOriginal so getLocale is stubbed while the formatter still resolves
real season/range message exports.

Refs #778
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-06-13 13:16:33 +02:00
parent f46f153f33
commit 956a23d0a8
4 changed files with 40 additions and 2 deletions

View File

@@ -72,6 +72,7 @@ export default defineConfig({
'src/lib/shared/server/**',
'src/lib/shared/discussion/**',
'src/lib/document/**',
'src/lib/timeline/**',
'src/hooks.server.ts'
],
exclude: [