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

tselect-npm / http-method / 33314844638
100%

Build:
DEFAULT BRANCH: main
Ran 30 Aug 2026 01:41PM UTC
Jobs 1
Files 5
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

30 Aug 2026 01:41PM UTC coverage: 100.0%. First build
33314844638

push

github

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

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

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

    :bug:                 Stop shipping test, coverage and config cruft 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
    :heavy_minus_sign:    Drop lodash, vendoring its one use
    :bug:                 Add the missing put member to THTTPMethod
    :rotating_light:      Replace TSLint with Biome
    :memo:                Add LICENSE, keywords and a full README API section
    :construction_worker: Run CI from the org-wide reusable workflow
    :construction_worker: Add the release caller workflow

BREAKING CHANGE: three independent breaks.

* `engines.node` is now `">=22"`, the bottom of the CI matrix, so the floor is tested
  by construction.
* `THTTPMethod` gains `'put' | 'PUT'`. This widens the return type of `toLowerCase`
  and `toConstantCase`, so exhaustive switches over their result stop compiling. The
  union had always omitted `put` while `HTTPMethod.PUT` existed, so passing the
  package's own enum to its own function did not compile. Runtime was always correct.
* The `exports` map closes deep imports. No consumers of
  `@tselect/http-method/dist` were found.

Headline fix: `toPascalCase` threw under ESM. lodash assigns its exports dynamically,
so `cjs-module-lexer` cannot detect them for CJS→ESM interop, and
`import * as Lodash from 'lodash'` produced a namespace with no `capitalize`. Nothing
was broken in the field, since 1.0.0 is CommonJS-only, but shipping dual-format
without the fix would have broken every ESM consumer. Vendoring the one helper drops
lodash and ta... (continued)

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

12 of 12 relevant lines covered (100.0%)

3.33 hits per line

Jobs
ID Job ID Ran Files Coverage
1 33314844638.1 30 Aug 2026 01:41PM UTC 5
100.0
GitHub Action Run
Source Files on build 33314844638
  • Tree
  • List 5
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33314844638
  • 6c052321 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