@setsquare/review-sdk 0.0.1
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/LICENSE +202 -0
- package/NOTICE +57 -0
- package/README.md +338 -0
- package/THIRD-PARTY-NOTICES.md +61 -0
- package/dist/autoscan.d.ts +25 -0
- package/dist/autoscan.d.ts.map +1 -0
- package/dist/autoscan.js +332 -0
- package/dist/autoscan.js.map +1 -0
- package/dist/axe.d.ts +96 -0
- package/dist/axe.d.ts.map +1 -0
- package/dist/axe.js +210 -0
- package/dist/axe.js.map +1 -0
- package/dist/bin/setsquare.d.ts +3 -0
- package/dist/bin/setsquare.d.ts.map +1 -0
- package/dist/bin/setsquare.js +21 -0
- package/dist/bin/setsquare.js.map +1 -0
- package/dist/brand.d.ts +84 -0
- package/dist/brand.d.ts.map +1 -0
- package/dist/brand.js +335 -0
- package/dist/brand.js.map +1 -0
- package/dist/checks/dynamic.d.ts +57 -0
- package/dist/checks/dynamic.d.ts.map +1 -0
- package/dist/checks/dynamic.js +184 -0
- package/dist/checks/dynamic.js.map +1 -0
- package/dist/checks/rule-pack.d.ts +34 -0
- package/dist/checks/rule-pack.d.ts.map +1 -0
- package/dist/checks/rule-pack.js +270 -0
- package/dist/checks/rule-pack.js.map +1 -0
- package/dist/checks/versions.d.ts +28 -0
- package/dist/checks/versions.d.ts.map +1 -0
- package/dist/checks/versions.js +45 -0
- package/dist/checks/versions.js.map +1 -0
- package/dist/ci.d.ts +37 -0
- package/dist/ci.d.ts.map +1 -0
- package/dist/ci.js +199 -0
- package/dist/ci.js.map +1 -0
- package/dist/contract.d.ts +334 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +35 -0
- package/dist/contract.js.map +1 -0
- package/dist/dedupe.d.ts +79 -0
- package/dist/dedupe.d.ts.map +1 -0
- package/dist/dedupe.js +102 -0
- package/dist/dedupe.js.map +1 -0
- package/dist/document.d.ts +29 -0
- package/dist/document.d.ts.map +1 -0
- package/dist/document.js +94 -0
- package/dist/document.js.map +1 -0
- package/dist/envelope.d.ts +124 -0
- package/dist/envelope.d.ts.map +1 -0
- package/dist/envelope.js +337 -0
- package/dist/envelope.js.map +1 -0
- package/dist/escape.d.ts +14 -0
- package/dist/escape.d.ts.map +1 -0
- package/dist/escape.js +20 -0
- package/dist/escape.js.map +1 -0
- package/dist/findings.d.ts +47 -0
- package/dist/findings.d.ts.map +1 -0
- package/dist/findings.js +229 -0
- package/dist/findings.js.map +1 -0
- package/dist/fixture.d.ts +7 -0
- package/dist/fixture.d.ts.map +1 -0
- package/dist/fixture.js +237 -0
- package/dist/fixture.js.map +1 -0
- package/dist/group.d.ts +214 -0
- package/dist/group.d.ts.map +1 -0
- package/dist/group.js +709 -0
- package/dist/group.js.map +1 -0
- package/dist/html-report.d.ts +68 -0
- package/dist/html-report.d.ts.map +1 -0
- package/dist/html-report.js +649 -0
- package/dist/html-report.js.map +1 -0
- package/dist/human.d.ts +65 -0
- package/dist/human.d.ts.map +1 -0
- package/dist/human.js +111 -0
- package/dist/human.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/infer.d.ts +65 -0
- package/dist/infer.d.ts.map +1 -0
- package/dist/infer.js +67 -0
- package/dist/infer.js.map +1 -0
- package/dist/insights.d.ts +140 -0
- package/dist/insights.d.ts.map +1 -0
- package/dist/insights.js +483 -0
- package/dist/insights.js.map +1 -0
- package/dist/install.d.ts +8 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +114 -0
- package/dist/install.js.map +1 -0
- package/dist/links.d.ts +45 -0
- package/dist/links.d.ts.map +1 -0
- package/dist/links.js +45 -0
- package/dist/links.js.map +1 -0
- package/dist/mask.d.ts +85 -0
- package/dist/mask.d.ts.map +1 -0
- package/dist/mask.js +98 -0
- package/dist/mask.js.map +1 -0
- package/dist/observe.d.ts +51 -0
- package/dist/observe.d.ts.map +1 -0
- package/dist/observe.js +233 -0
- package/dist/observe.js.map +1 -0
- package/dist/options.d.ts +249 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +185 -0
- package/dist/options.js.map +1 -0
- package/dist/output.d.ts +113 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +231 -0
- package/dist/output.js.map +1 -0
- package/dist/perf.d.ts +11 -0
- package/dist/perf.d.ts.map +1 -0
- package/dist/perf.js +150 -0
- package/dist/perf.js.map +1 -0
- package/dist/reading-level.d.ts +73 -0
- package/dist/reading-level.d.ts.map +1 -0
- package/dist/reading-level.js +189 -0
- package/dist/reading-level.js.map +1 -0
- package/dist/reporter.d.ts +94 -0
- package/dist/reporter.d.ts.map +1 -0
- package/dist/reporter.js +709 -0
- package/dist/reporter.js.map +1 -0
- package/dist/rules.d.ts +55 -0
- package/dist/rules.d.ts.map +1 -0
- package/dist/rules.js +77 -0
- package/dist/rules.js.map +1 -0
- package/dist/runtime.d.ts +32 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +67 -0
- package/dist/runtime.js.map +1 -0
- package/dist/sanitise.d.ts +116 -0
- package/dist/sanitise.d.ts.map +1 -0
- package/dist/sanitise.js +247 -0
- package/dist/sanitise.js.map +1 -0
- package/dist/scan.d.ts +60 -0
- package/dist/scan.d.ts.map +1 -0
- package/dist/scan.js +246 -0
- package/dist/scan.js.map +1 -0
- package/dist/screens.d.ts +98 -0
- package/dist/screens.d.ts.map +1 -0
- package/dist/screens.js +301 -0
- package/dist/screens.js.map +1 -0
- package/dist/settle.d.ts +65 -0
- package/dist/settle.d.ts.map +1 -0
- package/dist/settle.js +162 -0
- package/dist/settle.js.map +1 -0
- package/dist/shots.d.ts +109 -0
- package/dist/shots.d.ts.map +1 -0
- package/dist/shots.js +113 -0
- package/dist/shots.js.map +1 -0
- package/dist/style.d.ts +47 -0
- package/dist/style.d.ts.map +1 -0
- package/dist/style.js +154 -0
- package/dist/style.js.map +1 -0
- package/dist/suite.d.ts +218 -0
- package/dist/suite.d.ts.map +1 -0
- package/dist/suite.js +219 -0
- package/dist/suite.js.map +1 -0
- package/dist/summary.d.ts +268 -0
- package/dist/summary.d.ts.map +1 -0
- package/dist/summary.js +1308 -0
- package/dist/summary.js.map +1 -0
- package/dist/unscannable.d.ts +75 -0
- package/dist/unscannable.d.ts.map +1 -0
- package/dist/unscannable.js +111 -0
- package/dist/unscannable.js.map +1 -0
- package/dist/versions.d.ts +13 -0
- package/dist/versions.d.ts.map +1 -0
- package/dist/versions.js +39 -0
- package/dist/versions.js.map +1 -0
- package/dist/wcag-map.d.ts +19 -0
- package/dist/wcag-map.d.ts.map +1 -0
- package/dist/wcag-map.js +52 -0
- package/dist/wcag-map.js.map +1 -0
- package/dist/with-setsquare.d.ts +26 -0
- package/dist/with-setsquare.d.ts.map +1 -0
- package/dist/with-setsquare.js +70 -0
- package/dist/with-setsquare.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
|
package/dist/rules.d.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which rules constitute conformance.
|
|
3
|
+
*
|
|
4
|
+
* The product's whole claim is evidence of WCAG conformance, so the rule set is
|
|
5
|
+
* not a tuning knob — it is the definition of what the evidence is *about*.
|
|
6
|
+
* Getting this wrong in either direction is costly: too narrow and we miss real
|
|
7
|
+
* failures, too broad and the grid reports advisory opinions as conformance
|
|
8
|
+
* failures, which is precisely the overclaiming an evidence product cannot
|
|
9
|
+
* afford.
|
|
10
|
+
*
|
|
11
|
+
* **WCAG 2.x Level AA is the floor** (decided 2026-08-18). Every run is assessed
|
|
12
|
+
* against A and AA across WCAG 2.0, 2.1 and 2.2. AAA is available and opt-in,
|
|
13
|
+
* because AAA conformance is a deliberate commitment rather than a default
|
|
14
|
+
* expectation — WCAG itself does not recommend AAA as a general policy, since
|
|
15
|
+
* some AAA criteria cannot be satisfied for all content.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* The conformance floor: A and AA, all WCAG versions.
|
|
19
|
+
*
|
|
20
|
+
* `wcag22a` and the 2.1/2.2 AAA tags do not exist in axe 4.13 — there are no
|
|
21
|
+
* rules carrying them yet. They are listed anyway, deliberately: axe adds rules
|
|
22
|
+
* over time, and a tag that matches nothing today costs nothing while a missing
|
|
23
|
+
* tag would silently exclude a whole criterion the day it arrives. Forward
|
|
24
|
+
* compatibility here is free; discovering the gap later is not.
|
|
25
|
+
*/
|
|
26
|
+
export declare const WCAG_AA_TAGS: readonly ["wcag2a", "wcag2aa", "wcag21a", "wcag21aa", "wcag22a", "wcag22aa"];
|
|
27
|
+
/** Added on top of the floor when a customer opts in. Three rules in axe 4.13. */
|
|
28
|
+
export declare const WCAG_AAA_TAGS: readonly ["wcag2aaa", "wcag21aaa", "wcag22aaa"];
|
|
29
|
+
/**
|
|
30
|
+
* Axe's advisory rules — 30 of them, and NOT conformance.
|
|
31
|
+
*
|
|
32
|
+
* Excluded by default, on the same reasoning the reference implementation uses:
|
|
33
|
+
* `best-practice` findings are good advice, not WCAG failures, and a conformance
|
|
34
|
+
* grid that mixes them cannot honestly answer "does this meet AA?". They remain
|
|
35
|
+
* available because they catch real problems, and a finding from one is
|
|
36
|
+
* distinguishable in the payload anyway — a best-practice rule carries no `wcag`
|
|
37
|
+
* block, so a consumer can always tell advice from conformance.
|
|
38
|
+
*/
|
|
39
|
+
export declare const BEST_PRACTICE_TAG = "best-practice";
|
|
40
|
+
export type WcagTarget = 'AA' | 'AAA';
|
|
41
|
+
export interface RulePolicy {
|
|
42
|
+
/** The conformance level being evidenced. Never inferred from what was found. */
|
|
43
|
+
target: WcagTarget;
|
|
44
|
+
/** Include axe's advisory rules alongside conformance ones. */
|
|
45
|
+
bestPractice: boolean;
|
|
46
|
+
}
|
|
47
|
+
export declare const DEFAULT_RULE_POLICY: RulePolicy;
|
|
48
|
+
/**
|
|
49
|
+
* The axe tags a policy resolves to.
|
|
50
|
+
*
|
|
51
|
+
* Sorted so two runs of the same policy produce an identical ruleset digest
|
|
52
|
+
* regardless of how the options were spelled.
|
|
53
|
+
*/
|
|
54
|
+
export declare function tagsFor(policy: RulePolicy): string[];
|
|
55
|
+
//# sourceMappingURL=rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,8EAOf,CAAC;AAEX,kFAAkF;AAClF,eAAO,MAAM,aAAa,iDAAkD,CAAC;AAkB7E;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC;AAEtC,MAAM,WAAW,UAAU;IACzB,iFAAiF;IACjF,MAAM,EAAE,UAAU,CAAC;IACnB,+DAA+D;IAC/D,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,mBAAmB,EAAE,UAAkD,CAAC;AAErF;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,CAOpD"}
|
package/dist/rules.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which rules constitute conformance.
|
|
3
|
+
*
|
|
4
|
+
* The product's whole claim is evidence of WCAG conformance, so the rule set is
|
|
5
|
+
* not a tuning knob — it is the definition of what the evidence is *about*.
|
|
6
|
+
* Getting this wrong in either direction is costly: too narrow and we miss real
|
|
7
|
+
* failures, too broad and the grid reports advisory opinions as conformance
|
|
8
|
+
* failures, which is precisely the overclaiming an evidence product cannot
|
|
9
|
+
* afford.
|
|
10
|
+
*
|
|
11
|
+
* **WCAG 2.x Level AA is the floor** (decided 2026-08-18). Every run is assessed
|
|
12
|
+
* against A and AA across WCAG 2.0, 2.1 and 2.2. AAA is available and opt-in,
|
|
13
|
+
* because AAA conformance is a deliberate commitment rather than a default
|
|
14
|
+
* expectation — WCAG itself does not recommend AAA as a general policy, since
|
|
15
|
+
* some AAA criteria cannot be satisfied for all content.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* The conformance floor: A and AA, all WCAG versions.
|
|
19
|
+
*
|
|
20
|
+
* `wcag22a` and the 2.1/2.2 AAA tags do not exist in axe 4.13 — there are no
|
|
21
|
+
* rules carrying them yet. They are listed anyway, deliberately: axe adds rules
|
|
22
|
+
* over time, and a tag that matches nothing today costs nothing while a missing
|
|
23
|
+
* tag would silently exclude a whole criterion the day it arrives. Forward
|
|
24
|
+
* compatibility here is free; discovering the gap later is not.
|
|
25
|
+
*/
|
|
26
|
+
export const WCAG_AA_TAGS = [
|
|
27
|
+
'wcag2a',
|
|
28
|
+
'wcag2aa',
|
|
29
|
+
'wcag21a',
|
|
30
|
+
'wcag21aa',
|
|
31
|
+
'wcag22a',
|
|
32
|
+
'wcag22aa',
|
|
33
|
+
];
|
|
34
|
+
/** Added on top of the floor when a customer opts in. Three rules in axe 4.13. */
|
|
35
|
+
export const WCAG_AAA_TAGS = ['wcag2aaa', 'wcag21aaa', 'wcag22aaa'];
|
|
36
|
+
/*
|
|
37
|
+
* A fact about axe that this whole module leans on, verified in rules.test.ts:
|
|
38
|
+
* under `runOnly: {type: 'tag'}`, a rule whose tags match RUNS, even when axe
|
|
39
|
+
* ships it `enabled: false`. axe only consults `enabled` when no tag filter is
|
|
40
|
+
* given. That is why `target-size` (2.5.8 AA, disabled by default) has been in
|
|
41
|
+
* our AA evidence all along — deliberately kept, not an accident: it is an AA
|
|
42
|
+
* criterion and leaving it out would under-assess the floor. Known cost: its
|
|
43
|
+
* geometry has a false-positive tail on overlapping/translucent targets (axe
|
|
44
|
+
* #4350, #4805), which surfaces as needs-review rather than being dropped.
|
|
45
|
+
* The same mechanics will pull in the three AAA rules (`color-contrast-
|
|
46
|
+
* enhanced`, `identical-links-same-purpose`, `meta-refresh-no-exceptions` —
|
|
47
|
+
* the last credits BOTH 2.2.4 and 3.2.5) whenever a run targets AAA. What
|
|
48
|
+
* keeps deprecated rules like `duplicate-id` out is axe's default
|
|
49
|
+
* `tagExclude: ['experimental', 'deprecated']`, not `enabled`.
|
|
50
|
+
*/
|
|
51
|
+
/**
|
|
52
|
+
* Axe's advisory rules — 30 of them, and NOT conformance.
|
|
53
|
+
*
|
|
54
|
+
* Excluded by default, on the same reasoning the reference implementation uses:
|
|
55
|
+
* `best-practice` findings are good advice, not WCAG failures, and a conformance
|
|
56
|
+
* grid that mixes them cannot honestly answer "does this meet AA?". They remain
|
|
57
|
+
* available because they catch real problems, and a finding from one is
|
|
58
|
+
* distinguishable in the payload anyway — a best-practice rule carries no `wcag`
|
|
59
|
+
* block, so a consumer can always tell advice from conformance.
|
|
60
|
+
*/
|
|
61
|
+
export const BEST_PRACTICE_TAG = 'best-practice';
|
|
62
|
+
export const DEFAULT_RULE_POLICY = { target: 'AA', bestPractice: false };
|
|
63
|
+
/**
|
|
64
|
+
* The axe tags a policy resolves to.
|
|
65
|
+
*
|
|
66
|
+
* Sorted so two runs of the same policy produce an identical ruleset digest
|
|
67
|
+
* regardless of how the options were spelled.
|
|
68
|
+
*/
|
|
69
|
+
export function tagsFor(policy) {
|
|
70
|
+
const tags = [...WCAG_AA_TAGS];
|
|
71
|
+
if (policy.target === 'AAA')
|
|
72
|
+
tags.push(...WCAG_AAA_TAGS);
|
|
73
|
+
if (policy.bestPractice)
|
|
74
|
+
tags.push(BEST_PRACTICE_TAG);
|
|
75
|
+
return tags.sort();
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;CACF,CAAC;AAEX,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAU,CAAC;AAE7E;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAWjD,MAAM,CAAC,MAAM,mBAAmB,GAAe,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAErF;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,MAAkB;IACxC,MAAM,IAAI,GAAa,CAAC,GAAG,YAAY,CAAC,CAAC;IAEzC,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,YAAY;QAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAEtD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type RulePolicy } from './rules.js';
|
|
2
|
+
export declare function setRulePolicy(policy: RulePolicy): void;
|
|
3
|
+
/**
|
|
4
|
+
* Falls back to the default rather than throwing.
|
|
5
|
+
*
|
|
6
|
+
* A scan reached without `withSetsquare()` having run is a misconfiguration, but the
|
|
7
|
+
* SDK refusing to scan is a worse answer than the SDK scanning at the documented
|
|
8
|
+
* default — the customer gets evidence either way, and the run's own output is
|
|
9
|
+
* where a configuration problem should surface.
|
|
10
|
+
*/
|
|
11
|
+
export declare function rulePolicy(): RulePolicy;
|
|
12
|
+
export declare function setScanTimeout(ms: number): void;
|
|
13
|
+
/**
|
|
14
|
+
* The ceiling an explicit `setsquare.scan()` runs under.
|
|
15
|
+
*
|
|
16
|
+
* Reaches the worker by the same route as the rule policy, and defaults the same
|
|
17
|
+
* way: a scan that cannot see its configuration should still run at the
|
|
18
|
+
* documented budget rather than run unbounded, which is the failure this exists
|
|
19
|
+
* to prevent.
|
|
20
|
+
*/
|
|
21
|
+
export declare function scanTimeoutMs(): number;
|
|
22
|
+
export declare function setReadingLevel(enabled: boolean): void;
|
|
23
|
+
/**
|
|
24
|
+
* Whether scans estimate reading level (WCAG 3.1.5).
|
|
25
|
+
*
|
|
26
|
+
* Defaults OFF when unset, unlike the policy above: the documented default is
|
|
27
|
+
* "on at AAA", and a worker that cannot see its configuration also cannot see
|
|
28
|
+
* the target — running an extra heuristic nobody configured would be the wrong
|
|
29
|
+
* side of that ambiguity.
|
|
30
|
+
*/
|
|
31
|
+
export declare function readingLevelEnabled(): boolean;
|
|
32
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAyBlE,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,IAAI,UAAU,CAEvC;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAItC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C"}
|
package/dist/runtime.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { DEFAULT_SCAN_TIMEOUT_MS } from './options.js';
|
|
2
|
+
import { DEFAULT_RULE_POLICY } from './rules.js';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration as the worker sees it.
|
|
5
|
+
*
|
|
6
|
+
* `setsquare.scan()` runs inside a worker process and needs to know which rule set to
|
|
7
|
+
* assess against — but options are given to `withSetsquare()` in the config, and the
|
|
8
|
+
* reporter that receives them lives in the main process. The bridge is that
|
|
9
|
+
* Playwright loads the config file in EVERY worker, so `withSetsquare()` executes
|
|
10
|
+
* there too and can leave the resolved policy where a scan can find it.
|
|
11
|
+
*
|
|
12
|
+
* This is worker-LOCAL state, which is the one kind the fixture/reporter seam
|
|
13
|
+
* permits: it is set once during config load, never mutated during a run, and
|
|
14
|
+
* never read across a process boundary. It is configuration reaching the place it
|
|
15
|
+
* is needed, not the fixture accumulating knowledge.
|
|
16
|
+
*
|
|
17
|
+
* Keyed on a registered symbol rather than a module-level variable because a
|
|
18
|
+
* package can be resolved twice in one process — ESM and CJS, or two versions in
|
|
19
|
+
* a monorepo — and each copy would otherwise carry its own defaults while the
|
|
20
|
+
* customer configured only one of them.
|
|
21
|
+
*/
|
|
22
|
+
const POLICY = Symbol.for('setsquare.playwright.rule-policy');
|
|
23
|
+
const SCAN_TIMEOUT = Symbol.for('setsquare.playwright.scan-timeout');
|
|
24
|
+
const READING_LEVEL = Symbol.for('setsquare.playwright.reading-level');
|
|
25
|
+
export function setRulePolicy(policy) {
|
|
26
|
+
globalThis[POLICY] = policy;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Falls back to the default rather than throwing.
|
|
30
|
+
*
|
|
31
|
+
* A scan reached without `withSetsquare()` having run is a misconfiguration, but the
|
|
32
|
+
* SDK refusing to scan is a worse answer than the SDK scanning at the documented
|
|
33
|
+
* default — the customer gets evidence either way, and the run's own output is
|
|
34
|
+
* where a configuration problem should surface.
|
|
35
|
+
*/
|
|
36
|
+
export function rulePolicy() {
|
|
37
|
+
return globalThis[POLICY] ?? DEFAULT_RULE_POLICY;
|
|
38
|
+
}
|
|
39
|
+
export function setScanTimeout(ms) {
|
|
40
|
+
globalThis[SCAN_TIMEOUT] = ms;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The ceiling an explicit `setsquare.scan()` runs under.
|
|
44
|
+
*
|
|
45
|
+
* Reaches the worker by the same route as the rule policy, and defaults the same
|
|
46
|
+
* way: a scan that cannot see its configuration should still run at the
|
|
47
|
+
* documented budget rather than run unbounded, which is the failure this exists
|
|
48
|
+
* to prevent.
|
|
49
|
+
*/
|
|
50
|
+
export function scanTimeoutMs() {
|
|
51
|
+
return (globalThis[SCAN_TIMEOUT] ?? DEFAULT_SCAN_TIMEOUT_MS);
|
|
52
|
+
}
|
|
53
|
+
export function setReadingLevel(enabled) {
|
|
54
|
+
globalThis[READING_LEVEL] = enabled;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Whether scans estimate reading level (WCAG 3.1.5).
|
|
58
|
+
*
|
|
59
|
+
* Defaults OFF when unset, unlike the policy above: the documented default is
|
|
60
|
+
* "on at AAA", and a worker that cannot see its configuration also cannot see
|
|
61
|
+
* the target — running an extra heuristic nobody configured would be the wrong
|
|
62
|
+
* side of that ambiguity.
|
|
63
|
+
*/
|
|
64
|
+
export function readingLevelEnabled() {
|
|
65
|
+
return globalThis[READING_LEVEL] ?? false;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAmB,MAAM,YAAY,CAAC;AAElE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AACrE,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AAEvE,MAAM,UAAU,aAAa,CAAC,MAAkB;IAC7C,UAAsC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU;IACxB,OAAS,UAAsC,CAAC,MAAM,CAAgB,IAAI,mBAAmB,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACtC,UAAsC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CACH,UAAsC,CAAC,YAAY,CAAY,IAAI,uBAAuB,CAC7F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC7C,UAAsC,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAS,UAAsC,CAAC,aAAa,CAAa,IAAI,KAAK,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sanitisation at source.
|
|
3
|
+
*
|
|
4
|
+
* The trust posture the platform sells rests on this file: "PII-safe by
|
|
5
|
+
* construction" has to be a property of the SDK, not a promise about the
|
|
6
|
+
* platform, because the platform can only be careful with what it receives.
|
|
7
|
+
* Everything here runs in the customer's own process, before a byte crosses any
|
|
8
|
+
* boundary — including the boundary into Playwright's own HTML report and trace,
|
|
9
|
+
* which is why this is the one thing the fixture does rather than the reporter.
|
|
10
|
+
*
|
|
11
|
+
* Every function is pure. No I/O, no page access, no state. That is what lets the
|
|
12
|
+
* fixture call them without becoming stateful, and what lets them be tested
|
|
13
|
+
* against genuinely awful inputs rather than mocked ones.
|
|
14
|
+
*
|
|
15
|
+
* The limits come from `packages/schema` rather than being restated here. A cap
|
|
16
|
+
* that drifted from the contract would surface as rejected payloads in a
|
|
17
|
+
* customer's CI, which is the worst possible place to discover it.
|
|
18
|
+
*
|
|
19
|
+
* What this file deliberately does NOT do: neutralise injection. `<script>` and
|
|
20
|
+
* `](evil)` survive intact, because they are legitimate content in a CSS
|
|
21
|
+
* selector and because destroying evidence to feel safer is a bad trade. Output
|
|
22
|
+
* encoding belongs to each sink — the platform UI, PR-comment markdown, exports,
|
|
23
|
+
* MCP payloads — and each has to do its own.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Remove characters that exist only to deceive.
|
|
27
|
+
*
|
|
28
|
+
* Zero-width characters make two visually identical selectors unequal, which
|
|
29
|
+
* breaks dedupe and clustering silently. Bidi overrides make a rendered line read
|
|
30
|
+
* backwards. Control characters break logs and terminals. None has any business
|
|
31
|
+
* in a CSS selector, so removal loses nothing real.
|
|
32
|
+
*/
|
|
33
|
+
export declare function stripHostileCharacters(value: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* Cap a string's length, marking the cut.
|
|
36
|
+
*
|
|
37
|
+
* The ellipsis matters: a silently shortened selector looks like a selector that
|
|
38
|
+
* was always that short, and someone will eventually try to use it to find the
|
|
39
|
+
* element. One character of honesty prevents that.
|
|
40
|
+
*/
|
|
41
|
+
export declare function capLength(value: string, max: number): string;
|
|
42
|
+
export interface SanitisedSelectors {
|
|
43
|
+
selectors: string[];
|
|
44
|
+
/** True if anything was dropped OR shortened — the payload must admit either. */
|
|
45
|
+
selectorsTruncated: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Reduce a finding's selectors to a representative, bounded set.
|
|
49
|
+
*
|
|
50
|
+
* Deduplicated before capping, deliberately. The hostile fixture emits 617
|
|
51
|
+
* selectors of which 600 are near-identical `span:nth-child(N)`; taking the first
|
|
52
|
+
* ten raw would return ten variations of the same thing and describe nothing.
|
|
53
|
+
* Deduplicating first means the cap spends its budget on distinct shapes.
|
|
54
|
+
*
|
|
55
|
+
* Note that dedupe happens AFTER stripping, which is the only order that works:
|
|
56
|
+
* two selectors differing solely by a zero-width character are the same selector
|
|
57
|
+
* wearing a disguise, and comparing them before stripping would keep both.
|
|
58
|
+
*/
|
|
59
|
+
export declare function sanitiseSelectors(raw: readonly string[], max?: number): SanitisedSelectors;
|
|
60
|
+
/** Axe's prose, bounded. */
|
|
61
|
+
export declare function sanitiseFailureSummary(value: string | undefined): string | undefined;
|
|
62
|
+
/** Theme, persona and state labels — short, and page-derived often enough to matter. */
|
|
63
|
+
export declare function sanitiseLabel(value: string | undefined): string | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* Test identifiers and titles.
|
|
66
|
+
*
|
|
67
|
+
* A deliberately different treatment from page-derived strings, and the
|
|
68
|
+
* difference is worth stating because it looks inconsistent otherwise.
|
|
69
|
+
*
|
|
70
|
+
* Test titles are AUTHORED BY THE CUSTOMER'S DEVELOPERS, not derived from a
|
|
71
|
+
* scanned page. They are not attacker-influenceable in the way a class name is,
|
|
72
|
+
* and they are the only human-readable handle the runs list has — so identifiers
|
|
73
|
+
* inside them are left alone. `the item editor loads for 8fa1c0de` stays exactly
|
|
74
|
+
* that, because redacting it would produce a run list of indistinguishable rows.
|
|
75
|
+
*
|
|
76
|
+
* They can still carry personal data: a data-driven test titled with a candidate's
|
|
77
|
+
* email is entirely ordinary. That is accepted rather than solved, and it is
|
|
78
|
+
* consistent with the posture already recorded in the dev plan — run envelopes
|
|
79
|
+
* structurally carry personal data of customer staff (commit author names and
|
|
80
|
+
* emails, annotation identities), which is exactly why Setsquare designs as a
|
|
81
|
+
* processor rather than pretending the risk away.
|
|
82
|
+
*
|
|
83
|
+
* What IS applied is character sanitisation, because a bidi override in a test
|
|
84
|
+
* title breaks a terminal, a log and a grid cell just as thoroughly as one in a
|
|
85
|
+
* selector, whoever wrote it.
|
|
86
|
+
*/
|
|
87
|
+
export declare function sanitiseTestText(value: string, max: number): string;
|
|
88
|
+
export interface UrlPattern {
|
|
89
|
+
pattern: string;
|
|
90
|
+
/** True if any segment was replaced — i.e. the raw path is NOT recoverable. */
|
|
91
|
+
redacted: boolean;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Turn a URL into a route pattern, dropping everything that identifies a visit.
|
|
95
|
+
*
|
|
96
|
+
* This is sanitisation, not inference, and the distinction is worth being precise
|
|
97
|
+
* about because it decides which stage owns it. Replacing `/items/42/edit` with
|
|
98
|
+
* `/items/:id/edit` removes a record identifier; replacing
|
|
99
|
+
* `/reset-password/8f3a…` removes a live credential. Naming that pattern
|
|
100
|
+
* `item-editor` is inference, and belongs with surface resolution.
|
|
101
|
+
*
|
|
102
|
+
* Three things are removed unconditionally:
|
|
103
|
+
*
|
|
104
|
+
* - the origin, because the schema has no `url` field and the surface is the
|
|
105
|
+
* path, not the host
|
|
106
|
+
* - the query string, which is where tokens, emails and search terms live
|
|
107
|
+
* - the fragment, for the same reason
|
|
108
|
+
*
|
|
109
|
+
* And then any segment that looks like an identifier rather than a name is
|
|
110
|
+
* replaced. The test is deliberately conservative in the SAFE direction: a
|
|
111
|
+
* word-like segment is kept, and anything else becomes `:id`. Over-redacting
|
|
112
|
+
* costs a slightly coarser grid row; under-redacting ships someone's password
|
|
113
|
+
* reset token to a server.
|
|
114
|
+
*/
|
|
115
|
+
export declare function toUrlPattern(url: string): UrlPattern;
|
|
116
|
+
//# sourceMappingURL=sanitise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitise.d.ts","sourceRoot":"","sources":["../src/sanitise.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5D;AAOD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iFAAiF;IACjF,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,GAAG,SAA4B,GAC9B,kBAAkB,CAsBpB;AAED,4BAA4B;AAC5B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAIpF;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAI3E;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CA+BpD"}
|