tsd-lite-cli
December 28, 2024 ยท View on GitHub
Caution
tsd-lite-cli is deprecated due to tsd-lite being deprecated.
Migrate to TSTyche, it has all the bells and whistles.
Here is a TL;DR of how to use it:
npm install --save-dev tstyche
// src/pipe-p.tst.ts
import { describe, expect, test } from "tstyche"
import { pipeP } from "./pipe-p.js"
const inc = (x: number) => x + 1
const asyncToString = async (x: unknown) => String(x)
describe("pipeP :: left-right composition with promise support", () => {
test("given [inc, asyncToString of 1] should [return '2']", async () => {
const result = await pipeP(inc, asyncToString)(1)
expect<typeof result>().type.toBe<string>()
})
})
npx tstyche 'src/**/*.tst.ts'
tsd-lite-cli
:bug: :link: :runner: Test runner for TypeScript typings. CLI over
tsd-lite, a per-file version of tsd.

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

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

Similar projects
jest-runner-tsd- Jest runner to test TypeScript typings
Changelog
See the releases section for details.