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

philihp / pcg / 26259141578
100%
main: 100%

Build:
Build:
LAST BUILD BRANCH: renovate/typescript-eslint-monorepo
DEFAULT BRANCH: main
Ran 21 May 2026 11:29PM UTC
Jobs 1
Files 8
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

21 May 2026 11:28PM UTC coverage: 100.0% (+4.0%) from 96.018%
26259141578

Pull #347

github

claude
test: reach 100% line/branch/function coverage

Coverage was sitting at 98.30 line / 94.71 branch under the V8
--experimental-test-coverage reporter. The gaps were a mix of real
ones (a defensive dead branch in resolveStreamScheme, an
RXS_M_XS carry path no canonical seed hits) and tooling artifacts —
esbuild's CJS interop helpers were getting source-mapped onto random
lines of every file, making lines and branches that were always
executed report as 0-hit.

Changes:

- Switch the package to "type": "module". This is what eliminates the
  CJS interop noise: ESM-mode tsx no longer wraps modules in
  __export/__copyProps helpers, so V8 only sees our own code. dist
  filenames flip (.js is now the ESM entry, .cjs the CJS one) but the
  exports map handles both consumer modes transparently. Smoke-tested
  with both require() and dynamic import() against the built dist.
- Move the two runtime enums (OutputFnType, StreamScheme) out of
  types.ts into enums.ts so types.ts can be marked pure-types and
  excluded from coverage. Also move the type-only RandomListFn /
  RandomIntPartial1 / RandomListPartial1 interface declarations there.
- Simplify resolveStreamScheme by dropping the structurally unreachable
  INCREMENTERS[resolved] === undefined check; the throw is still
  exercised by the unknown-name test.
- Inline the seeded PCGState object literal in createPcg32 and the
  mul64 helper temporaries, working around per-property phantom-line
  reporting from V8.
- Add outputFns.coverage.test.ts with four targeted cases that exercise
  the rotate-by-zero edge of XSH_RR, the minimum-shift edge of XSH_RS,
  the xor-cancel case of XSL_RR, and the sumLo > 0xffffffff carry path
  of RXS_M_XS — none of which the seed=42/stream=54 canonical seed
  reaches naturally.
- tsconfig: set module=preserve + moduleResolution=bundler so DTS
  emission doesn't require explicit .js extensions on every relative
  import. tsup handles the actual resolution.
- Rename eslint.config.js... (continued)
Pull Request #347: test: reach 100% line/branch/function coverage

100 of 100 branches covered (100.0%)

Branch coverage included in aggregate %.

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

400 of 400 relevant lines covered (100.0%)

9010.32 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26259141578.1 21 May 2026 11:29PM UTC 8
100.0
GitHub Action Run
Source Files on build 26259141578
  • Tree
  • List 8
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Pull Request #347
  • PR Base - main (#26259007617)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc