Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Istanbul html reporter alternative (vscode like)

NotificationsYou must be signed in to change notification settings

akcyp/coverage-pretty-html-reporter

Repository files navigation

Warning

This package is still in the experimental phase. You can expect new functionalities, but with this comes the possibility of more frequent errors

HomeStatsCode
SummaryStatsCoverage
SummaryStatsCoverage

Installation

You can use your favorite package manager

npm i -D coverage-pretty-html-reporteryarn add -D coverage-pretty-html-reporterpnpm add -D coverage-pretty-html-reporterbun add -D coverage-pretty-html-reporter

Then configurenyc /c8 to usecoverage-pretty-html-reporter

nyc --reporter=coverage-pretty-html-reporter mocha# ...c8 --reporter=coverage-pretty-html-reporter mocha# ...

If you are usingjest /vitest or other framework you may place correct config ex.:

/**@type {import('jest').Config} */constconfig={coverageReporters:['coverage-pretty-html-reporter'],};
import{defineConfig}from"vitest/config";exportdefaultdefineConfig({plugins:[],test:{coverage:{enabled:true,//@ts-expect-errorreporter:["coverage-pretty-html-reporter"],},},});

Iframe - theme support

When the reporter UI is embedded in an iframe, the built-in theme toggle button is hidden. In this mode you are expected to control the theme from the parent window.

The iframe listens for postMessage events with the following payload:

typeCoverageThemeMessage={type:"coverage-theme";theme:"light"|"dark";};

Example integration in the parent page:

<iframeid="coverage-report"src="/path/to/coverage/index.html"style="width: 100%; height: 100%; border: 0;"></iframe><script>constiframe=document.getElementById("coverage-report");functionsetCoverageTheme(theme){iframe?.contentWindow?.postMessage({type:"coverage-theme", theme},"*");}// Send initial theme once the iframe is loadediframe.addEventListener("load",()=>{constprefersDark=window.matchMedia("(prefers-color-scheme: dark)").matches;setCoverageTheme(prefersDark ?"dark" :"light");});// Example: hook into your own app theme systemwindow.addEventListener("app-theme-changed",(event)=>{setCoverageTheme(event.detail.theme);// "light" | "dark"});</script>

Inside the iframe, the selected theme is persisted in localStorage under the coverage-theme key and a coverage-theme-changed CustomEvent is dispatched on window so internal components can react to theme changes.

Contributing

Fell free to report any bugs & share your ideas. PRs are welcome.

Developer guide

Requirements (see package.json#packageManager):

  • bun@1.0.4
  • node@^18.17.1
git clone git@github.com:akcyp/coverage-pretty-html-reporter.gitcd coverage-pretty-html-reporter# Initbun ibun run build# Production testingbun run demo:nyc# or demo:c8bun run demo:preview# UI developmentcd packages/reporterbun run dev# Reporter development - only production testing# edit packages/reporter/node/index.tscd packages/examplebun run test:c8bun run test:nyc

About

Istanbul html reporter alternative (vscode like)

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp