All Projects → codechecks → Typecov

codechecks / Typecov

Licence: mit
Track missing type coverage to ensure type safety

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Typecov

Zion
A statically-typed strictly-evaluated garbage-collected readable programming language.
Stars: ✭ 33 (-74.22%)
Mutual labels:  type-safety
Pfun
Functional, composable, asynchronous, type-safe Python.
Stars: ✭ 75 (-41.41%)
Mutual labels:  type-safety
Vuex Type Helper
Type level helper to ensure type safety in Vuex
Stars: ✭ 99 (-22.66%)
Mutual labels:  type-safety
Typewiz
Automatically discover and add missing types in your TypeScript code
Stars: ✭ 1,026 (+701.56%)
Mutual labels:  type-safety
Threadly
Type-safe thread-local storage in Swift
Stars: ✭ 58 (-54.69%)
Mutual labels:  type-safety
Strict Variant
A realtime/embedded-friendly C++11 variant type which is never empty and prevents undesirable implicit conversions
Stars: ✭ 81 (-36.72%)
Mutual labels:  type-safety
Pcf Nominal
A formalisation of PCF in Agda using naive nominal binding
Stars: ✭ 5 (-96.09%)
Mutual labels:  type-safety
Typical
Typical: Fast, simple, & correct data-validation using Python 3 typing.
Stars: ✭ 111 (-13.28%)
Mutual labels:  type-safety
Io Ts Reporters
Error reporters for io-ts
Stars: ✭ 58 (-54.69%)
Mutual labels:  type-safety
Undictify
Python library providing type-checked function calls at runtime
Stars: ✭ 97 (-24.22%)
Mutual labels:  type-safety
Magic Type
🎩 Use Your TypeScript definitions at runtime. Powered by Manta Style.
Stars: ✭ 53 (-58.59%)
Mutual labels:  type-safety
Dry Validation
Validation library with type-safe schemas and rules
Stars: ✭ 1,087 (+749.22%)
Mutual labels:  type-safety
Tagging
🏷 Type-safe tags in Swift
Stars: ✭ 89 (-30.47%)
Mutual labels:  type-safety
Phpcs Type Sniff
PHP CodeSniffer sniff to enforce PHP 7 types and documentation of array variables
Stars: ✭ 35 (-72.66%)
Mutual labels:  type-safety
Coulomb
coulomb: unit analysis for Scala
Stars: ✭ 109 (-14.84%)
Mutual labels:  type-safety
Type safe
Zero overhead utilities for preventing bugs at compile time
Stars: ✭ 866 (+576.56%)
Mutual labels:  type-safety
Dilate
Nearly zero runtime object allocation powered by scalameta. Value class and Unboxed Tagged Type generation at compile-time.
Stars: ✭ 80 (-37.5%)
Mutual labels:  type-safety
Babel Plugin Runtyper
⚡️ Runtime type-checker for JavaScript
Stars: ✭ 117 (-8.59%)
Mutual labels:  type-safety
Purescript Spec
Testing framework for Purescript
Stars: ✭ 108 (-15.62%)
Mutual labels:  type-safety
Generic Json Swift
A simple Swift library for working with generic JSON structures
Stars: ✭ 95 (-25.78%)
Mutual labels:  type-safety

codechecks.io

TypeCov

Track missing type coverage in TypeScript projects to ensure type safety

Build Status Software License codechecks.io

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 anys 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].