• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

humanspeak / svelte-headless-table / 36421698026
90%

Build:
DEFAULT BRANCH: main
Ran 28 Sep 2026 12:26PM UTC
Jobs 1
Files 39
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Sep 2026 12:25PM UTC coverage: 85.429% (-0.7%) from 86.107%
36421698026

push

github

web-flow
chore: tighten ESLint and TypeScript, remove any casts from the core (#321)

* chore: tighten ESLint and TypeScript, remove every any cast from the core

ESLint
- typescript-eslint strictTypeChecked + stylisticTypeChecked for src/**
  and tests/** (rules only; the .svelte parser wiring is untouched)
- unused-imports/no-unused-imports, consistent-type-imports,
  no-import-type-side-effects, switch-exhaustiveness-check
- @typescript-eslint/no-unused-vars at error with ^_ ignore patterns;
  core no-unused-vars off (it double-reported)
- formatting rules removed: Prettier owns formatting
- unsafe-*/non-null/explicit-any relaxed for test files only
- docs config gets the same cleanup (formatting rules out, unused
  imports in, d.ts ignored)

TypeScript
- noImplicitOverride and exactOptionalPropertyTypes in tsconfig.json
- tsconfig.lib.json adds noUncheckedIndexedAccess for src/lib non-test
  sources; `pnpm check` now runs both

Library
- Plugin hook application in createViewModel is typed instead of
  `fn(rows as any) as any`; header labels and the header matrix carry
  the Plugins generic instead of casting
- Fix: table-head attributes were derived from plugins'
  deriveTableBodyAttrs instead of deriveTableHeadAttrs (hidden by the
  casts; no built-in plugin is affected)
- Optional init/config fields accept an explicit undefined
- Index reads are guarded or restructured (bodyRows, headerRows, matrix,
  addGroupBy, addResizedColumns, addSortBy, addDataExport, ...)
- addResizedColumns and utils/store no longer delete dynamic keys
- isReadable/isWritable take unknown; DataColumn.getValue returns unknown;
  column Id generic defaults to string
- createRender collapses to one signature; Render.svelte is no longer
  generic; eventHandlers stays deprecated
- All remaining any sites are trunk-ignored with a reason, and every
  eslint-disable comment is converted to trunk-ignore

Docs demos: the virtual-scroll salary column now sorts numerically
(its getSortValue ... (continued)

616 of 777 branches covered (79.28%)

Branch coverage included in aggregate %.

196 of 247 new or added lines in 25 files covered. (79.35%)

2 existing lines in 1 file now uncovered.

1606 of 1824 relevant lines covered (88.05%)

31728.48 hits per line

Uncovered Changes

Lines Coverage ∆ File
39
26.01
-2.05% src/lib/plugins/addResizedColumns.ts
4
81.98
-3.06% src/lib/plugins/addColumnFilters.ts
2
81.58
3.22% src/lib/bodyRows.ts
2
88.46
-1.61% src/lib/headerRows.ts
2
87.18
-4.12% src/lib/plugins/addDataExport.ts
2
83.55
0.33% src/lib/plugins/addGroupBy.ts

Coverage Regressions

Lines Coverage ∆ File
2
88.46
-1.61% src/lib/headerRows.ts
Jobs
ID Job ID Ran Files Coverage
1 node-22 - 36421698026.1 28 Sep 2026 12:26PM UTC 39
85.43
GitHub Action Run
Source Files on build 36421698026
  • Tree
  • List 39
  • Changed 29
  • Source Changed 28
  • Coverage Changed 26
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #36421698026
  • 7608d3d6 on github
  • Prev Build on main (#36391375466)
  • Next Build on main (#36451777975)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc