Become a sponsor to TAP in JavaScript
Since 2011, node-tap has been one of the most reliable and established test frameworks in the node ecosystem, used by many projects essential to the success and stability of the node ecosystem, such as npm, fastify, and many others.
Node-tap was created by Isaac Z. Schlueter (isaacs), the author of npm, primary author of the Test Anything Protocol Specification version 14, and one of the most experienced and prolific JavaScript library authors alive today. Isaac is passionate about software testing, and has given talks and taught classes on software testing approaches, the value of full code coverage, and leveraging tests in safe software refactoring.
Node-tap was the first complete implementation of the Test Anything Protocol in JavaScript, and is largely responsible for the prevalence of the TAP protocol within the JavaScript ecosystem, providing interoperability and enterprise-grade testing for node projects. From the very beginning, and still to this day, node-tap has leveraged every part of the node API surface in order to make even "impossible" programs fully testable, and leverage tests as an essential tool in effective software development.
Today, node-tap provides first class support for tests written using any combination of CommonJS, ESM, TypeScript, JavaScript, JSX, or any other language that can output TAP.
The needs of node-tap have given rise to many essential utility modules used across the JavaScript ecosystem, for such purposes as process management, stack trace analysis, code coverage, command line argument parsing, error handling, serialization, parsing and generating Test Anything Protocol data, and more.
Your sponsorship of the tapjs organization helps support ongoing development and support of the node-tap framework and its ecosystem of utilities, libraries, and plugins.
Featured work
-
tapjs/tapjs
Test Anything Protocol tools for node
JavaScript 2,359 -
tapjs/foreground-child
Run a child as if it's the foreground process. Give it stdio. Exit when it exits.
TypeScript 40 -
tapjs/signal-exit
when you want to fire an event no matter how a process exits.
TypeScript 189 -
tapjs/async-hook-domain
An implementation of Domain-like error handling, built on async_hooks
JavaScript 34 -
JavaScript 5
-
tapjs/tap-mocha-reporter
Format a TAP stream using Mocha's set of reporters
JavaScript 28