Skip to content

Commit f21fbe2

Browse files
committed
chore(plugin-doc-coverage): fix linter problems
1 parent 47486c8 commit f21fbe2

File tree

14 files changed

+72
-68
lines changed

14 files changed

+72
-68
lines changed

packages/plugin-doc-coverage/mocks/component-mock.spec.ts renamed to packages/plugin-doc-coverage/mocks/component-mock.unit.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, expect, it } from 'vitest';
2-
import { DUMMY_FUNCTION, DUMMY_FUNCTION_2 } from './component-mock';
2+
import { DUMMY_FUNCTION, DUMMY_FUNCTION_2 } from './component-mock.js';
33

44
export function shouldnotBeHere() {
55
return 'Hello World';

packages/plugin-doc-coverage/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@
3535
"type": "module",
3636
"dependencies": {
3737
"@code-pushup/models": "0.57.0",
38-
"@code-pushup/utils": "0.57.0",
39-
"ansis": "^3.3.0",
4038
"zod": "^3.22.4",
4139
"ts-morph": "^24.0.0"
4240
},

packages/plugin-doc-coverage/src/bin.ts

Lines changed: 0 additions & 3 deletions
This file was deleted.

packages/plugin-doc-coverage/src/lib/constants.ts

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Audit, Group } from '@code-pushup/models';
2-
import type { AuditSlug } from './models';
2+
import type { AuditSlug } from './models.js';
33

44
export const PLUGIN_SLUG = 'doc-coverage';
55

@@ -51,18 +51,15 @@ export const groups: Group[] = [
5151
slug: 'documentation-coverage',
5252
title: 'Documentation coverage',
5353
description: 'Documentation coverage',
54-
refs: Object.keys(AUDITS_MAP).map(slug => {
55-
switch (slug as AuditSlug) {
56-
case 'classes-coverage':
57-
case 'functions-coverage':
58-
case 'methods-coverage':
59-
return { slug, weight: 2 };
60-
case 'interfaces-coverage':
61-
case 'properties-coverage':
62-
case 'types-coverage':
63-
default:
64-
return { slug, weight: 1 };
65-
}
66-
}),
54+
refs: Object.keys(AUDITS_MAP).map(slug => ({
55+
slug,
56+
weight: [
57+
'classes-coverage',
58+
'functions-coverage',
59+
'methods-coverage',
60+
].includes(slug)
61+
? 2
62+
: 1,
63+
})),
6764
},
6865
];
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
import type { CoverageType } from './runner/models';
1+
import type { CoverageType } from './runner/models.js';
22

33
export type AuditSlug = `${CoverageType}-coverage`;

packages/plugin-doc-coverage/src/lib/runner/doc-processer.integration.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { processDocCoverage } from './doc-processer';
1+
import { processDocCoverage } from './doc-processer.js';
22

33
describe('processDocCoverage', () => {
44
it('should succesfully get the right number of ts files', () => {

packages/plugin-doc-coverage/src/lib/runner/doc-processer.ts

Lines changed: 39 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -29,37 +29,48 @@ export function processDocCoverage(
2929
* @param sourceFiles - The source files to process
3030
* @returns {UnprocessedCoverageResult} The unprocessed coverage report
3131
*/
32-
export function getUnprocessedCoverageReport(sourceFiles: SourceFile[]) {
32+
export function getUnprocessedCoverageReport(
33+
sourceFiles: SourceFile[],
34+
): CoverageResult {
3335
const unprocessedCoverageReport = sourceFiles.reduce(
3436
(coverageReportOfAllFiles, sourceFile) => {
35-
// Info of the file
3637
const filePath = sourceFile.getFilePath();
3738
const classes = sourceFile.getClasses();
3839

39-
// All nodes of the file
4040
const allNodesFromFile = [
4141
...sourceFile.getFunctions(),
4242
...classes,
4343
...getClassNodes(classes),
4444
...sourceFile.getTypeAliases(),
4545
...sourceFile.getEnums(),
4646
...sourceFile.getInterfaces(),
47-
// ...sourceFile.getVariableStatements().flatMap(statement => statement.getDeclarations())
4847
];
4948

5049
const coverageReportOfCurrentFile = allNodesFromFile.reduce(
5150
(acc, node) => {
5251
const nodeType = getCoverageTypeFromKind(node.getKind());
53-
acc[nodeType].nodesCount++;
54-
if (node.getJsDocs().length === 0) {
55-
acc[nodeType].issues.push({
56-
file: filePath,
57-
type: nodeType,
58-
name: node.getName() || '',
59-
line: node.getStartLineNumber(),
60-
});
61-
}
62-
return acc;
52+
const currentTypeReport = acc[nodeType];
53+
54+
const updatedIssues =
55+
node.getJsDocs().length === 0
56+
? [
57+
...currentTypeReport.issues,
58+
{
59+
file: filePath,
60+
type: nodeType,
61+
name: node.getName() || '',
62+
line: node.getStartLineNumber(),
63+
},
64+
]
65+
: currentTypeReport.issues;
66+
67+
return {
68+
...acc,
69+
[nodeType]: {
70+
nodesCount: currentTypeReport.nodesCount + 1,
71+
issues: updatedIssues,
72+
},
73+
};
6374
},
6475
createEmptyUnprocessedCoverageReport(),
6576
);
@@ -84,22 +95,20 @@ export function getUnprocessedCoverageReport(sourceFiles: SourceFile[]) {
8495
export function mergeCoverageResults(
8596
results: UnprocessedCoverageResult,
8697
current: Partial<UnprocessedCoverageResult>,
87-
) {
88-
return {
89-
...Object.fromEntries(
90-
Object.entries(results).map(([key, value]) => {
91-
const node = value as CoverageResult[CoverageType];
92-
const type = key as CoverageType;
93-
return [
94-
type,
95-
{
96-
nodesCount: node.nodesCount + (current[type]?.nodesCount ?? 0),
97-
issues: [...node.issues, ...(current[type]?.issues ?? [])],
98-
},
99-
];
100-
}),
101-
),
102-
} as UnprocessedCoverageResult;
98+
): UnprocessedCoverageResult {
99+
return Object.fromEntries(
100+
Object.entries(results).map(([key, value]) => {
101+
const node = value as CoverageResult[CoverageType];
102+
const type = key as CoverageType;
103+
return [
104+
type,
105+
{
106+
nodesCount: node.nodesCount + (current[type]?.nodesCount ?? 0),
107+
issues: [...node.issues, ...(current[type]?.issues ?? [])],
108+
},
109+
];
110+
}),
111+
) as UnprocessedCoverageResult;
103112
}
104113

105114
/**

packages/plugin-doc-coverage/src/lib/runner/doc-processer.unit.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import type { ClassDeclaration } from 'ts-morph';
2-
import { nodeMock, sourceFileMock } from './../../../mocks/source-files.mock';
2+
import { nodeMock, sourceFileMock } from '../../../mocks/source-files.mock';
33
import {
44
getClassNodes,
55
getUnprocessedCoverageReport,
66
mergeCoverageResults,
7-
} from './doc-processer';
8-
import type { UnprocessedCoverageResult } from './models';
7+
} from './doc-processer.js';
8+
import type { UnprocessedCoverageResult } from './models.js';
99

1010
describe('getUnprocessedCoverageReport', () => {
1111
it('should produce a full report', () => {
@@ -43,7 +43,7 @@ describe('getUnprocessedCoverageReport', () => {
4343
sourceFileMock('test.ts', { functions: { 1: true, 2: false, 3: false } }),
4444
]);
4545

46-
expect(results.functions.issues.length).toBe(2);
46+
expect(results.functions.issues).toHaveLength(2);
4747
});
4848

4949
it('should collect valid issues', () => {

packages/plugin-doc-coverage/src/lib/runner/runner.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { AuditOutputs, RunnerFunction } from '@code-pushup/models';
2-
import type { DocCoveragePluginConfig } from '../config';
3-
import { processDocCoverage } from './doc-processer';
4-
import type { CoverageResult, CoverageType } from './models';
2+
import type { DocCoveragePluginConfig } from '../config.js';
3+
import { processDocCoverage } from './doc-processer.js';
4+
import type { CoverageResult, CoverageType } from './models.js';
55

66
export function createRunnerFunction(
77
config: DocCoveragePluginConfig,

packages/plugin-doc-coverage/src/lib/runner/runner.unit.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import type { CoverageResult } from './models';
2-
import { trasformCoverageReportToAudits } from './runner';
1+
import type { CoverageResult } from './models.js';
2+
import { trasformCoverageReportToAudits } from './runner.js';
33

44
describe('trasformCoverageReportToAudits', () => {
55
const mockCoverageResult = {

0 commit comments

Comments
 (0)