Skip to content

Commit 0de6d3f

Browse files
committed
feat(plugin-doc-coverage): change to use ts-morph instead of typedoc. MVP
1 parent b07eb8a commit 0de6d3f

15 files changed

+362
-253
lines changed

code-pushup.config.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'dotenv/config';
22
import { z } from 'zod';
33
import {
44
coverageCoreConfigNx,
5+
docCoverageCoreConfig,
56
eslintCoreConfigNx,
67
jsPackagesCoreConfig,
78
lighthouseCoreConfig,
@@ -39,4 +40,5 @@ export default mergeConfigs(
3940
'https://github.com/code-pushup/cli?tab=readme-ov-file#code-pushup-cli/',
4041
),
4142
await eslintCoreConfigNx(),
43+
await docCoverageCoreConfig(),
4244
);

code-pushup.preset.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import type {
55
import coveragePlugin, {
66
getNxCoveragePaths,
77
} from './packages/plugin-coverage/src/index.js';
8+
import docCoveragePlugin from './packages/plugin-doc-coverage/src/index.js';
9+
import { docCoverageAudits } from './packages/plugin-doc-coverage/src/lib/doc-coverage-plugin.js';
810
import eslintPlugin, {
911
eslintConfigFromAllNxProjects,
1012
eslintConfigFromNxProject,
@@ -82,6 +84,20 @@ export const eslintCategories: CategoryConfig[] = [
8284
},
8385
];
8486

87+
export const docCoverageCategories: CategoryConfig[] = [
88+
{
89+
slug: 'doc-coverage',
90+
title: 'Documentation coverage',
91+
description: 'Measures how much of your code is **documented**.',
92+
refs: docCoverageAudits.map(audit => ({
93+
weight: 1,
94+
type: 'audit',
95+
plugin: 'doc-coverage',
96+
slug: audit.slug,
97+
})),
98+
},
99+
];
100+
85101
export const coverageCategories: CategoryConfig[] = [
86102
{
87103
slug: 'code-coverage',
@@ -114,6 +130,18 @@ export const lighthouseCoreConfig = async (
114130
};
115131
};
116132

133+
export const docCoverageCoreConfig = async (): Promise<CoreConfig> => {
134+
return {
135+
plugins: [
136+
await docCoveragePlugin({
137+
language: 'typescript',
138+
sourceGlob: 'packages/**/*.ts',
139+
}),
140+
],
141+
categories: docCoverageCategories,
142+
};
143+
};
144+
117145
export const eslintCoreConfigNx = async (
118146
projectName?: string,
119147
): Promise<CoreConfig> => {

0 commit comments

Comments
 (0)