@juxtapose/core 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/handoff.d.ts +16 -0
- package/dist/agent/handoff.js +37 -2
- package/dist/agent/handoff.js.map +1 -1
- package/dist/analysis/affected.d.ts +17 -0
- package/dist/analysis/affected.js +34 -0
- package/dist/analysis/affected.js.map +1 -1
- package/dist/browser/flags.d.ts +14 -0
- package/dist/browser/flags.js +15 -0
- package/dist/browser/flags.js.map +1 -1
- package/dist/browser/page.d.ts +10 -0
- package/dist/browser/page.js +9 -3
- package/dist/browser/page.js.map +1 -1
- package/dist/capture/capture.d.ts +3 -1
- package/dist/capture/capture.js +81 -8
- package/dist/capture/capture.js.map +1 -1
- package/dist/capture/discover.d.ts +28 -0
- package/dist/capture/discover.js +109 -0
- package/dist/capture/discover.js.map +1 -0
- package/dist/capture/pool.d.ts +2 -0
- package/dist/capture/pool.js +1 -0
- package/dist/capture/pool.js.map +1 -1
- package/dist/capture/variants.d.ts +47 -0
- package/dist/capture/variants.js +192 -0
- package/dist/capture/variants.js.map +1 -0
- package/dist/diff/structural/deltas.d.ts +2 -3
- package/dist/diff/structural/deltas.js +3 -3
- package/dist/diff/structural/deltas.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/platform.d.ts +20 -0
- package/dist/platforms/urls.js +5 -1
- package/dist/platforms/urls.js.map +1 -1
- package/dist/report/comment.js +19 -8
- package/dist/report/comment.js.map +1 -1
- package/dist/report/format.d.ts +17 -0
- package/dist/report/format.js +16 -0
- package/dist/report/format.js.map +1 -1
- package/dist/report/html.js +40 -6
- package/dist/report/html.js.map +1 -1
- package/dist/run/run.d.ts +2 -0
- package/dist/run/run.js +15 -0
- package/dist/run/run.js.map +1 -1
- package/dist/types.d.ts +47 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Delta, StructureRect, StructureSnapshot } from '../../types.js';
|
|
2
2
|
import type { ElementMatch } from './match.js';
|
|
3
|
+
import { compareCodeUnits } from '../../report/format.js';
|
|
3
4
|
export interface Fact {
|
|
4
5
|
delta: Delta;
|
|
5
6
|
/** Old and new rects of the element(s) this fact is about, for coverage. */
|
|
@@ -24,6 +25,4 @@ export interface Source {
|
|
|
24
25
|
export declare const KIND_RANK: Record<Delta['kind'], number>;
|
|
25
26
|
export declare function computeFacts(a: StructureSnapshot, b: StructureSnapshot, match: ElementMatch): Fact[];
|
|
26
27
|
export declare function sortFacts(facts: Fact[]): Fact[];
|
|
27
|
-
|
|
28
|
-
* `localeCompare` is not one. */
|
|
29
|
-
export declare const compareCodeUnits: (a: string, b: string) => number;
|
|
28
|
+
export { compareCodeUnits };
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
// stored value changed, or where the parents' effective values already agree.
|
|
9
9
|
import { INHERITED_PROPS, STRUCTURE_PROPS, effectiveStyle, elementAt, round, } from '../../capture/structure.js';
|
|
10
10
|
import { abstractLabel, clip, label } from './label.js';
|
|
11
|
+
import { compareCodeUnits } from '../../report/format.js';
|
|
11
12
|
/** Within one position, which fact reads first. */
|
|
12
13
|
export const KIND_RANK = {
|
|
13
14
|
removed: 0,
|
|
@@ -215,7 +216,6 @@ export function sortFacts(facts) {
|
|
|
215
216
|
function factKey(d) {
|
|
216
217
|
return d.kind === 'style' ? d.prop : d.kind === 'attr' ? d.attr : '';
|
|
217
218
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
export const compareCodeUnits = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
219
|
+
// Defined with the browser-safe formatters so the addon shares it.
|
|
220
|
+
export { compareCodeUnits };
|
|
221
221
|
//# sourceMappingURL=deltas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deltas.js","sourceRoot":"","sources":["../../../src/diff/structural/deltas.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,2EAA2E;AAC3E,wEAAwE;AACxE,yEAAyE;AACzE,8EAA8E;AAE9E,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,SAAS,EACT,KAAK,GACN,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"deltas.js","sourceRoot":"","sources":["../../../src/diff/structural/deltas.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export type { StoryParams, Viewport, StoryManifest, Snapshot, StructureSnapshot, StructureElement, StructureRect, CaptureEnv, ChangedRegion, Delta, Classification, StyleTag, Flag, StructuralVerdict, Cause, CauseKind, DiffStatus, DiffResult, RunReport, RunGroup, ApprovalMeta, BaselineEntry, BaselineManifest, ProjectConfig, UrlEntry, StorageConfig, BaselineStore, } from './types.js';
|
|
1
|
+
export type { StoryParams, VariantSpec, ColorScheme, Viewport, StoryManifest, Snapshot, StructureSnapshot, StructureElement, StructureRect, CaptureEnv, ChangedRegion, Delta, Classification, StyleTag, Flag, StructuralVerdict, Cause, CauseKind, DiffStatus, DiffResult, RunReport, RunGroup, ApprovalMeta, BaselineEntry, BaselineManifest, ProjectConfig, UrlEntry, StorageConfig, BaselineStore, } from './types.js';
|
|
2
2
|
export type { Platform, EnumerateTarget, SettleContext } from './platform.js';
|
|
3
3
|
export { navigateToStory } from './url-platform.js';
|
|
4
4
|
export { createUrlPlatform } from './platforms/urls.js';
|
|
5
5
|
export { waitForSelector } from './capture/settle.js';
|
|
6
|
+
export { expandVariants, selectByStoryId, captureKey, platformStoryId, VariantConfigError, VARIANT_NAME, } from './capture/variants.js';
|
|
7
|
+
export { discoverParams, prepareCaptures, type PrepareOptions, } from './capture/discover.js';
|
|
6
8
|
export { GitBaselineStore, encodeStoryId } from './baseline/git-store.js';
|
|
7
9
|
export { hashImage } from './baseline/status.js';
|
|
8
10
|
export type { BaselineStatus, AncestryCheck } from './baseline/status.js';
|
|
@@ -34,9 +36,9 @@ export { CHROME_VERSION, CHROME_PINS, chromePlatform } from './browser/pins.js';
|
|
|
34
36
|
export { assertCssSelector } from './browser/selectors.js';
|
|
35
37
|
export { resolveAffected, resolveAffectedFromPaths, gitIsCommit, type AffectedOptions, type AffectedResult, } from './analysis/affected.js';
|
|
36
38
|
export { buildCauseIndex, prepareCause, type CauseIndex, type CauseSources, type ChangedFile, } from './analysis/cause.js';
|
|
37
|
-
export { buildHandoffPrompt, describeCause, type HandoffPayload, } from './agent/handoff.js';
|
|
39
|
+
export { buildHandoffPrompt, describeCause, describeVariant, handoffVariant, type HandoffPayload, } from './agent/handoff.js';
|
|
38
40
|
export { buildComment, type CommentOptions } from './report/comment.js';
|
|
39
41
|
export { isRunReport, parseRunReport } from './report/run-report.js';
|
|
40
42
|
export { buildHtmlReport, type HtmlReportOptions } from './report/html.js';
|
|
41
|
-
export { formatPercent } from './report/format.js';
|
|
43
|
+
export { formatPercent, captureLabel, countStories, hasVariants, type CaptureRef, } from './report/format.js';
|
|
42
44
|
export { resolveArtifactUrl, resolveGitHubContext, postComment, type GitHubContext, } from './report/github.js';
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
export { navigateToStory } from './url-platform.js';
|
|
13
13
|
export { createUrlPlatform } from './platforms/urls.js';
|
|
14
14
|
export { waitForSelector } from './capture/settle.js';
|
|
15
|
+
// Per-story capture variants: expansion after enumeration, and selection by a
|
|
16
|
+
// base id (story + all variants) or a capture key (one capture).
|
|
17
|
+
export { expandVariants, selectByStoryId, captureKey, platformStoryId, VariantConfigError, VARIANT_NAME, } from './capture/variants.js';
|
|
18
|
+
export { discoverParams, prepareCaptures, } from './capture/discover.js';
|
|
15
19
|
// Implementing a baseline store. `encodeStoryId` matters for anyone building
|
|
16
20
|
// keys from a story id — they are platform-supplied and not path-safe.
|
|
17
21
|
export { GitBaselineStore, encodeStoryId } from './baseline/git-store.js';
|
|
@@ -54,10 +58,10 @@ export { resolveAffected, resolveAffectedFromPaths, gitIsCommit, } from './analy
|
|
|
54
58
|
// Cause: the story's import closure intersected with the changed files.
|
|
55
59
|
export { buildCauseIndex, prepareCause, } from './analysis/cause.js';
|
|
56
60
|
// Reporting on one.
|
|
57
|
-
export { buildHandoffPrompt, describeCause, } from './agent/handoff.js';
|
|
61
|
+
export { buildHandoffPrompt, describeCause, describeVariant, handoffVariant, } from './agent/handoff.js';
|
|
58
62
|
export { buildComment } from './report/comment.js';
|
|
59
63
|
export { isRunReport, parseRunReport } from './report/run-report.js';
|
|
60
64
|
export { buildHtmlReport } from './report/html.js';
|
|
61
|
-
export { formatPercent } from './report/format.js';
|
|
65
|
+
export { formatPercent, captureLabel, countStories, hasVariants, } from './report/format.js';
|
|
62
66
|
export { resolveArtifactUrl, resolveGitHubContext, postComment, } from './report/github.js';
|
|
63
67
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,yEAAyE;AACzE,6EAA6E;AAC7E,6DAA6D;AAC7D,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,iEAAiE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -75,6 +75,26 @@ export interface Platform {
|
|
|
75
75
|
* index alone silently drops per-story thresholds.
|
|
76
76
|
*/
|
|
77
77
|
readLiveParams?(page: Page, storyId: string): Promise<StoryParams | undefined>;
|
|
78
|
+
/**
|
|
79
|
+
* Read every story's params from the live preview once, before capture.
|
|
80
|
+
*
|
|
81
|
+
* Optional, for platforms whose static index drops per-story config.
|
|
82
|
+
* Storybook's index.json carries no `parameters.juxtapose`, so without this
|
|
83
|
+
* a story's own `variants` can't be expanded and its `skip` or `viewport`
|
|
84
|
+
* is only learned after it has rendered. Core calls it once per run on a
|
|
85
|
+
* page of its own, merges the result over the enumerated params (the
|
|
86
|
+
* preview wins) and expands variants from that. Keyed by story id; a story
|
|
87
|
+
* missing from the map keeps its enumerated params.
|
|
88
|
+
*
|
|
89
|
+
* May throw: core warns and carries on with the enumerated params.
|
|
90
|
+
*/
|
|
91
|
+
discoverParams?(page: Page, baseUrl: string): Promise<Map<string, StoryParams>>;
|
|
92
|
+
/**
|
|
93
|
+
* A fingerprint of everything `discoverParams` would read, so core can
|
|
94
|
+
* reuse the last result for an unchanged build. Undefined (or absent)
|
|
95
|
+
* means don't cache — a dev server, whose stories change under it.
|
|
96
|
+
*/
|
|
97
|
+
discoveryKey?(target: EnumerateTarget): Promise<string | undefined>;
|
|
78
98
|
/** Directories whose contents invalidate every story when changed
|
|
79
99
|
* (`.storybook`, `.ladle`). Project-relative. */
|
|
80
100
|
readonly configDirs: readonly string[];
|
package/dist/platforms/urls.js
CHANGED
|
@@ -67,7 +67,11 @@ export function createUrlPlatform(urls) {
|
|
|
67
67
|
title: u.id,
|
|
68
68
|
name: u.id,
|
|
69
69
|
componentPath: '',
|
|
70
|
-
|
|
70
|
+
// `variants` may sit on the entry itself (the spec's form) or in its
|
|
71
|
+
// params; the entry's win by name. Expansion happens in core.
|
|
72
|
+
params: u.variants
|
|
73
|
+
? { ...u.params, variants: { ...u.params?.variants, ...u.variants } }
|
|
74
|
+
: (u.params ?? {}),
|
|
71
75
|
}));
|
|
72
76
|
},
|
|
73
77
|
async showStory(page, storyId, baseUrl) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../src/platforms/urls.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../src/platforms/urls.ts"],"names":[],"mappings":"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"}
|
package/dist/report/comment.js
CHANGED
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
// 2. Images are impossible. GitHub's sanitizer strips `src` from both
|
|
14
14
|
// `<img src="data:...">` and ``; only https:// survives, via
|
|
15
15
|
// camo. So the text has to carry everything and link out for pixels.
|
|
16
|
-
import { formatPercent, isSubThreshold } from './format.js';
|
|
16
|
+
import { captureLabel, countStories, formatPercent, hasVariants, isSubThreshold, } from './format.js';
|
|
17
|
+
import { shellQuote } from '../shell-quote.js';
|
|
17
18
|
/**
|
|
18
19
|
* Invisible marker identifying our own comment.
|
|
19
20
|
*
|
|
@@ -103,12 +104,14 @@ function triageOrder(results) {
|
|
|
103
104
|
* acted on; the largest mismatch can.
|
|
104
105
|
*/
|
|
105
106
|
function heading(rows) {
|
|
107
|
+
// Rows are captures. With variants among them, "story" would miscount.
|
|
108
|
+
const [one, many] = hasVariants(rows) ? ['capture', 'captures'] : ['story', 'stories'];
|
|
106
109
|
const errors = rows.filter((r) => r.error).length;
|
|
107
110
|
const fails = rows.filter(changed);
|
|
108
111
|
if (errors > 0) {
|
|
109
112
|
const rest = rows.length - errors;
|
|
110
113
|
const tail = rest > 0 ? ` — ${rest} more ${rest === 1 ? 'needs' : 'need'} review` : '';
|
|
111
|
-
return `${count(errors,
|
|
114
|
+
return `${count(errors, one, many)} failed to capture${tail}`;
|
|
112
115
|
}
|
|
113
116
|
// Derived from `rows`, not `report.summary`: summary.fail counts errored
|
|
114
117
|
// stories too (run.ts marks them 'fail'), so a summary-based check here would
|
|
@@ -117,13 +120,13 @@ function heading(rows) {
|
|
|
117
120
|
// A first run is 100% new by construction. Calling that a failure teaches
|
|
118
121
|
// people the tool cries wolf on day one.
|
|
119
122
|
if (rows.every((r) => r.status === 'new')) {
|
|
120
|
-
return `${count(rows.length,
|
|
123
|
+
return `${count(rows.length, `new ${one}`, `new ${many}`)} — no baselines yet`;
|
|
121
124
|
}
|
|
122
125
|
if (rows.every((r) => r.status === 'stale')) {
|
|
123
126
|
return `${count(rows.length, 'stale baseline', 'stale baselines')} — pixels identical, re-approve to re-anchor`;
|
|
124
127
|
}
|
|
125
128
|
if (fails.length === 0) {
|
|
126
|
-
return `${count(rows.length,
|
|
129
|
+
return `${count(rows.length, one, many)} need review`;
|
|
127
130
|
}
|
|
128
131
|
const largest = Math.max(...fails.map((r) => r.mismatchPercent));
|
|
129
132
|
// Below 0.1% the individual numbers are noise and a wall of them reads as
|
|
@@ -132,7 +135,7 @@ function heading(rows) {
|
|
|
132
135
|
const magnitude = largest < 0.1 ? 'all under 0.1%' : `largest ${formatPercent(largest)}`;
|
|
133
136
|
// Mixed: name the shape, since "5 changes" would overstate what changed.
|
|
134
137
|
if (rows.length > fails.length) {
|
|
135
|
-
return `${count(rows.length,
|
|
138
|
+
return `${count(rows.length, one, many)} need review — ${fails.length} changed, ${magnitude}`;
|
|
136
139
|
}
|
|
137
140
|
const noun = count(fails.length, 'visual change', 'visual changes');
|
|
138
141
|
const verb = fails.length === 1 ? 'needs' : 'need';
|
|
@@ -160,7 +163,7 @@ function table(rows) {
|
|
|
160
163
|
const out = [`| ${head.join(' | ')} |`, `| ${head.map(() => '---').join(' | ')} |`];
|
|
161
164
|
for (const r of rows.slice(0, MAX_ROWS)) {
|
|
162
165
|
const cells = [
|
|
163
|
-
`\`${cell(r
|
|
166
|
+
`\`${cell(captureLabel(r))}\``,
|
|
164
167
|
showStatus ? (r.status === 'fail' ? 'changed' : r.status) : null,
|
|
165
168
|
showDetail ? detail(r) : null,
|
|
166
169
|
].filter((c) => c !== null);
|
|
@@ -194,14 +197,14 @@ function commands(rows) {
|
|
|
194
197
|
// pointing the "investigate this" tool at noise wastes the reader's time.
|
|
195
198
|
const worthInvestigating = rows.find((r) => changed(r) && r.mismatchPercent >= 0.1);
|
|
196
199
|
if (worthInvestigating) {
|
|
197
|
-
out.push(annotate(`jux handoff ${worthInvestigating.storyId}`, 'unsure? agent-ready prompt: what moved, where'));
|
|
200
|
+
out.push(annotate(`jux handoff ${shellQuote(worthInvestigating.storyId)}`, 'unsure? agent-ready prompt: what moved, where'));
|
|
198
201
|
}
|
|
199
202
|
// Never name an errored story here: approving a crashed capture bakes a
|
|
200
203
|
// broken baseline into the manifest, which is the one outcome worse than a
|
|
201
204
|
// red build.
|
|
202
205
|
const approvable = rows.find((r) => !r.error);
|
|
203
206
|
out.push(approvable
|
|
204
|
-
? annotate('jux approve --all', `or --story ${approvable.storyId}`)
|
|
207
|
+
? annotate('jux approve --all', `or --story ${shellQuote(approvable.storyId)}`)
|
|
205
208
|
: 'jux approve --all');
|
|
206
209
|
return out;
|
|
207
210
|
}
|
|
@@ -263,6 +266,14 @@ function passingBody(report) {
|
|
|
263
266
|
// `pass` counts CAPTURED passes, so "42 stories match" is a lie on a narrowed
|
|
264
267
|
// run where only six were captured.
|
|
265
268
|
const narrowed = report.capturedCount < report.totalCount;
|
|
269
|
+
if (hasVariants(report.results)) {
|
|
270
|
+
const stories = countStories(report.results);
|
|
271
|
+
const across = `across ${count(stories, 'story', 'stories')}`;
|
|
272
|
+
const head = narrowed
|
|
273
|
+
? `${count(s.pass, 'capture taken matches', 'captures taken match')} their baselines, ${across}.`
|
|
274
|
+
: `${count(s.pass, 'capture matches', 'captures match')} their baselines, ${across}.`;
|
|
275
|
+
return s.skip > 0 ? `${head} ${s.skip} skipped.` : head;
|
|
276
|
+
}
|
|
266
277
|
const head = narrowed
|
|
267
278
|
? `${count(s.pass, 'captured story matches', 'captured stories match')} their baselines.`
|
|
268
279
|
: `${count(s.pass, 'story matches', 'stories match')} their baselines.`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comment.js","sourceRoot":"","sources":["../../src/report/comment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"comment.js","sourceRoot":"","sources":["../../src/report/comment.ts"],"names":[],"mappings":"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"}
|
package/dist/report/format.d.ts
CHANGED
|
@@ -18,3 +18,20 @@ export declare function isSubThreshold(r: {
|
|
|
18
18
|
}): boolean;
|
|
19
19
|
/** A failing story's magnitude, in words that stay true for sub-threshold changes. */
|
|
20
20
|
export declare function describeMagnitude(r: Parameters<typeof isSubThreshold>[0]): string;
|
|
21
|
+
/** The fields a capture's label is made of. Structural so the addon can use
|
|
22
|
+
* it on what it fetched without importing core's types. */
|
|
23
|
+
export interface CaptureRef {
|
|
24
|
+
storyId: string;
|
|
25
|
+
baseStoryId?: string;
|
|
26
|
+
variant?: string;
|
|
27
|
+
}
|
|
28
|
+
/** `button--primary · dark` for a variant, the bare id for a default capture. */
|
|
29
|
+
export declare function captureLabel(r: CaptureRef): string;
|
|
30
|
+
/** How many distinct stories a set of captures covers. */
|
|
31
|
+
export declare function countStories(results: readonly CaptureRef[]): number;
|
|
32
|
+
/** Whether any of these captures is a variant: the cue to say "captures"
|
|
33
|
+
* rather than "stories", so output without variants reads as it always has. */
|
|
34
|
+
export declare const hasVariants: (results: readonly CaptureRef[]) => boolean;
|
|
35
|
+
/** Byte-identical output across machines needs a locale-free order;
|
|
36
|
+
* `localeCompare` is not one. */
|
|
37
|
+
export declare const compareCodeUnits: (a: string, b: string) => number;
|
package/dist/report/format.js
CHANGED
|
@@ -29,4 +29,20 @@ export function describeMagnitude(r) {
|
|
|
29
29
|
? 'subtle change, diff marks no pixels'
|
|
30
30
|
: `${formatPercent(r.mismatchPercent)} changed`;
|
|
31
31
|
}
|
|
32
|
+
/** `button--primary · dark` for a variant, the bare id for a default capture. */
|
|
33
|
+
export function captureLabel(r) {
|
|
34
|
+
return r.variant !== undefined && r.baseStoryId !== undefined
|
|
35
|
+
? `${r.baseStoryId} · ${r.variant}`
|
|
36
|
+
: r.storyId;
|
|
37
|
+
}
|
|
38
|
+
/** How many distinct stories a set of captures covers. */
|
|
39
|
+
export function countStories(results) {
|
|
40
|
+
return new Set(results.map((r) => r.baseStoryId ?? r.storyId)).size;
|
|
41
|
+
}
|
|
42
|
+
/** Whether any of these captures is a variant: the cue to say "captures"
|
|
43
|
+
* rather than "stories", so output without variants reads as it always has. */
|
|
44
|
+
export const hasVariants = (results) => results.some((r) => r.variant !== undefined);
|
|
45
|
+
/** Byte-identical output across machines needs a locale-free order;
|
|
46
|
+
* `localeCompare` is not one. */
|
|
47
|
+
export const compareCodeUnits = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
32
48
|
//# sourceMappingURL=format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/report/format.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,4EAA4E;AAE5E,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,CAI9B;IACC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,CAAuC;IACvE,OAAO,cAAc,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC;AACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/report/format.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,4EAA4E;AAE5E,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,CAI9B;IACC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,CAAuC;IACvE,OAAO,cAAc,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC;AACpD,CAAC;AAUD,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,CAAa;IACxC,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAC3D,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC,OAAO,EAAE;QACnC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAChB,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,YAAY,CAAC,OAA8B;IACzD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED;gFACgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAA8B,EAAW,EAAE,CACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;AAE/C;kCACkC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAC/D,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/report/html.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// This complements rather than duplicates the addon panel. The panel is for
|
|
9
9
|
// local review with a dev server running; this is for a reviewer looking at a
|
|
10
10
|
// pull request who has checked nothing out.
|
|
11
|
-
import { describeMagnitude } from './format.js';
|
|
11
|
+
import { captureLabel, describeMagnitude } from './format.js';
|
|
12
12
|
export function buildHtmlReport({ report, images }) {
|
|
13
13
|
const needsReview = report.results.filter((r) => r.status === 'fail' || r.status === 'new' || r.status === 'stale');
|
|
14
14
|
const s = report.summary;
|
|
@@ -37,7 +37,9 @@ export function buildHtmlReport({ report, images }) {
|
|
|
37
37
|
|
|
38
38
|
${needsReview.length === 0
|
|
39
39
|
? `<p class="empty">Every captured story matches its approved baseline.</p>`
|
|
40
|
-
: needsReview
|
|
40
|
+
: groupByStory(needsReview)
|
|
41
|
+
.map((group) => storyGroup(group, images))
|
|
42
|
+
.join('\n')}
|
|
41
43
|
|
|
42
44
|
<script>${SCRIPT}</script>
|
|
43
45
|
`;
|
|
@@ -45,7 +47,35 @@ ${needsReview.length === 0
|
|
|
45
47
|
function stat(label, value, tone = '') {
|
|
46
48
|
return `<div class="${tone}"><dt>${label}</dt><dd>${value}</dd></div>`;
|
|
47
49
|
}
|
|
48
|
-
|
|
50
|
+
/** Captures grouped by story, in first-seen order: a story's variants nest
|
|
51
|
+
* under it rather than reading as unrelated stories. */
|
|
52
|
+
function groupByStory(results) {
|
|
53
|
+
const groups = new Map();
|
|
54
|
+
for (const r of results) {
|
|
55
|
+
const key = r.baseStoryId ?? r.storyId;
|
|
56
|
+
const group = groups.get(key);
|
|
57
|
+
if (group)
|
|
58
|
+
group.push(r);
|
|
59
|
+
else
|
|
60
|
+
groups.set(key, [r]);
|
|
61
|
+
}
|
|
62
|
+
return [...groups.values()];
|
|
63
|
+
}
|
|
64
|
+
function storyGroup(group, images) {
|
|
65
|
+
const [first] = group;
|
|
66
|
+
// A lone default capture renders exactly as before variants existed.
|
|
67
|
+
if (group.length === 1 && first && first.variant === undefined)
|
|
68
|
+
return storySection(first, images.get(first.storyId), 'h2', first.storyId);
|
|
69
|
+
const story = first?.baseStoryId ?? first?.storyId ?? '';
|
|
70
|
+
return `
|
|
71
|
+
<article class="story">
|
|
72
|
+
<h2>${escapeHtml(story)}</h2>
|
|
73
|
+
${group
|
|
74
|
+
.map((r) => storySection(r, images.get(r.storyId), 'h3', r.variant ?? 'default', captureLabel(r)))
|
|
75
|
+
.join('\n')}
|
|
76
|
+
</article>`;
|
|
77
|
+
}
|
|
78
|
+
function storySection(result, imgs, level, label, title = label) {
|
|
49
79
|
const baseline = dataUri(imgs?.baseline);
|
|
50
80
|
const current = dataUri(imgs?.current);
|
|
51
81
|
const diff = dataUri(imgs?.diff);
|
|
@@ -55,11 +85,11 @@ function storySection(result, imgs) {
|
|
|
55
85
|
const comparable = Boolean(baseline && current);
|
|
56
86
|
return `
|
|
57
87
|
<section>
|
|
58
|
-
|
|
88
|
+
<${level}${level === 'h3' ? ` title="${escapeHtml(title)}"` : ''}>
|
|
59
89
|
<span class="badge ${result.status}">${statusLabel(result.status)}</span>
|
|
60
|
-
${escapeHtml(
|
|
90
|
+
${escapeHtml(label)}
|
|
61
91
|
${result.status === 'fail' ? `<span class="pct">${escapeHtml(describeMagnitude(result))}</span>` : ''}
|
|
62
|
-
|
|
92
|
+
</${level}>
|
|
63
93
|
${result.error ? `<p class="error">${escapeHtml(result.error)}</p>` : ''}
|
|
64
94
|
${comparable
|
|
65
95
|
? `
|
|
@@ -143,6 +173,10 @@ dl .bad dd { color: var(--bad); } dl .warn dd { color: var(--warn); }
|
|
|
143
173
|
.meta { color: var(--muted); font-size: 13px; margin: 0 0 28px; }
|
|
144
174
|
.empty { color: var(--muted); }
|
|
145
175
|
section { border-top: 1px solid var(--line); padding: 20px 0; }
|
|
176
|
+
article.story { border-top: 1px solid var(--line); padding-top: 20px; }
|
|
177
|
+
article.story > h2 { margin-bottom: 4px; }
|
|
178
|
+
article.story section { border-top: none; padding: 12px 0 12px 16px; border-left: 2px solid var(--line); }
|
|
179
|
+
h3 { font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 8px; margin: 0 0 8px; }
|
|
146
180
|
h2 { font-size: 15px; font-weight: 600; display: flex; align-items: center;
|
|
147
181
|
gap: 10px; margin: 0 0 12px; }
|
|
148
182
|
.badge { font-size: 11px; text-transform: uppercase; letter-spacing: .04em;
|
package/dist/report/html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,uEAAuE;AACvE,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,4CAA4C;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":"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"}
|
package/dist/run/run.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export interface RunOptions {
|
|
|
21
21
|
/** Receives each story's images so the caller decides where they land. */
|
|
22
22
|
onArtifact?: (artifact: RunArtifact) => Promise<void>;
|
|
23
23
|
onProgress?: (done: number, total: number, storyId: string) => void;
|
|
24
|
+
/** Non-fatal capture notices; the caller decides where they go. */
|
|
25
|
+
onWarning?: (message: string) => void;
|
|
24
26
|
signal?: AbortSignal;
|
|
25
27
|
/** Collects per-phase wall time. Pass one to fold in phases the caller timed
|
|
26
28
|
* itself (enumerate, affected, launch); omit and one is made internally. */
|
package/dist/run/run.js
CHANGED
|
@@ -30,6 +30,7 @@ export async function runCapture(opts) {
|
|
|
30
30
|
warmSwitch: opts.config?.warmSwitch,
|
|
31
31
|
viewport,
|
|
32
32
|
onProgress: opts.onProgress,
|
|
33
|
+
...(opts.onWarning ? { onWarning: opts.onWarning } : {}),
|
|
33
34
|
signal: opts.signal,
|
|
34
35
|
});
|
|
35
36
|
// Capture is measured as the whole streamed loop rather than per story: the
|
|
@@ -40,6 +41,7 @@ export async function runCapture(opts) {
|
|
|
40
41
|
if (outcome.skipped) {
|
|
41
42
|
results.push({
|
|
42
43
|
storyId: outcome.story.storyId,
|
|
44
|
+
...variantOf(outcome.story),
|
|
43
45
|
status: 'skip',
|
|
44
46
|
mismatchPixels: 0,
|
|
45
47
|
mismatchPercent: 0,
|
|
@@ -51,6 +53,7 @@ export async function runCapture(opts) {
|
|
|
51
53
|
if (outcome.error || !outcome.snapshot) {
|
|
52
54
|
results.push({
|
|
53
55
|
storyId: outcome.story.storyId,
|
|
56
|
+
...variantOf(outcome.story),
|
|
54
57
|
status: 'fail',
|
|
55
58
|
mismatchPixels: 0,
|
|
56
59
|
mismatchPercent: 0,
|
|
@@ -93,6 +96,7 @@ async function judge(snapshot, story, manifest, opts, p) {
|
|
|
93
96
|
const status = toDiffStatus(baselineStatus);
|
|
94
97
|
const base = {
|
|
95
98
|
storyId: story.storyId,
|
|
99
|
+
...variantOf(story),
|
|
96
100
|
status,
|
|
97
101
|
mismatchPixels: 0,
|
|
98
102
|
mismatchPercent: 0,
|
|
@@ -193,6 +197,17 @@ async function tryStructural(opts, story, snapshot, pixels, p) {
|
|
|
193
197
|
return undefined;
|
|
194
198
|
}
|
|
195
199
|
}
|
|
200
|
+
/** The grouping fields a report needs, present only on a variant capture so
|
|
201
|
+
* a default capture's result serializes exactly as it did before variants. */
|
|
202
|
+
function variantOf(story) {
|
|
203
|
+
return story.variant !== undefined && story.baseStoryId !== undefined
|
|
204
|
+
? {
|
|
205
|
+
baseStoryId: story.baseStoryId,
|
|
206
|
+
variant: story.variant,
|
|
207
|
+
variantParams: story.variantParams ?? {},
|
|
208
|
+
}
|
|
209
|
+
: {};
|
|
210
|
+
}
|
|
196
211
|
function tally(results) {
|
|
197
212
|
const summary = {
|
|
198
213
|
pass: 0,
|
package/dist/run/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/run/run.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,2EAA2E;AAC3E,qEAAqE;AAGrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAc/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,UAAU,EAEV,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAe,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAa,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/run/run.ts"],"names":[],"mappings":"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"}
|