# @tapjs/typescript

> a built-in tap extension that adds typescript support

Latest version **3.5.12** (published 2026-09-03) · BlueOak-1.0.0 license · 0 weekly downloads

## Install

```sh
npm install @tapjs/typescript
pnpm add @tapjs/typescript
yarn add @tapjs/typescript
bun add @tapjs/typescript
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 3.5.12 |
| Published | 2026-09-03 |
| First published | 2023-08-04 |
| Weekly downloads | 0 |
| License | BlueOak-1.0.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | 20 \|\| >=22 |
| Dependencies | 1 |
| Unpacked size | 49.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2426 |
| Author | Isaac Z. Schlueter |
| Maintainers | ljharb, isaacs |
| Keywords | tapjs plugin |

## Links

- npm: https://www.npmjs.com/package/@tapjs/typescript
- Repository: https://github.com/tapjs/tapjs
- Homepage: https://github.com/tapjs/tapjs/tree/main/src/typescript#readme
- Issues: https://github.com/tapjs/tapjs/issues
- npm.io page: https://npm.io/package/@tapjs/typescript

## Dependencies (1)

- [@isaacs/ts-node-temp-fork-for-pr-2009](https://npm.io/package/@isaacs/ts-node-temp-fork-for-pr-2009.md) ^10.9.7

## Recent versions

- 3.5.12 (latest) — 2026-09-03
- 1.0.0 (pre) — 2023-09-15
- 3.5.11 — 2026-07-27
- 3.5.10 — 2026-05-15
- 3.5.9 — 2026-05-13
- 3.5.8 — 2026-05-01
- 3.5.7 — 2026-04-17
- 3.5.6 — 2026-04-15
- 3.5.5 — 2026-04-05
- 3.5.4 — 2026-02-20
- 3.5.3 — 2026-02-18
- 3.5.2 — 2026-02-18
- 3.5.1 — 2026-02-05
- 3.5.0 — 2025-12-01
- 3.4.0 — 2025-11-26
- … 75 more at https://npm.io/package/@tapjs/typescript/versions

## README

# `@tapjs/typescript`

A default tap plugin providing typescript support.

## USAGE

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:

- adds `ts`, `tsx`, `cts`, `mts`, and `jsx` to the file
  extensions that tap will load.
- adds `ts-node/esm` to the loader set.
- adds the `typecheck` config flag, which is `false` by default
- adds the `tsconfig` config option, for specifying a project
  config for your tests to use.

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.

## Configuration

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

- `typecheck` Defaults to false. Applies strict type checking to
  tests and the files they load, (at the expense of making tests
  slower).

- `tsconfig` Set to the `tsconfig.json` file to be used when
  loading TypeScript tests. Defaults to the first of these found,
  if present: `tsconfig.tap.json`, `tsconfig.test.json`,
  `tsconfig.spec.json`, `tsconfig.json`.

---
_Source: https://npm.io/package/@tapjs/typescript · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
