Page type-check: noImplicitAny, every parameter and variable typed (#235)

290 places the type-check could not see into, mostly parameters, now typed with web/src/types.ts
(feeds, items, files, accounts, log lines, the directory's rows and items). Two changes run
differently in form only: the seek and volume inputs divide Number(value) where they divided
the string, and esc's table has a name. Null checks are #236.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-14 15:57:05 +00:00
parent af6eae9baf
commit ec2b9e87b8
11 changed files with 203 additions and 161 deletions

View File

@@ -154,7 +154,9 @@ node tests/page-smoke.js
node --test tests/page-unit.js
```
The first type-checks `web/src` (loosely: `strict` is off, and `$` returns `any`). The second
The first type-checks `web/src`: every parameter and variable has a type, and what the API sends
is typed in `web/src/types.ts`, which mirrors the Rust structs and changes with them. Not yet
null-safe: `strictNullChecks` is off and `$` returns `any` (#236). The second
builds the page as shipped and runs its script against a stub DOM, checking every selector it
wires at load actually exists. That check exists because a patch once anchored on a deleted
function, `String.replace` silently matched nothing, and the whole UI died with a