V8 coverage
from JavaScriptのtest coverage
ネイティブ計測
V8エンジン自体が内蔵しているカバレッジ機能を使う
Inspector ProtocolのProfiler.startPreciseCoverage
V8ベース(Chrome/Node)でしか動かない
Firefox(SpiderMonkey)・Safari(JavaScriptCore)にはこのAPIに相当する実用的なものがない
ソースコードを書き換えない
実行時にエンジン側がブロックの実行回数を記録
取得できるのは「実行された範囲(offset)」
元のソースに戻すにはsource mapが必要
高速・低オーバーヘッド。TypeScript/JSXのトランスパイル後のコードでも、元のソースにマップしやすい
利用方法
@vitest-coverage-v8
Node.jsのNODE_V8_COVERAGE
など