Skip to content

Commit d2244ba

Browse files
committed
Fix coverage reporting
Codecov hasn't been working recently because Vitest doesn't report coverage by default.
1 parent 9c0f490 commit d2244ba

File tree

4 files changed

+102
-10
lines changed

4 files changed

+102
-10
lines changed

.github/workflows/test.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ jobs:
1717
- name: Install dependencies
1818
run: "yarn install"
1919
- name: Vitest
20-
run: "yarn run test"
20+
run: "yarn run test:coverage"
2121
- name: Upload to codecov
2222
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4
2323
with:
2424
flags: unittests
25+
fail_ci_if_error: true

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"i18n": "node_modules/i18next-parser/bin/cli.js",
1616
"i18n:check": "node_modules/i18next-parser/bin/cli.js --fail-on-warnings --fail-on-update",
1717
"test": "vitest",
18-
"test:coverage": "vitest run --coverage",
18+
"test:coverage": "vitest --coverage",
1919
"backend": "docker-compose -f backend-docker-compose.yml up"
2020
},
2121
"dependencies": {
@@ -105,6 +105,7 @@
105105
"@types/uuid": "10",
106106
"@typescript-eslint/eslint-plugin": "^7.0.0",
107107
"@typescript-eslint/parser": "^7.0.0",
108+
"@vitest/coverage-v8": "^1.6.0",
108109
"babel-loader": "^9.0.0",
109110
"babel-plugin-transform-vite-meta-env": "^1.0.3",
110111
"eslint": "^8.14.0",

vitest.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ export default defineConfig((configEnv) =>
1515
},
1616
include: ["test/**/*-test.[jt]s?(x)"],
1717
coverage: {
18-
reporter: ["text", "html"],
19-
exclude: ["node_modules/"],
18+
reporter: ["html", "json"],
19+
include: ["src/"],
2020
},
2121
},
2222
}),

yarn.lock

Lines changed: 96 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
88
integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
99

10-
"@ampproject/remapping@^2.2.0":
10+
"@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.2.1":
1111
version "2.3.0"
1212
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
1313
integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
@@ -283,7 +283,7 @@
283283
js-tokens "^4.0.0"
284284
picocolors "^1.0.0"
285285

286-
"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.7":
286+
"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.4", "@babel/parser@^7.24.7":
287287
version "7.24.7"
288288
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85"
289289
integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==
@@ -1094,7 +1094,7 @@
10941094
debug "^4.3.1"
10951095
globals "^11.1.0"
10961096

1097-
"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.4.4":
1097+
"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.0", "@babel/types@^7.24.7", "@babel/types@^7.4.4":
10981098
version "7.24.7"
10991099
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.7.tgz#6027fe12bc1aa724cd32ab113fb7f1988f1f66f2"
11001100
integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==
@@ -1112,6 +1112,11 @@
11121112
"@babel/helper-validator-identifier" "^7.22.20"
11131113
to-fast-properties "^2.0.0"
11141114

1115+
"@bcoe/v8-coverage@^0.2.3":
1116+
version "0.2.3"
1117+
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
1118+
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
1119+
11151120
"@bufbuild/protobuf@^1.7.2":
11161121
version "1.10.0"
11171122
resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-1.10.0.tgz#1a67ac889c2d464a3492b3e54c38f80517963b16"
@@ -1816,6 +1821,11 @@
18161821
dependencies:
18171822
"@babel/runtime" "^7.6.2"
18181823

1824+
"@istanbuljs/schema@^0.1.2":
1825+
version "0.1.3"
1826+
resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
1827+
integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
1828+
18191829
"@jest/schemas@^29.6.3":
18201830
version "29.6.3"
18211831
resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03"
@@ -1847,7 +1857,7 @@
18471857
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
18481858
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
18491859

1850-
"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
1860+
"@jridgewell/trace-mapping@^0.3.23", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
18511861
version "0.3.25"
18521862
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
18531863
integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
@@ -3848,6 +3858,25 @@
38483858
"@types/babel__core" "^7.20.5"
38493859
react-refresh "^0.14.2"
38503860

3861+
"@vitest/coverage-v8@^1.6.0":
3862+
version "1.6.0"
3863+
resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-1.6.0.tgz#2f54ccf4c2d9f23a71294aba7f95b3d2e27d14e7"
3864+
integrity sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==
3865+
dependencies:
3866+
"@ampproject/remapping" "^2.2.1"
3867+
"@bcoe/v8-coverage" "^0.2.3"
3868+
debug "^4.3.4"
3869+
istanbul-lib-coverage "^3.2.2"
3870+
istanbul-lib-report "^3.0.1"
3871+
istanbul-lib-source-maps "^5.0.4"
3872+
istanbul-reports "^3.1.6"
3873+
magic-string "^0.30.5"
3874+
magicast "^0.3.3"
3875+
picocolors "^1.0.0"
3876+
std-env "^3.5.0"
3877+
strip-literal "^2.0.0"
3878+
test-exclude "^6.0.0"
3879+
38513880
38523881
version "1.6.0"
38533882
resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-1.6.0.tgz#0b3ba0914f738508464983f4d811bc122b51fb30"
@@ -5788,7 +5817,7 @@ glob-stream@^8.0.0:
57885817
normalize-path "^3.0.0"
57895818
streamx "^2.12.5"
57905819

5791-
glob@^7.0.0, glob@^7.1.3:
5820+
glob@^7.0.0, glob@^7.1.3, glob@^7.1.4:
57925821
version "7.2.3"
57935822
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
57945823
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
@@ -5973,6 +6002,11 @@ html-encoding-sniffer@^4.0.0:
59736002
dependencies:
59746003
whatwg-encoding "^3.1.1"
59756004

6005+
html-escaper@^2.0.0:
6006+
version "2.0.2"
6007+
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
6008+
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
6009+
59766010
html-parse-stringify@^3.0.1:
59776011
version "3.0.1"
59786012
resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2"
@@ -6411,6 +6445,37 @@ isexe@^2.0.0:
64116445
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
64126446
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
64136447

6448+
istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.2:
6449+
version "3.2.2"
6450+
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756"
6451+
integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==
6452+
6453+
istanbul-lib-report@^3.0.0, istanbul-lib-report@^3.0.1:
6454+
version "3.0.1"
6455+
resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d"
6456+
integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==
6457+
dependencies:
6458+
istanbul-lib-coverage "^3.0.0"
6459+
make-dir "^4.0.0"
6460+
supports-color "^7.1.0"
6461+
6462+
istanbul-lib-source-maps@^5.0.4:
6463+
version "5.0.6"
6464+
resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz#acaef948df7747c8eb5fbf1265cb980f6353a441"
6465+
integrity sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==
6466+
dependencies:
6467+
"@jridgewell/trace-mapping" "^0.3.23"
6468+
debug "^4.1.1"
6469+
istanbul-lib-coverage "^3.0.0"
6470+
6471+
istanbul-reports@^3.1.6:
6472+
version "3.1.7"
6473+
resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b"
6474+
integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==
6475+
dependencies:
6476+
html-escaper "^2.0.0"
6477+
istanbul-lib-report "^3.0.0"
6478+
64146479
iterator.prototype@^1.1.2:
64156480
version "1.1.2"
64166481
resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0"
@@ -6739,6 +6804,22 @@ magic-string@^0.30.5:
67396804
dependencies:
67406805
"@jridgewell/sourcemap-codec" "^1.4.15"
67416806

6807+
magicast@^0.3.3:
6808+
version "0.3.4"
6809+
resolved "https://registry.yarnpkg.com/magicast/-/magicast-0.3.4.tgz#bbda1791d03190a24b00ff3dd18151e7fd381d19"
6810+
integrity sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==
6811+
dependencies:
6812+
"@babel/parser" "^7.24.4"
6813+
"@babel/types" "^7.24.0"
6814+
source-map-js "^1.2.0"
6815+
6816+
make-dir@^4.0.0:
6817+
version "4.0.0"
6818+
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e"
6819+
integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==
6820+
dependencies:
6821+
semver "^7.5.3"
6822+
67426823
matcher-collection@^2.0.0:
67436824
version "2.0.1"
67446825
resolved "https://registry.yarnpkg.com/matcher-collection/-/matcher-collection-2.0.1.tgz#90be1a4cf58d6f2949864f65bb3b0f3e41303b29"
@@ -8263,7 +8344,7 @@ semver@^7.5.2:
82638344
dependencies:
82648345
lru-cache "^6.0.0"
82658346

8266-
semver@^7.6.0, semver@^7.6.1:
8347+
semver@^7.5.3, semver@^7.6.0, semver@^7.6.1:
82678348
version "7.6.2"
82688349
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13"
82698350
integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==
@@ -8635,6 +8716,15 @@ teex@^1.0.1:
86358716
dependencies:
86368717
streamx "^2.12.5"
86378718

8719+
test-exclude@^6.0.0:
8720+
version "6.0.0"
8721+
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
8722+
integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
8723+
dependencies:
8724+
"@istanbuljs/schema" "^0.1.2"
8725+
glob "^7.1.4"
8726+
minimatch "^3.0.4"
8727+
86388728
text-table@^0.2.0:
86398729
version "0.2.0"
86408730
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"

0 commit comments

Comments
 (0)