Node TAP 21.0.0

tap TypeScript Plugin


A default tap plugin providing typescript support.


This plugin is installed with tap by default. If you had previously removed it, you can tap plugin add @tapjs/typescript to bring it back.

When enabled, this plugin does the following things:

The typecheck config defaults to false, even though type checking your tests is generally a good idea. Unfortunately, it is also often considerably slower, adding as much as 500-750ms to each test suite file, which can be painful if you have a lot of tests. In large project folders, the effect can be even more pronounced.

You can enable type checking with --typecheck on the command line, or by putting typecheck: true in .taprc, or { "tap": { "typecheck": true }} in package.json, or TAP_TYPECHECK=1 in the environment. It is highly recommended to enable it in CI, for example by setting TAP_TYPECHECK=1 in the environment.

The "skipLibCheck": true option in tsconfig will also speed things up a bit, at the expense of some type safety.

Note that even if you pre-compile your tests, they will still be subject to type checking if "allowJs": true is set in your tsconfig.


Set these as command line flags, or in a .taprc or package.json, or via the tap config set <key>=<value> command.