• Stars
    star
    113
  • Rank 310,115 (Top 7 %)
  • Language
    JavaScript
  • License
    ISC License
  • Created about 7 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

convert from v8 coverage format to istanbul's format

v8-to-istanbul

Build Status Conventional Commits nycrc config on GitHub

converts from v8 coverage format to istanbul's coverage format.

Usage

const v8toIstanbul = require('v8-to-istanbul')
// the path to the original source-file is required, as its contents are
// used during the conversion algorithm.
const converter = v8toIstanbul('./path-to-instrumented-file.js')
await converter.load() // this is required due to async file reading.
// provide an array of coverage information in v8 format.
converter.applyCoverage([
  {
    "functionName": "",
    "ranges": [
      {
        "startOffset": 0,
        "endOffset": 520,
        "count": 1
      }
    ],
    "isBlockCoverage": true
  },
  // ...
])
// output coverage information in a form that can
// be consumed by Istanbul.
console.info(JSON.stringify(converter.toIstanbul()))

Ignoring Uncovered Lines

Sometimes you might find yourself wanting to ignore uncovered lines in your application (for example, perhaps you run your tests in Linux, but there's code that only executes on Windows).

To ignore lines, use the special comment /* v8 ignore next */.

NOTE: Before version 9.2.0 the ignore hint had to contain c8 keyword, e.g. /* c8 ignore ....

ignoring the next line

const myVariable = 99
/* v8 ignore next */
if (process.platform === 'win32') console.info('hello world')

ignoring the next N lines

const myVariable = 99
/* v8 ignore next 3 */
if (process.platform === 'win32') {
  console.info('hello world')
}

ignoring all lines until told

/* v8 ignore start */
function dontMindMe() {
  // ...
}
/* v8 ignore stop */

ignoring the same line as the comment

const myVariable = 99
const os = process.platform === 'darwin' ? 'OSXy' /* v8 ignore next */ : 'Windowsy' 

Testing

To execute tests, simply run:

npm test

More Repositories

1

nyc

the Istanbul command line interface
JavaScript
5,602
star
2

istanbuljs

monorepo containing the various nuts and bolts that facilitate istanbul.js test instrumentation
JavaScript
1,006
star
3

babel-plugin-istanbul

A babel plugin that adds istanbul instrumentation to ES6 code
JavaScript
622
star
4

puppeteer-to-istanbul

given coverage information output by puppeteer's API output a format consumable by Istanbul reports
JavaScript
209
star
5

spawn-wrap

Wrap all spawned Node.js child processes by adding environs and arguments ahead of the main JavaScript file argument.
JavaScript
36
star
6

istanbuljs.github.io

the Istanbul community website
JavaScript
22
star
7

append-transform

handle multiple require hooks
JavaScript
21
star
8

caching-transform

Wraps a transform and provides caching
JavaScript
20
star
9

eslint-plugin-istanbul

ESLint plugin for istanbul code coverage
JavaScript
10
star
10

esm-loader-hook

Loader hook for ESM instrumentation (experimental!!)
JavaScript
10
star
11

sample-babel-node

Sample babel project to demonstrate source mapped coverage reports with istanbul
JavaScript
9
star
12

sample-mocha-compilers

Sample project to demo istanbul coverage with mocha using the babel compiler
JavaScript
7
star
13

test-exclude

test for inclusion or exclusion of paths using globs
JavaScript
7
star
14

istanbul-lib-processinfo

A module for reading and writing in NYC's processinfo data folder
JavaScript
3
star
15

load-nyc-config

Utility function to load nyc configuration
JavaScript
2
star
16

schema

Schemas describing various structures used by nyc and istanbuljs
JavaScript
1
star
17

assets

logos, fonts, graphics, and other assets.
1
star