1. covert
code coverage command con coverify
covert
Package: covert
Created by: substack
Last modified: Fri, 11 Nov 2022 06:34:10 GMT
Version: 1.1.1
License: MIT
Downloads: 571
Repository: https://github.com/substack/covert

Install

npm install covert
yarn add covert

covert

code coverage command

example

Just run covert on some ordinary files:

$ covert test/*.js
TAP version 13
# defined-or
ok 1 empty arguments
ok 2 1 undefined
ok 3 2 undefined
ok 4 4 undefineds
ok 5 false[0]
ok 6 false[1]
ok 7 zero[0]
ok 8 zero[1]
ok 9 first arg
ok 10 second arg
ok 11 third arg
# (anonymous)
ok 12 should be equal

1..12
# tests 12
# pass  12

# ok

# /home/substack/projects/defined/index.js: line 3, column 18-26

  if (false) dead();
             ^^^^^^^

# /home/substack/projects/defined/index.js: line 6, column 16-18, 19-25, 26-30, 31-51

  for (var i = 0; i < 5; i++) console.log('blah');
               ^  ^^^^^  ^^^  ^^^^^^^^^^^^^^^^^^^

# /home/substack/projects/defined/index.js: line 10, column 3-24

  console.log('blah');
  ^^^^^^^^^^^^^^^^^^^^

# coverage: 76/82 (92.68 %)

non-zero exit code in `coverify` command

In this example, this test suite is using
tape. Tests written with tape can just be run
directly using node, which fits very well with what this command expects.

install

With npm do:

npm install -g covert

usage

usage: covert {OPTIONS} FILES

  Instrument FILES and in-module dependencies, writing coverage data to STDERR.

  OPTIONS are:

    --json

      Suppress normal output and print json coverage data to stdout.

    -q, --quiet  

      Only print coverage data, suppressing all other output.

    -c, --color

      Use color in the output. Default: true if stdout is a TTY.

why

Most code coverage libraries do weird things I don't like, such as writing all
their junk to directories and files in a completely out-of-band way.

covert:

  • only uses stderr and stdout, doesn't write to any files.
    All of this business about lcov files and directories with reports in them
    really weirds me out.

  • bundles with browserify --bare and a transform instead of hijacking
    require(). All the reporting goes through a unix pipeline on process.stdin and
    process.stdout. This is still hacky, but it's the kind of hacky that you can fix
    yourself when the magic breaks down. The internal pipeline is just:

browserify -t coverify --bare $* | node | coverify
  • works really well with simple unix pipelines.
    stdin and stdout: the wisdom of the ancients.

license

MIT

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin