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)