aboutsummaryrefslogtreecommitdiff
path: root/node_modules/istanbul-lib-instrument/README.md
blob: c98dc25cb37bf4a9a2ab9eb268fe78f1777aa871 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
istanbul-lib-instrument
-----------------------

[![Build Status](https://travis-ci.org/istanbuljs/istanbul-lib-instrument.svg?branch=master)](https://travis-ci.org/istanbuljs/istanbul-lib-instrument)

Istanbul instrumenter library.

Version 1.1.x now implements instrumentation using `Babel`. The implementation is inspired
by prior art by @dtinth as demonstrated in the `__coverage__` babel plugin.

It provides 2 "modes" of instrumentation.

* The old API that is mostly unchanged (except for incompatibilities noted) and
  performs the instrumentation using babel as a library.

* A `programVisitor` function for the Babel AST that can be used by a Babel plugin
  to emit instrumentation for ES6 code directly without any source map
  processing. This is the preferred path for babel users. The Babel plugin is
  called `babel-plugin-istanbul`.

Incompatibilities and changes to instrumentation behavior can be found in
[v0-changes.md](v0-changes.md).