Socket
Socket
Sign inDemoInstall

type-coverage

Package Overview
Dependencies
Maintainers
1
Versions
131
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

type-coverage

A CLI tool to check type coverage for typescript code


Version published
Weekly downloads
41K
decreased by-7.77%
Maintainers
1
Created
Weekly downloads
 

Changelog

Source

1.11.0 (2019-03-28)

  • feat: improve cache performance (4b24df5)
  • chore: update dependencies (1e6c786) (b3d7e69) (a064bc3) (35763d6)
  • fix: typo (5844b63)
  • docs: add exposed lint API (3aac879)
  • chore(docs): improve words (c1b4f35)
  • chore(docs): improve doc format (eda9979)
  • refactor: extract cache, checker, dependencies and ignore from core (075a884)

Readme

Source

type-coverage

A CLI tool to check type coverage for typescript code

This tool will check type of all identifiers, the type coverage rate = the count of identifiers whose type is not any / the total count of identifiers, the higher, the better.

Dependency Status devDependency Status Build Status: Linux Build Status: Windows npm version Downloads type-coverage

install

yarn global add type-coverage

usage

run type-coverage

arguments

nametypedescription
-p, --projectstring?tell the CLI where is the tsconfig.json
--detailboolean?show detail
--at-leastnumber?fail if coverage rate < this value
--debugboolean?show debug info
--strictboolean?strict mode
--cacheboolean?enable cache

strict mode

If the identifiers' type arguments exist and contain at least one any, like any[], ReadonlyArray<any>, Promise<any>, Foo<number, any>, it will be considered as any too

Also, future minor release may introduce stricter type check in this mode, which may lower the type coverage rate

enable cache

save and reuse type check result of files that is unchanged and independent of changed files in .type-coverage directory, to improve speed

config in package.json

  "typeCoverage": {
    "atLeast": 99 // same as --at-least
  },

ingore line

Use type-coverage:ignore-next-line or type-coverage:ignore-line in comment(// or /* */) to ignore any in a line.

try {
  // type-coverage:ignore-next-line
} catch (error) { // type-coverage:ignore-line
}

vscode plugin

https://marketplace.visualstudio.com/items?itemName=york-yao.vscode-type-coverage

add dynamic badges of type coverage rate

Use your own project url:

[![type-coverage](https://img.shields.io/badge/dynamic/json.svg?label=type-coverage&prefix=%E2%89%A5&suffix=%&query=$.typeCoverage.atLeast&uri=https%3A%2F%2Fraw.githubusercontent.com%2Fplantain-00%2Ftype-coverage%2Fmaster%2Fpackage.json)](https://github.com/plantain-00/type-coverage)

API

export function lint(
  project: string,
  detail: boolean,
  debug: boolean,
  files?: string[],
  oldProgram?: ts.Program,
  strict = false,
  enableCache = false
): Promise<{
  correctCount: number
  totalCount: number
  anys: {
    file: string
    line: number
    character: number
    text: string
  }[]
  program: ts.Program
}>

FAQ

Q: Does this count JavaScript files?

Yes, This package calls Typescript API, Typescript can parse Javascript file(with allowJs), then this package can too.

FAQs

Package last updated on 28 Mar 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc