alexcanessa / typescript-coverage-report

Node command tool to generate TypeScript coverage report

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TypeScript Coverage Report

npm version npm downloads standard-readme compliant MIT Licence Automated Release Notes by gren

All Contributors

Node command line tool for generating TypeScript coverage reports ✨

Overview

This package fills the gap of a missing type coverage reporting tool which is present in the Flow ecosystem, strongly inspired by the amazing work done by flow-coverage-report and using data generated by type-coverage.

See an example of the coverage report.

Background

To learn more about the reasoning behind this project and its roadmap, please refer to the following article: How I built a TS coverage report tool

Install

typescript-coverage-report can be installed locally or globally.

Users are advised to install it as a project (dev) dependency and create a script in package.json.

$ yarn add --dev typescript-coverage-report

# OR

$ npm install --save-dev typescript-coverage-report

Usage

If installed locally, add the following to the scripts section of package.json.

"scripts": {
  "ts-coverage": "typescript-coverage-report"
}

Then run:

$ yarn ts-coverage

# OR

$ npm run ts-coverage

To set the minimum threshold (80% by default), use the --threshold option.

$ yarn ts-coverage --threshold=99

As an alternative, options may be provided through the type-coverage configuration, specified in package.json.

"typeCoverage": {
  "atLeast": 90
}

terminal table

summary page

details page

Options

The CLI accepts a list of arguments:

Option Description Default value
-t, --threshold [number] The minimum percentage of coverage required. 80
-o, --outputDir [string] The output directory where to generate the report. coverage-ts
-s, --strict [boolean] Run the check in strict mode. false
-d, --debug [boolean] Show debug information. false
-c, --cache [boolean] Save and reuse type check result from cache. false
-p, --project [string] File path to tsconfig file, eg: --project "./app/tsconfig.app.json" .
-i, --ignore-files [boolean] Ignore specified files, eg: --ignore-files "demo1/*.ts" --ignore-files "demo2/foo.ts" false
-u, --ignore-unread [boolean] Allow writes to variables with implicit any types false

Maintainers

@alexcanessa

Contributing

Feel free to dive in! Open an issue or submit PRs.

On this project we follow the Contributor Covenant Code of Conduct.

Developing

Thanks for contributing!

Remember to run the following commands to link your version of this package and build the TypeScript files.

# Link the package globally, so you'll be able to test it in other projects.
$ yarn link
# Builds the TypeScript files and watches for changes
$ yarn build --watch

Commit messages

This project follows the Angular commit messages, but it's very open to emojis 🀯.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

David Tsai
David Tsai

πŸ“– πŸ›
Alexis Tyler
Alexis Tyler

πŸ›
Dan Vanderkam
Dan Vanderkam

πŸ’»
Daniel Edholm Ignat
Daniel Edholm Ignat

πŸ’»
Kyβ„“e Hensel
Kyβ„“e Hensel

πŸ’»
Danilo Cabello
Danilo Cabello

πŸ’»
Sanjay Guruprasad
Sanjay Guruprasad

πŸ›
Luis Helder
Luis Helder

πŸ›
Tom Ardern
Tom Ardern

πŸ› πŸ’»
lroskoshin
lroskoshin

πŸ’»
Max Burmagin
Max Burmagin

πŸ’»
Alexander Skvortsov
Alexander Skvortsov

πŸ’»
Adi CucolaΘ™
Adi CucolaΘ™

πŸ’»
Stanislav Golyshev
Stanislav Golyshev

πŸ’»
roikoren755
roikoren755

πŸ’»
jinphic
jinphic

πŸ’»
Brandon Barker
Brandon Barker

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

Licence

MIT @ Alessandro Canessa

forthebadge

About

Node command tool to generate TypeScript coverage report

License:MIT License


Languages

Language:TypeScript 73.0%Language:JavaScript 25.4%Language:CSS 1.6%