@jonathan0823/pi-sonarqube 0.6.0 → 0.7.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 +3 -2
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +6 -6
- package/dist/api.js.map +1 -1
- package/dist/commands.d.ts +3 -2
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +34 -2
- package/dist/commands.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -4
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/ui.d.ts +13 -0
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +36 -8
- package/dist/ui.js.map +1 -1
- package/package.json +1 -1
- package/src/api.ts +24 -24
- package/src/commands.ts +64 -9
- package/src/index.ts +33 -3
- package/src/types.ts +3 -1
- package/src/ui.ts +63 -10
package/dist/types.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ export interface SonarAnalysisState {
|
|
|
58
58
|
measures?: SonarDuplicationMeasures;
|
|
59
59
|
totalIssues: number;
|
|
60
60
|
issues: SonarIssue[];
|
|
61
|
-
cleanCodeMode?:
|
|
61
|
+
cleanCodeMode?: CleanCodeMode;
|
|
62
62
|
}
|
|
63
63
|
export interface SonarProjectConfig {
|
|
64
64
|
baseDir: string;
|
|
@@ -82,6 +82,7 @@ export interface SonarInitConfig {
|
|
|
82
82
|
projectKey: string;
|
|
83
83
|
token?: string;
|
|
84
84
|
}
|
|
85
|
+
export type CleanCodeMode = "STANDARD" | "MQR";
|
|
85
86
|
export interface SonarWorkspaceRegistry {
|
|
86
87
|
version: 1;
|
|
87
88
|
workspaces: Record<string, string>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,iFAAiF;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,iFAAiF;AA4HjF,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,MAAM;CACE,CAAC;AACX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM;IACN,WAAW;IACX,UAAU;IACV,UAAU;IACV,QAAQ;CACA,CAAC;AACX,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,CAAU,CAAC;AAC3E,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,iBAAiB;IACjB,aAAa;IACb,UAAU;CACF,CAAC;AACX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS;IACT,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;CACE,CAAC"}
|
package/dist/ui.d.ts
CHANGED
|
@@ -43,6 +43,19 @@ export declare class DuplicationBrowser extends SearchableListBrowser<FileDuplic
|
|
|
43
43
|
constructor(files: FileDuplication[], theme: Theme, done: (result: number | null) => void, scopeLabel?: string);
|
|
44
44
|
}
|
|
45
45
|
export declare function showDuplicationBrowser(ctx: ExtensionCommandContext, files: FileDuplication[], scopeLabel?: string): Promise<number | null>;
|
|
46
|
+
export declare class WorkspaceBrowser extends SearchableListBrowser<{
|
|
47
|
+
alias: string;
|
|
48
|
+
path: string;
|
|
49
|
+
}> {
|
|
50
|
+
constructor(workspaces: {
|
|
51
|
+
alias: string;
|
|
52
|
+
path: string;
|
|
53
|
+
}[], theme: Theme, done: (result: number | null) => void);
|
|
54
|
+
}
|
|
55
|
+
export declare function showWorkspaceBrowser(ctx: ExtensionContext, workspaces: {
|
|
56
|
+
alias: string;
|
|
57
|
+
path: string;
|
|
58
|
+
}[]): Promise<string | null>;
|
|
46
59
|
export declare function showIssueBrowser(ctx: ExtensionCommandContext, state: SonarAnalysisState): Promise<number | null>;
|
|
47
60
|
export declare function openIssuePreview(ctx: ExtensionCommandContext, state: SonarAnalysisState, issue: SonarIssue): Promise<void>;
|
|
48
61
|
export declare function loadProjectIssuesFromApi(ctx: {
|
package/dist/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
package/dist/ui.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Input, Key, matchesKey, truncateToWidth } from "@earendil-works/pi-tui";
|
|
1
|
+
import { Input, Key, matchesKey, truncateToWidth, } from "@earendil-works/pi-tui";
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { resolve } from "node:path";
|
|
4
4
|
import { issueFilterLabel, fetchIssues, createAnalysisState, normalizeIssueFilters, fetchCleanCodeMode, } from "./api.js";
|
|
@@ -110,11 +110,7 @@ export function startAnalysisUi(ctx, projectKey) {
|
|
|
110
110
|
}
|
|
111
111
|
// ── Searchable browser helpers ─────────────────────────────────────────────
|
|
112
112
|
function normalizeSearchQuery(query) {
|
|
113
|
-
return query
|
|
114
|
-
.trim()
|
|
115
|
-
.toLowerCase()
|
|
116
|
-
.split(/\s+/)
|
|
117
|
-
.filter(Boolean);
|
|
113
|
+
return query.trim().toLowerCase().split(/\s+/).filter(Boolean);
|
|
118
114
|
}
|
|
119
115
|
function matchesSearchQuery(haystack, query) {
|
|
120
116
|
const tokens = normalizeSearchQuery(query);
|
|
@@ -205,7 +201,9 @@ class SearchableListBrowser {
|
|
|
205
201
|
}
|
|
206
202
|
export class IssueBrowser extends SearchableListBrowser {
|
|
207
203
|
constructor(state, theme, done) {
|
|
208
|
-
const filterSuffix = state.filters
|
|
204
|
+
const filterSuffix = state.filters
|
|
205
|
+
? ` • ${issueFilterLabel(state.filters)}`
|
|
206
|
+
: "";
|
|
209
207
|
super(state.issues, theme, done, {
|
|
210
208
|
title: "SonarQube Issues",
|
|
211
209
|
subtitle: (_query, totalCount, filteredCount) => `${state.projectKey} • ${totalCount} issue(s) • ${filteredCount} match(es)${filterSuffix}`,
|
|
@@ -225,7 +223,9 @@ export class IssueBrowser extends SearchableListBrowser {
|
|
|
225
223
|
const marker = isSelected
|
|
226
224
|
? theme.fg("accent", ">")
|
|
227
225
|
: theme.fg("dim", " ");
|
|
228
|
-
const location = issue.line
|
|
226
|
+
const location = issue.line
|
|
227
|
+
? `${issue.filePath}:${issue.line}`
|
|
228
|
+
: issue.filePath;
|
|
229
229
|
const rule = issue.ruleName
|
|
230
230
|
? `${issue.rule} (${issue.ruleName})`
|
|
231
231
|
: issue.rule;
|
|
@@ -321,6 +321,34 @@ export async function showDuplicationBrowser(ctx, files, scopeLabel) {
|
|
|
321
321
|
return null;
|
|
322
322
|
return await ctx.ui.custom((_tui, theme, _kb, done) => new DuplicationBrowser(files, theme, done, scopeLabel));
|
|
323
323
|
}
|
|
324
|
+
// ── Workspace selector browser ────────────────────────────────────────────
|
|
325
|
+
export class WorkspaceBrowser extends SearchableListBrowser {
|
|
326
|
+
constructor(workspaces, theme, done) {
|
|
327
|
+
super(workspaces, theme, done, {
|
|
328
|
+
title: "SonarQube Workspaces",
|
|
329
|
+
subtitle: (_query, totalCount, filteredCount) => `${totalCount} workspace(s) • ${filteredCount} match(es)`,
|
|
330
|
+
searchHint: "Search workspaces by alias or path",
|
|
331
|
+
emptyMessage: "No matching workspaces found.",
|
|
332
|
+
footer: "Up/Down to move, Enter to select, Esc to cancel",
|
|
333
|
+
pageSize: 15,
|
|
334
|
+
searchText: (ws) => `${ws.alias} ${ws.path}`,
|
|
335
|
+
renderItem: (ws, index, isSelected) => {
|
|
336
|
+
const marker = isSelected
|
|
337
|
+
? theme.fg("accent", ">")
|
|
338
|
+
: theme.fg("dim", " ");
|
|
339
|
+
return `${marker} ${String(index + 1).padStart(2, " ")}. ${theme.fg("accent", ws.alias.padEnd(20))} ${theme.fg("dim", ws.path)}`;
|
|
340
|
+
},
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
export async function showWorkspaceBrowser(ctx, workspaces) {
|
|
345
|
+
if (ctx.mode !== "tui" || workspaces.length === 0)
|
|
346
|
+
return null;
|
|
347
|
+
const choice = await ctx.ui.custom((_tui, theme, _kb, done) => new WorkspaceBrowser(workspaces, theme, done));
|
|
348
|
+
if (choice == null)
|
|
349
|
+
return null;
|
|
350
|
+
return workspaces[choice].alias;
|
|
351
|
+
}
|
|
324
352
|
// ── Issue browser / preview helpers (used by index.ts) ──────────────────────
|
|
325
353
|
export async function showIssueBrowser(ctx, state) {
|
|
326
354
|
if (ctx.mode !== "tui")
|
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAkB,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3D,+EAA+E;AAE/E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,KAAiB,EACjB,MAAM,GAAG,CAAC;IAEV,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAEjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAe,EACf,QAAgB,EAChB,MAA+B;IAE/B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,SAAS,GAAG,KAAK,EAAE,YAAoB,EAAqB,EAAE;QAClE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACrD,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,CAClB,KAAe,EACf,IAAY,EACZ,IAAY,EACF,EAAE;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAa,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC1D,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9D,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,CAAC,IAAI,CACX,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,EAClE,qCAAqC,CACtC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG;IACvB,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACK,CAAC;AACX,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAOjD,MAAM,UAAU,eAAe,CAC7B,GAAqB,EACrB,UAAkB;IAElB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,KAAK,GAAG,aAAa,CAAC;IAC1B,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE;YACpC,GAAG,KAAK,cAAc,UAAU,EAAE;YAClC,KAAK;SACN,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,aAAa,UAAU,KAAK,CAAC,CAAC;IACvD,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC;QACzB,MAAM,EAAE,gBAAuC;QAC/C,UAAU,EAAE,EAAE;KACf,CAAC,CAAC;IACH,MAAM,EAAE,CAAC;IAET,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;QACxD,MAAM,EAAE,CAAC;IACX,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,QAAQ,CAAC,SAAiB;YACxB,KAAK,GAAG,SAAS,CAAC;YAClB,MAAM,EAAE,CAAC;QACX,CAAC;QACD,IAAI;YACF,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;YACjD,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC;YAC3B,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,KAAK;SACT,IAAI,EAAE;SACN,WAAW,EAAE;SACb,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,KAAa;IACzD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAmB,EACnB,KAAa,EACb,UAA+B;IAE/B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAaD,MAAM,qBAAqB;IAQN;IACA;IACA;IACA;IAVX,QAAQ,GAAG,CAAC,CAAC;IACb,KAAK,GAAG,EAAE,CAAC;IACX,aAAa,CAAM;IACnB,QAAQ,GAAG,KAAK,CAAC;IACR,WAAW,GAAG,IAAI,KAAK,EAAE,CAAC;IAE3C,YACmB,KAAmB,EACnB,KAAY,EACZ,IAAqC,EACrC,MAAkC;QAHlC,UAAK,GAAL,KAAK,CAAc;QACnB,UAAK,GAAL,KAAK,CAAO;QACZ,SAAI,GAAJ,IAAI,CAAiC;QACrC,WAAM,GAAN,MAAM,CAA4B;QAEnD,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,KAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CACtB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAC1C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAClB,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CACnC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,aAAa,CAAC,MAAM,CAC1B,CAAC;QACF,OAAO;YACL,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;YACpE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,EAAE;YACF,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE;gBACtC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,QAAQ;gBACR,KAAK,EAAE,IAAI,CAAC,aAAa;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;aACnC,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9C,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK;YAAE,OAAO;QACrC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,iBAAiB,CACpC,IAAI,CAAC,KAAK,EACV,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,UAAU,CACvB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,qBAAiC;IACjE,YACE,KAAyB,EACzB,KAAY,EACZ,IAAqC;QAErC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;YAC/B,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,CAC9C,GAAG,KAAK,CAAC,UAAU,MAAM,UAAU,eAAe,aAAa,aAAa,YAAY,EAAE;YAC5F,UAAU,EAAE,2DAA2D;YACvE,YAAY,EAAE,2BAA2B;YACzC,MAAM,EAAE,iDAAiD;YACzD,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CACpB;gBACE,KAAK,CAAC,QAAQ;gBACd,KAAK,CAAC,IAAI;gBACV,KAAK,CAAC,QAAQ,IAAI,EAAE;gBACpB,KAAK,CAAC,QAAQ;gBACd,KAAK,CAAC,MAAM,IAAI,EAAE;gBAClB,KAAK,CAAC,OAAO;aACd,CAAC,IAAI,CAAC,GAAG,CAAC;YACb,UAAU,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,UAAU;oBACvB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;oBACzB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACjF,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ;oBACzB,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,GAAG;oBACrC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBACf,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACtD,OAAO;oBACL,MAAM;oBACN,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;oBACvC,GAAG;oBACH,QAAQ;oBACR,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBAC5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;oBACvB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;iBACvC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED,+EAA+E;AAE/E,SAAS,aAAa,CAAC,KAAY,EAAE,QAAgB;IACnD,QAAQ,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/B,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrC,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvC,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtC;YACE,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAgB,EAChB,KAAa,EACb,QAAgB;IAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;IAC9C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAaD,SAAS,iBAAiB,CACxB,KAAY,EACZ,KAAa,EACb,MAAkC;IAElC,MAAM,KAAK,GAAa;QACtB,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;QAC3E,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;QACxD,EAAE;KACH,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,gBAAgB,CACrC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,KAAK,CAAC,MAAM,EACnB,QAAQ,CACT,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CACR,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,EAChE,EAAE,EACF,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CACvD,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CACR,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,aAAa,CAAC,EAAE,KAAK,CAAC,CACnE,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;QAC7B,KAAK,CAAC,IAAI,CACR,eAAe,CACb,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,EACzD,KAAK,CACN,CACF,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CACR,eAAe,CACb,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,aAAa,CAAC,EAC9D,KAAK,CACN,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,qBAAsC;IAC5E,YACE,KAAwB,EACxB,KAAY,EACZ,IAAqC,EACrC,UAAmB;QAEnB,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;YACxB,KAAK,EAAE,wBAAwB;YAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,CAC9C,GAAG,UAAU,+BAA+B,WAAW,MAAM,aAAa,YAAY;YACxF,UAAU,EAAE,wEAAwE;YACpF,YAAY,EAAE,qCAAqC;YACnD,MAAM,EAAE,kDAAkD;YAC1D,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CACnB;gBACE,IAAI,CAAC,QAAQ;gBACb,QAAQ,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAChD,UAAU,IAAI,CAAC,gBAAgB,EAAE;gBACjC,SAAS,IAAI,CAAC,eAAe,EAAE;aAChC,CAAC,IAAI,CAAC,GAAG,CAAC;YACb,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBACtC,MAAM,MAAM,GAAG,UAAU;oBACvB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;oBACzB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACzB,MAAM,MAAM,GAAG,QAAQ,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,gBAAgB,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;gBAChI,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7H,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAA4B,EAC5B,KAAwB,EACxB,UAAmB;IAEnB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CACxB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CACzB,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAA4B,EAC5B,KAAyB;IAEzB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CACxB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CACjE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAA4B,EAC5B,KAAyB,EACzB,KAAiB;IAEjB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC9E,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IACD,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAA0C,EAC1C,SAAkB,EAClB,OAAgC;IAEhC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,UAAU,EACjB,GAAG,CAAC,MAAM,EACV,iBAAiB,EACjB,MAAM,CAAC,OAAO,CACf,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAC5C,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,EACZ,GAAG,CAAC,MAAM,CACX,CAAC;IACF,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE;QACzC,OAAO,EAAE,iBAAiB;QAC1B,aAAa;KACd,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAA0C,EAC1C,eAAgD,EAChD,WAAoB,EACpB,OAAgC;IAEhC,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,OAAO,MAAM,wBAAwB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
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
|
@@ -18,18 +18,19 @@ import {
|
|
|
18
18
|
SONAR_TYPES,
|
|
19
19
|
SONAR_SOFTWARE_QUALITIES,
|
|
20
20
|
SONAR_IMPACT_SEVERITIES,
|
|
21
|
+
CleanCodeMode,
|
|
21
22
|
} from "./types.js";
|
|
22
23
|
import { parseProperties } from "./config.js";
|
|
23
24
|
|
|
24
25
|
// ── Clean code mode detection ────────────────────────────────────────────────
|
|
25
26
|
|
|
26
|
-
const cleanCodeModeCache = new Map<string,
|
|
27
|
+
const cleanCodeModeCache = new Map<string, CleanCodeMode>();
|
|
27
28
|
|
|
28
29
|
export async function fetchCleanCodeMode(
|
|
29
30
|
serverUrl: string,
|
|
30
31
|
token?: string,
|
|
31
32
|
signal?: AbortSignal,
|
|
32
|
-
): Promise<
|
|
33
|
+
): Promise<CleanCodeMode | undefined> {
|
|
33
34
|
const cached = cleanCodeModeCache.get(serverUrl);
|
|
34
35
|
if (cached) return cached;
|
|
35
36
|
try {
|
|
@@ -262,8 +263,14 @@ function mergeFilters(
|
|
|
262
263
|
merged.statuses = mergeFilterField(merged.statuses, filter.statuses);
|
|
263
264
|
merged.types = mergeFilterField(merged.types, filter.types);
|
|
264
265
|
merged.rules = mergeFilterField(merged.rules, filter.rules);
|
|
265
|
-
merged.softwareQualities = mergeFilterField(
|
|
266
|
-
|
|
266
|
+
merged.softwareQualities = mergeFilterField(
|
|
267
|
+
merged.softwareQualities,
|
|
268
|
+
filter.softwareQualities,
|
|
269
|
+
);
|
|
270
|
+
merged.impactSeverities = mergeFilterField(
|
|
271
|
+
merged.impactSeverities,
|
|
272
|
+
filter.impactSeverities,
|
|
273
|
+
);
|
|
267
274
|
if (filter.pathScope) merged.pathScope = filter.pathScope;
|
|
268
275
|
}
|
|
269
276
|
return normalizeIssueFilters(merged);
|
|
@@ -523,10 +530,7 @@ function buildIssueSearchUrl(
|
|
|
523
530
|
filters.impactSeverities.join(","),
|
|
524
531
|
);
|
|
525
532
|
if (filters?.componentKeys?.length)
|
|
526
|
-
url.searchParams.set(
|
|
527
|
-
"componentKeys",
|
|
528
|
-
filters.componentKeys.join(","),
|
|
529
|
-
);
|
|
533
|
+
url.searchParams.set("componentKeys", filters.componentKeys.join(","));
|
|
530
534
|
return url.toString();
|
|
531
535
|
}
|
|
532
536
|
|
|
@@ -653,19 +657,19 @@ export async function fetchProjectProfiles(
|
|
|
653
657
|
token: string | undefined,
|
|
654
658
|
projectKey: string,
|
|
655
659
|
signal?: AbortSignal,
|
|
656
|
-
): Promise<Array<{key: string; language: string; name: string}>> {
|
|
660
|
+
): Promise<Array<{ key: string; language: string; name: string }>> {
|
|
657
661
|
try {
|
|
658
662
|
const result = await fetchJson<{
|
|
659
|
-
profiles: Array<{key?: string; language?: string; name?: string}>;
|
|
663
|
+
profiles: Array<{ key?: string; language?: string; name?: string }>;
|
|
660
664
|
}>(
|
|
661
665
|
`${serverUrl}/api/qualityprofiles/search?project=${encodeURIComponent(projectKey)}`,
|
|
662
666
|
token,
|
|
663
667
|
signal,
|
|
664
668
|
);
|
|
665
|
-
return (result.profiles ?? []).map(p => ({
|
|
666
|
-
key: p.key ??
|
|
667
|
-
language: p.language ??
|
|
668
|
-
name: p.name ??
|
|
669
|
+
return (result.profiles ?? []).map((p) => ({
|
|
670
|
+
key: p.key ?? "",
|
|
671
|
+
language: p.language ?? "",
|
|
672
|
+
name: p.name ?? "",
|
|
669
673
|
}));
|
|
670
674
|
} catch {
|
|
671
675
|
return [];
|
|
@@ -678,7 +682,7 @@ export async function fetchRuleSearch(
|
|
|
678
682
|
query: string,
|
|
679
683
|
languages?: string[],
|
|
680
684
|
signal?: AbortSignal,
|
|
681
|
-
): Promise<Array<{key: string; name?: string}>> {
|
|
685
|
+
): Promise<Array<{ key: string; name?: string }>> {
|
|
682
686
|
try {
|
|
683
687
|
const params = new URLSearchParams();
|
|
684
688
|
if (query) params.set("q", query);
|
|
@@ -687,14 +691,10 @@ export async function fetchRuleSearch(
|
|
|
687
691
|
if (languages?.length) params.set("languages", languages.join(","));
|
|
688
692
|
|
|
689
693
|
const result = await fetchJson<{
|
|
690
|
-
rules: Array<{key?: string; name?: string}>;
|
|
691
|
-
}>(
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
signal,
|
|
695
|
-
);
|
|
696
|
-
return (result.rules ?? []).map(r => ({
|
|
697
|
-
key: r.key ?? '',
|
|
694
|
+
rules: Array<{ key?: string; name?: string }>;
|
|
695
|
+
}>(`${serverUrl}/api/rules/search?${params.toString()}`, token, signal);
|
|
696
|
+
return (result.rules ?? []).map((r) => ({
|
|
697
|
+
key: r.key ?? "",
|
|
698
698
|
name: r.name,
|
|
699
699
|
}));
|
|
700
700
|
} catch {
|
|
@@ -797,7 +797,7 @@ export async function fetchIssueSeverityCounts(
|
|
|
797
797
|
token: string | undefined,
|
|
798
798
|
projectKey: string,
|
|
799
799
|
signal?: AbortSignal,
|
|
800
|
-
mode?:
|
|
800
|
+
mode?: CleanCodeMode,
|
|
801
801
|
): Promise<IssueSeverityCounts | undefined> {
|
|
802
802
|
try {
|
|
803
803
|
const facetKey = mode === "MQR" ? "impactSeverities" : "severities";
|
package/src/commands.ts
CHANGED
|
@@ -17,11 +17,16 @@ import {
|
|
|
17
17
|
SONAR_TYPES,
|
|
18
18
|
SONAR_SOFTWARE_QUALITIES,
|
|
19
19
|
SONAR_IMPACT_SEVERITIES,
|
|
20
|
+
CleanCodeMode,
|
|
20
21
|
} from "./types.js";
|
|
21
22
|
import { execFileSync } from "node:child_process";
|
|
22
23
|
import { readdirSync } from "node:fs";
|
|
23
24
|
import { basename, dirname, relative, resolve } from "node:path";
|
|
24
|
-
import {
|
|
25
|
+
import {
|
|
26
|
+
looksLikePath,
|
|
27
|
+
loadWorkspaceRegistry,
|
|
28
|
+
knownTargets,
|
|
29
|
+
} from "./config.js";
|
|
25
30
|
import {
|
|
26
31
|
parseSonarIssueArgs,
|
|
27
32
|
issueFilterLabel,
|
|
@@ -118,9 +123,7 @@ export function splitSonarArgumentContext(argumentText: string): {
|
|
|
118
123
|
};
|
|
119
124
|
}
|
|
120
125
|
|
|
121
|
-
function createFilterCompletionList(
|
|
122
|
-
mode?: "STANDARD" | "MQR",
|
|
123
|
-
): AutocompleteItem[] {
|
|
126
|
+
function createFilterCompletionList(mode?: CleanCodeMode): AutocompleteItem[] {
|
|
124
127
|
const buildItems = (
|
|
125
128
|
groups: ReadonlyArray<
|
|
126
129
|
readonly [string, readonly string[], string, boolean]
|
|
@@ -370,7 +373,7 @@ function getInPathCompletions(
|
|
|
370
373
|
|
|
371
374
|
function getOpenCompletions(
|
|
372
375
|
issues: SonarIssue[] | undefined,
|
|
373
|
-
mode:
|
|
376
|
+
mode: CleanCodeMode | undefined,
|
|
374
377
|
current: string,
|
|
375
378
|
): AutocompleteItem[] | null {
|
|
376
379
|
const issueItems = (issues ?? []).slice(0, 10).map((issue, index) => {
|
|
@@ -388,7 +391,7 @@ function getOpenCompletions(
|
|
|
388
391
|
|
|
389
392
|
async function getFilterCompletions(
|
|
390
393
|
current: string,
|
|
391
|
-
mode:
|
|
394
|
+
mode: CleanCodeMode | undefined,
|
|
392
395
|
cwd: string | undefined,
|
|
393
396
|
serverUrl: string | undefined,
|
|
394
397
|
token: string | undefined,
|
|
@@ -422,10 +425,51 @@ async function getFilterCompletions(
|
|
|
422
425
|
return filtered.length > 0 ? filtered : null;
|
|
423
426
|
}
|
|
424
427
|
|
|
428
|
+
async function getAnalyzeCompletions(
|
|
429
|
+
current: string,
|
|
430
|
+
mode: CleanCodeMode | undefined,
|
|
431
|
+
cwd: string | undefined,
|
|
432
|
+
serverUrl: string | undefined,
|
|
433
|
+
token: string | undefined,
|
|
434
|
+
projectKey: string | undefined,
|
|
435
|
+
): Promise<AutocompleteItem[] | null> {
|
|
436
|
+
const [filterItems, aliasItems] = await Promise.all([
|
|
437
|
+
getFilterCompletions(current, mode, cwd, serverUrl, token, projectKey),
|
|
438
|
+
cwd ? getWorkspaceAliases(cwd, current) : Promise.resolve(null),
|
|
439
|
+
]);
|
|
440
|
+
if (!filterItems && !aliasItems) return null;
|
|
441
|
+
const combined: AutocompleteItem[] = [
|
|
442
|
+
...(aliasItems ?? []),
|
|
443
|
+
...(filterItems ?? []),
|
|
444
|
+
];
|
|
445
|
+
return combined.length > 0 ? combined : null;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
async function getWorkspaceAliases(
|
|
449
|
+
cwd: string,
|
|
450
|
+
current: string,
|
|
451
|
+
): Promise<AutocompleteItem[] | null> {
|
|
452
|
+
try {
|
|
453
|
+
const { registry } = await loadWorkspaceRegistry(cwd);
|
|
454
|
+
const aliases = knownTargets(registry);
|
|
455
|
+
if (aliases.length === 0) return null;
|
|
456
|
+
return filterAutocompleteItems(
|
|
457
|
+
aliases.map((alias) => ({
|
|
458
|
+
value: alias,
|
|
459
|
+
label: alias,
|
|
460
|
+
description: registry.workspaces[alias],
|
|
461
|
+
})),
|
|
462
|
+
current,
|
|
463
|
+
);
|
|
464
|
+
} catch {
|
|
465
|
+
return null;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
|
|
425
469
|
export async function sonarArgumentCompletions(
|
|
426
470
|
argumentText: string,
|
|
427
471
|
issues?: SonarIssue[],
|
|
428
|
-
mode?:
|
|
472
|
+
mode?: CleanCodeMode,
|
|
429
473
|
cwd?: string,
|
|
430
474
|
serverUrl?: string,
|
|
431
475
|
token?: string,
|
|
@@ -453,7 +497,18 @@ export async function sonarArgumentCompletions(
|
|
|
453
497
|
return getOpenCompletions(issues, mode, current);
|
|
454
498
|
}
|
|
455
499
|
|
|
456
|
-
if (lowerCommand === "analyze"
|
|
500
|
+
if (lowerCommand === "analyze") {
|
|
501
|
+
return getAnalyzeCompletions(
|
|
502
|
+
current,
|
|
503
|
+
mode,
|
|
504
|
+
cwd,
|
|
505
|
+
serverUrl,
|
|
506
|
+
token,
|
|
507
|
+
projectKey,
|
|
508
|
+
);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
if (lowerCommand === "issues") {
|
|
457
512
|
return getFilterCompletions(
|
|
458
513
|
current,
|
|
459
514
|
mode,
|
|
@@ -600,7 +655,7 @@ export function formatMetricsOutput(metrics: {
|
|
|
600
655
|
measures?: SonarDuplicationMeasures;
|
|
601
656
|
issueCounts?: IssueSeverityCounts;
|
|
602
657
|
issueQualityCounts?: IssueQualityCounts;
|
|
603
|
-
cleanCodeMode?:
|
|
658
|
+
cleanCodeMode?: CleanCodeMode;
|
|
604
659
|
}): string {
|
|
605
660
|
const lines: string[] = [`Metrics for ${metrics.projectKey}`];
|
|
606
661
|
|
package/src/index.ts
CHANGED
|
@@ -29,6 +29,7 @@ import {
|
|
|
29
29
|
ensureDefaultSonarProjectProperties,
|
|
30
30
|
saveWorkspaceRegistry,
|
|
31
31
|
resolveConfig,
|
|
32
|
+
loadWorkspaceRegistry,
|
|
32
33
|
} from "./config.js";
|
|
33
34
|
import {
|
|
34
35
|
runScanner,
|
|
@@ -70,6 +71,7 @@ import {
|
|
|
70
71
|
openIssuePreview,
|
|
71
72
|
resolveTargetState,
|
|
72
73
|
showDuplicationBrowser,
|
|
74
|
+
showWorkspaceBrowser,
|
|
73
75
|
} from "./ui.js";
|
|
74
76
|
|
|
75
77
|
const SonarToolParams = Type.Object({
|
|
@@ -156,7 +158,11 @@ async function analyzeProject(
|
|
|
156
158
|
filters?: SonarIssueFetchOptions,
|
|
157
159
|
): Promise<SonarAnalysisState> {
|
|
158
160
|
const config = await resolveConfig(ctx, inputPath);
|
|
159
|
-
_cachedConfig = {
|
|
161
|
+
_cachedConfig = {
|
|
162
|
+
serverUrl: config.serverUrl,
|
|
163
|
+
projectKey: config.projectKey,
|
|
164
|
+
token: config.token,
|
|
165
|
+
};
|
|
160
166
|
const baseDirStat = await stat(config.baseDir).catch(() => undefined);
|
|
161
167
|
if (!baseDirStat?.isDirectory()) {
|
|
162
168
|
throw new Error(`Project directory not found: ${config.baseDir}`);
|
|
@@ -394,13 +400,18 @@ function renderIssueListResult(
|
|
|
394
400
|
// ── Extension entrypoint ────────────────────────────────────────────────────
|
|
395
401
|
|
|
396
402
|
// ponytail: lazy config cache so rule autocomplete can fetch from the server
|
|
397
|
-
let _cachedConfig:
|
|
403
|
+
let _cachedConfig:
|
|
404
|
+
{ serverUrl: string; projectKey: string; token?: string } | undefined;
|
|
398
405
|
|
|
399
406
|
async function cachedServerConfig(cwd: string): Promise<typeof _cachedConfig> {
|
|
400
407
|
if (!_cachedConfig) {
|
|
401
408
|
try {
|
|
402
409
|
const cfg = await resolveConfig({ cwd });
|
|
403
|
-
_cachedConfig = {
|
|
410
|
+
_cachedConfig = {
|
|
411
|
+
serverUrl: cfg.serverUrl,
|
|
412
|
+
projectKey: cfg.projectKey,
|
|
413
|
+
token: cfg.token,
|
|
414
|
+
};
|
|
404
415
|
} catch {
|
|
405
416
|
// fall through
|
|
406
417
|
}
|
|
@@ -719,6 +730,11 @@ async function commandAnalyze(
|
|
|
719
730
|
filters: SonarIssueFetchOptions | undefined,
|
|
720
731
|
rememberState: (s: SonarAnalysisState) => void,
|
|
721
732
|
): Promise<void> {
|
|
733
|
+
if (!targetInput) {
|
|
734
|
+
const pickResult = await pickWorkspace(ctx);
|
|
735
|
+
if (pickResult === null) return; // user cancelled
|
|
736
|
+
targetInput = pickResult;
|
|
737
|
+
}
|
|
722
738
|
const state = await analyzeProject(pi, ctx, targetInput, filters);
|
|
723
739
|
rememberState(state);
|
|
724
740
|
if (ctx.hasUI) {
|
|
@@ -730,6 +746,20 @@ async function commandAnalyze(
|
|
|
730
746
|
}
|
|
731
747
|
}
|
|
732
748
|
|
|
749
|
+
async function pickWorkspace(
|
|
750
|
+
ctx: ExtensionContext,
|
|
751
|
+
): Promise<string | undefined | null> {
|
|
752
|
+
const { registry } = await loadWorkspaceRegistry(ctx.cwd);
|
|
753
|
+
const entries = Object.entries(registry.workspaces);
|
|
754
|
+
if (entries.length === 0) return undefined; // no registry → use cwd
|
|
755
|
+
if (entries.length === 1) return entries[0][0]; // single → use it directly
|
|
756
|
+
if (ctx.mode !== "tui") return undefined; // headless → use cwd
|
|
757
|
+
return await showWorkspaceBrowser(
|
|
758
|
+
ctx,
|
|
759
|
+
entries.map(([alias, path]) => ({ alias, path })),
|
|
760
|
+
);
|
|
761
|
+
}
|
|
762
|
+
|
|
733
763
|
async function loadMetricsData(
|
|
734
764
|
config: SonarProjectConfig,
|
|
735
765
|
signal?: AbortSignal,
|
package/src/types.ts
CHANGED
|
@@ -68,7 +68,7 @@ export interface SonarAnalysisState {
|
|
|
68
68
|
measures?: SonarDuplicationMeasures;
|
|
69
69
|
totalIssues: number;
|
|
70
70
|
issues: SonarIssue[];
|
|
71
|
-
cleanCodeMode?:
|
|
71
|
+
cleanCodeMode?: CleanCodeMode;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
export interface SonarProjectConfig {
|
|
@@ -98,6 +98,8 @@ export interface SonarInitConfig {
|
|
|
98
98
|
|
|
99
99
|
// ── Internal types shared by adapter and extension ──────────────────────────
|
|
100
100
|
|
|
101
|
+
export type CleanCodeMode = "STANDARD" | "MQR";
|
|
102
|
+
|
|
101
103
|
export interface SonarWorkspaceRegistry {
|
|
102
104
|
version: 1;
|
|
103
105
|
workspaces: Record<string, string>;
|