Migrate the Timeline/Saved history state module to idiomatic Svelte 5 runes and wire up type-checking. - Rename history.ts -> historyState.svelte.ts and replace the Svelte stores with $state-backed reactive values, removing the get() calls (the only remaining one reads the external inputStateStore). A small localStorage-backed `persisted()` helper keeps the same keys, so user data is preserved. Consumers read via the reactive `historyState` getter object instead of store auto-subscriptions. - The gist loader now replaces the in-memory revisions in one call (setLoaderEntries) instead of appending, so loading a new gist no longer accumulates stale revisions. - Add svelte-check: new `check` script, a "Type check" step in the unit-tests CI workflow, and skipLibCheck so the check passes on the dependency .d.ts files. svelte-check reports 0 errors / 0 warnings. - Add accessible labels to the History toggle and the per-item Restore/Delete buttons (a11y + testability). - Unskip tests/history.spec.ts and rewrite it against the new UI: load-from-localStorage + restore, tab-highlight follows the mode, save/dedupe, auto-vs-manual isolation, and delete/clear. All pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
20 lines
436 B
JSON
20 lines
436 B
JSON
{
|
|
"include": [
|
|
"src/**/*.d.ts",
|
|
"src/**/*.ts",
|
|
"src/**/*.svelte",
|
|
"static/**/*.js",
|
|
"static/**/*.json",
|
|
"playwright.config.ts",
|
|
"tests/**/*.ts"
|
|
],
|
|
"compilerOptions": {
|
|
"resolveJsonModule": true,
|
|
"allowSyntheticDefaultImports": true,
|
|
"strictNullChecks": true,
|
|
"skipLibCheck": true,
|
|
"types": ["vitest/importMeta", "@playwright/test"]
|
|
},
|
|
"extends": "./.svelte-kit/tsconfig.json"
|
|
}
|