- Notifications
You must be signed in to change notification settings - Fork0
Istanbul html reporter alternative (vscode like)
akcyp/coverage-pretty-html-reporter
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
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
| Home | Stats | Code |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
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"],},},});
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.
Fell free to report any bugs & share your ideas. PRs are welcome.
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
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.





