@setsquare/review-sdk 0.0.1 → 0.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/NOTICE +3 -2
- package/README.md +220 -0
- package/dist/autoscan.d.ts +15 -1
- package/dist/autoscan.d.ts.map +1 -1
- package/dist/autoscan.js +168 -13
- package/dist/autoscan.js.map +1 -1
- package/dist/brand.d.ts +51 -2
- package/dist/brand.d.ts.map +1 -1
- package/dist/brand.js +560 -5
- package/dist/brand.js.map +1 -1
- package/dist/checks/context-change.d.ts +96 -0
- package/dist/checks/context-change.d.ts.map +1 -0
- package/dist/checks/context-change.js +655 -0
- package/dist/checks/context-change.js.map +1 -0
- package/dist/checks/focus.d.ts +154 -0
- package/dist/checks/focus.d.ts.map +1 -0
- package/dist/checks/focus.js +1123 -0
- package/dist/checks/focus.js.map +1 -0
- package/dist/checks/heuristics.d.ts +116 -0
- package/dist/checks/heuristics.d.ts.map +1 -0
- package/dist/checks/heuristics.js +931 -0
- package/dist/checks/heuristics.js.map +1 -0
- package/dist/checks/keyboard.d.ts +106 -0
- package/dist/checks/keyboard.d.ts.map +1 -0
- package/dist/checks/keyboard.js +452 -0
- package/dist/checks/keyboard.js.map +1 -0
- package/dist/checks/reflow.d.ts +75 -0
- package/dist/checks/reflow.d.ts.map +1 -0
- package/dist/checks/reflow.js +285 -0
- package/dist/checks/reflow.js.map +1 -0
- package/dist/checks/rule-pack.d.ts +1 -1
- package/dist/checks/rule-pack.d.ts.map +1 -1
- package/dist/checks/rule-pack.js +350 -45
- package/dist/checks/rule-pack.js.map +1 -1
- package/dist/checks/shortcuts.d.ts +71 -0
- package/dist/checks/shortcuts.d.ts.map +1 -0
- package/dist/checks/shortcuts.js +196 -0
- package/dist/checks/shortcuts.js.map +1 -0
- package/dist/checks/versions.d.ts.map +1 -1
- package/dist/checks/versions.js +33 -1
- package/dist/checks/versions.js.map +1 -1
- package/dist/contract.d.ts +18 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/covers.d.ts +56 -0
- package/dist/covers.d.ts.map +1 -0
- package/dist/covers.js +135 -0
- package/dist/covers.js.map +1 -0
- package/dist/dedupe.d.ts +23 -0
- package/dist/dedupe.d.ts.map +1 -1
- package/dist/dedupe.js +96 -2
- package/dist/dedupe.js.map +1 -1
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +144 -0
- package/dist/document.js.map +1 -1
- package/dist/envelope.d.ts +8 -0
- package/dist/envelope.d.ts.map +1 -1
- package/dist/envelope.js +28 -0
- package/dist/envelope.js.map +1 -1
- package/dist/fixture.d.ts.map +1 -1
- package/dist/fixture.js +12 -0
- package/dist/fixture.js.map +1 -1
- package/dist/html-report.d.ts +24 -7
- package/dist/html-report.d.ts.map +1 -1
- package/dist/html-report.js +608 -136
- package/dist/html-report.js.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/dist/links.d.ts +43 -0
- package/dist/links.d.ts.map +1 -1
- package/dist/links.js +43 -0
- package/dist/links.js.map +1 -1
- package/dist/observe.d.ts +8 -0
- package/dist/observe.d.ts.map +1 -1
- package/dist/observe.js +45 -1
- package/dist/observe.js.map +1 -1
- package/dist/options.d.ts +53 -0
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +3 -0
- package/dist/options.js.map +1 -1
- package/dist/reading-level.d.ts +22 -1
- package/dist/reading-level.d.ts.map +1 -1
- package/dist/reading-level.js +122 -19
- package/dist/reading-level.js.map +1 -1
- package/dist/reporter.d.ts.map +1 -1
- package/dist/reporter.js +31 -15
- package/dist/reporter.js.map +1 -1
- package/dist/scan.d.ts +36 -1
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +16 -2
- package/dist/scan.js.map +1 -1
- package/dist/screens.d.ts +55 -4
- package/dist/screens.d.ts.map +1 -1
- package/dist/screens.js +243 -43
- package/dist/screens.js.map +1 -1
- package/dist/summary.d.ts +22 -0
- package/dist/summary.d.ts.map +1 -1
- package/dist/summary.js +197 -22
- package/dist/summary.js.map +1 -1
- package/dist/viewports.d.ts +105 -0
- package/dist/viewports.d.ts.map +1 -0
- package/dist/viewports.js +134 -0
- package/dist/viewports.js.map +1 -0
- package/package.json +5 -4
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Width bands, and the names the artifacts group by.
|
|
3
|
+
*
|
|
4
|
+
* ## These name a WIDTH, not a device
|
|
5
|
+
*
|
|
6
|
+
* "Laptop", "tablet" and "mobile" are what a reader scanning a page of evidence
|
|
7
|
+
* is actually asking about, so the grouping uses those words — but nothing here
|
|
8
|
+
* detects a device and nothing could. A viewport is a number of CSS pixels; the
|
|
9
|
+
* machine behind it might be a phone, a tablet, a laptop window dragged narrow,
|
|
10
|
+
* or a desktop browser with text at 200%. This repository's own suite produces
|
|
11
|
+
* that last one: `reflow.spec.ts` halves 1280×1024 to emulate 200% text for
|
|
12
|
+
* WCAG 1.4.4, and its 640×512 scans land in the mobile band despite no phone
|
|
13
|
+
* being anywhere near them.
|
|
14
|
+
*
|
|
15
|
+
* That is not a flaw in the grouping, it is the reason the legend exists and is
|
|
16
|
+
* rendered beside every one of these tables. The band is shorthand; the exact
|
|
17
|
+
* size is always shown next to it, and the legend says which is which. A
|
|
18
|
+
* document that said "mobile" and hid the number would be claiming something it
|
|
19
|
+
* cannot know.
|
|
20
|
+
*
|
|
21
|
+
* ## Where the boundaries come from
|
|
22
|
+
*
|
|
23
|
+
* 768 and 1024, which are the conventional `md` and `lg` breakpoints — the ones
|
|
24
|
+
* Tailwind, Bootstrap and most design systems already use, and therefore the
|
|
25
|
+
* widths a customer's own CSS is most likely to change at. A band boundary that
|
|
26
|
+
* does not line up with a real breakpoint groups together layouts that are not
|
|
27
|
+
* the same layout, which is the one thing this is for.
|
|
28
|
+
*
|
|
29
|
+
* Three bands rather than five. The question a reader has is "did anything look
|
|
30
|
+
* at this narrow", and splitting mobile from small-mobile answers a question
|
|
31
|
+
* nobody asked while making every table a third longer.
|
|
32
|
+
*/
|
|
33
|
+
/** A viewport, as the envelope records it. */
|
|
34
|
+
export interface ViewportSize {
|
|
35
|
+
width: number;
|
|
36
|
+
height: number;
|
|
37
|
+
}
|
|
38
|
+
export interface ViewportBand {
|
|
39
|
+
id: 'laptop' | 'tablet' | 'mobile';
|
|
40
|
+
/** The word shown as a group heading. */
|
|
41
|
+
label: string;
|
|
42
|
+
/** Inclusive lower bound, in CSS pixels. */
|
|
43
|
+
minWidth: number;
|
|
44
|
+
/** The bound in words, for the legend: `1024px and wider`. */
|
|
45
|
+
range: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Widest first, which is the order every artifact groups in.
|
|
49
|
+
*
|
|
50
|
+
* Widest first rather than narrowest because a reader arrives knowing what the
|
|
51
|
+
* desktop looks like, and the interesting rows are the ones further down. The
|
|
52
|
+
* order is also the order the bands were added to a suite: nobody starts with
|
|
53
|
+
* the phone.
|
|
54
|
+
*/
|
|
55
|
+
export declare const VIEWPORT_BANDS: readonly ViewportBand[];
|
|
56
|
+
/** The one sentence every artifact prints beside a band name. */
|
|
57
|
+
export declare const VIEWPORT_BAND_NOTE: string;
|
|
58
|
+
/**
|
|
59
|
+
* The fragment a band's heading answers to, so one document can link into
|
|
60
|
+
* another's grouping.
|
|
61
|
+
*
|
|
62
|
+
* Here rather than at either call site because it is a contract between two
|
|
63
|
+
* files: the contact sheet writes these ids onto its headings and the report
|
|
64
|
+
* writes them into its hrefs, and a link that agrees with nothing is worse than
|
|
65
|
+
* no link. Derived from the band id, so a band cannot be renamed on one side
|
|
66
|
+
* only.
|
|
67
|
+
*/
|
|
68
|
+
export declare function viewportBandAnchor(band: ViewportBand): string;
|
|
69
|
+
/** `1280×720`. The multiplication sign, not an x: this is a size. */
|
|
70
|
+
export declare function viewportSize(viewport: ViewportSize): string;
|
|
71
|
+
/**
|
|
72
|
+
* Which band a width falls in. Never undefined — the last band has no floor.
|
|
73
|
+
*
|
|
74
|
+
* Takes the width alone. Height is recorded and displayed because it is a fact
|
|
75
|
+
* about the run, but no breakpoint in anybody's CSS is a height, so grouping by
|
|
76
|
+
* one would split a band for a reason no layout has.
|
|
77
|
+
*/
|
|
78
|
+
export declare function viewportBand(width: number): ViewportBand;
|
|
79
|
+
export interface BandGroup<T> {
|
|
80
|
+
band: ViewportBand;
|
|
81
|
+
/** Every distinct size seen in this band, widest first. */
|
|
82
|
+
sizes: string[];
|
|
83
|
+
items: T[];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Group anything that carries a viewport into bands, widest band first.
|
|
87
|
+
*
|
|
88
|
+
* Bands with nothing in them are dropped rather than rendered empty: a heading
|
|
89
|
+
* whose only content is "nothing here" is worse than the absence device, which
|
|
90
|
+
* is what the documents use to say a band was never looked at.
|
|
91
|
+
*
|
|
92
|
+
* **Order within a band is the order given.** Every caller has already sorted
|
|
93
|
+
* its items for a reason — the contact sheet leads with comparisons and then
|
|
94
|
+
* failures, the surfaces table leads with the worst — and re-sorting here would
|
|
95
|
+
* quietly overrule that.
|
|
96
|
+
*
|
|
97
|
+
* Items with no viewport at all go in a group with no band, returned last: a
|
|
98
|
+
* run driving a real device controls no viewport, and dropping those rows would
|
|
99
|
+
* lose evidence to make a table tidy.
|
|
100
|
+
*/
|
|
101
|
+
export declare function groupByBand<T>(items: readonly T[], viewportOf: (item: T) => ViewportSize | undefined): {
|
|
102
|
+
groups: BandGroup<T>[];
|
|
103
|
+
unbanded: T[];
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=viewports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewports.d.ts","sourceRoot":"","sources":["../src/viewports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAIjD,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,QAGuC,CAAC;AAEvE;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAE7D;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAOxD;AAED,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,CAAC,EAAE,CAAC;CACZ;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,YAAY,GAAG,SAAS,GAChD;IAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,QAAQ,EAAE,CAAC,EAAE,CAAA;CAAE,CAoC3C"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Width bands, and the names the artifacts group by.
|
|
3
|
+
*
|
|
4
|
+
* ## These name a WIDTH, not a device
|
|
5
|
+
*
|
|
6
|
+
* "Laptop", "tablet" and "mobile" are what a reader scanning a page of evidence
|
|
7
|
+
* is actually asking about, so the grouping uses those words — but nothing here
|
|
8
|
+
* detects a device and nothing could. A viewport is a number of CSS pixels; the
|
|
9
|
+
* machine behind it might be a phone, a tablet, a laptop window dragged narrow,
|
|
10
|
+
* or a desktop browser with text at 200%. This repository's own suite produces
|
|
11
|
+
* that last one: `reflow.spec.ts` halves 1280×1024 to emulate 200% text for
|
|
12
|
+
* WCAG 1.4.4, and its 640×512 scans land in the mobile band despite no phone
|
|
13
|
+
* being anywhere near them.
|
|
14
|
+
*
|
|
15
|
+
* That is not a flaw in the grouping, it is the reason the legend exists and is
|
|
16
|
+
* rendered beside every one of these tables. The band is shorthand; the exact
|
|
17
|
+
* size is always shown next to it, and the legend says which is which. A
|
|
18
|
+
* document that said "mobile" and hid the number would be claiming something it
|
|
19
|
+
* cannot know.
|
|
20
|
+
*
|
|
21
|
+
* ## Where the boundaries come from
|
|
22
|
+
*
|
|
23
|
+
* 768 and 1024, which are the conventional `md` and `lg` breakpoints — the ones
|
|
24
|
+
* Tailwind, Bootstrap and most design systems already use, and therefore the
|
|
25
|
+
* widths a customer's own CSS is most likely to change at. A band boundary that
|
|
26
|
+
* does not line up with a real breakpoint groups together layouts that are not
|
|
27
|
+
* the same layout, which is the one thing this is for.
|
|
28
|
+
*
|
|
29
|
+
* Three bands rather than five. The question a reader has is "did anything look
|
|
30
|
+
* at this narrow", and splitting mobile from small-mobile answers a question
|
|
31
|
+
* nobody asked while making every table a third longer.
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* Widest first, which is the order every artifact groups in.
|
|
35
|
+
*
|
|
36
|
+
* Widest first rather than narrowest because a reader arrives knowing what the
|
|
37
|
+
* desktop looks like, and the interesting rows are the ones further down. The
|
|
38
|
+
* order is also the order the bands were added to a suite: nobody starts with
|
|
39
|
+
* the phone.
|
|
40
|
+
*/
|
|
41
|
+
export const VIEWPORT_BANDS = [
|
|
42
|
+
{ id: 'laptop', label: 'Laptop', minWidth: 1024, range: '1024px and wider' },
|
|
43
|
+
{ id: 'tablet', label: 'Tablet', minWidth: 768, range: '768px to 1023px' },
|
|
44
|
+
{ id: 'mobile', label: 'Mobile', minWidth: 0, range: 'narrower than 768px' },
|
|
45
|
+
];
|
|
46
|
+
/** The one sentence every artifact prints beside a band name. */
|
|
47
|
+
export const VIEWPORT_BAND_NOTE = 'These name a width, not a device. Nothing here detects what a page was opened on — ' +
|
|
48
|
+
'a 640px viewport is in the mobile band whether it is a phone or a desktop browser ' +
|
|
49
|
+
'with text at 200%. The exact size is always shown beside the name.';
|
|
50
|
+
/**
|
|
51
|
+
* The fragment a band's heading answers to, so one document can link into
|
|
52
|
+
* another's grouping.
|
|
53
|
+
*
|
|
54
|
+
* Here rather than at either call site because it is a contract between two
|
|
55
|
+
* files: the contact sheet writes these ids onto its headings and the report
|
|
56
|
+
* writes them into its hrefs, and a link that agrees with nothing is worse than
|
|
57
|
+
* no link. Derived from the band id, so a band cannot be renamed on one side
|
|
58
|
+
* only.
|
|
59
|
+
*/
|
|
60
|
+
export function viewportBandAnchor(band) {
|
|
61
|
+
return `band-${band.id}`;
|
|
62
|
+
}
|
|
63
|
+
/** `1280×720`. The multiplication sign, not an x: this is a size. */
|
|
64
|
+
export function viewportSize(viewport) {
|
|
65
|
+
return `${viewport.width}×${viewport.height}`;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Which band a width falls in. Never undefined — the last band has no floor.
|
|
69
|
+
*
|
|
70
|
+
* Takes the width alone. Height is recorded and displayed because it is a fact
|
|
71
|
+
* about the run, but no breakpoint in anybody's CSS is a height, so grouping by
|
|
72
|
+
* one would split a band for a reason no layout has.
|
|
73
|
+
*/
|
|
74
|
+
export function viewportBand(width) {
|
|
75
|
+
for (const band of VIEWPORT_BANDS) {
|
|
76
|
+
if (width >= band.minWidth)
|
|
77
|
+
return band;
|
|
78
|
+
}
|
|
79
|
+
// Unreachable while the last band's floor is 0, and cheaper than a non-null
|
|
80
|
+
// assertion that would stop being true if somebody reordered the list.
|
|
81
|
+
return VIEWPORT_BANDS[VIEWPORT_BANDS.length - 1];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Group anything that carries a viewport into bands, widest band first.
|
|
85
|
+
*
|
|
86
|
+
* Bands with nothing in them are dropped rather than rendered empty: a heading
|
|
87
|
+
* whose only content is "nothing here" is worse than the absence device, which
|
|
88
|
+
* is what the documents use to say a band was never looked at.
|
|
89
|
+
*
|
|
90
|
+
* **Order within a band is the order given.** Every caller has already sorted
|
|
91
|
+
* its items for a reason — the contact sheet leads with comparisons and then
|
|
92
|
+
* failures, the surfaces table leads with the worst — and re-sorting here would
|
|
93
|
+
* quietly overrule that.
|
|
94
|
+
*
|
|
95
|
+
* Items with no viewport at all go in a group with no band, returned last: a
|
|
96
|
+
* run driving a real device controls no viewport, and dropping those rows would
|
|
97
|
+
* lose evidence to make a table tidy.
|
|
98
|
+
*/
|
|
99
|
+
export function groupByBand(items, viewportOf) {
|
|
100
|
+
const byBand = new Map();
|
|
101
|
+
const unbanded = [];
|
|
102
|
+
for (const item of items) {
|
|
103
|
+
const viewport = viewportOf(item);
|
|
104
|
+
if (!viewport) {
|
|
105
|
+
unbanded.push(item);
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
const band = viewportBand(viewport.width);
|
|
109
|
+
const slot = byBand.get(band.id) ?? {
|
|
110
|
+
band,
|
|
111
|
+
sizes: new Map(),
|
|
112
|
+
items: [],
|
|
113
|
+
};
|
|
114
|
+
slot.sizes.set(viewportSize(viewport), viewport.width);
|
|
115
|
+
slot.items.push(item);
|
|
116
|
+
byBand.set(band.id, slot);
|
|
117
|
+
}
|
|
118
|
+
const groups = VIEWPORT_BANDS.flatMap((band) => {
|
|
119
|
+
const slot = byBand.get(band.id);
|
|
120
|
+
if (!slot)
|
|
121
|
+
return [];
|
|
122
|
+
return [
|
|
123
|
+
{
|
|
124
|
+
band,
|
|
125
|
+
sizes: [...slot.sizes]
|
|
126
|
+
.sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))
|
|
127
|
+
.map(([size]) => size),
|
|
128
|
+
items: slot.items,
|
|
129
|
+
},
|
|
130
|
+
];
|
|
131
|
+
});
|
|
132
|
+
return { groups, unbanded };
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=viewports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewports.js","sourceRoot":"","sources":["../src/viewports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAkBH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAA4B;IACrD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC5E,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC1E,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE;CAC7E,CAAC;AAEF,iEAAiE;AACjE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,qFAAqF;IACrF,oFAAoF;IACpF,oEAAoE,CAAC;AAEvE;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAkB;IACnD,OAAO,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;AAC3B,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAC,QAAsB;IACjD,OAAO,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;IAC1C,CAAC;IACD,4EAA4E;IAC5E,uEAAuE;IACvE,OAAO,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAiB,CAAC;AACnE,CAAC;AASD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CACzB,KAAmB,EACnB,UAAiD;IAEjD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0E,CAAC;IACjG,MAAM,QAAQ,GAAQ,EAAE,CAAC;IAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI;YAClC,IAAI;YACJ,KAAK,EAAE,IAAI,GAAG,EAAkB;YAChC,KAAK,EAAE,EAAS;SACjB,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO;YACL;gBACE,IAAI;gBACJ,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;qBACnB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvD,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;gBACxB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@setsquare/review-sdk",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Accessibility, e2e and performance evidence capture for Playwright. Phase 0 ships the packaging skeleton only — scan/fixture/reporter logic is Phase 1.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://setsquare.dev",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"axe-core": "4.13.0",
|
|
52
52
|
"text-readability": "1.1.1",
|
|
53
|
-
"@setsquare/review-cli": "^0.0
|
|
54
|
-
"@setsquare/schema": "^0.0
|
|
53
|
+
"@setsquare/review-cli": "^0.1.0",
|
|
54
|
+
"@setsquare/schema": "^0.1.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@axe-core/playwright": "4.13.0",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@types/node": "^22.20.1",
|
|
60
60
|
"typescript": "^5.9.3",
|
|
61
61
|
"vitest": "^4.1.10",
|
|
62
|
-
"@setsquare/review-sdk": "0.0
|
|
62
|
+
"@setsquare/review-sdk": "0.1.0"
|
|
63
63
|
},
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"access": "public"
|
|
@@ -74,6 +74,7 @@
|
|
|
74
74
|
"test": "vitest run --passWithNoTests",
|
|
75
75
|
"fixtures:serve": "node fixtures/serve.mjs",
|
|
76
76
|
"fixtures:test": "playwright test -c fixtures/playwright.config.ts",
|
|
77
|
+
"fixtures:test:aaa": "playwright test -c fixtures/playwright.aaa.config.ts",
|
|
77
78
|
"fixtures:test:parallel": "playwright test -c fixtures/playwright.parallel.config.ts",
|
|
78
79
|
"fixtures:test:engines": "pnpm build && playwright test -c fixtures/playwright.engines.config.ts",
|
|
79
80
|
"fixtures:test:grouped": "pnpm build && node fixtures/run-grouped.mjs"
|