Skip to content

eval-view: migrate to JSDoc types and enable strict typecheck - #1345

Draft
paulirish wants to merge 9 commits into
mainfrom
eval-view-jsdoc
Draft

eval-view: migrate to JSDoc types and enable strict typecheck#1345
paulirish wants to merge 9 commits into
mainfrom
eval-view-jsdoc

Conversation

@paulirish

@paulirish paulirish commented Aug 16, 2026

Copy link
Copy Markdown
Member

Migrates the eval-view package from untyped JavaScript with @ts-nocheck to strictly type-checked JSDoc annotations without adding a build or bundling step.

Changes

  • Typecheck Strictness: Enabled "strict": true and "checkJs": true in eval-view/tsconfig.json, and added "typecheck" npm script to root monorepo.
  • JSDoc Annotations: Added JSDoc types across all 12 modules in eval-view/ (dashboard.js, landing.js, guide.js, eval-ui.js, dumbbell-chart.js, stability_trend.js, api.js, utils.js, summary-extractor.js, generate-mapping.js, generate-suites-list.js, server.js).
  • Boundary Types: Formalized canonical SuiteSummary and GuideSummary types in summary-extractor.js and unified SuiteInfo across server and client.
  • Global Types: Augmented Window in evals.d.ts for browser globals, eliminating @ts-expect-error annotations on window exports.
  • Official Diff Types: Added diff devDependency to reference official import('diff').Change definitions.
  • Bug Fixes:
    • Fixed GCS trajectory fetching by passing relative bucket paths rather than full URLs.
    • Corrected SVG XML namespace for <feDropShadow> elements.

TAG=agy
CONV=b8464d5f-c6eb-4c16-a55f-18cf4758fd4d
TAG=agy
CONV=b8464d5f-c6eb-4c16-a55f-18cf4758fd4d
TAG=agy
CONV=b8464d5f-c6eb-4c16-a55f-18cf4758fd4d
TAG=agy
CONV=b8464d5f-c6eb-4c16-a55f-18cf4758fd4d
TAG=agy
CONV=b8464d5f-c6eb-4c16-a55f-18cf4758fd4d
- define canonical SuiteSummary and GuideSummary at boundary
- eliminate @ts-expect-error on window global exports via evals.d.ts augmentation
- use string literal unions for DataSource, SourceFilter, and GuideSortKey
- add compile-time exhaustive never check on guide sort ladder
- unify SuiteInfo in server.js to extend canonical SuiteSummary

TAG=agy
CONV=b8464d5f-c6eb-4c16-a55f-18cf4758fd4d
TAG=agy
CONV=b8464d5f-c6eb-4c16-a55f-18cf4758fd4d
TAG=agy
CONV=b8464d5f-c6eb-4c16-a55f-18cf4758fd4d
TAG=agy
CONV=b8464d5f-c6eb-4c16-a55f-18cf4758fd4d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant