Skip to content

Commit c81afa4

Browse files
committed
refactor: wip
1 parent d5b2221 commit c81afa4

8 files changed

Lines changed: 22 additions & 37 deletions

File tree

e2e/plugin-knip-e2e/mocks/fixtures/default-setup/package.json renamed to e2e/plugin-knip-e2e/mocks/fixtures/default-setup/_package.json

File renamed without changes.

e2e/plugin-knip-e2e/mocks/fixtures/reporter-setup/package.json renamed to e2e/plugin-knip-e2e/mocks/fixtures/reporter-setup/_package.json

File renamed without changes.

e2e/plugin-knip-e2e/tests/__snapshots__/collect.e2e.test.ts.snap

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ exports[`PLUGIN collect report with knip-plugin NPM package > should run plugin
2121
{
2222
"description": "Unable to find a reference to this devDependency",
2323
"docsUrl": "https://knip.dev/guides/handling-issues#devDependencies",
24-
"slug": "devdependencies",
24+
"slug": "dev-dependencies",
2525
"title": "Unused Development Dependencies",
2626
},
2727
{
2828
"description": "Optional peer dependency is referenced",
2929
"docsUrl": "https://knip.dev/guides/handling-issues#referenced-optional-peerDependencies",
30-
"slug": "optionalpeerdependencies",
30+
"slug": "optional-peer-dependencies",
3131
"title": "Referenced optional peerDependencies",
3232
},
3333
{
@@ -151,15 +151,15 @@ exports[`PLUGIN collect report with knip-plugin NPM package > should run plugin
151151
"weight": 1,
152152
},
153153
{
154-
"slug": "devdependencies",
154+
"slug": "dev-dependencies",
155155
"weight": 1,
156156
},
157157
{
158158
"slug": "binaries",
159159
"weight": 1,
160160
},
161161
{
162-
"slug": "optionalpeerdependencies",
162+
"slug": "optional-peer-dependencies",
163163
"weight": 2,
164164
},
165165
{
@@ -214,15 +214,15 @@ exports[`PLUGIN collect report with knip-plugin NPM package > should run plugin
214214
"weight": 1,
215215
},
216216
{
217-
"slug": "devdependencies",
217+
"slug": "dev-dependencies",
218218
"weight": 1,
219219
},
220220
{
221221
"slug": "binaries",
222222
"weight": 1,
223223
},
224224
{
225-
"slug": "optionalpeerdependencies",
225+
"slug": "optional-peer-dependencies",
226226
"weight": 2,
227227
},
228228
{

e2e/plugin-knip-e2e/tests/reporter.e2e.test.ts renamed to e2e/plugin-knip-e2e/tests/knip-reporter.e2e.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
} from '@code-pushup/test-utils';
1212
import { executeProcess, readJsonFile } from '@code-pushup/utils';
1313

14-
describe('knip reporter', () => {
14+
describe('knip reporter for code pushup audits', () => {
1515
const envDir = path.join(E2E_ENVIRONMENTS_DIR, nxTargetProject());
1616
const testFileDir = path.join(envDir, TEST_OUTPUT_DIR, 'reporter');
1717
const reporterSetupDir = path.join(testFileDir, 'reporter-setup');

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ const audits = [
1818
docsUrl: 'https://knip.dev/guides/handling-issues#dependencies',
1919
},
2020
{
21-
slug: 'devdependencies',
21+
slug: 'dev-dependencies',
2222
title: 'Unused Development Dependencies',
2323
description: 'Unable to find a reference to this devDependency',
2424
docsUrl: 'https://knip.dev/guides/handling-issues#devDependencies',
2525
},
2626
{
27-
slug: 'optionalpeerdependencies',
27+
slug: 'optional-peer-dependencies',
2828
title: 'Referenced optional peerDependencies',
2929
description: 'Optional peer dependency is referenced',
3030
docsUrl:
@@ -109,9 +109,9 @@ export const KNIP_GROUP_DEPENDENCIES = {
109109
description: 'Groups all dependency related audits',
110110
refs: [
111111
{ slug: 'dependencies', weight: 1 },
112-
{ slug: 'devdependencies', weight: 1 },
112+
{ slug: 'dev-dependencies', weight: 1 },
113113
{ slug: 'binaries', weight: 1 },
114-
{ slug: 'optionalpeerdependencies', weight: 2 },
114+
{ slug: 'optional-peer-dependencies', weight: 2 },
115115
{ slug: 'unlisted', weight: 2 },
116116
],
117117
};
@@ -147,9 +147,9 @@ export const KNIP_GROUP_ALL = {
147147
{ slug: 'classmembers', weight: 10 },
148148
{ slug: 'duplicates', weight: 2 },
149149
{ slug: 'dependencies', weight: 1 },
150-
{ slug: 'devdependencies', weight: 1 },
150+
{ slug: 'dev-dependencies', weight: 1 },
151151
{ slug: 'binaries', weight: 1 },
152-
{ slug: 'optionalpeerdependencies', weight: 2 },
152+
{ slug: 'optional-peer-dependencies', weight: 2 },
153153
{ slug: 'unlisted', weight: 2 },
154154
],
155155
};
@@ -186,7 +186,7 @@ export const ISSUE_RECORDS_TYPES = [
186186
'nsTypes',
187187
'enumMembers',
188188
'classMembers',
189-
'duplicates',
189+
'duplicates'
190190
] as const satisfies KnipIssueType[];
191191

192192
export const ISSUE_TYPES = [

packages/plugin-knip/src/lib/reporter/constants.ts

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,5 @@
11
import { ISSUE_TYPES } from '../constants.js';
22

3-
export const ISSUE_TYPE_TO_SLUG: Record<(typeof ISSUE_TYPES)[number], string> =
4-
{
5-
files: 'files',
6-
dependencies: 'dependencies',
7-
devDependencies: 'devdependencies',
8-
optionalPeerDependencies: 'optionalpeerdependencies',
9-
unlisted: 'unlisted',
10-
binaries: 'binaries',
11-
unresolved: 'unresolved',
12-
exports: 'exports',
13-
nsExports: 'nsexports',
14-
types: 'types',
15-
nsTypes: 'nstypes',
16-
enumMembers: 'enummembers',
17-
classMembers: 'classmembers',
18-
duplicates: 'duplicates',
19-
} as const;
20-
213
export const ISSUE_TYPE_TITLE: Record<
224
(typeof ISSUE_TYPES)[number] | '_files',
235
string

packages/plugin-knip/src/lib/reporter/utils.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import type {
55
IssueSet as KnipIssueSet,
66
Issues as KnipIssues,
77
IssueSeverity as KnipSeverity,
8-
ReporterOptions,
8+
ReporterOptions, SymbolIssueType,
99
} from 'knip/dist/types/issues';
1010
import type {
1111
AuditOutput,
@@ -137,11 +137,15 @@ export function knipToCpReport({
137137
const issues = isEnabled ? await toIssues(issueType, rawIssues) : [];
138138

139139
return {
140-
slug: slugify(toSentenceCase(issueType)),
140+
slug: knipIssueTypeToAuditSlug(issueType),
141141
score: issues.length === 0 && isEnabled ? 1 : 0,
142142
value: issues.length,
143143
...(issues.length > 0 ? { details: { issues } } : {}),
144144
};
145145
}),
146146
);
147147
}
148+
149+
export function knipIssueTypeToAuditSlug(issueType: SymbolIssueType | 'files') {
150+
return slugify(toSentenceCase(issueType))
151+
}

packages/plugin-knip/src/lib/reporter/utils.unit.test.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -382,8 +382,7 @@ describe('knipToCpReport', () => {
382382
report: { files: true },
383383
} as ReporterOptions);
384384

385-
const filesAudit = result.find((audit) => audit.slug === 'files');
386-
expect(filesAudit).toEqual(expect.objectContaining({ score: 1, value: 0 }));
385+
expect(result).toContainEqual(expect.objectContaining({ score: 1, value: 0 }));
387386
});
388387

389388
it('should score audits with issues with 0', async () => {
@@ -393,7 +392,7 @@ describe('knipToCpReport', () => {
393392
} as ReporterOptions);
394393

395394
const filesAudit = result.find((audit) => audit.slug === 'files');
396-
expect(filesAudit).toEqual(expect.objectContaining({ score: 0, value: 1 }));
395+
expect(filesAudit).toStrictEqual(expect.objectContaining({ score: 0, value: 1 }));
397396
});
398397

399398
it('should return valid outputs schema', async () => {

0 commit comments

Comments
 (0)