typecov
v0.2.3
Published
Track type coverage in TypeScript projects to ensure type safety
Downloads
4,436
Maintainers
Readme
Features
👉 track type coverage defined as the count of symbols whose type is not any / the total count of symbols
👉 display type coverage directly in GitHub
👉 set minimal type coverage and automatically fail PRs
👉 supports monorepos
Motivation
Despite using --strict
mode in tsconfig you can still have any
s in your codebase. This tool gives you a good overview if PR that you are going to merge increases or decreases overall type coverage and where exactly types should be improved.
Install
npm install --save-dev typecov
Usage
TypeCov is built on CodeChecks.io - open source code review automation platform.
Are you new to codechecks? Check out getting started guide (it's simple)!
Install package and then add to your codechecks.yml
file:
checks:
- name: typecov
options:
# atLeast: 99
# name: webapp
# tsconfigPath: ./tsconfig.prod.json
Under the hood it uses type-coverage package.
API
typecov(options: Options): Promise<void>
options
interface Options {
name?: string; // will be added to check name
tsconfigPath?: string; //defaults to tsconfig.json
atLeast?: number;
ignoreFiles?: string[];
ignoreCatch?: boolean;
strict?: boolean;
}
name
optional string
Defaults: Type Coverage
Specify the name for check. Might be useful in monorepos.
tsconfigPath
optional string
Default: tsconfig.json
Path to typescript project configuration
atLeast
optional number
Defaults: undefined
Example: atLeast: 99
Fail if coverage rate < this value.
ignoreFiles
optional string[]
Defaults: undefined
Specify the ignored for checks files.
See type-coverage's description for the reference.
ignoreCatch
optional string
Defaults: undefined
See type-coverage's description for the reference.
strict
optional string
Defaults: undefined
See type-coverage's description for the reference.
Contributing
All contributions are welcomed. Read more in CONTRIBUTING.md
Licence
MIT @ codechecks.io