istanbul-lib-instrument

Build Status

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.