« Back

# covcov

Covcov was built to solve the hassle of checking coverage reports from istanbul. I found it a massive pain in mono-repos to be often navigating to the coverage/lcov/index.html file inside each package folder. And out of the box you don't get the full coverage metrics for the whole monorepo.
Covcov gathers all coverage reports it can find in subfolders and renders them in a unified tui. This means it's easy to run jest -w in any package folder and run covcov in the root to see how the overall coverage is updating.
It has a table view of all folders and file changes, and a file view to dig into which lines are missing from coverage.
=> covcov

File                                Statements      Branches
/src/EntityApi.js                   100% (10/10)    100% (0/0)
/src/LoadingBoundary.jsx            100% (17/17)    100% (6/6)
/src/LoadingBoundaryHoc.jsx         100% (10/10)    100% (1/1)
/src/ProviderFactory.js             100% (17/17)    100% (4/4)
/src/RemoveHook.js                  13%  (1/8)      0%   (0/2)
/src/RequestHook.js                 97%  (31/32)    100% (17/17)
/src/index.js                       0%   (0/12)     100% (0/0)
/src/__tests__/RequestSuite.jsx     99%  (135/137)  86%  (12/14)
/src/state/EntityReducerFactory.js  100% (27/27)    100% (17/17)


─────────────────────────────────────────────────────────────────────
  1 │ // @flow
  2 │ import removeAction from './state/api/removeAction';
  3 │ import {useContext, useMemo} from 'react';
  4 │
  5 │
  6 │ export default function RemoveHookFactory(context: *) {
 9x │     return () => {
  8 │         const store = useContext(context);
  9 │         if(!store) throw 'useRemove must be called in a provide
 10 │         const [state, dispatch] = store;
 11 │
 12 │         return useMemo(() => (type: string, id: string) => {
 13 │             dispatch(removeAction(type, id));
 14 │         }, [state]);
 15 │
 16 │     };
 17 │ }
 18 │


Statements 13%(1/8)  Branches 0%(0/2)  Functions 25%(1/4)