Skip to content

Commit 8b18a0f

Browse files
committed
feat(plugin-coverage): set up plugin-coverage package
1 parent 1fb06a4 commit 8b18a0f

9 files changed

+183
-0
lines changed
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"extends": ["../../.eslintrc.json"],
3+
"ignorePatterns": ["!**/*"],
4+
"overrides": [
5+
{
6+
"files": ["*.ts", "*.tsx"],
7+
"parserOptions": {
8+
"project": ["packages/plugin-coverage/tsconfig.*?.json"]
9+
}
10+
},
11+
{
12+
"files": ["*.json"],
13+
"parser": "jsonc-eslint-parser",
14+
"rules": {
15+
"@nx/dependency-checks": ["error"]
16+
}
17+
}
18+
]
19+
}

packages/plugin-coverage/package.json

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"name": "@code-pushup/coverage-plugin",
3+
"version": "0.8.25",
4+
"dependencies": {
5+
"@code-pushup/models": "*",
6+
"@code-pushup/utils": "*",
7+
"parse-lcov": "^1.0.4",
8+
"zod": "^3.22.4"
9+
}
10+
}

packages/plugin-coverage/project.json

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"name": "plugin-coverage",
3+
"$schema": "../../node_modules/nx/schemas/project-schema.json",
4+
"sourceRoot": "packages/plugin-coverage/src",
5+
"projectType": "library",
6+
"targets": {
7+
"build": {
8+
"executor": "@nx/esbuild:esbuild",
9+
"outputs": ["{options.outputPath}"],
10+
"options": {
11+
"outputPath": "dist/packages/plugin-coverage",
12+
"main": "packages/plugin-coverage/src/index.ts",
13+
"tsConfig": "packages/plugin-coverage/tsconfig.lib.json",
14+
"assets": ["packages/plugin-coverage/*.md"],
15+
"esbuildConfig": "esbuild.config.js"
16+
}
17+
},
18+
"lint": {
19+
"executor": "@nx/linter:eslint",
20+
"outputs": ["{options.outputFile}"],
21+
"options": {
22+
"lintFilePatterns": [
23+
"packages/plugin-coverage/**/*.ts",
24+
"packages/plugin-coverage/package.json"
25+
]
26+
}
27+
},
28+
"unit-test": {
29+
"executor": "@nx/vite:test",
30+
"outputs": ["{workspaceRoot}/coverage/packages/plugin-coverage"],
31+
"options": {
32+
"config": "packages/plugin-coverage/vite.config.unit.ts",
33+
"reportsDirectory": "../../coverage/plugin-coverage/unit-tests"
34+
}
35+
},
36+
"integration-test": {
37+
"executor": "@nx/vite:test",
38+
"outputs": ["{workspaceRoot}/coverage/packages/plugin-coverage"],
39+
"options": {
40+
"config": "packages/plugin-coverage/vite.config.integration.ts",
41+
"reportsDirectory": "../../coverage/plugin-coverage/integration-tests"
42+
}
43+
},
44+
"deploy": {
45+
"options": {
46+
"distFolderPath": "dist/packages/plugin-coverage"
47+
}
48+
},
49+
"publish": {
50+
"command": "node tools/scripts/publish.mjs plugin-coverage {args.ver} {args.tag}",
51+
"dependsOn": ["build"]
52+
}
53+
},
54+
"tags": ["scope:plugin", "type:feature"]
55+
}
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"extends": "../../tsconfig.base.json",
3+
"compilerOptions": {
4+
"module": "ESNext",
5+
"forceConsistentCasingInFileNames": true,
6+
"strict": true,
7+
"noImplicitOverride": true,
8+
"noPropertyAccessFromIndexSignature": true,
9+
"noImplicitReturns": true,
10+
"noFallthroughCasesInSwitch": true,
11+
"types": ["vitest"]
12+
},
13+
"files": [],
14+
"include": [],
15+
"references": [
16+
{
17+
"path": "./tsconfig.lib.json"
18+
},
19+
{
20+
"path": "./tsconfig.test.json"
21+
}
22+
]
23+
}
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"extends": "./tsconfig.json",
3+
"compilerOptions": {
4+
"outDir": "../../dist/out-tsc",
5+
"declaration": true,
6+
"types": ["node"]
7+
},
8+
"include": ["src/**/*.ts"],
9+
"exclude": [
10+
"vite.config.unit.ts",
11+
"vite.config.integration.ts",
12+
"src/**/*.test.ts",
13+
"src/**/*.mock.ts",
14+
"mocks/**/*.ts"
15+
]
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"extends": "./tsconfig.json",
3+
"compilerOptions": {
4+
"outDir": "../../dist/out-tsc",
5+
"types": ["vitest/globals", "vitest/importMeta", "vite/client", "node"]
6+
},
7+
"include": [
8+
"vite.config.unit.ts",
9+
"vite.config.integration.ts",
10+
"mocks/**/*.ts",
11+
"src/**/*.test.ts"
12+
]
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/// <reference types="vitest" />
2+
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
3+
import { defineConfig } from 'vite';
4+
5+
export default defineConfig({
6+
cacheDir: '../../node_modules/.vite/plugin-coverage',
7+
plugins: [nxViteTsPaths()],
8+
test: {
9+
globals: true,
10+
cache: {
11+
dir: '../../node_modules/.vitest',
12+
},
13+
environment: 'node',
14+
include: ['src/**/*.integration.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
15+
globalSetup: ['global-setup.ts'],
16+
setupFiles: [
17+
'../../testing-utils/src/lib/setup/console.mock.ts',
18+
'../../testing-utils/src/lib/setup/reset.mocks.ts',
19+
],
20+
},
21+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/// <reference types="vitest" />
2+
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
3+
import { defineConfig } from 'vite';
4+
5+
export default defineConfig({
6+
cacheDir: '../../node_modules/.vite/plugin-coverage',
7+
plugins: [nxViteTsPaths()],
8+
test: {
9+
globals: true,
10+
cache: {
11+
dir: '../../node_modules/.vitest',
12+
},
13+
coverage: {
14+
reporter: ['lcov'],
15+
},
16+
environment: 'node',
17+
include: ['src/**/*.unit.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
18+
globalSetup: ['global-setup.ts'],
19+
setupFiles: [
20+
'../../testing-utils/src/lib/setup/fs.mock.ts',
21+
'../../testing-utils/src/lib/setup/console.mock.ts',
22+
'../../testing-utils/src/lib/setup/reset.mocks.ts',
23+
],
24+
},
25+
});

tsconfig.base.json

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"@code-pushup/lighthouse-plugin": [
2626
"packages/plugin-lighthouse/src/index.ts"
2727
],
28+
"@code-pushup/coverage-plugin": ["packages/plugin-coverage/src/index.ts"],
2829
"@code-pushup/models": ["packages/models/src/index.ts"],
2930
"@code-pushup/nx-plugin": ["packages/nx-plugin/src/index.ts"],
3031
"@code-pushup/testing-utils": ["testing-utils/src/index.ts"],

0 commit comments

Comments
 (0)