@vertaaux/cli 0.3.3 → 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/CHANGELOG.md +97 -0
- package/MIGRATION.md +239 -0
- package/README.md +34 -16
- package/dist/app/interactive-app.d.ts +101 -0
- package/dist/app/interactive-app.d.ts.map +1 -0
- package/dist/app/interactive-app.js +309 -0
- package/dist/app/layout/canvas.d.ts +23 -0
- package/dist/app/layout/canvas.d.ts.map +1 -0
- package/dist/app/layout/canvas.js +36 -0
- package/dist/app/layout/footer.d.ts +31 -0
- package/dist/app/layout/footer.d.ts.map +1 -0
- package/dist/app/layout/footer.js +41 -0
- package/dist/app/layout/header.d.ts +20 -0
- package/dist/app/layout/header.d.ts.map +1 -0
- package/dist/app/layout/header.js +27 -0
- package/dist/app/menu/categories.d.ts +20 -0
- package/dist/app/menu/categories.d.ts.map +1 -0
- package/dist/app/menu/categories.js +181 -0
- package/dist/app/menu/filter.d.ts +17 -0
- package/dist/app/menu/filter.d.ts.map +1 -0
- package/dist/app/menu/filter.js +33 -0
- package/dist/app/menu/menu-view.d.ts +35 -0
- package/dist/app/menu/menu-view.d.ts.map +1 -0
- package/dist/app/menu/menu-view.js +230 -0
- package/dist/app/menu/recent.d.ts +24 -0
- package/dist/app/menu/recent.d.ts.map +1 -0
- package/dist/app/menu/recent.js +49 -0
- package/dist/app/types.d.ts +43 -0
- package/dist/app/types.d.ts.map +1 -0
- package/dist/app/types.js +7 -0
- package/dist/app/views/command-runner.d.ts +36 -0
- package/dist/app/views/command-runner.d.ts.map +1 -0
- package/dist/app/views/command-runner.js +372 -0
- package/dist/app/views/help-overlay.d.ts +21 -0
- package/dist/app/views/help-overlay.d.ts.map +1 -0
- package/dist/app/views/help-overlay.js +45 -0
- package/dist/auth/ci-token.d.ts +14 -2
- package/dist/auth/ci-token.d.ts.map +1 -1
- package/dist/auth/ci-token.js +15 -30
- package/dist/auth/device-flow.d.ts +2 -1
- package/dist/auth/device-flow.d.ts.map +1 -1
- package/dist/auth/device-flow.js +13 -10
- package/dist/auth/token-store.d.ts.map +1 -1
- package/dist/auth/token-store.js +12 -2
- package/dist/baseline/diff.d.ts +2 -2
- package/dist/baseline/diff.d.ts.map +1 -1
- package/dist/baseline/diff.js +15 -34
- package/dist/commands/a11y.d.ts +9 -0
- package/dist/commands/a11y.d.ts.map +1 -0
- package/dist/commands/a11y.js +76 -0
- package/dist/commands/audit/artifacts.d.ts +27 -0
- package/dist/commands/audit/artifacts.d.ts.map +1 -0
- package/dist/commands/audit/artifacts.js +158 -0
- package/dist/commands/audit/ci-detection.d.ts +18 -0
- package/dist/commands/audit/ci-detection.d.ts.map +1 -0
- package/dist/commands/audit/ci-detection.js +71 -0
- package/dist/commands/audit/explain.d.ts +11 -0
- package/dist/commands/audit/explain.d.ts.map +1 -0
- package/dist/commands/audit/explain.js +45 -0
- package/dist/commands/audit/filters.d.ts +17 -0
- package/dist/commands/audit/filters.d.ts.map +1 -0
- package/dist/commands/audit/filters.js +40 -0
- package/dist/commands/audit/index.d.ts +18 -0
- package/dist/commands/audit/index.d.ts.map +1 -0
- package/dist/commands/audit/index.js +564 -0
- package/dist/commands/audit/output.d.ts +32 -0
- package/dist/commands/audit/output.d.ts.map +1 -0
- package/dist/commands/audit/output.js +130 -0
- package/dist/commands/audit/policy.d.ts +19 -0
- package/dist/commands/audit/policy.d.ts.map +1 -0
- package/dist/commands/audit/policy.js +102 -0
- package/dist/commands/audit/scoring.d.ts +23 -0
- package/dist/commands/audit/scoring.d.ts.map +1 -0
- package/dist/commands/audit/scoring.js +70 -0
- package/dist/commands/audit/types.d.ts +88 -0
- package/dist/commands/audit/types.d.ts.map +1 -0
- package/dist/commands/audit/types.js +8 -0
- package/dist/commands/audit.d.ts +2 -60
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +2 -1038
- package/dist/commands/baseline.d.ts +1 -0
- package/dist/commands/baseline.d.ts.map +1 -1
- package/dist/commands/baseline.js +205 -121
- package/dist/commands/comment.d.ts +22 -0
- package/dist/commands/comment.d.ts.map +1 -1
- package/dist/commands/comment.js +122 -58
- package/dist/commands/compare.d.ts +17 -0
- package/dist/commands/compare.d.ts.map +1 -1
- package/dist/commands/compare.js +287 -180
- package/dist/commands/diff.d.ts +5 -0
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +168 -141
- package/dist/commands/doc.d.ts +10 -0
- package/dist/commands/doc.d.ts.map +1 -1
- package/dist/commands/doc.js +134 -76
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +164 -17
- package/dist/commands/download.d.ts +10 -0
- package/dist/commands/download.d.ts.map +1 -1
- package/dist/commands/download.js +169 -112
- package/dist/commands/explain.d.ts +5 -0
- package/dist/commands/explain.d.ts.map +1 -1
- package/dist/commands/explain.js +241 -155
- package/dist/commands/fix-all.d.ts +25 -0
- package/dist/commands/fix-all.d.ts.map +1 -0
- package/dist/commands/fix-all.js +206 -0
- package/dist/commands/fix-plan.d.ts +9 -0
- package/dist/commands/fix-plan.d.ts.map +1 -1
- package/dist/commands/fix-plan.js +152 -89
- package/dist/commands/fix.d.ts +17 -0
- package/dist/commands/fix.d.ts.map +1 -0
- package/dist/commands/fix.js +111 -0
- package/dist/commands/init.d.ts +11 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +94 -42
- package/dist/commands/login.d.ts +18 -0
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +268 -95
- package/dist/commands/patch-review.d.ts +11 -0
- package/dist/commands/patch-review.d.ts.map +1 -1
- package/dist/commands/patch-review.js +159 -97
- package/dist/commands/policy.d.ts +31 -0
- package/dist/commands/policy.d.ts.map +1 -1
- package/dist/commands/policy.js +269 -124
- package/dist/commands/release-notes.d.ts +10 -0
- package/dist/commands/release-notes.d.ts.map +1 -1
- package/dist/commands/release-notes.js +127 -73
- package/dist/commands/scan.d.ts +13 -0
- package/dist/commands/scan.d.ts.map +1 -0
- package/dist/commands/scan.js +133 -0
- package/dist/commands/status.d.ts +9 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +81 -0
- package/dist/commands/suggest.d.ts +10 -0
- package/dist/commands/suggest.d.ts.map +1 -1
- package/dist/commands/suggest.js +153 -82
- package/dist/commands/triage.d.ts +35 -0
- package/dist/commands/triage.d.ts.map +1 -1
- package/dist/commands/triage.js +206 -81
- package/dist/commands/upload.d.ts +9 -0
- package/dist/commands/upload.d.ts.map +1 -1
- package/dist/commands/upload.js +140 -101
- package/dist/commands/verify.d.ts +13 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +118 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +125 -990
- package/dist/interactive/fix-wizard.d.ts +3 -0
- package/dist/interactive/fix-wizard.d.ts.map +1 -1
- package/dist/interactive/fix-wizard.js +130 -112
- package/dist/interactive/init-wizard.d.ts +3 -1
- package/dist/interactive/init-wizard.d.ts.map +1 -1
- package/dist/interactive/init-wizard.js +207 -138
- package/dist/interactive/prompts.d.ts +7 -3
- package/dist/interactive/prompts.d.ts.map +1 -1
- package/dist/interactive/prompts.js +44 -23
- package/dist/output/envelope.d.ts +2 -0
- package/dist/output/envelope.d.ts.map +1 -1
- package/dist/output/envelope.js +18 -2
- package/dist/output/factory.d.ts +9 -1
- package/dist/output/factory.d.ts.map +1 -1
- package/dist/output/html.d.ts +2 -1
- package/dist/output/html.d.ts.map +1 -1
- package/dist/output/html.js +3 -2
- package/dist/output/human.d.ts +9 -1
- package/dist/output/human.d.ts.map +1 -1
- package/dist/output/human.js +17 -2
- package/dist/output/json.d.ts +2 -1
- package/dist/output/json.d.ts.map +1 -1
- package/dist/output/junit.d.ts +2 -1
- package/dist/output/junit.d.ts.map +1 -1
- package/dist/output/sarif.d.ts +2 -1
- package/dist/output/sarif.d.ts.map +1 -1
- package/dist/types.d.ts +74 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/ui/banner.d.ts +34 -0
- package/dist/ui/banner.d.ts.map +1 -1
- package/dist/ui/banner.js +97 -5
- package/dist/ui/diagnostics.d.ts +9 -4
- package/dist/ui/diagnostics.d.ts.map +1 -1
- package/dist/ui/diagnostics.js +32 -82
- package/dist/ui/strings.d.ts +373 -0
- package/dist/ui/strings.d.ts.map +1 -0
- package/dist/ui/strings.js +499 -0
- package/dist/ui/table.d.ts +0 -2
- package/dist/ui/table.d.ts.map +1 -1
- package/dist/ui/table.js +3 -4
- package/dist/utils/api-client.d.ts +46 -0
- package/dist/utils/api-client.d.ts.map +1 -0
- package/dist/utils/api-client.js +170 -0
- package/dist/utils/client.d.ts +29 -18
- package/dist/utils/client.d.ts.map +1 -1
- package/dist/utils/client.js +102 -12
- package/dist/utils/formatters.d.ts +38 -0
- package/dist/utils/formatters.d.ts.map +1 -0
- package/dist/utils/formatters.js +277 -0
- package/dist/utils/local-capture.d.ts +25 -0
- package/dist/utils/local-capture.d.ts.map +1 -0
- package/dist/utils/local-capture.js +57 -0
- package/dist/utils/url-classify.d.ts +18 -0
- package/dist/utils/url-classify.d.ts.map +1 -0
- package/dist/utils/url-classify.js +106 -0
- package/node_modules/@vertaaux/tui/dist/index.cjs +713 -20
- package/node_modules/@vertaaux/tui/dist/index.cjs.map +1 -1
- package/node_modules/@vertaaux/tui/dist/index.d.cts +361 -4
- package/node_modules/@vertaaux/tui/dist/index.d.ts +361 -4
- package/node_modules/@vertaaux/tui/dist/index.js +689 -21
- package/node_modules/@vertaaux/tui/dist/index.js.map +1 -1
- package/package.json +13 -5
- package/dist/commands/client.d.ts +0 -14
- package/dist/commands/client.d.ts.map +0 -1
- package/dist/commands/client.js +0 -362
- package/dist/commands/drift.d.ts +0 -15
- package/dist/commands/drift.d.ts.map +0 -1
- package/dist/commands/drift.js +0 -309
- package/dist/commands/protect.d.ts +0 -16
- package/dist/commands/protect.d.ts.map +0 -1
- package/dist/commands/protect.js +0 -323
- package/dist/commands/report.d.ts +0 -15
- package/dist/commands/report.d.ts.map +0 -1
- package/dist/commands/report.js +0 -214
- package/dist/policy/sync.d.ts +0 -67
- package/dist/policy/sync.d.ts.map +0 -1
- package/dist/policy/sync.js +0 -147
|
@@ -4,181 +4,250 @@
|
|
|
4
4
|
* Guides users through project setup with sensible defaults.
|
|
5
5
|
*/
|
|
6
6
|
import { select, confirm, input } from "@inquirer/prompts";
|
|
7
|
+
import { writeOutput } from "../output/envelope.js";
|
|
7
8
|
/**
|
|
8
9
|
* Run the interactive init wizard.
|
|
9
10
|
*
|
|
10
11
|
* Guides user through configuration options and returns the chosen settings.
|
|
11
12
|
*
|
|
13
|
+
* @param renderer - Optional renderer to suspend/resume during prompts
|
|
12
14
|
* @returns Configuration object for writing to file
|
|
13
15
|
*/
|
|
14
|
-
export async function runInitWizard() {
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
export async function runInitWizard(renderer) {
|
|
17
|
+
writeOutput("\n Welcome to VertaaUX!\n\n");
|
|
18
|
+
writeOutput(" This wizard will help you configure VertaaUX for your project.\n\n");
|
|
17
19
|
// Step 1: Default URL
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const mode = await select({
|
|
35
|
-
message: "Select audit mode:",
|
|
36
|
-
choices: [
|
|
37
|
-
{
|
|
38
|
-
name: "Basic - Quick scan for common issues",
|
|
39
|
-
value: "basic",
|
|
40
|
-
description: "Fastest, covers essential accessibility and UX checks",
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: "Standard - Comprehensive analysis",
|
|
44
|
-
value: "standard",
|
|
45
|
-
description: "Balanced depth and speed, recommended for most projects",
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: "Deep - Thorough multi-page audit",
|
|
49
|
-
value: "deep",
|
|
50
|
-
description: "Most thorough, includes page flow and cross-page issues",
|
|
20
|
+
renderer?.suspend();
|
|
21
|
+
let defaultUrl;
|
|
22
|
+
try {
|
|
23
|
+
defaultUrl = await input({
|
|
24
|
+
message: "What URL would you like to audit? (optional)",
|
|
25
|
+
default: "",
|
|
26
|
+
validate: (value) => {
|
|
27
|
+
if (!value)
|
|
28
|
+
return true; // Optional
|
|
29
|
+
try {
|
|
30
|
+
new URL(value);
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return "Please enter a valid URL (e.g., https://example.com)";
|
|
35
|
+
}
|
|
51
36
|
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
if (configureBaseline) {
|
|
64
|
-
// Step 3a: Fail-on severity
|
|
65
|
-
failOn = await select({
|
|
66
|
-
message: "Fail CI build when issues of this severity are found:",
|
|
37
|
+
}, { output: process.stderr });
|
|
38
|
+
}
|
|
39
|
+
finally {
|
|
40
|
+
renderer?.resume();
|
|
41
|
+
}
|
|
42
|
+
// Step 2: Audit mode
|
|
43
|
+
renderer?.suspend();
|
|
44
|
+
let mode;
|
|
45
|
+
try {
|
|
46
|
+
mode = await select({
|
|
47
|
+
message: "Select audit mode:",
|
|
67
48
|
choices: [
|
|
68
49
|
{
|
|
69
|
-
name: "
|
|
70
|
-
value: "
|
|
71
|
-
description: "
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
name: "Warning - Warnings and above",
|
|
75
|
-
value: "warning",
|
|
76
|
-
description: "Blocks on warning and error severity",
|
|
50
|
+
name: "Basic - Quick scan for common issues",
|
|
51
|
+
value: "basic",
|
|
52
|
+
description: "Fastest, covers essential accessibility and UX checks",
|
|
77
53
|
},
|
|
78
54
|
{
|
|
79
|
-
name: "
|
|
80
|
-
value: "
|
|
81
|
-
description: "
|
|
55
|
+
name: "Standard - Comprehensive analysis",
|
|
56
|
+
value: "standard",
|
|
57
|
+
description: "Balanced depth and speed, recommended for most projects",
|
|
82
58
|
},
|
|
83
59
|
{
|
|
84
|
-
name: "
|
|
85
|
-
value: "
|
|
86
|
-
description: "
|
|
60
|
+
name: "Deep - Thorough multi-page audit",
|
|
61
|
+
value: "deep",
|
|
62
|
+
description: "Most thorough, includes page flow and cross-page issues",
|
|
87
63
|
},
|
|
88
64
|
],
|
|
89
|
-
default: "
|
|
90
|
-
});
|
|
65
|
+
default: "standard",
|
|
66
|
+
}, { output: process.stderr });
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
renderer?.resume();
|
|
70
|
+
}
|
|
71
|
+
// Step 3: Configure baseline rules
|
|
72
|
+
renderer?.suspend();
|
|
73
|
+
let configureBaseline;
|
|
74
|
+
try {
|
|
75
|
+
configureBaseline = await confirm({
|
|
76
|
+
message: "Configure baseline rules? (controls CI failure conditions)",
|
|
77
|
+
default: true,
|
|
78
|
+
}, { output: process.stderr });
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
renderer?.resume();
|
|
82
|
+
}
|
|
83
|
+
let failOn = "error";
|
|
84
|
+
let threshold = 0;
|
|
85
|
+
let autoUpdateBaseline = false;
|
|
86
|
+
if (configureBaseline) {
|
|
87
|
+
// Step 3a: Fail-on severity
|
|
88
|
+
renderer?.suspend();
|
|
89
|
+
try {
|
|
90
|
+
failOn = await select({
|
|
91
|
+
message: "Fail CI build when issues of this severity are found:",
|
|
92
|
+
choices: [
|
|
93
|
+
{
|
|
94
|
+
name: "Error - Only critical/error severity",
|
|
95
|
+
value: "error",
|
|
96
|
+
description: "Strictest, blocks on critical issues only",
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: "Warning - Warnings and above",
|
|
100
|
+
value: "warning",
|
|
101
|
+
description: "Blocks on warning and error severity",
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: "Info - Any issues",
|
|
105
|
+
value: "info",
|
|
106
|
+
description: "Most strict, blocks on all issues",
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: "None - Never fail on issues",
|
|
110
|
+
value: "none",
|
|
111
|
+
description: "Report only, never fail CI",
|
|
112
|
+
},
|
|
113
|
+
],
|
|
114
|
+
default: "error",
|
|
115
|
+
}, { output: process.stderr });
|
|
116
|
+
}
|
|
117
|
+
finally {
|
|
118
|
+
renderer?.resume();
|
|
119
|
+
}
|
|
91
120
|
// Step 3b: Score threshold
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
121
|
+
renderer?.suspend();
|
|
122
|
+
let setThreshold;
|
|
123
|
+
try {
|
|
124
|
+
setThreshold = await confirm({
|
|
125
|
+
message: "Set a minimum score threshold?",
|
|
126
|
+
default: false,
|
|
127
|
+
}, { output: process.stderr });
|
|
128
|
+
}
|
|
129
|
+
finally {
|
|
130
|
+
renderer?.resume();
|
|
131
|
+
}
|
|
96
132
|
if (setThreshold) {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
133
|
+
renderer?.suspend();
|
|
134
|
+
let thresholdStr;
|
|
135
|
+
try {
|
|
136
|
+
thresholdStr = await input({
|
|
137
|
+
message: "Minimum passing score (0-100):",
|
|
138
|
+
default: "70",
|
|
139
|
+
validate: (value) => {
|
|
140
|
+
const num = parseInt(value, 10);
|
|
141
|
+
if (isNaN(num) || num < 0 || num > 100) {
|
|
142
|
+
return "Please enter a number between 0 and 100";
|
|
143
|
+
}
|
|
144
|
+
return true;
|
|
145
|
+
},
|
|
146
|
+
}, { output: process.stderr });
|
|
147
|
+
}
|
|
148
|
+
finally {
|
|
149
|
+
renderer?.resume();
|
|
150
|
+
}
|
|
108
151
|
threshold = parseInt(thresholdStr, 10);
|
|
109
152
|
}
|
|
110
153
|
// Step 3c: Auto-update baseline
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
154
|
+
renderer?.suspend();
|
|
155
|
+
try {
|
|
156
|
+
autoUpdateBaseline = await confirm({
|
|
157
|
+
message: "Auto-update baseline when issues are fixed on main branch?",
|
|
158
|
+
default: false,
|
|
159
|
+
}, { output: process.stderr });
|
|
160
|
+
}
|
|
161
|
+
finally {
|
|
162
|
+
renderer?.resume();
|
|
163
|
+
}
|
|
115
164
|
}
|
|
116
165
|
// Step 4: CI integration
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
166
|
+
renderer?.suspend();
|
|
167
|
+
let configureCI;
|
|
168
|
+
try {
|
|
169
|
+
configureCI = await confirm({
|
|
170
|
+
message: "Configure CI integration?",
|
|
171
|
+
default: true,
|
|
172
|
+
}, { output: process.stderr });
|
|
173
|
+
}
|
|
174
|
+
finally {
|
|
175
|
+
renderer?.resume();
|
|
176
|
+
}
|
|
121
177
|
let ciProvider = "none";
|
|
122
178
|
if (configureCI) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
179
|
+
renderer?.suspend();
|
|
180
|
+
try {
|
|
181
|
+
ciProvider = await select({
|
|
182
|
+
message: "Which CI provider?",
|
|
183
|
+
choices: [
|
|
184
|
+
{
|
|
185
|
+
name: "GitHub Actions",
|
|
186
|
+
value: "github",
|
|
187
|
+
description: "Creates .github/workflows/vertaa.yml with SARIF upload",
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
name: "GitLab CI",
|
|
191
|
+
value: "gitlab",
|
|
192
|
+
description: "Creates .gitlab-ci-vertaa.yml with JUnit and Code Quality reports",
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
name: "CircleCI",
|
|
196
|
+
value: "circleci",
|
|
197
|
+
description: "Creates .circleci/config-vertaa.yml with test results",
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
name: "Azure DevOps",
|
|
201
|
+
value: "azure",
|
|
202
|
+
description: "Creates azure-pipelines-vertaa.yml with Advanced Security",
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
name: "Jenkins",
|
|
206
|
+
value: "jenkins",
|
|
207
|
+
description: "Creates Jenkinsfile-vertaa with Warnings NG plugin",
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: "None - Skip CI setup",
|
|
211
|
+
value: "none",
|
|
212
|
+
},
|
|
213
|
+
],
|
|
214
|
+
default: "github",
|
|
215
|
+
}, { output: process.stderr });
|
|
216
|
+
}
|
|
217
|
+
finally {
|
|
218
|
+
renderer?.resume();
|
|
219
|
+
}
|
|
158
220
|
}
|
|
159
221
|
// Step 5: Summary
|
|
160
|
-
|
|
161
|
-
|
|
222
|
+
writeOutput("\n Configuration Summary:\n");
|
|
223
|
+
writeOutput(" ----------------------\n");
|
|
162
224
|
if (defaultUrl) {
|
|
163
|
-
|
|
225
|
+
writeOutput(` URL: ${defaultUrl}\n`);
|
|
164
226
|
}
|
|
165
|
-
|
|
166
|
-
|
|
227
|
+
writeOutput(` Mode: ${mode}\n`);
|
|
228
|
+
writeOutput(` Fail on: ${failOn}\n`);
|
|
167
229
|
if (threshold > 0) {
|
|
168
|
-
|
|
230
|
+
writeOutput(` Threshold: ${threshold}\n`);
|
|
169
231
|
}
|
|
170
232
|
if (autoUpdateBaseline) {
|
|
171
|
-
|
|
233
|
+
writeOutput(` Auto-update: enabled\n`);
|
|
172
234
|
}
|
|
173
235
|
if (ciProvider !== "none") {
|
|
174
|
-
|
|
236
|
+
writeOutput(` CI: ${ciProvider}\n`);
|
|
175
237
|
}
|
|
176
|
-
|
|
238
|
+
writeOutput("\n");
|
|
177
239
|
// Step 6: Confirm
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
240
|
+
renderer?.suspend();
|
|
241
|
+
let create;
|
|
242
|
+
try {
|
|
243
|
+
create = await confirm({
|
|
244
|
+
message: "Create configuration?",
|
|
245
|
+
default: true,
|
|
246
|
+
}, { output: process.stderr });
|
|
247
|
+
}
|
|
248
|
+
finally {
|
|
249
|
+
renderer?.resume();
|
|
250
|
+
}
|
|
182
251
|
if (!create) {
|
|
183
252
|
throw new Error("Configuration cancelled by user");
|
|
184
253
|
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* - Enter to confirm
|
|
8
8
|
* - Space to select (multi-select)
|
|
9
9
|
*/
|
|
10
|
+
import type { Renderer } from "@vertaaux/tui";
|
|
10
11
|
/**
|
|
11
12
|
* Choice option for select prompts.
|
|
12
13
|
*/
|
|
@@ -27,26 +28,29 @@ export interface SelectChoice<T = string> {
|
|
|
27
28
|
*
|
|
28
29
|
* @param message - Prompt message
|
|
29
30
|
* @param choices - List of options
|
|
31
|
+
* @param renderer - Optional renderer to suspend during prompt
|
|
30
32
|
* @returns Selected value
|
|
31
33
|
*/
|
|
32
|
-
export declare function selectAction<T = string>(message: string, choices: SelectChoice<T>[]): Promise<T>;
|
|
34
|
+
export declare function selectAction<T = string>(message: string, choices: SelectChoice<T>[], renderer?: Renderer): Promise<T>;
|
|
33
35
|
/**
|
|
34
36
|
* Prompt user for yes/no confirmation.
|
|
35
37
|
*
|
|
36
38
|
* @param message - Question to confirm
|
|
37
39
|
* @param defaultValue - Default value if user just presses Enter
|
|
40
|
+
* @param renderer - Optional renderer to suspend during prompt
|
|
38
41
|
* @returns true for yes, false for no
|
|
39
42
|
*/
|
|
40
|
-
export declare function confirmAction(message: string, defaultValue?: boolean): Promise<boolean>;
|
|
43
|
+
export declare function confirmAction(message: string, defaultValue?: boolean, renderer?: Renderer): Promise<boolean>;
|
|
41
44
|
/**
|
|
42
45
|
* Prompt user for text input.
|
|
43
46
|
*
|
|
44
47
|
* @param message - Prompt message
|
|
45
48
|
* @param defaultValue - Optional default value
|
|
46
49
|
* @param required - Whether input is required (default: false)
|
|
50
|
+
* @param renderer - Optional renderer to suspend during prompt
|
|
47
51
|
* @returns User input string
|
|
48
52
|
*/
|
|
49
|
-
export declare function inputText(message: string, defaultValue?: string, required?: boolean): Promise<string>;
|
|
53
|
+
export declare function inputText(message: string, defaultValue?: string, required?: boolean, renderer?: Renderer): Promise<string>;
|
|
50
54
|
/**
|
|
51
55
|
* Check if running in an interactive TTY environment.
|
|
52
56
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/interactive/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/interactive/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,MAAM;IACtC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,KAAK,EAAE,CAAC,CAAC;IACT,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,CAAC,GAAG,MAAM,EAC3C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,CAAC,CAAC,CAkBZ;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,OAAc,EAC5B,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,GAAE,OAAe,EACzB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAMzC"}
|
|
@@ -15,31 +15,45 @@ import { select, confirm, input } from "@inquirer/prompts";
|
|
|
15
15
|
*
|
|
16
16
|
* @param message - Prompt message
|
|
17
17
|
* @param choices - List of options
|
|
18
|
+
* @param renderer - Optional renderer to suspend during prompt
|
|
18
19
|
* @returns Selected value
|
|
19
20
|
*/
|
|
20
|
-
export async function selectAction(message, choices) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
export async function selectAction(message, choices, renderer) {
|
|
22
|
+
renderer?.suspend();
|
|
23
|
+
try {
|
|
24
|
+
return await select({
|
|
25
|
+
message,
|
|
26
|
+
choices: choices.map((c) => ({
|
|
27
|
+
name: c.name,
|
|
28
|
+
value: c.value,
|
|
29
|
+
description: c.description,
|
|
30
|
+
disabled: c.disabled,
|
|
31
|
+
})),
|
|
32
|
+
}, { output: process.stderr });
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
renderer?.resume();
|
|
36
|
+
}
|
|
30
37
|
}
|
|
31
38
|
/**
|
|
32
39
|
* Prompt user for yes/no confirmation.
|
|
33
40
|
*
|
|
34
41
|
* @param message - Question to confirm
|
|
35
42
|
* @param defaultValue - Default value if user just presses Enter
|
|
43
|
+
* @param renderer - Optional renderer to suspend during prompt
|
|
36
44
|
* @returns true for yes, false for no
|
|
37
45
|
*/
|
|
38
|
-
export async function confirmAction(message, defaultValue = true) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
export async function confirmAction(message, defaultValue = true, renderer) {
|
|
47
|
+
renderer?.suspend();
|
|
48
|
+
try {
|
|
49
|
+
return await confirm({
|
|
50
|
+
message,
|
|
51
|
+
default: defaultValue,
|
|
52
|
+
}, { output: process.stderr });
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
renderer?.resume();
|
|
56
|
+
}
|
|
43
57
|
}
|
|
44
58
|
/**
|
|
45
59
|
* Prompt user for text input.
|
|
@@ -47,16 +61,23 @@ export async function confirmAction(message, defaultValue = true) {
|
|
|
47
61
|
* @param message - Prompt message
|
|
48
62
|
* @param defaultValue - Optional default value
|
|
49
63
|
* @param required - Whether input is required (default: false)
|
|
64
|
+
* @param renderer - Optional renderer to suspend during prompt
|
|
50
65
|
* @returns User input string
|
|
51
66
|
*/
|
|
52
|
-
export async function inputText(message, defaultValue, required = false) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
:
|
|
59
|
-
|
|
67
|
+
export async function inputText(message, defaultValue, required = false, renderer) {
|
|
68
|
+
renderer?.suspend();
|
|
69
|
+
try {
|
|
70
|
+
return await input({
|
|
71
|
+
message,
|
|
72
|
+
default: defaultValue,
|
|
73
|
+
validate: required
|
|
74
|
+
? (value) => (value.trim() ? true : "This field is required")
|
|
75
|
+
: undefined,
|
|
76
|
+
}, { output: process.stderr });
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
renderer?.resume();
|
|
80
|
+
}
|
|
60
81
|
}
|
|
61
82
|
/**
|
|
62
83
|
* Check if running in an interactive TTY environment.
|
|
@@ -17,5 +17,7 @@ export interface OutputEnvelope<T = unknown> {
|
|
|
17
17
|
}
|
|
18
18
|
export declare function createEnvelope<T>(data: T, command: string): OutputEnvelope<T>;
|
|
19
19
|
export declare function writeJsonOutput<T>(data: T, command: string): void;
|
|
20
|
+
/** Redirect writeOutput to a buffer. Pass null to restore direct stderr writes. */
|
|
21
|
+
export declare function setOutputBuffer(buffer: string[] | null): void;
|
|
20
22
|
export declare function writeOutput(content: string): void;
|
|
21
23
|
//# sourceMappingURL=envelope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/output/envelope.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,CAAC,CAAC;CACT;
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/output/envelope.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,CAAC,CAAC;CACT;AA2DD,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAU7E;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAGjE;AASD,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAE7D;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMjD"}
|
package/dist/output/envelope.js
CHANGED
|
@@ -45,7 +45,8 @@ function redactArgs(argv) {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
if (isSecretArg(arg)) {
|
|
48
|
-
|
|
48
|
+
result.push("[REDACTED]");
|
|
49
|
+
continue;
|
|
49
50
|
}
|
|
50
51
|
result.push(arg);
|
|
51
52
|
}
|
|
@@ -66,6 +67,21 @@ export function writeJsonOutput(data, command) {
|
|
|
66
67
|
const envelope = createEnvelope(data, command);
|
|
67
68
|
process.stdout.write(JSON.stringify(envelope, null, 2) + "\n");
|
|
68
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Output buffer for interactive mode. When set, writeOutput appends
|
|
72
|
+
* to this buffer instead of writing to stderr (to avoid garbling
|
|
73
|
+
* the InteractiveApp's alt screen).
|
|
74
|
+
*/
|
|
75
|
+
let _outputBuffer = null;
|
|
76
|
+
/** Redirect writeOutput to a buffer. Pass null to restore direct stderr writes. */
|
|
77
|
+
export function setOutputBuffer(buffer) {
|
|
78
|
+
_outputBuffer = buffer;
|
|
79
|
+
}
|
|
69
80
|
export function writeOutput(content) {
|
|
70
|
-
|
|
81
|
+
if (_outputBuffer) {
|
|
82
|
+
_outputBuffer.push(...content.split("\n"));
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
process.stderr.write(content + "\n");
|
|
86
|
+
}
|
|
71
87
|
}
|
package/dist/output/factory.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { type FormatHtmlOptions } from "./html.js";
|
|
|
10
10
|
import { type SarifOptions } from "./sarif.js";
|
|
11
11
|
import { type JunitOptions } from "./junit.js";
|
|
12
12
|
import { type OutputFormat } from "../utils/detect-env.js";
|
|
13
|
+
import type { AuditScores } from "@vertaaux/sdk";
|
|
13
14
|
export interface AuditResult {
|
|
14
15
|
job_id?: string;
|
|
15
16
|
status?: string;
|
|
@@ -19,9 +20,16 @@ export interface AuditResult {
|
|
|
19
20
|
created_at?: string;
|
|
20
21
|
started_at?: string;
|
|
21
22
|
completed_at?: string;
|
|
22
|
-
scores?: Record<string, unknown>;
|
|
23
|
+
scores?: AuditScores | Record<string, unknown>;
|
|
23
24
|
issues?: unknown;
|
|
24
25
|
error?: string;
|
|
26
|
+
analysis_type?: string;
|
|
27
|
+
metadata?: {
|
|
28
|
+
partial?: boolean;
|
|
29
|
+
source?: string;
|
|
30
|
+
unavailable_checks?: string[];
|
|
31
|
+
[key: string]: unknown;
|
|
32
|
+
};
|
|
25
33
|
}
|
|
26
34
|
export interface FormatOptions {
|
|
27
35
|
/** Human output options */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/output/factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/output/factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,iCAAiC;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;CACpE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAE,YAAY,GAAG,MAAe,GAAG,SAAS,CA4B9E;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,WAAW,EACnB,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAIR;AAGD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/output/html.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Generates standalone HTML reports with embedded CSS and JS.
|
|
5
5
|
* Reports are print-friendly and don't require external dependencies.
|
|
6
6
|
*/
|
|
7
|
+
import type { AuditScores } from "@vertaaux/sdk";
|
|
7
8
|
export interface Issue {
|
|
8
9
|
id?: string;
|
|
9
10
|
severity?: string;
|
|
@@ -24,7 +25,7 @@ export interface AuditResult {
|
|
|
24
25
|
created_at?: string;
|
|
25
26
|
started_at?: string;
|
|
26
27
|
completed_at?: string;
|
|
27
|
-
scores?: Record<string, unknown>;
|
|
28
|
+
scores?: AuditScores | Record<string, unknown>;
|
|
28
29
|
issues?: unknown;
|
|
29
30
|
error?: string;
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/output/html.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,KAAK;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/output/html.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,KAAK;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAqiBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CA8DR"}
|