Skip to content

Commit d64735e

Browse files
committed
chore(plugin-jsdocs): stuff in the pr and more rename
1 parent 004cd6d commit d64735e

File tree

15 files changed

+60
-59
lines changed

15 files changed

+60
-59
lines changed
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import docCoveragePlugin from '@code-pushup/doc-coverage-plugin';
1+
import jsDocsPlugin from '@code-pushup/jsdocs-plugin';
22

33
export default {
4-
plugins: [await docCoveragePlugin({ sourceGlob: ['**/*.ts'] })],
4+
plugins: [jsDocsPlugin(['**/*.ts'])],
55
};
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import docCoveragePlugin from '@code-pushup/doc-coverage-plugin';
1+
import jsDocsPlugin from '@code-pushup/jsdocs-plugin';
22

33
export default {
4-
plugins: [await docCoveragePlugin({ sourceGlob: ['**/*.ts'] })],
4+
plugins: [jsDocsPlugin(['**/*.ts'])],
55
};

e2e/plugin-doc-coverage-e2e/tests/collect.e2e.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
} from '@code-pushup/test-utils';
1313
import { executeProcess, readJsonFile } from '@code-pushup/utils';
1414

15-
describe('PLUGIN collect report with doc-coverage-plugin NPM package', () => {
15+
describe('PLUGIN collect report with jsdocs-plugin NPM package', () => {
1616
const fixturesDir = path.join(
1717
'e2e',
1818
'plugin-jsdocs-e2e',
@@ -47,7 +47,7 @@ describe('PLUGIN collect report with doc-coverage-plugin NPM package', () => {
4747
await teardownTestFolder(reactOutputDir);
4848
});
4949

50-
it('should run Doc Coverage plugin for Angular example dir and create report.json', async () => {
50+
it('should run JSDoc plugin for Angular example dir and create report.json', async () => {
5151
const { code, stdout } = await executeProcess({
5252
command: 'npx',
5353
args: ['@code-pushup/cli', 'collect', '--no-progress'],

packages/plugin-jsdocs/README.md

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# @code-pushup/jsdocs-plugin
22

3-
[![npm](https://img.shields.io/npm/v/%40code-pushup%2Fdoc-coverage-plugin.svg)](https://www.npmjs.com/package/@code-pushup/jsdocs-plugin)
4-
[![downloads](https://img.shields.io/npm/dm/%40code-pushup%2Fdoc-coverage-plugin)](https://npmtrends.com/@code-pushup/jsdocs-plugin)
5-
[![dependencies](https://img.shields.io/librariesio/release/npm/%40code-pushup%2Fdoc-coverage-plugin)](https://www.npmjs.com/package/@code-pushup/jsdocs-plugin?activeTab=dependencies)
3+
[![npm](https://img.shields.io/npm/v/%40code-pushup%2Fjsdocs-plugin.svg)](https://www.npmjs.com/package/@code-pushup/jsdocs-plugin)
4+
[![downloads](https://img.shields.io/npm/dm/%40code-pushup%2Fjsdocs-plugin)](https://npmtrends.com/@code-pushup/jsdocs-plugin)
5+
[![dependencies](https://img.shields.io/librariesio/release/npm/%40code-pushup%2Fjsdocs-plugin)](https://www.npmjs.com/package/@code-pushup/jsdocs-plugin?activeTab=dependencies)
66

77
📚 **Code PushUp plugin for tracking documentation coverage.** 📝
88

@@ -44,9 +44,7 @@ Measured documentation types are mapped to Code PushUp audits in the following w
4444
// ...
4545
plugins: [
4646
// ...
47-
jsDocsPlugin({
48-
patterns: ['**/*.ts'],
49-
}),
47+
jsDocsPlugin(['**/*.ts']),
5048
],
5149
};
5250
```
@@ -65,8 +63,8 @@ Measured documentation types are mapped to Code PushUp audits in the following w
6563
refs: [
6664
{
6765
type: 'group',
68-
plugin: 'doc-coverage',
69-
slug: 'doc-coverage',
66+
plugin: 'jsdocs',
67+
slug: 'jsdocs',
7068
weight: 1,
7169
},
7270
// ...
@@ -157,8 +155,8 @@ This plugin provides a group for convenient declaration in your config. When def
157155
refs: [
158156
{
159157
type: 'group',
160-
plugin: 'doc-coverage',
161-
slug: 'doc-coverage',
158+
plugin: 'jsdocs',
159+
slug: 'jsdocs',
162160
weight: 1,
163161
},
164162
// ...
@@ -179,14 +177,14 @@ Each documentation type still has its own audit. So when you want to include a s
179177
refs: [
180178
{
181179
type: 'audit',
182-
plugin: 'doc-coverage',
183-
slug: 'class-doc-coverage',
180+
plugin: 'jsdocs',
181+
slug: 'class-jsdocs',
184182
weight: 2,
185183
},
186184
{
187185
type: 'audit',
188-
plugin: 'doc-coverage',
189-
slug: 'function-doc-coverage',
186+
plugin: 'jsdocs',
187+
slug: 'function-jsdocs',
190188
weight: 1,
191189
},
192190
// ...
@@ -207,7 +205,7 @@ For instance, this is an example of the plugin output:
207205
"packageName": "@code-pushup/jsdocs-plugin",
208206
"version": "0.57.0",
209207
"title": "Documentation coverage",
210-
"slug": "doc-coverage",
208+
"slug": "jsdocs",
211209
"icon": "folder-src",
212210
"duration": 920,
213211
"date": "2024-12-17T16:45:28.581Z",
@@ -228,7 +226,7 @@ For instance, this is an example of the plugin output:
228226
"docsUrl": "https://www.npmjs.com/package/@code-pushup/jsdocs-plugin/",
229227
"groups": [
230228
{
231-
"slug": "doc-coverage",
229+
"slug": "jsdocs",
232230
"refs": [
233231
{
234232
"slug": "percentage-coverage",

packages/plugin-jsdocs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"license": "MIT",
66
"homepage": "https://github.com/code-pushup/cli/tree/main/packages/plugin-jsdocs#readme",
77
"bugs": {
8-
"url": "https://github.com/code-pushup/cli/issues?q=is%3Aissue%20state%3Aopen%20type%3ABug%20label%3A\"🧩%20doc-coverage-plugin\""
8+
"url": "https://github.com/code-pushup/cli/issues?q=is%3Aissue%20state%3Aopen%20type%3ABug%20label%3A\"🧩%20jsdocs-plugin\""
99
},
1010
"repository": {
1111
"type": "git",

packages/plugin-jsdocs/src/lib/config.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,10 @@ export const jsDocsPluginConfigSchema = z
3333
: target,
3434
);
3535

36+
/** Type of the config that is passed to the plugin */
3637
export type JsDocsPluginConfig = z.input<typeof jsDocsPluginConfigSchema>;
38+
39+
/** Same as JsDocsPluginConfig but processed so the config is already an object even if it was passed the array of patterns */
40+
export type JsDocsPluginTransformedConfig = z.infer<
41+
typeof jsDocsPluginConfigSchema
42+
>;

packages/plugin-jsdocs/src/lib/constants.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { Audit, Group } from '@code-pushup/models';
22
import type { AuditSlug } from './models.js';
33

4-
export const PLUGIN_SLUG = 'doc-coverage';
4+
export const PLUGIN_SLUG = 'jsdocs';
55

66
export const AUDITS_MAP: Record<AuditSlug, Audit> = {
77
'classes-coverage': {

packages/plugin-jsdocs/src/lib/jsdocs-plugin.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@ import {
77
filterGroupsByOnlyAudits,
88
} from './utils.js';
99

10-
export const PLUGIN_TITLE = 'Documentation coverage';
10+
export const PLUGIN_TITLE = 'JSDoc coverage';
1111

12-
export const PLUGIN_DESCRIPTION =
13-
'Official Code PushUp documentation coverage plugin.';
12+
export const PLUGIN_DESCRIPTION = 'Official Code PushUp JSDoc coverage plugin.';
1413

1514
export const PLUGIN_DOCS_URL =
1615
'https://www.npmjs.com/package/@code-pushup/jsdocs-plugin/';
@@ -25,9 +24,7 @@ export const PLUGIN_DOCS_URL =
2524
* // ... core config ...
2625
* plugins: [
2726
* // ... other plugins ...
28-
* jsDocsPlugin({
29-
* patterns: ['src&#47;**&#47;*.{ts,tsx}']
30-
* })
27+
* jsDocsPlugin(['**&#47;*.ts'])
3128
* ]
3229
* }
3330
*
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { SyntaxKind } from 'ts-morph';
2+
import type { CoverageType } from './models.js';
3+
4+
/** Maps the SyntaxKind from the library ts-morph to the coverage type. */
5+
export const SYNTAX_COVERAGE_MAP = new Map<SyntaxKind, CoverageType>([
6+
[SyntaxKind.ClassDeclaration, 'classes'],
7+
[SyntaxKind.MethodDeclaration, 'methods'],
8+
[SyntaxKind.FunctionDeclaration, 'functions'],
9+
[SyntaxKind.InterfaceDeclaration, 'interfaces'],
10+
[SyntaxKind.EnumDeclaration, 'enums'],
11+
[SyntaxKind.VariableDeclaration, 'variables'],
12+
[SyntaxKind.VariableStatement, 'variables'],
13+
[SyntaxKind.PropertyDeclaration, 'properties'],
14+
[SyntaxKind.TypeAliasDeclaration, 'types'],
15+
]);

packages/plugin-jsdocs/src/lib/runner/doc-processor.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
VariableStatement,
88
} from 'ts-morph';
99
import { objectFromEntries, objectToEntries } from '@code-pushup/utils';
10-
import type { JsDocsPluginConfig } from '../config.js';
10+
import type { JsDocsPluginTransformedConfig } from '../config.js';
1111
import type {
1212
DocumentationCoverageReport,
1313
DocumentationReport,
@@ -55,7 +55,7 @@ export function getVariablesInformation(
5555
* @returns Object containing coverage statistics and undocumented items
5656
*/
5757
export function processJsDocs(
58-
config: JsDocsPluginConfig,
58+
config: JsDocsPluginTransformedConfig,
5959
): DocumentationCoverageReport {
6060
const project = new Project();
6161
project.addSourceFilesAtPaths(config.patterns);

0 commit comments

Comments
 (0)