@jonathan0823/pi-sonarqube 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +48 -13
- package/dist/api.js.map +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +66 -19
- package/dist/commands.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +13 -2
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +133 -29
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +26 -4
- package/dist/types.js.map +1 -1
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +41 -11
- package/dist/ui.js.map +1 -1
- package/package.json +1 -1
- package/src/api.ts +212 -58
- package/src/commands.ts +155 -53
- package/src/config.ts +84 -23
- package/src/index.ts +423 -86
- package/src/types.ts +27 -4
- package/src/ui.ts +121 -26
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/api.ts
CHANGED
|
@@ -12,7 +12,13 @@ import type {
|
|
|
12
12
|
FileDuplication,
|
|
13
13
|
DuplicationBlockGroup,
|
|
14
14
|
} from "./types.js";
|
|
15
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
SONAR_SEVERITIES,
|
|
17
|
+
SONAR_STATUSES,
|
|
18
|
+
SONAR_TYPES,
|
|
19
|
+
SONAR_SOFTWARE_QUALITIES,
|
|
20
|
+
SONAR_IMPACT_SEVERITIES,
|
|
21
|
+
} from "./types.js";
|
|
16
22
|
import { parseProperties } from "./config.js";
|
|
17
23
|
|
|
18
24
|
// ── Clean code mode detection ────────────────────────────────────────────────
|
|
@@ -51,7 +57,11 @@ export function authHeader(token?: string): string | undefined {
|
|
|
51
57
|
return `Basic ${Buffer.from(credentials).toString("base64")}`;
|
|
52
58
|
}
|
|
53
59
|
|
|
54
|
-
export async function fetchJson<T>(
|
|
60
|
+
export async function fetchJson<T>(
|
|
61
|
+
url: string,
|
|
62
|
+
token?: string,
|
|
63
|
+
signal?: AbortSignal,
|
|
64
|
+
): Promise<T> {
|
|
55
65
|
const headers: Record<string, string> = { Accept: "application/json" };
|
|
56
66
|
const auth = authHeader(token);
|
|
57
67
|
if (auth) headers.Authorization = auth;
|
|
@@ -60,14 +70,20 @@ export async function fetchJson<T>(url: string, token?: string, signal?: AbortSi
|
|
|
60
70
|
if (!response.ok) {
|
|
61
71
|
const body = await response.text().catch(() => "");
|
|
62
72
|
const suffix = body.trim() ? `: ${body.trim().slice(0, 240)}` : "";
|
|
63
|
-
throw new Error(
|
|
73
|
+
throw new Error(
|
|
74
|
+
`SonarQube API request failed (${response.status} ${response.statusText}) for ${url}${suffix}`,
|
|
75
|
+
);
|
|
64
76
|
}
|
|
65
77
|
|
|
66
78
|
return (await response.json()) as T;
|
|
67
79
|
}
|
|
68
80
|
|
|
69
|
-
export function toIssuePath(
|
|
70
|
-
|
|
81
|
+
export function toIssuePath(
|
|
82
|
+
component: string | undefined | null,
|
|
83
|
+
projectKey: string,
|
|
84
|
+
): string {
|
|
85
|
+
if (typeof component !== "string" || component.length === 0)
|
|
86
|
+
return projectKey;
|
|
71
87
|
const prefix = `${projectKey}:`;
|
|
72
88
|
if (component.startsWith(prefix)) return component.slice(prefix.length);
|
|
73
89
|
const colon = component.indexOf(":");
|
|
@@ -76,7 +92,10 @@ export function toIssuePath(component: string | undefined | null, projectKey: st
|
|
|
76
92
|
|
|
77
93
|
// ── Issue filter helpers ────────────────────────────────────────────────────
|
|
78
94
|
|
|
79
|
-
export function normalizeIssueList(
|
|
95
|
+
export function normalizeIssueList(
|
|
96
|
+
values?: string[],
|
|
97
|
+
uppercase = false,
|
|
98
|
+
): string[] | undefined {
|
|
80
99
|
const cleaned = values
|
|
81
100
|
?.map((v) => v.trim())
|
|
82
101
|
.filter(Boolean)
|
|
@@ -85,7 +104,9 @@ export function normalizeIssueList(values?: string[], uppercase = false): string
|
|
|
85
104
|
return [...new Set(cleaned)];
|
|
86
105
|
}
|
|
87
106
|
|
|
88
|
-
export function normalizeIssueFilters(
|
|
107
|
+
export function normalizeIssueFilters(
|
|
108
|
+
filters?: SonarIssueFetchOptions,
|
|
109
|
+
): SonarIssueFetchOptions | undefined {
|
|
89
110
|
const normalized = {
|
|
90
111
|
severities: normalizeIssueList(filters?.severities, true),
|
|
91
112
|
statuses: normalizeIssueList(filters?.statuses, true),
|
|
@@ -94,12 +115,19 @@ export function normalizeIssueFilters(filters?: SonarIssueFetchOptions): SonarIs
|
|
|
94
115
|
softwareQualities: normalizeIssueList(filters?.softwareQualities, true),
|
|
95
116
|
impactSeverities: normalizeIssueList(filters?.impactSeverities, true),
|
|
96
117
|
};
|
|
97
|
-
return normalized.severities ||
|
|
118
|
+
return normalized.severities ||
|
|
119
|
+
normalized.statuses ||
|
|
120
|
+
normalized.types ||
|
|
121
|
+
normalized.rules ||
|
|
122
|
+
normalized.softwareQualities ||
|
|
123
|
+
normalized.impactSeverities
|
|
98
124
|
? normalized
|
|
99
125
|
: undefined;
|
|
100
126
|
}
|
|
101
127
|
|
|
102
|
-
export function assertFiltersNotAmbiguous(
|
|
128
|
+
export function assertFiltersNotAmbiguous(
|
|
129
|
+
filters?: SonarIssueFetchOptions,
|
|
130
|
+
): void {
|
|
103
131
|
if (!filters) return;
|
|
104
132
|
if (
|
|
105
133
|
(filters.severities?.length || filters.types?.length) &&
|
|
@@ -107,21 +135,26 @@ export function assertFiltersNotAmbiguous(filters?: SonarIssueFetchOptions): voi
|
|
|
107
135
|
) {
|
|
108
136
|
throw new Error(
|
|
109
137
|
"Ambiguous filter combination: mixing legacy filters (severity/type) with MQR filters (quality/impactSeverity) is not allowed. " +
|
|
110
|
-
|
|
138
|
+
"Use one filter family per command.",
|
|
111
139
|
);
|
|
112
140
|
}
|
|
113
141
|
}
|
|
114
142
|
|
|
115
143
|
const EXPLICIT_FILTER_RE = /^([^:=]+)[:=](.+)$/;
|
|
116
144
|
|
|
117
|
-
export function parseIssueFilterToken(
|
|
145
|
+
export function parseIssueFilterToken(
|
|
146
|
+
token: string,
|
|
147
|
+
): Partial<SonarIssueFetchOptions> | undefined {
|
|
118
148
|
const trimmed = token.trim();
|
|
119
149
|
if (!trimmed) return undefined;
|
|
120
150
|
|
|
121
151
|
const explicit = EXPLICIT_FILTER_RE.exec(trimmed);
|
|
122
152
|
if (explicit) {
|
|
123
153
|
const key = explicit[1].trim().toLowerCase();
|
|
124
|
-
const values = explicit[2]
|
|
154
|
+
const values = explicit[2]
|
|
155
|
+
.split(",")
|
|
156
|
+
.map((p) => p.trim())
|
|
157
|
+
.filter(Boolean);
|
|
125
158
|
if (values.length === 0) return undefined;
|
|
126
159
|
|
|
127
160
|
switch (key) {
|
|
@@ -151,18 +184,35 @@ export function parseIssueFilterToken(token: string): Partial<SonarIssueFetchOpt
|
|
|
151
184
|
}
|
|
152
185
|
|
|
153
186
|
const upper = trimmed.toUpperCase();
|
|
154
|
-
if (SONAR_SEVERITIES.includes(upper as (typeof SONAR_SEVERITIES)[number]))
|
|
155
|
-
|
|
156
|
-
if (
|
|
157
|
-
|
|
158
|
-
if (
|
|
187
|
+
if (SONAR_SEVERITIES.includes(upper as (typeof SONAR_SEVERITIES)[number]))
|
|
188
|
+
return { severities: [upper] };
|
|
189
|
+
if (SONAR_STATUSES.includes(upper as (typeof SONAR_STATUSES)[number]))
|
|
190
|
+
return { statuses: [upper] };
|
|
191
|
+
if (SONAR_TYPES.includes(upper as (typeof SONAR_TYPES)[number]))
|
|
192
|
+
return { types: [upper] };
|
|
193
|
+
if (
|
|
194
|
+
SONAR_SOFTWARE_QUALITIES.includes(
|
|
195
|
+
upper as (typeof SONAR_SOFTWARE_QUALITIES)[number],
|
|
196
|
+
)
|
|
197
|
+
)
|
|
198
|
+
return { softwareQualities: [upper] };
|
|
199
|
+
if (
|
|
200
|
+
SONAR_IMPACT_SEVERITIES.includes(
|
|
201
|
+
upper as (typeof SONAR_IMPACT_SEVERITIES)[number],
|
|
202
|
+
)
|
|
203
|
+
)
|
|
204
|
+
return { impactSeverities: [upper] };
|
|
159
205
|
return undefined;
|
|
160
206
|
}
|
|
161
207
|
|
|
162
208
|
export function parseSonarIssueArgs(
|
|
163
209
|
tokens: string[],
|
|
164
210
|
allowIssueIndex = false,
|
|
165
|
-
): {
|
|
211
|
+
): {
|
|
212
|
+
targetInput?: string;
|
|
213
|
+
issueIndex?: number;
|
|
214
|
+
filters?: SonarIssueFetchOptions;
|
|
215
|
+
} {
|
|
166
216
|
const filters: Array<Partial<SonarIssueFetchOptions> | undefined> = [];
|
|
167
217
|
let targetInput: string | undefined;
|
|
168
218
|
let issueIndex: number | undefined;
|
|
@@ -194,12 +244,24 @@ function mergeFilters(
|
|
|
194
244
|
const merged: SonarIssueFetchOptions = {};
|
|
195
245
|
for (const filter of filters) {
|
|
196
246
|
if (!filter) continue;
|
|
197
|
-
if (filter.severities?.length)
|
|
198
|
-
|
|
199
|
-
if (filter.
|
|
200
|
-
|
|
201
|
-
if (filter.
|
|
202
|
-
|
|
247
|
+
if (filter.severities?.length)
|
|
248
|
+
merged.severities = [...(merged.severities ?? []), ...filter.severities];
|
|
249
|
+
if (filter.statuses?.length)
|
|
250
|
+
merged.statuses = [...(merged.statuses ?? []), ...filter.statuses];
|
|
251
|
+
if (filter.types?.length)
|
|
252
|
+
merged.types = [...(merged.types ?? []), ...filter.types];
|
|
253
|
+
if (filter.rules?.length)
|
|
254
|
+
merged.rules = [...(merged.rules ?? []), ...filter.rules];
|
|
255
|
+
if (filter.softwareQualities?.length)
|
|
256
|
+
merged.softwareQualities = [
|
|
257
|
+
...(merged.softwareQualities ?? []),
|
|
258
|
+
...filter.softwareQualities,
|
|
259
|
+
];
|
|
260
|
+
if (filter.impactSeverities?.length)
|
|
261
|
+
merged.impactSeverities = [
|
|
262
|
+
...(merged.impactSeverities ?? []),
|
|
263
|
+
...filter.impactSeverities,
|
|
264
|
+
];
|
|
203
265
|
}
|
|
204
266
|
return normalizeIssueFilters(merged);
|
|
205
267
|
}
|
|
@@ -207,12 +269,16 @@ function mergeFilters(
|
|
|
207
269
|
export function issueFilterLabel(filters?: SonarIssueFetchOptions): string {
|
|
208
270
|
if (!filters) return "";
|
|
209
271
|
const parts: string[] = [];
|
|
210
|
-
if (filters.severities?.length)
|
|
211
|
-
|
|
272
|
+
if (filters.severities?.length)
|
|
273
|
+
parts.push(`severities=${filters.severities.join(",")}`);
|
|
274
|
+
if (filters.statuses?.length)
|
|
275
|
+
parts.push(`statuses=${filters.statuses.join(",")}`);
|
|
212
276
|
if (filters.types?.length) parts.push(`types=${filters.types.join(",")}`);
|
|
213
277
|
if (filters.rules?.length) parts.push(`rules=${filters.rules.join(",")}`);
|
|
214
|
-
if (filters.softwareQualities?.length)
|
|
215
|
-
|
|
278
|
+
if (filters.softwareQualities?.length)
|
|
279
|
+
parts.push(`qualities=${filters.softwareQualities.join(",")}`);
|
|
280
|
+
if (filters.impactSeverities?.length)
|
|
281
|
+
parts.push(`impactSeverities=${filters.impactSeverities.join(",")}`);
|
|
216
282
|
return parts.join(" • ");
|
|
217
283
|
}
|
|
218
284
|
|
|
@@ -237,7 +303,8 @@ function severitySortRank(severity: string): number {
|
|
|
237
303
|
}
|
|
238
304
|
|
|
239
305
|
function compareIssuesForContext(left: SonarIssue, right: SonarIssue): number {
|
|
240
|
-
const severityDiff =
|
|
306
|
+
const severityDiff =
|
|
307
|
+
severitySortRank(left.severity) - severitySortRank(right.severity);
|
|
241
308
|
if (severityDiff !== 0) return severityDiff;
|
|
242
309
|
const fileDiff = left.filePath.localeCompare(right.filePath);
|
|
243
310
|
if (fileDiff !== 0) return fileDiff;
|
|
@@ -256,7 +323,11 @@ export function sonarScannerInstallHint(): string {
|
|
|
256
323
|
].join(" ");
|
|
257
324
|
}
|
|
258
325
|
|
|
259
|
-
export function extractScannerHint(
|
|
326
|
+
export function extractScannerHint(
|
|
327
|
+
output: string,
|
|
328
|
+
config: SonarProjectConfig,
|
|
329
|
+
exitCode?: number,
|
|
330
|
+
): string {
|
|
260
331
|
const lines = output.toLowerCase();
|
|
261
332
|
|
|
262
333
|
const isNotFoundOnPath =
|
|
@@ -268,7 +339,10 @@ export function extractScannerHint(output: string, config: SonarProjectConfig, e
|
|
|
268
339
|
|
|
269
340
|
const isUnauthorized = /status code 401|status 401|unauthorized/i.test(lines);
|
|
270
341
|
if (isUnauthorized) {
|
|
271
|
-
const defaultHint =
|
|
342
|
+
const defaultHint =
|
|
343
|
+
config.serverUrl === "http://localhost:9000"
|
|
344
|
+
? " (default: http://localhost:9000)"
|
|
345
|
+
: "";
|
|
272
346
|
return [
|
|
273
347
|
`Authentication failed for ${config.serverUrl}${defaultHint}.`,
|
|
274
348
|
"Run `/sonarqube init` to set up your server URL and token, then retry.",
|
|
@@ -285,7 +359,10 @@ export function extractScannerHint(output: string, config: SonarProjectConfig, e
|
|
|
285
359
|
].join(" ");
|
|
286
360
|
}
|
|
287
361
|
|
|
288
|
-
const isConnectionError =
|
|
362
|
+
const isConnectionError =
|
|
363
|
+
/connect econnrefused|connect refused|connect timeout|enotfound|econnreset/i.test(
|
|
364
|
+
lines,
|
|
365
|
+
);
|
|
289
366
|
if (isConnectionError) {
|
|
290
367
|
return [
|
|
291
368
|
`Cannot reach SonarQube server at ${config.serverUrl}.`,
|
|
@@ -294,7 +371,11 @@ export function extractScannerHint(output: string, config: SonarProjectConfig, e
|
|
|
294
371
|
].join(" ");
|
|
295
372
|
}
|
|
296
373
|
|
|
297
|
-
if (
|
|
374
|
+
if (
|
|
375
|
+
/not found|unknown url/i.test(lines) &&
|
|
376
|
+
(config.serverUrl === "http://localhost:9000" ||
|
|
377
|
+
/localhost/i.test(config.serverUrl))
|
|
378
|
+
) {
|
|
298
379
|
return [
|
|
299
380
|
`SonarQube API at ${config.serverUrl} returned "not found".`,
|
|
300
381
|
"The default server URL is http://localhost:9000. Run `/sonarqube init` to configure.",
|
|
@@ -306,7 +387,11 @@ export function extractScannerHint(output: string, config: SonarProjectConfig, e
|
|
|
306
387
|
|
|
307
388
|
// ── Scanner interaction ─────────────────────────────────────────────────────
|
|
308
389
|
|
|
309
|
-
export async function runScanner(
|
|
390
|
+
export async function runScanner(
|
|
391
|
+
pi: ExtensionAPI,
|
|
392
|
+
config: SonarProjectConfig,
|
|
393
|
+
signal?: AbortSignal,
|
|
394
|
+
): Promise<string> {
|
|
310
395
|
const scannerCheck =
|
|
311
396
|
process.platform === "win32"
|
|
312
397
|
? await pi.exec("cmd", ["/d", "/s", "/c", "where", "sonar-scanner"], {
|
|
@@ -356,7 +441,9 @@ export async function runScanner(pi: ExtensionAPI, config: SonarProjectConfig, s
|
|
|
356
441
|
return result.stdout || result.stderr;
|
|
357
442
|
}
|
|
358
443
|
|
|
359
|
-
export async function readReportTask(
|
|
444
|
+
export async function readReportTask(
|
|
445
|
+
baseDir: string,
|
|
446
|
+
): Promise<Record<string, string>> {
|
|
360
447
|
const path = resolve(baseDir, ".scannerwork", "report-task.txt");
|
|
361
448
|
const text = await readFile(path, "utf8");
|
|
362
449
|
return parseProperties(text);
|
|
@@ -375,7 +462,9 @@ export async function waitForAnalysis(
|
|
|
375
462
|
const status = result.task.status.toUpperCase();
|
|
376
463
|
if (status === "SUCCESS") return result.task.analysisId;
|
|
377
464
|
if (status === "FAILED") {
|
|
378
|
-
throw new Error(
|
|
465
|
+
throw new Error(
|
|
466
|
+
`SonarQube analysis failed: ${result.task.errorMessage || "unknown error"}`,
|
|
467
|
+
);
|
|
379
468
|
}
|
|
380
469
|
if (status === "CANCELED") {
|
|
381
470
|
throw new Error("SonarQube analysis was canceled by the server");
|
|
@@ -398,12 +487,24 @@ function buildIssueSearchUrl(
|
|
|
398
487
|
url.searchParams.set("resolved", "false");
|
|
399
488
|
url.searchParams.set("ps", "100");
|
|
400
489
|
url.searchParams.set("p", String(page));
|
|
401
|
-
if (filters?.severities?.length)
|
|
402
|
-
|
|
403
|
-
if (filters?.
|
|
404
|
-
|
|
405
|
-
if (filters?.
|
|
406
|
-
|
|
490
|
+
if (filters?.severities?.length)
|
|
491
|
+
url.searchParams.set("severities", filters.severities.join(","));
|
|
492
|
+
if (filters?.statuses?.length)
|
|
493
|
+
url.searchParams.set("statuses", filters.statuses.join(","));
|
|
494
|
+
if (filters?.types?.length)
|
|
495
|
+
url.searchParams.set("types", filters.types.join(","));
|
|
496
|
+
if (filters?.rules?.length)
|
|
497
|
+
url.searchParams.set("rules", filters.rules.join(","));
|
|
498
|
+
if (filters?.softwareQualities?.length)
|
|
499
|
+
url.searchParams.set(
|
|
500
|
+
"impactSoftwareQualities",
|
|
501
|
+
filters.softwareQualities.join(","),
|
|
502
|
+
);
|
|
503
|
+
if (filters?.impactSeverities?.length)
|
|
504
|
+
url.searchParams.set(
|
|
505
|
+
"impactSeverities",
|
|
506
|
+
filters.impactSeverities.join(","),
|
|
507
|
+
);
|
|
407
508
|
return url.toString();
|
|
408
509
|
}
|
|
409
510
|
|
|
@@ -439,7 +540,18 @@ export async function fetchIssuePage(
|
|
|
439
540
|
page: number,
|
|
440
541
|
signal?: AbortSignal,
|
|
441
542
|
filters?: SonarIssueFetchOptions,
|
|
442
|
-
): Promise<{
|
|
543
|
+
): Promise<{
|
|
544
|
+
total: number;
|
|
545
|
+
issueRows: Array<{
|
|
546
|
+
key: string;
|
|
547
|
+
rule: string;
|
|
548
|
+
severity: string;
|
|
549
|
+
message: string;
|
|
550
|
+
component: string;
|
|
551
|
+
line?: number;
|
|
552
|
+
status?: string;
|
|
553
|
+
}>;
|
|
554
|
+
}> {
|
|
443
555
|
const url = buildIssueSearchUrl(serverUrl, projectKey, page, filters);
|
|
444
556
|
const result = await fetchJson<{
|
|
445
557
|
total: number;
|
|
@@ -472,13 +584,21 @@ export async function fetchIssues(
|
|
|
472
584
|
|
|
473
585
|
for (;;) {
|
|
474
586
|
const { total: pageTotal, issueRows } = await fetchIssuePage(
|
|
475
|
-
serverUrl,
|
|
587
|
+
serverUrl,
|
|
588
|
+
token,
|
|
589
|
+
projectKey,
|
|
590
|
+
page,
|
|
591
|
+
signal,
|
|
592
|
+
normalizedFilters,
|
|
476
593
|
);
|
|
477
594
|
total = pageTotal;
|
|
478
595
|
|
|
479
596
|
for (const raw of issueRows) {
|
|
480
597
|
if (!ruleNames.has(raw.rule)) {
|
|
481
|
-
ruleNames.set(
|
|
598
|
+
ruleNames.set(
|
|
599
|
+
raw.rule,
|
|
600
|
+
await fetchRuleName(serverUrl, token, raw.rule, signal),
|
|
601
|
+
);
|
|
482
602
|
}
|
|
483
603
|
issues.push(mapRawIssue(raw, projectKey, ruleNames));
|
|
484
604
|
}
|
|
@@ -517,7 +637,17 @@ export async function fetchRuleName(
|
|
|
517
637
|
export function createAnalysisState(
|
|
518
638
|
config: Pick<SonarProjectConfig, "baseDir" | "serverUrl" | "projectKey">,
|
|
519
639
|
issues: SonarIssue[],
|
|
520
|
-
extras: Partial<
|
|
640
|
+
extras: Partial<
|
|
641
|
+
Pick<
|
|
642
|
+
SonarAnalysisState,
|
|
643
|
+
| "dashboardUrl"
|
|
644
|
+
| "ceTaskUrl"
|
|
645
|
+
| "analysisId"
|
|
646
|
+
| "filters"
|
|
647
|
+
| "measures"
|
|
648
|
+
| "cleanCodeMode"
|
|
649
|
+
>
|
|
650
|
+
> = {},
|
|
521
651
|
): SonarAnalysisState {
|
|
522
652
|
return {
|
|
523
653
|
version: 1,
|
|
@@ -554,15 +684,20 @@ export async function fetchDuplicationMeasures(
|
|
|
554
684
|
const m = measures.find((m) => m.metric === key);
|
|
555
685
|
return m ? Number.parseFloat(m.value) : 0;
|
|
556
686
|
};
|
|
557
|
-
const hasMetric = (key: string): boolean =>
|
|
687
|
+
const hasMetric = (key: string): boolean =>
|
|
688
|
+
measures.some((m) => m.metric === key);
|
|
558
689
|
return {
|
|
559
690
|
duplicatedLinesDensity: getValue("duplicated_lines_density"),
|
|
560
691
|
duplicatedLines: getValue("duplicated_lines"),
|
|
561
692
|
duplicatedBlocks: getValue("duplicated_blocks"),
|
|
562
693
|
duplicatedFiles: getValue("duplicated_files"),
|
|
563
694
|
coverage: hasMetric("coverage") ? getValue("coverage") : undefined,
|
|
564
|
-
linesToCover: hasMetric("lines_to_cover")
|
|
565
|
-
|
|
695
|
+
linesToCover: hasMetric("lines_to_cover")
|
|
696
|
+
? getValue("lines_to_cover")
|
|
697
|
+
: undefined,
|
|
698
|
+
uncoveredLines: hasMetric("uncovered_lines")
|
|
699
|
+
? getValue("uncovered_lines")
|
|
700
|
+
: undefined,
|
|
566
701
|
};
|
|
567
702
|
} catch {
|
|
568
703
|
return undefined;
|
|
@@ -580,7 +715,10 @@ export async function fetchIssueSeverityCounts(
|
|
|
580
715
|
const facetKey = mode === "MQR" ? "impactSeverities" : "severities";
|
|
581
716
|
const url = `${serverUrl}/api/issues/search?projects=${encodeURIComponent(projectKey)}&resolved=false&ps=1&facets=${facetKey}`;
|
|
582
717
|
const result = await fetchJson<{
|
|
583
|
-
facets: Array<{
|
|
718
|
+
facets: Array<{
|
|
719
|
+
property: string;
|
|
720
|
+
values: Array<{ val: string; count: number }>;
|
|
721
|
+
}>;
|
|
584
722
|
}>(url, token, signal);
|
|
585
723
|
const facet = result.facets?.find((f) => f.property === facetKey);
|
|
586
724
|
if (!facet) return undefined;
|
|
@@ -617,9 +755,14 @@ export async function fetchIssueQualityCounts(
|
|
|
617
755
|
try {
|
|
618
756
|
const url = `${serverUrl}/api/issues/search?projects=${encodeURIComponent(projectKey)}&resolved=false&ps=1&facets=impactSoftwareQualities`;
|
|
619
757
|
const result = await fetchJson<{
|
|
620
|
-
facets: Array<{
|
|
758
|
+
facets: Array<{
|
|
759
|
+
property: string;
|
|
760
|
+
values: Array<{ val: string; count: number }>;
|
|
761
|
+
}>;
|
|
621
762
|
}>(url, token, signal);
|
|
622
|
-
const facet = result.facets?.find(
|
|
763
|
+
const facet = result.facets?.find(
|
|
764
|
+
(f) => f.property === "impactSoftwareQualities",
|
|
765
|
+
);
|
|
623
766
|
if (!facet) return undefined;
|
|
624
767
|
const getCount = (q: string): number => {
|
|
625
768
|
const entry = facet.values.find((v) => v.val === q);
|
|
@@ -643,7 +786,7 @@ export async function fetchFileDuplications(
|
|
|
643
786
|
projectKey: string,
|
|
644
787
|
signal?: AbortSignal,
|
|
645
788
|
): Promise<FileDuplication[]> {
|
|
646
|
-
const treeUrl = `${serverUrl}/api/measures/component_tree?component=${encodeURIComponent(projectKey)}&qualifiers=FIL&metricKeys=duplicated_lines,duplicated_blocks&ps=500`;
|
|
789
|
+
const treeUrl = `${serverUrl}/api/measures/component_tree?component=${encodeURIComponent(projectKey)}&qualifiers=FIL&metricKeys=duplicated_lines,duplicated_lines_density,duplicated_blocks&ps=500`;
|
|
647
790
|
const treeResult = await fetchJson<{
|
|
648
791
|
components: Array<{
|
|
649
792
|
key: string;
|
|
@@ -658,18 +801,31 @@ export async function fetchFileDuplications(
|
|
|
658
801
|
const measures = component.measures ?? [];
|
|
659
802
|
const getValue = (metric: string): number => {
|
|
660
803
|
const m = measures.find((item) => item.metric === metric);
|
|
661
|
-
return m ? Number.
|
|
804
|
+
return m ? Number.parseFloat(m.value) : 0;
|
|
662
805
|
};
|
|
663
806
|
const duplicatedBlocks = getValue("duplicated_blocks");
|
|
664
807
|
if (duplicatedBlocks <= 0) return null;
|
|
665
808
|
return {
|
|
666
|
-
filePath:
|
|
809
|
+
filePath:
|
|
810
|
+
component.path ??
|
|
811
|
+
toIssuePath(component.key, projectKey) ??
|
|
812
|
+
component.name ??
|
|
813
|
+
component.key,
|
|
667
814
|
fileKey: component.key,
|
|
668
815
|
duplicatedLines: getValue("duplicated_lines"),
|
|
816
|
+
duplicatedLinesDensity: getValue("duplicated_lines_density"),
|
|
669
817
|
duplicatedBlocks,
|
|
670
818
|
};
|
|
671
819
|
})
|
|
672
|
-
.filter((f): f is FileDuplication => f !== null)
|
|
820
|
+
.filter((f): f is FileDuplication => f !== null)
|
|
821
|
+
.sort((left, right) => {
|
|
822
|
+
const densityDiff =
|
|
823
|
+
right.duplicatedLinesDensity - left.duplicatedLinesDensity;
|
|
824
|
+
if (densityDiff !== 0) return densityDiff;
|
|
825
|
+
const linesDiff = right.duplicatedLines - left.duplicatedLines;
|
|
826
|
+
if (linesDiff !== 0) return linesDiff;
|
|
827
|
+
return left.filePath.localeCompare(right.filePath);
|
|
828
|
+
});
|
|
673
829
|
|
|
674
830
|
return results;
|
|
675
831
|
}
|
|
@@ -695,5 +851,3 @@ export async function fetchFileDuplicationBlocks(
|
|
|
695
851
|
})),
|
|
696
852
|
}));
|
|
697
853
|
}
|
|
698
|
-
|
|
699
|
-
|