tsd-lite
    TypeScript icon, indicating that this package has built-in type declarations

    0.5.6 • Public • Published

    tsd-lite

    Test your TypeScript types easily.

    version license node-ci

    This is a lighter version of tsd. Slightly reworked codebase allows tsd-lite to be a tool which simply tests your types.

    Note: This library is intended for programmatic use only. For CLI implementation see jest-runner-tsd.

    Motivation

    While tsd suites perfectly for JavaScript libraries which declare their types in .d.ts files, its usage with monorepos written in TypeScript may become cumbersome. tsd-lite is an attempt to address these and similar issues.

    Differences from tsd

    • tsd-lite performs only type testing without any additional checks or rules.
    • Includes only type related assertions: expectAssignable, expectDeprecated, expectType and their counterparts. The printType helper is removed.
    • Comes with no default compiler options.
    • Reads TypeScript compiler options from the nearest tsconfig.json for each test file (does not read options from package.json).
    • tsd-lite is optionally strict. You should add "strict": true to the nearest tsconfig.json (it can be project or test specific) to use strict assertions.
    • @tsd/typescript package is moved to peer dependencies.
    • tsd-lite allows only programmatic usage.

    Install

    yarn add -D tsd-lite @tsd/typescript
    # or
    npm install -D tsd-lite @tsd/typescript

    Remember to install @tsd/typescript. It is a required peer dependency.

    Usage

    import tsdLite from "tsd-lite";
    
    const { assertionsCount, tsdResults } = tsdLite(
      "/absolute/path/to/testFile.test.ts"
    );

    API Reference

    tsdLite(testFilePath: string)

    The exported function takes fully resolved path to a test file as an argument and returns an object:

    {
      assertionsCount: number;
      tsdResults: Array<{
        messageText: string | ts.DiagnosticMessageChain;
        file?: ts.SourceFile;
        start?: number;
      }>;
    }

    tsd-lite will throw if TS compiler encountered an error while parsing tsconfig.json or a syntax error is found while compiling the code.

    License

    MIT

    Install

    npm i tsd-lite

    DownloadsWeekly Downloads

    2,202

    Version

    0.5.6

    License

    MIT

    Unpacked Size

    31.2 kB

    Total Files

    32

    Last publish

    Collaborators

    • mrazauskas