A Vitest plugin that generates coverage data for CircleCI's Smarter Testing.
This plugin uses the v8 JS engine Profiler APIs to collect coverage.
Install the plugin.
pnpm add -D vitest-circleci-coverageAdd the custom runner and reporter to your vitest.config.ts:
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
runner: 'vitest-circleci-coverage/runner',
reporters: ['vitest-circleci-coverage/reporter'],
},
});Set the CIRCLECI_COVERAGE environment variable and v8 coverage provider when running tests to enable test coverage.
CIRCLECI_COVERAGE=coverage.json vitest run --coverage.provider=v8Install and use current node version.
NODE_VER=$(cat ./.nvmrc)
nvm install $NODE_VER
nvm use $NODE_VERInstall dependencies with pnpm.
pnpm installBuild the plugin.
pnpm buildRun tests.
pnpm test