Releases: vitest-dev/istanbuljs
Releases · vitest-dev/istanbuljs
Release list
v1.0.0
v1.0.0
First stable release of @vitest/istanbuljs, a fork of istanbuljs/istanbuljs maintained by the Vitest team. The fork starts at upstream commit 28ffdbc (see vitest-dev/vitest#9433 for background). Upstream test suites and fixtures are retained and passing.
Packages
| Upstream | This release |
|---|---|
istanbul-lib-coverage |
@vitest/istanbul-lib-coverage |
istanbul-lib-instrument |
@vitest/istanbul-lib-instrument |
istanbul-lib-report + istanbul-reports |
@vitest/istanbul-lib-report (merged) |
istanbul-lib-source-maps |
@vitest/istanbul-lib-source-maps |
istanbul-lib-hook, nyc-config-* |
not included |
🚨 Breaking changes
- ESM only. All packages ship
"type": "module"with a singleexportsentry; there is no CommonJS build. (57205e2) - Node.js 22+ required. (20dd348, 3b69680)
istanbul-reportsmerged into@vitest/istanbul-lib-report. Built-in reports are created withcreate(name, opts)from the same package that providescreateContext(). (3b69680)create()is sync and only accepts built-in report names. Use the newcreateAsync()to load custom reporters. (#6)- Babel 8 is used for instrumentation in
@vitest/istanbul-lib-instrument. (#2) - Packages are scoped under
@vitest/*and versioned together. Contributions from the fork point onward are MIT licensed; upstream code remains under its original ISC / BSD-3-Clause terms (see each package'sLICENSE). (6c07541)
✨ Features
- Rewritten in TypeScript with
strictmode. All packages ship.d.mtsdeclarations, so@types/istanbul-*is no longer needed. Public types includeCoverageMapData,FileCoverageData,InstrumenterOptions,ContextOptions, per-report option interfaces (HtmlOptions,CoberturaOptions, …), plusReportOptions/ReportTypemaps for the built-in reports. (ff62edd) - ESM custom reporters via
createAsync(name, opts). Accepts a built-in name, a package name, an absolute path, or afile://URL, and unwraps ESM default exports, plainmodule.exports, and__esModule-transpiled CommonJS. (#6) /* istanbul ignore start */…/* istanbul ignore stop */hints, cherry-picked from istanbuljs/istanbuljs#835. (44e9374)sideEffects: falseon every package for bundler tree-shaking. (ab8fa51)html-spareport rebuilt with Preact + tsdown instead of React + webpack + Babel; SPA source ported to typed.tsx. (#1)
📦 Dependency reduction
Runtime dependencies were replaced with Node built-ins or inlined helpers, enforced going forward by e18e/ban-dependencies in lint. (#1)
| Package | Runtime dependencies |
|---|---|
@vitest/istanbul-lib-coverage |
none |
@vitest/istanbul-lib-report |
none (besides @vitest/istanbul-lib-coverage) |
@vitest/istanbul-lib-source-maps |
@jridgewell/trace-mapping, obug |
@vitest/istanbul-lib-instrument |
@babel/core, @babel/parser, @istanbuljs/schema, @jridgewell/trace-mapping |
Removed: semver, make-dir, supports-color, html-escaper, debug (→ obug), clone, is-windows, rimraf, js-yaml, nopt, webpack, babel-loader, react, react-dom.
🐞 Bug fixes
- Coverage classes no longer rely on
instanceof;CoverageMap,FileCoverageandCoverageSummaryobjects from a different copy of the package (e.g. upstreamistanbul-lib-coverage) are recognised structurally and merge correctly. (#8) textreport honoursFORCE_COLOR. (#7)coberturareport handlesfnMapentries withoutdecl. (#7)- Source maps: functions without a closing-brace mapping are now mapped, cherry-picked from istanbuljs/istanbuljs#837. (a8915bd)
🏗️ Infrastructure
- pnpm workspace with
catalog:pinned versions. - Tests run on Vitest, including a browser-mode suite with Playwright for the
html-spacomponents. oxlint+oxfmtreplace ESLint + Prettier;tsc --noEmittypechecks all packages.- CI matrix on Node 22 / 24 / 26 (Linux) plus Windows and macOS;
pkg-pr-newpreview releases on every PR; npm publishing with OIDC provenance andchangelogithubrelease notes. (#4, #5)
Credits
Thanks to the istanbuljs organization and its contributors for the original work this fork builds on.
v0.0.4
🚀 Features
- Support ESM custom reporters - by @AriPerkkio in #6 (caa03)
🐞 Bug Fixes
- Honor
FORCE_COLORin text report, handlefnMapentries withoutdeclin cobertura - by @AriPerkkio in #7 (92764) - Remove
instanceofchecks from coverage classes - by @AriPerkkio in #8 (c49f7)
View changes on GitHub
v0.0.3
🐞 Bug Fixes
- Use canonical https repository URLs for npm provenance - by @AriPerkkio (cc6e6)
View changes on GitHub
v0.0.2
v0.0.1
🚨 Breaking Changes
- Update license, scope packages under
@vitest- by @AriPerkkio (6c075) - Require Node >20 - by @AriPerkkio (20dd3)
- Convert to ESM only - by @AriPerkkio (57205)
- Rewrite to Typescript - by @AriPerkkio (ff62e)
- Merge
istanbul-reportsintoistanbul-lib-report- by @AriPerkkio (3b696) - Module replacements - by @AriPerkkio in #1 (bda58)
- Migrate
lib-instrumentto babel 8 - by @AriPerkkio in #2 (4e8b2)
🚀 Features
- Support
ignore startandignore stop- Cherry pick istanbuljs/istanbuljs#835 - by @AriPerkkio in https://github.com/vitest-dev/istanbuljs/issues/835 (44e93)
🐞 Bug Fixes
istanbul-lib-source-mapsto map functions without closing brace mapping - Cherry pick istanbuljs/istanbuljs#837 - by @sapphi-red in https://github.com/vitest-dev/istanbuljs/issues/837 (a8915)