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

tselect-npm / status-code / 33388786694
100%

Build:
DEFAULT BRANCH: main
Ran 31 Aug 2026 11:50AM UTC
Jobs 1
Files 13
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

31 Aug 2026 11:49AM UTC coverage: 100.0%. First build
33388786694

push

github

web-flow
:boom: Modernize the toolchain and ship dual ESM + CJS (#17)

pnpm · tsdown (dual ESM + CJS) · Vitest · Biome · TypeScript 7 · shared CI from
`tselect-npm/.github@v1`. Fifth repo through the modernization runbook, after `url`
(the pilot), `thrown`, `http-method` and `schema`.

The branch's gitmoji series, which the squash would otherwise discard:

    :bug:                 Stop shipping a 1.35 MB stray log in the published package
    :wrench:              Migrate to pnpm
    :sparkles:            Add dual ESM + CJS build via tsdown, on TypeScript 7
    :white_check_mark:    Migrate test suite to Vitest
    :rotating_light:      Replace TSLint with Biome
    :memo:                Add LICENSE, a full README API section and correct metadata
    :construction_worker: Run CI from the org-wide reusable workflow

Headline fix: `@tselect/status-code@1.0.2` shipped 32 files and 1,369,746 bytes
unpacked, of which 1,352,289 were a stray `.log22069` from a 2023 test run, plus
`tslint.json`. The `.gitignore` had `.log*`, so the file was invisible to `git status`
while npm included it in every publish. Cause was `.npmignore` — a denylist cannot
enumerate files that did not exist when it was written — replaced with
`"files": ["dist"]`. Now 9 files and 7,970 bytes. `prepare: "tsc"` was also a silent
no-op under `noEmit: true`, so a clean checkout would have packed an empty `dist/`.

BREAKING CHANGE: three independent breaks.

* `engines.node` is now `">=22"`, the bottom of the CI matrix, so the floor is tested
  by construction. `>=20` is not viable regardless: pnpm 11 requires `node >=22.13`.
* The `exports` map closes deep imports. No public consumers of
  `@tselect/status-code/dist` exist.
* `isStatusCode(value: any)` becomes `isStatusCode(value: unknown)`. A widening, so no
  existing call stops compiling, but a public signature change.

Coverage went from 100% statements / **90% branches** to 100% of all four, via seven
new assertions in five tests. The gaps we... (continued)

8 of 8 branches covered (100.0%)

Branch coverage included in aggregate %.

4 of 4 new or added lines in 3 files covered. (100.0%)

57 of 57 relevant lines covered (100.0%)

5.16 hits per line

Jobs
ID Job ID Ran Files Coverage
1 33388786694.1 31 Aug 2026 11:50AM UTC 13
100.0
GitHub Action Run
Source Files on build 33388786694
  • Tree
  • List 13
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #33388786694
  • fd28cb4d on github
  • Delete
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