Skip to content

🏃 🔗 🐛 Test runner for TypeScript typings. CLI over `tsd-lite`, a per-file version of `tsd`.

License

Notifications You must be signed in to change notification settings

asd-xiv/tsd-lite-cli

Repository files navigation

CircleCI npm Coverage Status

tsd-lite-cli

🐛 🔗 🏃 Test runner for TypeScript typings. CLI over tsd-lite, a per-file version of tsd.

  • 🔍 Glob pattern matching
  • TAP compatible output

tsd-lite-cli default colored tap output

Table of Contents

Install

npm install --save-dev @tsd/typescript tsd-lite tsd-lite-cli

Besides tsd-lite-cli, tsd-lite and @tsd/typescript are peer dependencies and must be installed as well.

tsd-lite

Contains the actual assertion functions. For more information, see tsd-lite.

// src/concat.test-d.ts
import { expectType, expectError } from "tsd-lite"
import concat from "./concat.js"

expectType<Promise<string>>(concat("foo", "bar"))
expectType<string>(await concat("foo", "bar"))
expectError(await concat(true, false))

@tsd/typescript

Compiles the TypeScript test files. It's version should be synced with the typescript version in your project. For more information, see @tsd/typescript.

Usage

Run tsd-lite with a glob pattern for matching test files - uses fast-glob internally:

npx tsd-lite 'src/**/*.test-d.ts'

CLI interface

$ npx tsd-lite --help

Usage: tsd-lite [options] <patterns...>

Test runner for testing TypeScript typings (CLI over tsd-lite, a "per file"
version of tsd)

Arguments:
  patterns       Glob patterns for matching test files

Options:
  -v, --version  Print version number
  -c, --color    Output colored TAP for better human consumption. Disabled in
                 CI environments if not explicitly set (default: true)
  --no-color     Disable colored TAP, usefull when piping to other tools
  -h, --help     Print this help guide

--color and --no-color

By default, tsd-lite-cli outputs a colored version of Test Anything Protocol for better readability. Can be disabled by setting --no-color when piping to other tools, e.g. tap-spec.

npx tsd-lite 'src/**/*.test-d.ts' --no-color

tsd-lite-cli --no-color output

npx tsd-lite 'src/**/*.test-d.ts' --no-color | npx tap-spec

tsd-lite-cli --no-color output piped to tap-spec

Similar projects

Changelog

See the releases section for details.