Istanbul logo


A JS code coverage tool written in JS

What is Istanbul?

It is a JS code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. Supports all JS coverage use cases including unit tests, server side functional tests and browser tests. Built for scale.
Istanbul is a tool in the Code Coverage category of a tech stack.
Istanbul is an open source tool with 8.7K GitHub stars and 787 GitHub forks. Here’s a link to Istanbul's open source repository on GitHub

Who uses Istanbul?

14 companies reportedly use Istanbul in their tech stacks, including Trusted Shops GmbH, Technologies, and Atolye15.

108 developers on StackShare have stated that they use Istanbul.

Istanbul Integrations

Decisions about Istanbul

Here are some stack decisions, common use cases and reviews by companies and developers who chose Istanbul in their tech stack.

Anurag Maurya
Needs advice

Needs advice on code coverage tool in Node.js/ExpressJS with External API Testing Framework

Hello community,

I have a web application with the backend developed using Node.js and Express.js. The backend server is in one directory, and I have a separate API testing framework, made using SuperTest, Mocha, and Chai, in another directory. The testing framework pings the API, retrieves responses, and performs validations.

I'm currently looking for a code coverage tool that can accurately measure the code coverage of my backend code when triggered by the API testing framework. I've tried using Istanbul and NYC with instrumented code, but the results are not as expected.

Could you please recommend a reliable code coverage tool or suggest an approach to effectively measure the code coverage of my Node.js/Express.js backend code in this setup?

See more

Blog Posts


Istanbul's Features

  • All-javascript instrumentation library that tracks statement, branch, and function coverage
  • Module loader hooks to instrument code on the fly
  • Command line tools to run node unit tests "with coverage turned on" and no cooperation whatsoever from the test runner
  • Multiple report formats: HTML, LCOV, Cobertura and more
  • Ability to use as middleware when serving JS files that need to be tested on the browser
  • Can be used on the command line as well as a library
  • Based on the awesome esprima parser and the equally awesome escodegen code generator
  • Well-tested on node (prev, current and next versions) and the browser (instrumentation library only)

Istanbul Alternatives & Comparisons

What are some alternatives to Istanbul?
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over three million people use GitHub to build amazing things together.
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
See all alternatives
Related Comparisons
No related comparisons found

Istanbul's Followers
7 developers follow Istanbul to keep up with related blogs and decisions.