Skip to content

Commit 291740b

Browse files
committed
test(3.0): reimplement coverage with vitest + c8
1 parent 2ccdde4 commit 291740b

File tree

4 files changed

+233
-9
lines changed

4 files changed

+233
-9
lines changed

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"@biomejs/biome": "1.9.4",
5454
"@types/node": "22.7.7",
5555
"@types/uuid": "10.0.0",
56+
"@vitest/coverage-v8": "2.1.3",
5657
"commitlint": "19.5.0",
5758
"conventional-changelog-cli": "5.0.0",
5859
"tsx": "^4.19.1",
@@ -63,10 +64,9 @@
6364
"lint": "biome check --write",
6465
"check": "biome check",
6566
"build": "tsx scripts/build.ts",
66-
"prepublishOnly": "rm -rf lib && yarn build",
67+
"prepublishOnly": "yarn build",
6768
"test": "vitest --run test/**/*.ts",
68-
"test-cover": "nyc ava",
69-
"coverage": "nyc ava | coveralls",
69+
"coverage": "vitest run --coverage",
7070
"version": "echo ${npm_package_version}",
7171
"examples": "./examples/exec.sh",
7272
"examples-esm": "./examples/esm/exec.sh",

test/index.test.ts

+10
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,16 @@ describe('Logger Module', () => {
8282

8383
expect(config.outputs).toContainEqual(outputAdapter)
8484
})
85+
86+
it('should set the output adapters array', () => {
87+
const config = {
88+
...shareConfig,
89+
}
90+
const outputAdapter = vi.fn()
91+
setOutput([outputAdapter], config)
92+
93+
expect(config.outputs).toContainEqual(outputAdapter)
94+
})
8595
})
8696

8797
describe('setGlobalContext', () => {

vitest.config.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export default defineConfig({
66
environment: 'node',
77
include: ['test/**/*.ts'],
88
coverage: {
9-
reporter: ['text', 'json', 'html'],
9+
reporter: ['lcov', 'cobertura', 'text'],
1010
include: ['src/**'],
1111
exclude: ['src/types/**', 'src/definitions.ts'],
1212
},

yarn.lock

+219-5
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ __metadata:
55
version: 8
66
cacheKey: 10
77

8+
"@ampproject/remapping@npm:^2.3.0":
9+
version: 2.3.0
10+
resolution: "@ampproject/remapping@npm:2.3.0"
11+
dependencies:
12+
"@jridgewell/gen-mapping": "npm:^0.3.5"
13+
"@jridgewell/trace-mapping": "npm:^0.3.24"
14+
checksum: 10/f3451525379c68a73eb0a1e65247fbf28c0cccd126d93af21c75fceff77773d43c0d4a2d51978fb131aff25b5f2cb41a9fe48cc296e61ae65e679c4f6918b0ab
15+
languageName: node
16+
linkType: hard
17+
818
"@babel/code-frame@npm:^7.0.0":
919
version: 7.18.6
1020
resolution: "@babel/code-frame@npm:7.18.6"
@@ -24,6 +34,13 @@ __metadata:
2434
languageName: node
2535
linkType: hard
2636

37+
"@babel/helper-string-parser@npm:^7.25.9":
38+
version: 7.25.9
39+
resolution: "@babel/helper-string-parser@npm:7.25.9"
40+
checksum: 10/c28656c52bd48e8c1d9f3e8e68ecafd09d949c57755b0d353739eb4eae7ba4f7e67e92e4036f1cd43378cc1397a2c943ed7bcaf5949b04ab48607def0258b775
41+
languageName: node
42+
linkType: hard
43+
2744
"@babel/helper-validator-identifier@npm:^7.18.6":
2845
version: 7.18.6
2946
resolution: "@babel/helper-validator-identifier@npm:7.18.6"
@@ -38,6 +55,13 @@ __metadata:
3855
languageName: node
3956
linkType: hard
4057

58+
"@babel/helper-validator-identifier@npm:^7.25.9":
59+
version: 7.25.9
60+
resolution: "@babel/helper-validator-identifier@npm:7.25.9"
61+
checksum: 10/3f9b649be0c2fd457fa1957b694b4e69532a668866b8a0d81eabfa34ba16dbf3107b39e0e7144c55c3c652bf773ec816af8df4a61273a2bb4eb3145ca9cf478e
62+
languageName: node
63+
linkType: hard
64+
4165
"@babel/highlight@npm:^7.18.6":
4266
version: 7.18.6
4367
resolution: "@babel/highlight@npm:7.18.6"
@@ -61,6 +85,34 @@ __metadata:
6185
languageName: node
6286
linkType: hard
6387

88+
"@babel/parser@npm:^7.25.4":
89+
version: 7.26.1
90+
resolution: "@babel/parser@npm:7.26.1"
91+
dependencies:
92+
"@babel/types": "npm:^7.26.0"
93+
bin:
94+
parser: ./bin/babel-parser.js
95+
checksum: 10/87d6248c6a1f962621b4505e24ee89c9869d40640beb231d6befb2d56112a84a654b15980941300617aa3211ca9632cc1644c6d3f72ea3427f220133d11d9c0c
96+
languageName: node
97+
linkType: hard
98+
99+
"@babel/types@npm:^7.25.4, @babel/types@npm:^7.26.0":
100+
version: 7.26.0
101+
resolution: "@babel/types@npm:7.26.0"
102+
dependencies:
103+
"@babel/helper-string-parser": "npm:^7.25.9"
104+
"@babel/helper-validator-identifier": "npm:^7.25.9"
105+
checksum: 10/40780741ecec886ed9edae234b5eb4976968cc70d72b4e5a40d55f83ff2cc457de20f9b0f4fe9d858350e43dab0ea496e7ef62e2b2f08df699481a76df02cd6e
106+
languageName: node
107+
linkType: hard
108+
109+
"@bcoe/v8-coverage@npm:^0.2.3":
110+
version: 0.2.3
111+
resolution: "@bcoe/v8-coverage@npm:0.2.3"
112+
checksum: 10/1a1f0e356a3bb30b5f1ced6f79c413e6ebacf130421f15fac5fcd8be5ddf98aedb4404d7f5624e3285b700e041f9ef938321f3ca4d359d5b716f96afa120d88d
113+
languageName: node
114+
linkType: hard
115+
64116
"@biomejs/biome@npm:1.9.4":
65117
version: 1.9.4
66118
resolution: "@biomejs/biome@npm:1.9.4"
@@ -358,6 +410,7 @@ __metadata:
358410
"@biomejs/biome": "npm:1.9.4"
359411
"@types/node": "npm:22.7.7"
360412
"@types/uuid": "npm:10.0.0"
413+
"@vitest/coverage-v8": "npm:2.1.3"
361414
commitlint: "npm:19.5.0"
362415
conventional-changelog-cli: "npm:5.0.0"
363416
fast-json-stringify: "npm:6.x"
@@ -728,13 +781,55 @@ __metadata:
728781
languageName: node
729782
linkType: hard
730783

731-
"@jridgewell/sourcemap-codec@npm:^1.5.0":
784+
"@istanbuljs/schema@npm:^0.1.2":
785+
version: 0.1.3
786+
resolution: "@istanbuljs/schema@npm:0.1.3"
787+
checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b
788+
languageName: node
789+
linkType: hard
790+
791+
"@jridgewell/gen-mapping@npm:^0.3.5":
792+
version: 0.3.5
793+
resolution: "@jridgewell/gen-mapping@npm:0.3.5"
794+
dependencies:
795+
"@jridgewell/set-array": "npm:^1.2.1"
796+
"@jridgewell/sourcemap-codec": "npm:^1.4.10"
797+
"@jridgewell/trace-mapping": "npm:^0.3.24"
798+
checksum: 10/81587b3c4dd8e6c60252122937cea0c637486311f4ed208b52b62aae2e7a87598f63ec330e6cd0984af494bfb16d3f0d60d3b21d7e5b4aedd2602ff3fe9d32e2
799+
languageName: node
800+
linkType: hard
801+
802+
"@jridgewell/resolve-uri@npm:^3.1.0":
803+
version: 3.1.2
804+
resolution: "@jridgewell/resolve-uri@npm:3.1.2"
805+
checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d
806+
languageName: node
807+
linkType: hard
808+
809+
"@jridgewell/set-array@npm:^1.2.1":
810+
version: 1.2.1
811+
resolution: "@jridgewell/set-array@npm:1.2.1"
812+
checksum: 10/832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10
813+
languageName: node
814+
linkType: hard
815+
816+
"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0":
732817
version: 1.5.0
733818
resolution: "@jridgewell/sourcemap-codec@npm:1.5.0"
734819
checksum: 10/4ed6123217569a1484419ac53f6ea0d9f3b57e5b57ab30d7c267bdb27792a27eb0e4b08e84a2680aa55cc2f2b411ffd6ec3db01c44fdc6dc43aca4b55f8374fd
735820
languageName: node
736821
linkType: hard
737822

823+
"@jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24":
824+
version: 0.3.25
825+
resolution: "@jridgewell/trace-mapping@npm:0.3.25"
826+
dependencies:
827+
"@jridgewell/resolve-uri": "npm:^3.1.0"
828+
"@jridgewell/sourcemap-codec": "npm:^1.4.14"
829+
checksum: 10/dced32160a44b49d531b80a4a2159dceab6b3ddf0c8e95a0deae4b0e894b172defa63d5ac52a19c2068e1fe7d31ea4ba931fbeec103233ecb4208953967120fc
830+
languageName: node
831+
linkType: hard
832+
738833
"@npmcli/agent@npm:^2.0.0":
739834
version: 2.2.2
740835
resolution: "@npmcli/agent@npm:2.2.2"
@@ -922,6 +1017,32 @@ __metadata:
9221017
languageName: node
9231018
linkType: hard
9241019

1020+
"@vitest/coverage-v8@npm:2.1.3":
1021+
version: 2.1.3
1022+
resolution: "@vitest/coverage-v8@npm:2.1.3"
1023+
dependencies:
1024+
"@ampproject/remapping": "npm:^2.3.0"
1025+
"@bcoe/v8-coverage": "npm:^0.2.3"
1026+
debug: "npm:^4.3.6"
1027+
istanbul-lib-coverage: "npm:^3.2.2"
1028+
istanbul-lib-report: "npm:^3.0.1"
1029+
istanbul-lib-source-maps: "npm:^5.0.6"
1030+
istanbul-reports: "npm:^3.1.7"
1031+
magic-string: "npm:^0.30.11"
1032+
magicast: "npm:^0.3.4"
1033+
std-env: "npm:^3.7.0"
1034+
test-exclude: "npm:^7.0.1"
1035+
tinyrainbow: "npm:^1.2.0"
1036+
peerDependencies:
1037+
"@vitest/browser": 2.1.3
1038+
vitest: 2.1.3
1039+
peerDependenciesMeta:
1040+
"@vitest/browser":
1041+
optional: true
1042+
checksum: 10/3865db318e6448c6e267034a72141dfc49d79155a04573f1e565d0ddd98dd5cddbefb77b214265daaf13510a8497224ddbacc94371bd63e7c928036ad7993989
1043+
languageName: node
1044+
linkType: hard
1045+
9251046
"@vitest/expect@npm:2.1.3":
9261047
version: 2.1.3
9271048
resolution: "@vitest/expect@npm:2.1.3"
@@ -1559,7 +1680,7 @@ __metadata:
15591680
languageName: node
15601681
linkType: hard
15611682

1562-
"debug@npm:4, debug@npm:^4.3.6":
1683+
"debug@npm:4, debug@npm:^4.1.1, debug@npm:^4.3.6":
15631684
version: 4.3.7
15641685
resolution: "debug@npm:4.3.7"
15651686
dependencies:
@@ -1999,7 +2120,7 @@ __metadata:
19992120
languageName: node
20002121
linkType: hard
20012122

2002-
"glob@npm:^10.2.2, glob@npm:^10.3.10":
2123+
"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.4.1":
20032124
version: 10.4.5
20042125
resolution: "glob@npm:10.4.5"
20052126
dependencies:
@@ -2056,6 +2177,13 @@ __metadata:
20562177
languageName: node
20572178
linkType: hard
20582179

2180+
"has-flag@npm:^4.0.0":
2181+
version: 4.0.0
2182+
resolution: "has-flag@npm:4.0.0"
2183+
checksum: 10/261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad
2184+
languageName: node
2185+
linkType: hard
2186+
20592187
"hosted-git-info@npm:^7.0.0":
20602188
version: 7.0.2
20612189
resolution: "hosted-git-info@npm:7.0.2"
@@ -2065,6 +2193,13 @@ __metadata:
20652193
languageName: node
20662194
linkType: hard
20672195

2196+
"html-escaper@npm:^2.0.0":
2197+
version: 2.0.2
2198+
resolution: "html-escaper@npm:2.0.2"
2199+
checksum: 10/034d74029dcca544a34fb6135e98d427acd73019796ffc17383eaa3ec2fe1c0471dcbbc8f8ed39e46e86d43ccd753a160631615e4048285e313569609b66d5b7
2200+
languageName: node
2201+
linkType: hard
2202+
20682203
"http-cache-semantics@npm:^4.1.1":
20692204
version: 4.1.1
20702205
resolution: "http-cache-semantics@npm:4.1.1"
@@ -2207,6 +2342,45 @@ __metadata:
22072342
languageName: node
22082343
linkType: hard
22092344

2345+
"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2":
2346+
version: 3.2.2
2347+
resolution: "istanbul-lib-coverage@npm:3.2.2"
2348+
checksum: 10/40bbdd1e937dfd8c830fa286d0f665e81b7a78bdabcd4565f6d5667c99828bda3db7fb7ac6b96a3e2e8a2461ddbc5452d9f8bc7d00cb00075fa6a3e99f5b6a81
2349+
languageName: node
2350+
linkType: hard
2351+
2352+
"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1":
2353+
version: 3.0.1
2354+
resolution: "istanbul-lib-report@npm:3.0.1"
2355+
dependencies:
2356+
istanbul-lib-coverage: "npm:^3.0.0"
2357+
make-dir: "npm:^4.0.0"
2358+
supports-color: "npm:^7.1.0"
2359+
checksum: 10/86a83421ca1cf2109a9f6d193c06c31ef04a45e72a74579b11060b1e7bb9b6337a4e6f04abfb8857e2d569c271273c65e855ee429376a0d7c91ad91db42accd1
2360+
languageName: node
2361+
linkType: hard
2362+
2363+
"istanbul-lib-source-maps@npm:^5.0.6":
2364+
version: 5.0.6
2365+
resolution: "istanbul-lib-source-maps@npm:5.0.6"
2366+
dependencies:
2367+
"@jridgewell/trace-mapping": "npm:^0.3.23"
2368+
debug: "npm:^4.1.1"
2369+
istanbul-lib-coverage: "npm:^3.0.0"
2370+
checksum: 10/569dd0a392ee3464b1fe1accbaef5cc26de3479eacb5b91d8c67ebb7b425d39fd02247d85649c3a0e9c29b600809fa60b5af5a281a75a89c01f385b1e24823a2
2371+
languageName: node
2372+
linkType: hard
2373+
2374+
"istanbul-reports@npm:^3.1.7":
2375+
version: 3.1.7
2376+
resolution: "istanbul-reports@npm:3.1.7"
2377+
dependencies:
2378+
html-escaper: "npm:^2.0.0"
2379+
istanbul-lib-report: "npm:^3.0.0"
2380+
checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa
2381+
languageName: node
2382+
linkType: hard
2383+
22102384
"jackspeak@npm:^3.1.2":
22112385
version: 3.4.3
22122386
resolution: "jackspeak@npm:3.4.3"
@@ -2393,6 +2567,26 @@ __metadata:
23932567
languageName: node
23942568
linkType: hard
23952569

2570+
"magicast@npm:^0.3.4":
2571+
version: 0.3.5
2572+
resolution: "magicast@npm:0.3.5"
2573+
dependencies:
2574+
"@babel/parser": "npm:^7.25.4"
2575+
"@babel/types": "npm:^7.25.4"
2576+
source-map-js: "npm:^1.2.0"
2577+
checksum: 10/3a2dba6b0bdde957797361d09c7931ebdc1b30231705360eeb40ed458d28e1c3112841c3ed4e1b87ceb28f741e333c7673cd961193aa9fdb4f4946b202e6205a
2578+
languageName: node
2579+
linkType: hard
2580+
2581+
"make-dir@npm:^4.0.0":
2582+
version: 4.0.0
2583+
resolution: "make-dir@npm:4.0.0"
2584+
dependencies:
2585+
semver: "npm:^7.5.3"
2586+
checksum: 10/bf0731a2dd3aab4db6f3de1585cea0b746bb73eb5a02e3d8d72757e376e64e6ada190b1eddcde5b2f24a81b688a9897efd5018737d05e02e2a671dda9cff8a8a
2587+
languageName: node
2588+
linkType: hard
2589+
23962590
"make-fetch-happen@npm:^13.0.0":
23972591
version: 13.0.1
23982592
resolution: "make-fetch-happen@npm:13.0.1"
@@ -2931,7 +3125,7 @@ __metadata:
29313125
languageName: node
29323126
linkType: hard
29333127

2934-
"semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.6.0":
3128+
"semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.6.0":
29353129
version: 7.6.3
29363130
resolution: "semver@npm:7.6.3"
29373131
bin:
@@ -2998,7 +3192,7 @@ __metadata:
29983192
languageName: node
29993193
linkType: hard
30003194

3001-
"source-map-js@npm:^1.2.1":
3195+
"source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1":
30023196
version: 1.2.1
30033197
resolution: "source-map-js@npm:1.2.1"
30043198
checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3
@@ -3132,6 +3326,15 @@ __metadata:
31323326
languageName: node
31333327
linkType: hard
31343328

3329+
"supports-color@npm:^7.1.0":
3330+
version: 7.2.0
3331+
resolution: "supports-color@npm:7.2.0"
3332+
dependencies:
3333+
has-flag: "npm:^4.0.0"
3334+
checksum: 10/c8bb7afd564e3b26b50ca6ee47572c217526a1389fe018d00345856d4a9b08ffbd61fadaf283a87368d94c3dcdb8f5ffe2650a5a65863e21ad2730ca0f05210a
3335+
languageName: node
3336+
linkType: hard
3337+
31353338
"tar@npm:^6.1.11, tar@npm:^6.2.1":
31363339
version: 6.2.1
31373340
resolution: "tar@npm:6.2.1"
@@ -3162,6 +3365,17 @@ __metadata:
31623365
languageName: node
31633366
linkType: hard
31643367

3368+
"test-exclude@npm:^7.0.1":
3369+
version: 7.0.1
3370+
resolution: "test-exclude@npm:7.0.1"
3371+
dependencies:
3372+
"@istanbuljs/schema": "npm:^0.1.2"
3373+
glob: "npm:^10.4.1"
3374+
minimatch: "npm:^9.0.4"
3375+
checksum: 10/e6f6f4e1df2e7810e082e8d7dfc53be51a931e6e87925f5e1c2ef92cc1165246ba3bf2dae6b5d86251c16925683dba906bd41e40169ebc77120a2d1b5a0dbbe0
3376+
languageName: node
3377+
linkType: hard
3378+
31653379
"text-extensions@npm:^2.0.0":
31663380
version: 2.4.0
31673381
resolution: "text-extensions@npm:2.4.0"

0 commit comments

Comments
 (0)