Track missing type coverage in TypeScript projects to ensure type safety
👉 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
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.
npm install --save-dev typecov
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.
interface Options {
name?: string; // will be added to check name
tsconfigPath?: string; //defaults to tsconfig.json
atLeast?: number;
ignoreFiles?: string[];
ignoreCatch?: boolean;
strict?: boolean;
}
optional string
Defaults: Type Coverage
Specify the name for check. Might be useful in monorepos.
optional string
Default: tsconfig.json
Path to typescript project configuration
optional number
Defaults: undefined
Example: atLeast: 99
Fail if coverage rate < this value.
optional string[]
Defaults: undefined
Specify the ignored for checks files.
See type-coverage's description for the reference.
optional string
Defaults: undefined
See type-coverage's description for the reference.
optional string
Defaults: undefined
See type-coverage's description for the reference.
All contributions are welcomed. Read more in CONTRIBUTING.md
MIT @ codechecks.io