Skip to content
This repository has been archived by the owner on Dec 28, 2024. It is now read-only.
/ tsd-lite-cli Public archive

🏃 🔗 🐛 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

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'

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.