Skip to content

Commit 6655a23

Browse files
authored
test: setup vitest coverage (#50)
1 parent 28cce4b commit 6655a23

6 files changed

Lines changed: 451 additions & 12 deletions

File tree

.github/workflows/ci.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ on:
1515
jobs:
1616
ci:
1717
runs-on: ubuntu-latest
18-
18+
permissions:
19+
contents: read
20+
pull-requests: write
1921
steps:
2022
- uses: actions/checkout@v4
2123
- run: corepack enable
@@ -28,9 +30,15 @@ jobs:
2830
run: pnpm install --frozen-lockfile
2931

3032
- name: 🧪 Test project
31-
run: pnpm -r test
33+
run: pnpm -r test:coverage
3234
timeout-minutes: 10
3335

36+
- name: 'Report test coverage'
37+
uses: davelosert/vitest-coverage-report-action@v2
38+
with:
39+
working-directory: './packages/client/'
40+
if: always()
41+
3442
- name: 📝 Lint
3543
run: pnpm run lint
3644

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
node_modules/
22
dist/
3+
coverage/

packages/client/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,19 @@
2828
"dev": "pkgroll --watch",
2929
"build": "pkgroll --minify",
3030
"test": "vitest",
31+
"test:coverage": "vitest --coverage",
3132
"test:typescript": "tsc --noEmit"
3233
},
3334
"dependencies": {
3435
"@atcute/client": "^2.0.6"
3536
},
3637
"devDependencies": {
3738
"@tsky/lexicons": "workspace:*",
39+
"@vitest/coverage-istanbul": "2.1.6",
3840
"globals": "^15.12.0",
3941
"pkgroll": "^2.5.1",
4042
"tsx": "^4.19.2",
4143
"typescript": "^5.7.2",
4244
"vitest": "^2.1.6"
4345
}
44-
}
46+
}

packages/client/vitest.config.mjs

Lines changed: 0 additions & 9 deletions
This file was deleted.

packages/client/vitest.config.mts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { defineConfig } from 'vitest/config';
2+
3+
export default defineConfig({
4+
test: {
5+
coverage: {
6+
provider: 'istanbul',
7+
reporter: ['text', 'json-summary', 'json', 'html'],
8+
reportOnFailure: true,
9+
},
10+
},
11+
resolve: {
12+
alias: {
13+
'~': '/src',
14+
},
15+
},
16+
});

0 commit comments

Comments
 (0)