@dallask/a11y-mcp-srv 1.1.13 → 2.1.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/README.md +17 -0
- package/dist/core/accessibility-runner.d.ts +22 -14
- package/dist/core/accessibility-runner.d.ts.map +1 -1
- package/dist/core/accessibility-runner.js +110 -64
- package/dist/core/accessibility-runner.js.map +1 -1
- package/dist/core/basic-auth.d.ts +35 -0
- package/dist/core/basic-auth.d.ts.map +1 -0
- package/dist/core/basic-auth.js +52 -0
- package/dist/core/basic-auth.js.map +1 -0
- package/dist/core/config.d.ts +2 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +4 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/normalize-audit-result.d.ts +18 -0
- package/dist/core/normalize-audit-result.d.ts.map +1 -0
- package/dist/core/normalize-audit-result.js +118 -0
- package/dist/core/normalize-audit-result.js.map +1 -0
- package/dist/core/result-processor.d.ts +22 -5
- package/dist/core/result-processor.d.ts.map +1 -1
- package/dist/core/result-processor.js +115 -101
- package/dist/core/result-processor.js.map +1 -1
- package/dist/server.d.ts +5 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +133 -6
- package/dist/server.js.map +1 -1
- package/dist/tools/aggregate.d.ts.map +1 -1
- package/dist/tools/aggregate.js +23 -22
- package/dist/tools/aggregate.js.map +1 -1
- package/dist/tools/analysis.d.ts.map +1 -1
- package/dist/tools/analysis.js +87 -134
- package/dist/tools/analysis.js.map +1 -1
- package/dist/tools/audit.d.ts.map +1 -1
- package/dist/tools/audit.js +73 -23
- package/dist/tools/audit.js.map +1 -1
- package/dist/tools/comparison.d.ts.map +1 -1
- package/dist/tools/comparison.js +28 -17
- package/dist/tools/comparison.js.map +1 -1
- package/dist/tools/export.d.ts.map +1 -1
- package/dist/tools/export.js +55 -38
- package/dist/tools/export.js.map +1 -1
- package/dist/tools/filter.d.ts.map +1 -1
- package/dist/tools/filter.js +16 -9
- package/dist/tools/filter.js.map +1 -1
- package/dist/tools/session.d.ts.map +1 -1
- package/dist/tools/session.js +3 -2
- package/dist/tools/session.js.map +1 -1
- package/dist/tools/visualize.d.ts.map +1 -1
- package/dist/tools/visualize.js +47 -51
- package/dist/tools/visualize.js.map +1 -1
- package/dist/types/index.d.ts +49 -12
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +19 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +14 -2
package/README.md
CHANGED
|
@@ -1260,6 +1260,12 @@ npm run dev
|
|
|
1260
1260
|
npm start
|
|
1261
1261
|
```
|
|
1262
1262
|
|
|
1263
|
+
**Testing**
|
|
1264
|
+
- `npm test` – run unit and integration tests (watch mode)
|
|
1265
|
+
- `npm run test:run` – run all tests once
|
|
1266
|
+
- `npm run test:coverage` – run tests with coverage
|
|
1267
|
+
- `npm run test:e2e` – build and run E2E tests (real MCP server over stdio via `@modelcontextprotocol/sdk` Client)
|
|
1268
|
+
|
|
1263
1269
|
### Using Local Version in MCP Client
|
|
1264
1270
|
|
|
1265
1271
|
If you want to use the local version instead of the published package:
|
|
@@ -1298,6 +1304,17 @@ This project is derived from [alii13/accessibility-mcp-server](https://github.co
|
|
|
1298
1304
|
|
|
1299
1305
|
MIT License - feel free to use in your projects!
|
|
1300
1306
|
|
|
1307
|
+
## 🚀 Releasing
|
|
1308
|
+
|
|
1309
|
+
Releases are automated with [semantic-release](https://github.com/semantic-release/semantic-release) and run on **push or merge to any `release/*` branch**.
|
|
1310
|
+
|
|
1311
|
+
- **Branch**: Push or merge to a branch matching `release/*` (e.g. `release/1.x`, `release/2.0`).
|
|
1312
|
+
- **Version**: Determined from commit messages (e.g. `fix:`, `feat:`, `BREAKING CHANGE:`).
|
|
1313
|
+
- **Artifacts**: GitHub Release is created; `CHANGELOG.md` and `package.json` are updated and pushed back to the branch.
|
|
1314
|
+
- **npm**: If you publish to npm, add an `NPM_TOKEN` secret in the repo settings (Settings → Secrets and variables → Actions). The workflow uses it to publish after a successful release.
|
|
1315
|
+
|
|
1316
|
+
Local dry run (no publish): `npx semantic-release --dry-run`. Note: dry-run may fail locally if no `release/*` branch exists on the remote, since semantic-release validates branches against the repo; in CI it runs only when the workflow is triggered by a push to `release/*`.
|
|
1317
|
+
|
|
1301
1318
|
## 🤝 Contributing
|
|
1302
1319
|
|
|
1303
1320
|
Contributions are welcome! Please ensure all code follows the existing style and includes appropriate tests.
|
|
@@ -38,6 +38,8 @@ export interface AccessibilityRunnerResult {
|
|
|
38
38
|
tags?: AccessibilityTag[];
|
|
39
39
|
originalIssueCount?: number;
|
|
40
40
|
};
|
|
41
|
+
/** HTTP status code of the main document response (e.g. 200, 401). Undefined when no navigation. */
|
|
42
|
+
responseStatus?: number;
|
|
41
43
|
}
|
|
42
44
|
/**
|
|
43
45
|
* AccessibilityRunner class - Handles accessibility test execution with axe-core or ACE
|
|
@@ -46,7 +48,8 @@ export declare class AccessibilityRunner {
|
|
|
46
48
|
private axePath;
|
|
47
49
|
constructor();
|
|
48
50
|
/**
|
|
49
|
-
* Navigate to URL and wait for page to be ready
|
|
51
|
+
* Navigate to URL and wait for page to be ready.
|
|
52
|
+
* @returns HTTP status code of the main document response (e.g. 200, 401), or undefined if unavailable.
|
|
50
53
|
*/
|
|
51
54
|
private navigateAndWait;
|
|
52
55
|
/**
|
|
@@ -62,27 +65,29 @@ export declare class AccessibilityRunner {
|
|
|
62
65
|
*/
|
|
63
66
|
private axeToAccessibilityResults;
|
|
64
67
|
/**
|
|
65
|
-
*
|
|
68
|
+
* Map axe-style WCAG tags to IBM Equal Access policy IDs.
|
|
69
|
+
* ACE is scoped at scan time via setConfig({ policies }) — not post-filtered.
|
|
70
|
+
* wcag22* → WCAG_2_2
|
|
71
|
+
* wcag21* → WCAG_2_1
|
|
72
|
+
* wcag2* → WCAG_2_0
|
|
73
|
+
* best-practice / (default) → IBM_Accessibility
|
|
66
74
|
*/
|
|
67
|
-
private
|
|
75
|
+
private acePolicesFromTags;
|
|
68
76
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* potentialrecommendation→ 'needs-review' (⚠️ yellow)
|
|
74
|
-
* recommendation → 'recommendation' (ℹ️ blue)
|
|
75
|
-
* manual → 'needs-review' (⚠️ yellow – manual check required)
|
|
76
|
-
* pass / ignored → 'minor'
|
|
77
|
+
* Run IBM Equal Access (accessibility-checker) analysis on HTML content.
|
|
78
|
+
* ACE never fetches URLs; the caller loads the page in Playwright and passes the final HTML
|
|
79
|
+
* (including everything changed by JavaScript). This avoids ACE's internal Puppeteer launch.
|
|
80
|
+
* WCAG level/policy is configured via setConfig before the scan — tags are engine settings.
|
|
77
81
|
*/
|
|
78
|
-
private
|
|
82
|
+
private runACEAnalysis;
|
|
79
83
|
/**
|
|
80
84
|
* Compare impact severity (higher = worse). Used to take the worst impact per rule.
|
|
85
|
+
* Uses IMPACT_ORDER for both axe and ACE native levels.
|
|
81
86
|
*/
|
|
82
87
|
private impactRank;
|
|
83
88
|
/**
|
|
84
89
|
* Convert ACE report to our AccessibilityResults format.
|
|
85
|
-
*
|
|
90
|
+
* Uses ACE native levels (violation, potentialviolation, recommendation, etc.).
|
|
86
91
|
*/
|
|
87
92
|
private aceToAccessibilityResults;
|
|
88
93
|
/**
|
|
@@ -100,7 +105,10 @@ export declare class AccessibilityRunner {
|
|
|
100
105
|
*/
|
|
101
106
|
private getRuleTagMapping;
|
|
102
107
|
/**
|
|
103
|
-
* Check if a rule matches any of the specified tags
|
|
108
|
+
* Check if a rule matches any of the specified tags.
|
|
109
|
+
* Only uses ruleData.tags when the array is non-empty; otherwise falls back to
|
|
110
|
+
* the static mapping and finally defaults to true (include the rule).
|
|
111
|
+
* This prevents rules with tags:[] from being silently dropped.
|
|
104
112
|
*/
|
|
105
113
|
private ruleMatchesTags;
|
|
106
114
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessibility-runner.d.ts","sourceRoot":"","sources":["../../src/core/accessibility-runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAA;AAGtC,OAAO,KAAK,EACV,oBAAoB,EAIpB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACb,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"accessibility-runner.d.ts","sourceRoot":"","sources":["../../src/core/accessibility-runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAA;AAGtC,OAAO,KAAK,EACV,oBAAoB,EAIpB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACb,MAAM,mBAAmB,CAAA;AAW1B,mDAAmD;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAE5D;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,kBAAkB;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,qCAAqC;IACrC,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACzB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B;;mGAE+F;IAC/F,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,gCAAgC;IAChC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,8CAA8C;IAC9C,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,kCAAkC;IAClC,cAAc,CAAC,EAAE;QACf,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAA;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC5B,CAAA;IACD,oGAAoG;IACpG,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AA+FD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAQ;;IASvB;;;OAGG;YACW,eAAe;IA+D7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;YACW,cAAc;IA0B5B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmEjC;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;OAKG;YACW,cAAc;IAqB5B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAKlB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAoEjC;;OAEG;YACW,wBAAwB;IA4BtC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAmCzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;OAEG;IACG,GAAG,CACP,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC;CA+DtC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import * as path from 'path';
|
|
6
6
|
import { fileURLToPath } from 'url';
|
|
7
|
+
import { IMPACT_ORDER } from '../types/index.js';
|
|
7
8
|
/**
|
|
8
9
|
* Debug logger that writes to stderr to avoid interfering with MCP protocol
|
|
9
10
|
*/
|
|
@@ -18,6 +19,38 @@ const DEFAULT_AXE_TAGS = [
|
|
|
18
19
|
'wcag21aa',
|
|
19
20
|
'best-practice',
|
|
20
21
|
];
|
|
22
|
+
/**
|
|
23
|
+
* Parse tagName, className, and id from HTML snippet or path.dom string.
|
|
24
|
+
* Used to populate domInfo so Element and Class selector columns are accurate.
|
|
25
|
+
*/
|
|
26
|
+
function parseDomFromSnippet(snippet, pathDom) {
|
|
27
|
+
let tagName = '';
|
|
28
|
+
let className = null;
|
|
29
|
+
let id = null;
|
|
30
|
+
if (snippet) {
|
|
31
|
+
const tagMatch = snippet.match(/<\s*(\w+)[\s>]/);
|
|
32
|
+
if (tagMatch)
|
|
33
|
+
tagName = tagMatch[1].toLowerCase();
|
|
34
|
+
const classMatch = snippet.match(/class\s*=\s*["']([^"']*)["']/);
|
|
35
|
+
if (classMatch)
|
|
36
|
+
className = classMatch[1].trim() || null;
|
|
37
|
+
const idMatch = snippet.match(/\bid\s*=\s*["']([^"']*)["']/);
|
|
38
|
+
if (idMatch)
|
|
39
|
+
id = idMatch[1].trim() || null;
|
|
40
|
+
}
|
|
41
|
+
if (!tagName && pathDom) {
|
|
42
|
+
const segments = pathDom.split(/[/.]/);
|
|
43
|
+
const last = segments[segments.length - 1];
|
|
44
|
+
if (last) {
|
|
45
|
+
const tagPart = last.replace(/\[\d+\]$/, '').trim();
|
|
46
|
+
if (tagPart)
|
|
47
|
+
tagName = tagPart.toLowerCase();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (!tagName)
|
|
51
|
+
tagName = 'element';
|
|
52
|
+
return { tagName, className, id };
|
|
53
|
+
}
|
|
21
54
|
/**
|
|
22
55
|
* AccessibilityRunner class - Handles accessibility test execution with axe-core or ACE
|
|
23
56
|
*/
|
|
@@ -29,15 +62,19 @@ export class AccessibilityRunner {
|
|
|
29
62
|
this.axePath = path.join(serverDir, 'node_modules', 'axe-core', 'axe.min.js');
|
|
30
63
|
}
|
|
31
64
|
/**
|
|
32
|
-
* Navigate to URL and wait for page to be ready
|
|
65
|
+
* Navigate to URL and wait for page to be ready.
|
|
66
|
+
* @returns HTTP status code of the main document response (e.g. 200, 401), or undefined if unavailable.
|
|
33
67
|
*/
|
|
34
68
|
async navigateAndWait(page, url, waitStrategy = 'networkidle', timeout = 30000) {
|
|
35
69
|
debugLog(`Navigating to ${url}...`);
|
|
36
70
|
const startTime = Date.now();
|
|
37
|
-
await page.goto(url, {
|
|
71
|
+
const response = await page.goto(url, {
|
|
38
72
|
waitUntil: 'domcontentloaded',
|
|
39
73
|
timeout,
|
|
40
74
|
});
|
|
75
|
+
const status = response?.status();
|
|
76
|
+
if (status != null)
|
|
77
|
+
debugLog(`Page response status: ${status}`);
|
|
41
78
|
debugLog('Page navigation started');
|
|
42
79
|
const remainingTime = timeout - (Date.now() - startTime);
|
|
43
80
|
if (remainingTime > 0) {
|
|
@@ -77,6 +114,7 @@ export class AccessibilityRunner {
|
|
|
77
114
|
}
|
|
78
115
|
}
|
|
79
116
|
debugLog(`Page loading completed in ${Date.now() - startTime}ms - proceeding with accessibility analysis`);
|
|
117
|
+
return status;
|
|
80
118
|
}
|
|
81
119
|
/**
|
|
82
120
|
* Build axe run options (runOnly tags)
|
|
@@ -121,19 +159,19 @@ export class AccessibilityRunner {
|
|
|
121
159
|
violations[categoryKey] = { count: 0, items: {} };
|
|
122
160
|
}
|
|
123
161
|
const xpaths = (v.nodes || []).map((n) => (n.target && n.target[0]) || '');
|
|
124
|
-
const domInfo = (v.nodes || []).map((n) =>
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
162
|
+
const domInfo = (v.nodes || []).map((n) => {
|
|
163
|
+
const selector = n.target && n.target[0];
|
|
164
|
+
const { tagName, className, id } = parseDomFromSnippet(n.html ?? null, selector);
|
|
165
|
+
return {
|
|
166
|
+
innerHTML: n.html ? n.html.substring(0, 200) : null,
|
|
167
|
+
selector,
|
|
168
|
+
tagName,
|
|
169
|
+
className,
|
|
170
|
+
id,
|
|
171
|
+
};
|
|
172
|
+
});
|
|
173
|
+
// Use axe-core native impact levels (critical, serious, moderate, minor)
|
|
174
|
+
const impact = v.impact?.toLowerCase() ?? 'moderate';
|
|
137
175
|
const ruleData = {
|
|
138
176
|
count: v.nodes?.length ?? 0,
|
|
139
177
|
xpaths,
|
|
@@ -155,13 +193,38 @@ export class AccessibilityRunner {
|
|
|
155
193
|
};
|
|
156
194
|
}
|
|
157
195
|
/**
|
|
158
|
-
*
|
|
196
|
+
* Map axe-style WCAG tags to IBM Equal Access policy IDs.
|
|
197
|
+
* ACE is scoped at scan time via setConfig({ policies }) — not post-filtered.
|
|
198
|
+
* wcag22* → WCAG_2_2
|
|
199
|
+
* wcag21* → WCAG_2_1
|
|
200
|
+
* wcag2* → WCAG_2_0
|
|
201
|
+
* best-practice / (default) → IBM_Accessibility
|
|
159
202
|
*/
|
|
160
|
-
|
|
203
|
+
acePolicesFromTags(tags) {
|
|
204
|
+
if (!tags || tags.length === 0)
|
|
205
|
+
return ['IBM_Accessibility'];
|
|
206
|
+
if (tags.some((t) => t.startsWith('wcag22')))
|
|
207
|
+
return ['WCAG_2_2'];
|
|
208
|
+
if (tags.some((t) => t.startsWith('wcag21')))
|
|
209
|
+
return ['WCAG_2_1'];
|
|
210
|
+
if (tags.some((t) => t.startsWith('wcag2')))
|
|
211
|
+
return ['WCAG_2_0'];
|
|
212
|
+
return ['IBM_Accessibility'];
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Run IBM Equal Access (accessibility-checker) analysis on HTML content.
|
|
216
|
+
* ACE never fetches URLs; the caller loads the page in Playwright and passes the final HTML
|
|
217
|
+
* (including everything changed by JavaScript). This avoids ACE's internal Puppeteer launch.
|
|
218
|
+
* WCAG level/policy is configured via setConfig before the scan — tags are engine settings.
|
|
219
|
+
*/
|
|
220
|
+
async runACEAnalysis(htmlContent, url, tags) {
|
|
161
221
|
const aChecker = await import('accessibility-checker');
|
|
162
222
|
const label = `audit-${Date.now()}`;
|
|
223
|
+
const policies = this.acePolicesFromTags(tags);
|
|
224
|
+
debugLog(`ACE policies: ${policies.join(', ')}`);
|
|
163
225
|
try {
|
|
164
|
-
|
|
226
|
+
await aChecker.setConfig({ policies, ruleArchive: 'latest' });
|
|
227
|
+
const result = await aChecker.getCompliance(htmlContent, label);
|
|
165
228
|
const report = result.report;
|
|
166
229
|
return this.aceToAccessibilityResults(report, url);
|
|
167
230
|
}
|
|
@@ -169,43 +232,18 @@ export class AccessibilityRunner {
|
|
|
169
232
|
await aChecker.close?.();
|
|
170
233
|
}
|
|
171
234
|
}
|
|
172
|
-
/**
|
|
173
|
-
* Map ACE report level to IBM Equal Access severity levels.
|
|
174
|
-
* Matches the IBM browser tool exactly:
|
|
175
|
-
* violation → 'violation' (🚫 red)
|
|
176
|
-
* potentialviolation → 'needs-review' (⚠️ yellow)
|
|
177
|
-
* potentialrecommendation→ 'needs-review' (⚠️ yellow)
|
|
178
|
-
* recommendation → 'recommendation' (ℹ️ blue)
|
|
179
|
-
* manual → 'needs-review' (⚠️ yellow – manual check required)
|
|
180
|
-
* pass / ignored → 'minor'
|
|
181
|
-
*/
|
|
182
|
-
aceLevelToImpact(level) {
|
|
183
|
-
const l = level.toLowerCase();
|
|
184
|
-
if (l === 'violation')
|
|
185
|
-
return 'violation';
|
|
186
|
-
if (l === 'potentialviolation' || l === 'potentialrecommendation' || l === 'manual')
|
|
187
|
-
return 'needs-review';
|
|
188
|
-
if (l === 'recommendation')
|
|
189
|
-
return 'recommendation';
|
|
190
|
-
return 'minor';
|
|
191
|
-
}
|
|
192
235
|
/**
|
|
193
236
|
* Compare impact severity (higher = worse). Used to take the worst impact per rule.
|
|
237
|
+
* Uses IMPACT_ORDER for both axe and ACE native levels.
|
|
194
238
|
*/
|
|
195
239
|
impactRank(a) {
|
|
196
240
|
if (!a)
|
|
197
241
|
return 0;
|
|
198
|
-
|
|
199
|
-
violation: 4,
|
|
200
|
-
'needs-review': 3,
|
|
201
|
-
recommendation: 2,
|
|
202
|
-
minor: 1,
|
|
203
|
-
};
|
|
204
|
-
return r[a] ?? 0;
|
|
242
|
+
return IMPACT_ORDER[a.toLowerCase()] ?? 2;
|
|
205
243
|
}
|
|
206
244
|
/**
|
|
207
245
|
* Convert ACE report to our AccessibilityResults format.
|
|
208
|
-
*
|
|
246
|
+
* Uses ACE native levels (violation, potentialviolation, recommendation, etc.).
|
|
209
247
|
*/
|
|
210
248
|
aceToAccessibilityResults(report, url) {
|
|
211
249
|
const violations = { error: { count: 0, items: {} } };
|
|
@@ -213,10 +251,12 @@ export class AccessibilityRunner {
|
|
|
213
251
|
const violationItems = report.results.filter((r) => r.level === 'violation' ||
|
|
214
252
|
r.level === 'potentialviolation' ||
|
|
215
253
|
r.level === 'recommendation' ||
|
|
216
|
-
r.level === 'potentialrecommendation'
|
|
254
|
+
r.level === 'potentialrecommendation' ||
|
|
255
|
+
r.level === 'manual');
|
|
217
256
|
violationItems.forEach((item) => {
|
|
218
257
|
const ruleId = item.ruleId;
|
|
219
|
-
|
|
258
|
+
// Use ACE native level (violation, potentialviolation, recommendation, etc.)
|
|
259
|
+
const itemImpact = item.level.toLowerCase();
|
|
220
260
|
if (!violations.error.items[ruleId]) {
|
|
221
261
|
violations.error.items[ruleId] = {
|
|
222
262
|
count: 0,
|
|
@@ -230,9 +270,13 @@ export class AccessibilityRunner {
|
|
|
230
270
|
const rule = violations.error.items[ruleId];
|
|
231
271
|
rule.count += 1;
|
|
232
272
|
rule.xpaths.push(item.path.dom || '');
|
|
273
|
+
const { tagName, className, id } = parseDomFromSnippet(item.snippet ?? null, item.path.dom);
|
|
233
274
|
rule.domInfo.push({
|
|
234
275
|
innerHTML: item.snippet ? item.snippet.substring(0, 200) : null,
|
|
235
276
|
selector: item.path.dom,
|
|
277
|
+
tagName,
|
|
278
|
+
className,
|
|
279
|
+
id,
|
|
236
280
|
});
|
|
237
281
|
if (itemImpact && this.impactRank(itemImpact) > this.impactRank(rule.impact)) {
|
|
238
282
|
rule.impact = itemImpact;
|
|
@@ -259,7 +303,8 @@ export class AccessibilityRunner {
|
|
|
259
303
|
*/
|
|
260
304
|
async runAccessibilityAnalysis(page, url, engine, tags) {
|
|
261
305
|
if (engine === 'ace') {
|
|
262
|
-
|
|
306
|
+
const html = await page.content();
|
|
307
|
+
return this.runACEAnalysis(html, url, tags);
|
|
263
308
|
}
|
|
264
309
|
const axeResult = await this.runAxeAnalysis(page, tags);
|
|
265
310
|
const viewport = page.viewportSize();
|
|
@@ -328,12 +373,15 @@ export class AccessibilityRunner {
|
|
|
328
373
|
};
|
|
329
374
|
}
|
|
330
375
|
/**
|
|
331
|
-
* Check if a rule matches any of the specified tags
|
|
376
|
+
* Check if a rule matches any of the specified tags.
|
|
377
|
+
* Only uses ruleData.tags when the array is non-empty; otherwise falls back to
|
|
378
|
+
* the static mapping and finally defaults to true (include the rule).
|
|
379
|
+
* This prevents rules with tags:[] from being silently dropped.
|
|
332
380
|
*/
|
|
333
381
|
ruleMatchesTags(ruleId, ruleData, tags) {
|
|
334
382
|
if (!tags || tags.length === 0)
|
|
335
383
|
return true;
|
|
336
|
-
if (ruleData.tags && Array.isArray(ruleData.tags)) {
|
|
384
|
+
if (ruleData.tags && Array.isArray(ruleData.tags) && ruleData.tags.length > 0) {
|
|
337
385
|
return ruleData.tags.some((tag) => tags.includes(tag));
|
|
338
386
|
}
|
|
339
387
|
const mapping = this.getRuleTagMapping();
|
|
@@ -376,23 +424,20 @@ export class AccessibilityRunner {
|
|
|
376
424
|
const { url, waitForLoad = 'networkidle', timeout = 30000, tags, engine = 'axe', applyTagFilter = false, } = config;
|
|
377
425
|
try {
|
|
378
426
|
if (engine === 'ace') {
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
const
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
filteredResults = this.filterByTags(accessibilityResults, tags);
|
|
386
|
-
appliedFilters = { tags, originalIssueCount };
|
|
387
|
-
debugLog(`Filtered results: ${originalIssueCount} -> ${this.countTotalIssues(filteredResults.violations)} issues`);
|
|
388
|
-
}
|
|
427
|
+
// Always load the page in Playwright and pass the final HTML to ACE (no separate ACE browser).
|
|
428
|
+
// This gives us JS-rendered content and supports Basic Auth; ACE only analyzes the HTML string.
|
|
429
|
+
const responseStatus = await this.navigateAndWait(page, url, waitForLoad, timeout);
|
|
430
|
+
const html = await page.content();
|
|
431
|
+
debugLog(`Running IBM Equal Access (ACE) analysis on page content (${url})...`);
|
|
432
|
+
const accessibilityResults = await this.runACEAnalysis(html, url, tags);
|
|
389
433
|
return {
|
|
390
434
|
accessibilityResults,
|
|
391
|
-
filteredResults,
|
|
392
|
-
appliedFilters,
|
|
435
|
+
filteredResults: undefined,
|
|
436
|
+
appliedFilters: tags && tags.length > 0 ? { tags } : undefined,
|
|
437
|
+
responseStatus,
|
|
393
438
|
};
|
|
394
439
|
}
|
|
395
|
-
await this.navigateAndWait(page, url, waitForLoad, timeout);
|
|
440
|
+
const responseStatus = await this.navigateAndWait(page, url, waitForLoad, timeout);
|
|
396
441
|
debugLog(`Running axe-core analysis on ${url}...`);
|
|
397
442
|
const accessibilityResults = await this.runAccessibilityAnalysis(page, url, 'axe', tags);
|
|
398
443
|
const originalIssueCount = this.countTotalIssues(accessibilityResults.violations);
|
|
@@ -407,6 +452,7 @@ export class AccessibilityRunner {
|
|
|
407
452
|
accessibilityResults,
|
|
408
453
|
filteredResults,
|
|
409
454
|
appliedFilters,
|
|
455
|
+
responseStatus,
|
|
410
456
|
};
|
|
411
457
|
}
|
|
412
458
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessibility-runner.js","sourceRoot":"","sources":["../../src/core/accessibility-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accessibility-runner.js","sourceRoot":"","sources":["../../src/core/accessibility-runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAUnC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAG,IAAe;IAClC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;AACxB,CAAC;AA0CD,4CAA4C;AAC5C,MAAM,gBAAgB,GAAG;IACvB,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,eAAe;CAChB,CAAA;AAoDD;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,OAAkC,EAClC,OAAgB;IAEhB,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,IAAI,SAAS,GAAkB,IAAI,CAAA;IACnC,IAAI,EAAE,GAAkB,IAAI,CAAA;IAE5B,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAChD,IAAI,QAAQ;YAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QACjD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAChE,IAAI,UAAU;YAAE,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAA;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC5D,IAAI,OAAO;YAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YACnD,IAAI,OAAO;gBAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAC9C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,SAAS,CAAA;IACjC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAG9B;QACE,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;IAC/E,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAC3B,IAAU,EACV,GAAW,EACX,eAA6B,aAAa,EAC1C,UAAkB,KAAK;QAEvB,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAA;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACpC,SAAS,EAAE,kBAAkB;YAC7B,OAAO;SACR,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAA;QACjC,IAAI,MAAM,IAAI,IAAI;YAAE,QAAQ,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAA;QAC/D,QAAQ,CAAC,yBAAyB,CAAC,CAAA;QAEnC,MAAM,aAAa,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAA;QACxD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,QAAQ,YAAY,EAAE,CAAC;oBACrB,KAAK,aAAa;wBAChB,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE;4BACzC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC;yBACvC,CAAC,CAAA;wBACF,QAAQ,CAAC,gCAAgC,CAAC,CAAA;wBAC1C,MAAK;oBACP,KAAK,MAAM;wBACT,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;4BAClC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC;yBACvC,CAAC,CAAA;wBACF,QAAQ,CAAC,yBAAyB,CAAC,CAAA;wBACnC,MAAK;oBACP,KAAK,kBAAkB;wBACrB,QAAQ,CAAC,oBAAoB,CAAC,CAAA;wBAC9B,MAAK;gBACT,CAAC;gBACD,MAAM,aAAa,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAA;gBACxD,IAAI,aAAa,GAAG,IAAI,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,eAAe,CACxB,GAAG,EAAE,CACH,CAAC,OAAO,QAAQ,KAAK,WAAW;4BAC9B,QAAQ,CAAC,UAAU,KAAK,UAAU;4BAClC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAY,EACtC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAC3C,CAAA;wBACD,QAAQ,CAAC,cAAc,CAAC,CAAA;oBAC1B,CAAC;oBAAC,MAAM,CAAC;wBACP,QAAQ,CAAC,qDAAqD,CAAC,CAAA;oBACjE,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,CAAC,qDAAqD,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;QAED,QAAQ,CACN,6BAA6B,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,6CAA6C,CACjG,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAAyB;QAC/C,MAAM,OAAO,GACX,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAA;QAC7D,OAAO,EAAE,OAAO,EAAE,CAAA;IACpB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,IAAU,EACV,IAAyB;QAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC7C,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAE/C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CACnC,CAAC,OAA8B,EAAE,EAAE;YACjC,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,IAAI,OAAQ,MAAiF,CAAC,GAAG,EAAE,GAAG,KAAK,UAAU,EAAE,CAAC;oBACtH,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAA;oBAC7C,OAAM;gBACR,CAAC;gBACD,CAAC;gBAAC,MAAgF;qBAC/E,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;qBAChB,IAAI,CAAC,OAAO,CAAC;qBACb,KAAK,CAAC,MAAM,CAAC,CAAA;YAClB,CAAC,CAAC,CAAA;QACJ,CAAC,EACD,UAAU,CACX,CAAA;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAC/B,SAA0B,EAC1B,GAAW,EACX,eAMC;QAED,MAAM,UAAU,GAAwB,EAAE,CAAA;QAC1C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAE1C,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAe,EAAE,EAAE;YAC/C,MAAM,WAAW,GACf,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC7C,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACrC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,OAAO,CAAA;YAEb,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7B,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;YACnD,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CACvC,CAAA;YACD,MAAM,OAAO,GAAc,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnD,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACxC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,QAAQ,CAAC,CAAA;gBAChF,OAAO;oBACL,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;oBACnD,QAAQ;oBACR,OAAO;oBACP,SAAS;oBACT,EAAE;iBACH,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,yEAAyE;YACzE,MAAM,MAAM,GACT,CAAC,CAAC,MAAM,EAAE,WAAW,EAAsC,IAAI,UAAU,CAAA;YAE5E,MAAM,QAAQ,GAA0B;gBACtC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;gBAC3B,MAAM;gBACN,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;gBAC5C,OAAO;gBACP,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;gBAClB,MAAM;aACP,CAAA;YAED,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAA;YAC9C,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAA;QACjD,CAAC,CAAC,CAAA;QAEF,OAAO;YACL,GAAG;YACH,SAAS;YACT,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;YAChD,UAAU,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE;YACzD,eAAe;YACf,UAAU;SACX,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CAAC,IAAyB;QAClD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAC5D,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACjE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACjE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QAChE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC9B,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,cAAc,CAC1B,WAAmB,EACnB,GAAW,EACX,IAAyB;QAEzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;QACtD,MAAM,KAAK,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;QAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC9C,QAAQ,CAAC,iBAAiB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEhD,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC7D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;YAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,MAA8B,CAAA;YACpD,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACpD,CAAC;gBAAS,CAAC;YACT,MAAM,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAA;QAC1B,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,CAAkC;QACnD,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAC/B,MAAiB,EACjB,GAAW;QAEX,MAAM,UAAU,GAAwB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAA;QAC1E,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAE1C,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK,KAAK,WAAW;YACvB,CAAC,CAAC,KAAK,KAAK,oBAAoB;YAChC,CAAC,CAAC,KAAK,KAAK,gBAAgB;YAC5B,CAAC,CAAC,KAAK,KAAK,yBAAyB;YACrC,CAAC,CAAC,KAAK,KAAK,QAAQ,CACvB,CAAA;QAED,cAAc,CAAC,OAAO,CAAC,CAAC,IAAmB,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YAC1B,6EAA6E;YAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAqC,CAAA;YAC9E,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,UAAU,CAAC,KAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG;oBAChC,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,EAAE;oBACV,WAAW,EAAE,IAAI,CAAC,OAAO;oBACzB,OAAO,EAAE,EAAE;oBACX,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,UAAU;iBACnB,CAAA;YACH,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,CAAC,KAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAC5C,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;YACrC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,mBAAmB,CACpD,IAAI,CAAC,OAAO,IAAI,IAAI,EACpB,IAAI,CAAC,IAAI,CAAC,GAAG,CACd,CAAA;YACD,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC;gBACjB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC/D,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBACvB,OAAO;gBACP,SAAS;gBACT,EAAE;aACH,CAAC,CAAA;YACF,IAAI,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7E,IAAI,CAAC,MAAM,GAAG,UAAU,CAAA;YAC1B,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtD,UAAU,CAAC,KAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,OAAO;YACL,GAAG;YACH,SAAS;YACT,UAAU,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE;YACxD,UAAU,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE;YAC7C,eAAe,EAAE;gBACf,SAAS,EAAE,uBAAuB;gBAClC,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,GAAG;aAClB;YACD,UAAU;SACX,CAAA;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CACpC,IAAU,EACV,GAAW,EACX,MAA2B,EAC3B,IAAyB;QAEzB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YACjC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACpC,MAAM,eAAe,GAAG;YACtB,SAAS,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;YACzD,WAAW,EAAE,QAAQ,EAAE,KAAK,IAAI,IAAI;YACpC,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG;YACrC,eAAe,EAAE,MAAM,IAAI;iBACxB,QAAQ,CAAC,GAAG,EAAE,CAAE,MAA8C,CAAC,WAAW,EAAE,IAAI,CAAC;iBACjF,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YACzB,gBAAgB,EAAE,MAAM,IAAI;iBACzB,QAAQ,CAAC,GAAG,EAAE,CAAE,MAA+C,CAAC,WAAW,EAAE,KAAK,CAAC;iBACnF,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;SAC1B,CAAA;QAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,GAAG,EAAE,eAAe,CAAC,CAAA;IACxE,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,UAA+B;QACtD,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,QAA2C,EAAE,EAAE;YAChF,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC/B,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAA;YACzB,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;OAIG;IACK,iBAAiB;QACvB,MAAM,KAAK,GAAuB;YAChC,QAAQ;YACR,SAAS;YACT,SAAS;SACV,CAAA;QACD,MAAM,MAAM,GAAuB;YACjC,SAAS;YACT,UAAU;YACV,UAAU;SACX,CAAA;QACD,OAAO;YACL,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;YACrD,WAAW,EAAE,KAAK;YAClB,KAAK,EAAE,KAAK;YACZ,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,KAAK;YACtB,WAAW,EAAE,KAAK;YAClB,uBAAuB,EAAE,KAAK;YAC9B,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,KAAK;YACpB,gBAAgB,EAAE,KAAK;YACvB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,uBAAuB,EAAE,KAAK;YAC9B,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;YAC7C,uCAAuC;YACvC,uBAAuB,EAAE,KAAK;YAC9B,2BAA2B,EAAE,KAAK;YAClC,wBAAwB,EAAE,KAAK;YAC/B,mBAAmB,EAAE,KAAK;YAC1B,6BAA6B,EAAE,MAAM;SACtC,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACK,eAAe,CACrB,MAAc,EACd,QAA+B,EAC/B,IAAwB;QAExB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC3C,IAAI,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAuB,CAAC,CAAC,CAAA;QAC5E,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACK,YAAY,CAClB,OAA6B,EAC7B,IAAwB;QAExB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAA;QAE9C,MAAM,kBAAkB,GAAwB,EAAE,CAAA;QAElD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE;YACrE,IAAI,CAAC,QAAQ,EAAE,KAAK;gBAAE,OAAM;YAE5B,MAAM,aAAa,GAA0C,EAAE,CAAA;YAC/D,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE;gBAC5D,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;oBACjD,aAAa,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAA;gBAClC,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CACvD,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAC1C,CAAC,CACF,CAAA;gBACD,kBAAkB,CAAC,WAAW,CAAC,GAAG;oBAChC,KAAK,EAAE,aAAa;oBACpB,KAAK,EAAE,aAAa;iBACrB,CAAA;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAA;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CACP,IAAU,EACV,MAAiC;QAEjC,MAAM,EACJ,GAAG,EACH,WAAW,GAAG,aAAa,EAC3B,OAAO,GAAG,KAAK,EACf,IAAI,EACJ,MAAM,GAAG,KAAK,EACd,cAAc,GAAG,KAAK,GACvB,GAAG,MAAM,CAAA;QAEV,IAAI,CAAC;YACH,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,+FAA+F;gBAC/F,gGAAgG;gBAChG,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;gBAClF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBACjC,QAAQ,CAAC,4DAA4D,GAAG,MAAM,CAAC,CAAA;gBAC/E,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;gBAEvE,OAAO;oBACL,oBAAoB;oBACpB,eAAe,EAAE,SAAS;oBAC1B,cAAc,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;oBAC9D,cAAc;iBACf,CAAA;YACH,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;YAClF,QAAQ,CAAC,gCAAgC,GAAG,KAAK,CAAC,CAAA;YAElD,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAC9D,IAAI,EACJ,GAAG,EACH,KAAK,EACL,IAAI,CACL,CAAA;YAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;YAEjF,IAAI,eAAiD,CAAA;YACrD,IAAI,cAA2D,CAAA;YAE/D,IAAI,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAA;gBAC/D,cAAc,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAA;gBAC7C,QAAQ,CACN,qBAAqB,kBAAkB,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpI,CAAA;YACH,CAAC;YAED,OAAO;gBACL,oBAAoB;gBACpB,eAAe;gBACf,cAAc;gBACd,cAAc;aACf,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;YACzD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACxD,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,KAAK,YAAY,EAAE,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared HTTP Basic Auth utilities for tools that use URLs.
|
|
3
|
+
* Use when auditing or fetching URLs that require Basic Authentication.
|
|
4
|
+
*/
|
|
5
|
+
export interface ParsedUrlCredentials {
|
|
6
|
+
urlWithoutAuth: string;
|
|
7
|
+
username?: string;
|
|
8
|
+
password?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface BasicAuthParams {
|
|
11
|
+
basicAuthUsername?: string;
|
|
12
|
+
basicAuthPassword?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Parse Basic Auth credentials from URL if present (e.g. https://user:password@host/path).
|
|
16
|
+
* Returns URL with credentials stripped and optional username/password.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseUrlCredentials(url: string): ParsedUrlCredentials;
|
|
19
|
+
/**
|
|
20
|
+
* Build the Authorization header value for HTTP Basic Auth.
|
|
21
|
+
* Returns "Basic <base64(user:password)>" or null if either credential is missing.
|
|
22
|
+
*/
|
|
23
|
+
export declare function getBasicAuthHeader(username: string | undefined, password: string | undefined): string | null;
|
|
24
|
+
/**
|
|
25
|
+
* Resolve URL and Basic Auth from a URL (possibly with user:password@host) and optional
|
|
26
|
+
* explicit username/password. Explicit params override credentials embedded in the URL.
|
|
27
|
+
* Returns normalized URL without auth and credentials suitable for passing to auditUrl etc.
|
|
28
|
+
*/
|
|
29
|
+
export declare function resolveBasicAuth(url: string, explicitUsername?: string, explicitPassword?: string): {
|
|
30
|
+
urlWithoutAuth: string;
|
|
31
|
+
basicAuthUsername: string | undefined;
|
|
32
|
+
basicAuthPassword: string | undefined;
|
|
33
|
+
basicAuthHeader: string | null;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=basic-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-auth.d.ts","sourceRoot":"","sources":["../../src/core/basic-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAcrE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,IAAI,CAIf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,MAAM,GACxB;IACD,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B,CAWA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared HTTP Basic Auth utilities for tools that use URLs.
|
|
3
|
+
* Use when auditing or fetching URLs that require Basic Authentication.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Parse Basic Auth credentials from URL if present (e.g. https://user:password@host/path).
|
|
7
|
+
* Returns URL with credentials stripped and optional username/password.
|
|
8
|
+
*/
|
|
9
|
+
export function parseUrlCredentials(url) {
|
|
10
|
+
try {
|
|
11
|
+
const parsed = new URL(url);
|
|
12
|
+
if (parsed.username || parsed.password) {
|
|
13
|
+
const username = decodeURIComponent(parsed.username);
|
|
14
|
+
const password = decodeURIComponent(parsed.password);
|
|
15
|
+
parsed.username = '';
|
|
16
|
+
parsed.password = '';
|
|
17
|
+
return { urlWithoutAuth: parsed.toString(), username, password };
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// ignore invalid URL
|
|
22
|
+
}
|
|
23
|
+
return { urlWithoutAuth: url };
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Build the Authorization header value for HTTP Basic Auth.
|
|
27
|
+
* Returns "Basic <base64(user:password)>" or null if either credential is missing.
|
|
28
|
+
*/
|
|
29
|
+
export function getBasicAuthHeader(username, password) {
|
|
30
|
+
if (username == null || password == null)
|
|
31
|
+
return null;
|
|
32
|
+
const encoded = Buffer.from(`${username}:${password}`, 'utf8').toString('base64');
|
|
33
|
+
return `Basic ${encoded}`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Resolve URL and Basic Auth from a URL (possibly with user:password@host) and optional
|
|
37
|
+
* explicit username/password. Explicit params override credentials embedded in the URL.
|
|
38
|
+
* Returns normalized URL without auth and credentials suitable for passing to auditUrl etc.
|
|
39
|
+
*/
|
|
40
|
+
export function resolveBasicAuth(url, explicitUsername, explicitPassword) {
|
|
41
|
+
const parsed = parseUrlCredentials(url);
|
|
42
|
+
const basicAuthUsername = explicitUsername ?? parsed.username;
|
|
43
|
+
const basicAuthPassword = explicitPassword ?? parsed.password;
|
|
44
|
+
const basicAuthHeader = getBasicAuthHeader(basicAuthUsername, basicAuthPassword);
|
|
45
|
+
return {
|
|
46
|
+
urlWithoutAuth: parsed.urlWithoutAuth,
|
|
47
|
+
basicAuthUsername,
|
|
48
|
+
basicAuthPassword,
|
|
49
|
+
basicAuthHeader,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=basic-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-auth.js","sourceRoot":"","sources":["../../src/core/basic-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACpD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACpD,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAA;YACpB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAA;YACpB,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;QAClE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;IACD,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,CAAA;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA4B,EAC5B,QAA4B;IAE5B,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACjF,OAAO,SAAS,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAW,EACX,gBAAyB,EACzB,gBAAyB;IAOzB,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,MAAM,CAAC,QAAQ,CAAA;IAC7D,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,MAAM,CAAC,QAAQ,CAAA;IAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;IAChF,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,iBAAiB;QACjB,iBAAiB;QACjB,eAAe;KAChB,CAAA;AACH,CAAC"}
|
package/dist/core/config.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ export interface ServerConfig {
|
|
|
25
25
|
screenSizes: ScreenSize[];
|
|
26
26
|
headless: boolean;
|
|
27
27
|
}
|
|
28
|
+
/** Reset config cache (for testing only). */
|
|
29
|
+
export declare function __resetConfigCache(): void;
|
|
28
30
|
export declare function loadConfig(): ServerConfig;
|
|
29
31
|
/**
|
|
30
32
|
* Get the current server config (loads from env if not yet loaded).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,CAAA;AAEb,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,CAAA;AAEtC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAyDD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAgED,wBAAgB,UAAU,IAAI,YAAY,CAoBzC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAExC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAO/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,CAAA;AAEb,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,CAAA;AAEtC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAyDD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAgED,6CAA6C;AAC7C,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,wBAAgB,UAAU,IAAI,YAAY,CAoBzC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAExC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAO/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C"}
|
package/dist/core/config.js
CHANGED
|
@@ -114,6 +114,10 @@ function parseScreenSizes(input) {
|
|
|
114
114
|
* Call once at startup; result is cached.
|
|
115
115
|
*/
|
|
116
116
|
let cachedConfig = null;
|
|
117
|
+
/** Reset config cache (for testing only). */
|
|
118
|
+
export function __resetConfigCache() {
|
|
119
|
+
cachedConfig = null;
|
|
120
|
+
}
|
|
117
121
|
export function loadConfig() {
|
|
118
122
|
if (cachedConfig)
|
|
119
123
|
return cachedConfig;
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAqBH,+EAA+E;AAC/E,MAAM,cAAc,GAGhB;IACF,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;IACvD,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;IACnE,SAAS,EAAE;QACT,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC;QAC1C,SAAS,EAAE,UAAU;KACtB;IACD,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;IAClE,QAAQ,EAAE;QACR,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC;QACrD,SAAS,EAAE,UAAU;KACtB;IACD,SAAS,EAAE;QACT,OAAO,EAAE;YACP,QAAQ;YACR,SAAS;YACT,UAAU;YACV,SAAS;YACT,UAAU;YACV,WAAW;SACZ;QACD,SAAS,EAAE,UAAU;KACtB;IACD,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;IAC7E,QAAQ,EAAE;QACR,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;QAC5E,SAAS,EAAE,UAAU;KACtB;IACD,SAAS,EAAE;QACT,OAAO,EAAE;YACP,QAAQ;YACR,SAAS;YACT,UAAU;YACV,SAAS;YACT,UAAU;YACV,WAAW;YACX,SAAS;YACT,UAAU;YACV,WAAW;SACZ;QACD,SAAS,EAAE,UAAU;KACtB;CACF,CAAA;AAED,MAAM,cAAc,GAAe,KAAK,CAAA;AACxC,MAAM,kBAAkB,GAAc,QAAQ,CAAA;AAC9C,MAAM,sBAAsB,GAAG,IAAI,CAAA;AACnC,MAAM,oBAAoB,GAAiB;IACzC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE;CAClD,CAAA;AAUD,SAAS,cAAc,CAAC,KAAyB;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,kBAAkB,CAAA;IAErC,MAAM,UAAU,GAAG,KAAK;SACrB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAEtB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAC/D,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,EAAe,CAAA;QACrD,IAAI,GAAG,IAAI,cAAc;YAAE,OAAO,GAAG,CAAA;IACvC,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAe,CAAA;IAC3C,IAAI,SAAS,IAAI,cAAc;QAAE,OAAO,SAAS,CAAA;IAEjD,OAAO,CAAC,KAAK,CACX,uBAAuB,KAAK,qBAAqB,kBAAkB,GAAG,CACvE,CAAA;IACD,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,oBAAoB,CAAA;IAEvC,MAAM,KAAK,GAAiB,EAAE,CAAA;IAC9B,MAAM,KAAK,GAAG,KAAK;SAChB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAC1C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC7B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC9B,KAAK,EAAE,IAAI;aACZ,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CACX,+BAA+B,IAAI,4BAA4B,CAChE,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAA;AACxD,CAAC;AAED;;;GAGG;AACH,IAAI,YAAY,GAAwB,IAAI,CAAA;AAE5C,MAAM,UAAU,UAAU;IACxB,IAAI,YAAY;QAAE,OAAO,YAAY,CAAA;IAErC,MAAM,MAAM,GACT,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,EAAiB,IAAI,cAAc,CAAA;IAC1E,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACxD,MAAM,oBAAoB,GACxB,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,OAAO,IAAI,sBAAsB,CAAA;IAClE,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC9D,iFAAiF;IACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,OAAO,CAAA;IAEzD,YAAY,GAAG;QACb,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;QACxC,SAAS;QACT,oBAAoB;QACpB,WAAW;QACX,QAAQ;KACT,CAAA;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,UAAU,EAAE,CAAA;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAA;IAC1D,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,SAAS,CAAA;AACxD,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|