Skip to content

Commit 89f0a76

Browse files
committed
refactor(examples-plugins): remove source links in issues
1 parent db12855 commit 89f0a76

11 files changed

Lines changed: 35 additions & 248 deletions

examples/plugins/src/file-size/src/file-size.plugin.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import {
1212
factorOf,
1313
formatBytes,
1414
pluralizeToken,
15-
toUnixPath,
1615
} from '@code-pushup/utils';
1716

1817
export type PluginOptions = {
@@ -165,32 +164,24 @@ export function assertFileSize(
165164
): Issue {
166165
// ensure size positive numbers
167166
const formattedSize = Math.max(size, 0);
168-
// informative issue
169-
const issue = {
170-
source: {
171-
file: toUnixPath(file, { toRelative: true }),
172-
},
173-
} satisfies Pick<Issue, 'source'>;
174167

175168
if (budget !== undefined) {
176169
// ensure budget is positive numbers
177170
const formattedBudget = Math.max(budget, 0);
178171
// return error Issue
179172
if (budget < formattedSize) {
180173
return {
181-
...issue,
182174
severity: 'error',
183175
message: errorMessage(file, formattedSize, formattedBudget),
184-
} satisfies Issue;
176+
};
185177
}
186178
}
187179

188180
// return informative Issue
189181
return {
190-
...issue,
191182
severity: 'info',
192183
message: infoMessage(file, formattedSize),
193-
} satisfies Issue;
184+
};
194185
}
195186

196187
export default create;

examples/plugins/src/file-size/src/file-size.plugin.unit.test.ts

Lines changed: 4 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ describe('assertFileSize', () => {
6060
expect(assertFileSize('test.js', size)).toEqual({
6161
message: infoMessage('test.js', size),
6262
severity: 'info',
63-
source: { file: 'test.js' },
6463
});
6564
},
6665
);
@@ -75,7 +74,6 @@ describe('assertFileSize', () => {
7574
expect(assertFileSize('test.js', size, budget)).toEqual({
7675
message: infoMessage('test.js', size),
7776
severity: 'info',
78-
source: { file: 'test.js' },
7977
});
8078
},
8179
);
@@ -86,7 +84,6 @@ describe('assertFileSize', () => {
8684
expect(assertFileSize('test.js', size, budget)).toEqual({
8785
message: errorMessage('test.js', size, budget),
8886
severity: 'error',
89-
source: { file: 'test.js' },
9087
});
9188
},
9289
);
@@ -110,15 +107,10 @@ describe('fileSizeIssues', () => {
110107

111108
it('should list all files', async () => {
112109
await expect(fileSizeIssues(baseOptions)).resolves.toEqual(
113-
expect.arrayContaining(
114-
['project.json', 'test.js', 'README.md'].map(f => ({
115-
message: expect.any(String),
116-
severity: expect.any(String),
117-
source: {
118-
file: expect.stringContaining(f),
119-
},
120-
})),
121-
),
110+
Array.from({ length: 3 }).map(() => ({
111+
message: expect.any(String),
112+
severity: expect.any(String),
113+
})),
122114
);
123115
});
124116

@@ -132,9 +124,6 @@ describe('fileSizeIssues', () => {
132124
{
133125
message: expect.any(String),
134126
severity: expect.any(String),
135-
source: {
136-
file: expect.stringContaining('test.js'),
137-
},
138127
},
139128
]);
140129
});
@@ -150,23 +139,14 @@ describe('fileSizeIssues', () => {
150139
{
151140
message: expect.any(String),
152141
severity: 'info',
153-
source: {
154-
file: expect.stringContaining('README.md'),
155-
},
156142
},
157143
{
158144
message: expect.any(String),
159145
severity: 'error',
160-
source: {
161-
file: expect.stringContaining('project.json'),
162-
},
163146
},
164147
{
165148
message: expect.any(String),
166149
severity: 'error',
167-
source: {
168-
file: expect.stringContaining('test.js'),
169-
},
170150
},
171151
]),
172152
);
@@ -183,9 +163,6 @@ describe('fileSizeIssues', () => {
183163
{
184164
message: expect.any(String),
185165
severity: 'error',
186-
source: {
187-
file: expect.stringContaining('test.js'),
188-
},
189166
},
190167
]);
191168
});
@@ -248,27 +225,6 @@ describe('runnerFunction', () => {
248225
]);
249226
});
250227

251-
it('should have files in issues that are matching the pattern as issues', async () => {
252-
await expect(
253-
runnerFunction({
254-
...baseOptions,
255-
pattern: /\.js$/,
256-
}),
257-
).resolves.toEqual([
258-
expect.objectContaining({
259-
details: {
260-
issues: [
261-
expect.objectContaining({
262-
source: {
263-
file: expect.stringContaining('test.js'),
264-
},
265-
}),
266-
],
267-
},
268-
}),
269-
]);
270-
});
271-
272228
it('should have number of files that are over budget as value and listed in issues', async () => {
273229
await expect(
274230
runnerFunction({
@@ -287,9 +243,6 @@ describe('runnerFunction', () => {
287243
message:
288244
'File test.js has 154 B, this is 26 B too big. (budget: 128 B)',
289245
severity: 'error',
290-
source: {
291-
file: expect.stringContaining('test.js'),
292-
},
293246
},
294247
]),
295248
},

examples/plugins/src/lighthouse/src/utils.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,6 @@ export function lhrDetailsToIssueDetails(
7878
.join(',')
7979
.slice(0, MAX_ISSUE_MESSAGE_LENGTH),
8080
severity: 'info',
81-
source: {
82-
file: 'required-in-portal-api',
83-
},
8481
},
8582
];
8683
}

examples/plugins/src/package-json/src/integration/dependencies.audit.ts

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Audit, AuditOutput, Issue } from '@code-pushup/models';
2-
import { factorOf, findLineNumberInText } from '@code-pushup/utils';
2+
import { factorOf } from '@code-pushup/utils';
33
import {
44
DependencyMap,
55
DependencyType,
@@ -74,7 +74,6 @@ export function dependenciesIssues(
7474
// Generate the appropriate issue based on whether the dependency exists
7575
return existingVersion === undefined
7676
? packageNotInstalledIssue(
77-
packageResult,
7877
[dependencyName, requiredVersion],
7978
dependencyType as DependencyType,
8079
)
@@ -91,50 +90,34 @@ export function dependenciesIssues(
9190
}
9291

9392
export function packageNotInstalledIssue(
94-
packageResult: Pick<SourceResult, 'file'>,
9593
requiredDependency: [string, string],
9694
dependencyType: DependencyType,
9795
): Issue {
98-
const { file } = packageResult;
9996
const [packageName, targetVersion] = requiredDependency;
10097
return {
10198
message: `Package ${packageName} is not installed under ${dependencyType}. Run \`npm install ${packageName}@${targetVersion}\` to install it.`,
10299
severity: 'error',
103-
source: {
104-
file,
105-
},
106-
} satisfies Issue;
100+
};
107101
}
108102

109103
export function assertDependency(
110104
packageResult: SourceResult,
111105
requiredDependency: [string, string],
112106
dependencyType: DependencyType,
113107
): Issue {
114-
const { file = '', json = {}, content = '' } = packageResult;
108+
const { json = {} } = packageResult;
115109
const [packageName, targetVersion] = requiredDependency;
116110

117-
const source: Issue['source'] = {
118-
file,
119-
};
120-
121111
const existingVersion = json[dependencyType]?.[packageName];
122112
if (targetVersion !== existingVersion) {
123113
return {
124114
severity: 'error',
125115
message: `Package ${packageName} in ${dependencyType} has wrong version. Wanted ${targetVersion} but got ${existingVersion}`,
126-
source: {
127-
...source,
128-
position: {
129-
startLine: findLineNumberInText(content, `"${packageName}":`) ?? 0,
130-
},
131-
},
132116
};
133117
}
134118

135119
return {
136120
message: `Package ${packageName}@${targetVersion} is installed as ${dependencyType}.`,
137121
severity: 'info',
138-
source,
139122
};
140123
}

examples/plugins/src/package-json/src/integration/dependencies.audit.unit.test.ts

Lines changed: 15 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
import { describe, expect, it } from 'vitest';
22
import { AuditOutput } from '@code-pushup/models';
3-
import {
4-
packageJson,
5-
packageJsonName,
6-
packageResult,
7-
} from '../../../../mocks/constants';
3+
import { packageJson, packageResult } from '../../../../mocks/constants';
84
import {
95
assertDependency,
106
dependenciesAudit,
@@ -13,24 +9,20 @@ import {
139

1410
describe('packageNotInstalledIssue', () => {
1511
it.each([
16-
[packageJsonName, 'lib1', '*'],
17-
[packageJsonName, 'lib1', '^.0.0.0'],
18-
[packageJsonName, 'lib1', '0.0.0'],
19-
])('should return correct issue', (file, packageName, targetVersion) => {
20-
expect(
21-
packageNotInstalledIssue(
22-
{ file },
23-
[packageName, targetVersion],
24-
'dependencies',
25-
),
26-
).toEqual({
27-
message: `Package ${packageName} is not installed under dependencies. Run \`npm install ${packageName}@${targetVersion}\` to install it.`,
28-
severity: 'error',
29-
source: {
30-
file,
31-
},
32-
});
33-
});
12+
['lib1', '*'],
13+
['lib1', '^.0.0.0'],
14+
['lib1', '0.0.0'],
15+
])(
16+
'should return correct issue for package %p with version %p',
17+
(packageName, targetVersion) => {
18+
expect(
19+
packageNotInstalledIssue([packageName, targetVersion], 'dependencies'),
20+
).toEqual({
21+
message: `Package ${packageName} is not installed under dependencies. Run \`npm install ${packageName}@${targetVersion}\` to install it.`,
22+
severity: 'error',
23+
});
24+
},
25+
);
3426
});
3527

3628
describe('assertPackageVersion', () => {
@@ -45,9 +37,6 @@ describe('assertPackageVersion', () => {
4537
).toEqual({
4638
message: `Package ${packageName}@0.0.0 is installed as dependencies.`,
4739
severity: 'info',
48-
source: {
49-
file: packageJsonName,
50-
},
5140
});
5241
});
5342

@@ -62,12 +51,6 @@ describe('assertPackageVersion', () => {
6251
).toEqual({
6352
message: `Package ${packageName} in dependencies has wrong version. Wanted 0.0.1 but got 0.0.0`,
6453
severity: 'error',
65-
source: {
66-
file: packageJsonName,
67-
position: {
68-
startLine: 1,
69-
},
70-
},
7154
});
7255
});
7356
});
@@ -106,9 +89,6 @@ describe('dependenciesAudit', () => {
10689
{
10790
message: `Package ${packageName}@${targetVersion} is installed as dependencies.`,
10891
severity: 'info',
109-
source: {
110-
file: 'package.json',
111-
},
11292
},
11393
],
11494
},
@@ -148,24 +128,19 @@ describe('dependenciesAudit', () => {
148128
issues: [
149129
{
150130
message: expect.stringMatching(/^(?=.*foo)(?=.*dependencies).*/),
151-
152131
severity: 'info',
153-
source: expect.any(Object),
154132
},
155133
{
156134
message: expect.stringMatching(
157135
/^(?=.*bar)(?=.*devDependencies).*/,
158136
),
159-
160137
severity: 'info',
161-
source: expect.any(Object),
162138
},
163139
{
164140
message: expect.stringMatching(
165141
/^(?=.*baz)(?=.*optionalDependencies).*/,
166142
),
167143
severity: 'info',
168-
source: expect.any(Object),
169144
},
170145
],
171146
},
@@ -194,12 +169,6 @@ describe('dependenciesAudit', () => {
194169
message:
195170
'Package lib1 in dependencies has wrong version. Wanted 0.0.1 but got 0.0.0',
196171
severity: 'error',
197-
source: {
198-
file: 'package.json',
199-
position: {
200-
startLine: 1,
201-
},
202-
},
203172
},
204173
],
205174
},
@@ -246,24 +215,19 @@ describe('dependenciesAudit', () => {
246215
issues: [
247216
{
248217
message: expect.stringMatching(/^(?=.*foo)(?=.*dependencies).*/),
249-
250218
severity: 'error',
251-
source: expect.any(Object),
252219
},
253220
{
254221
message: expect.stringMatching(
255222
/^(?=.*bar)(?=.*devDependencies).*/,
256223
),
257-
258224
severity: 'error',
259-
source: expect.any(Object),
260225
},
261226
{
262227
message: expect.stringMatching(
263228
/^(?=.*baz)(?=.*optionalDependencies).*/,
264229
),
265230
severity: 'error',
266-
source: expect.any(Object),
267231
},
268232
],
269233
},

0 commit comments

Comments
 (0)