@juxtapose/core 0.7.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 +19 -1
- package/dist/analysis/affected.js +50 -1
- package/dist/analysis/affected.js.map +1 -1
- package/dist/analysis/cause.js +2 -2
- package/dist/analysis/cause.js.map +1 -1
- package/dist/baseline/approve.js +2 -1
- package/dist/baseline/approve.js.map +1 -1
- package/dist/baseline/git-store.js +12 -5
- package/dist/baseline/git-store.js.map +1 -1
- package/dist/browser/browser.js +4 -1
- package/dist/browser/browser.js.map +1 -1
- package/dist/browser/cdp.d.ts +39 -3
- package/dist/browser/cdp.js +57 -17
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/daemon/client.js +4 -3
- package/dist/browser/daemon/client.js.map +1 -1
- package/dist/browser/daemon/state.js +4 -3
- package/dist/browser/daemon/state.js.map +1 -1
- package/dist/browser/daemon/supervisor-main.js +14 -9
- package/dist/browser/daemon/supervisor-main.js.map +1 -1
- package/dist/browser/daemon/supervisor.js +31 -25
- package/dist/browser/daemon/supervisor.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/guards.d.ts +6 -0
- package/dist/browser/guards.js +23 -0
- package/dist/browser/guards.js.map +1 -0
- package/dist/browser/install.js +10 -4
- package/dist/browser/install.js.map +1 -1
- package/dist/browser/launch.d.ts +2 -1
- package/dist/browser/launch.js +12 -4
- package/dist/browser/launch.js.map +1 -1
- package/dist/browser/page.d.ts +18 -1
- package/dist/browser/page.js +27 -16
- package/dist/browser/page.js.map +1 -1
- package/dist/browser/resolve.js +2 -1
- package/dist/browser/resolve.js.map +1 -1
- package/dist/browser/zip.js +4 -3
- package/dist/browser/zip.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 +3 -1
- package/dist/capture/pool.js.map +1 -1
- package/dist/capture/settle.js +4 -0
- package/dist/capture/settle.js.map +1 -1
- package/dist/capture/snap.js +3 -1
- package/dist/capture/snap.js.map +1 -1
- package/dist/capture/structure.d.ts +15 -33
- package/dist/capture/structure.js +81 -22
- package/dist/capture/structure.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/regions.js +8 -4
- package/dist/diff/regions.js.map +1 -1
- package/dist/diff/structural/deltas.d.ts +2 -3
- package/dist/diff/structural/deltas.js +12 -9
- package/dist/diff/structural/deltas.js.map +1 -1
- package/dist/diff/structural/disambiguate.js +8 -7
- package/dist/diff/structural/disambiguate.js.map +1 -1
- package/dist/diff/structural/label.js +1 -1
- package/dist/diff/structural/label.js.map +1 -1
- package/dist/diff/structural/match.js +13 -6
- package/dist/diff/structural/match.js.map +1 -1
- package/dist/diff/structural/shift.js +8 -6
- package/dist/diff/structural/shift.js.map +1 -1
- package/dist/diff/structural/summary.js +9 -5
- package/dist/diff/structural/summary.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.js +7 -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/github.js +21 -7
- package/dist/report/github.js.map +1 -1
- package/dist/report/html.js +40 -6
- package/dist/report/html.js.map +1 -1
- package/dist/report/run-report.d.ts +10 -0
- package/dist/report/run-report.js +24 -0
- package/dist/report/run-report.js.map +1 -0
- 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 +2 -1
package/dist/agent/handoff.d.ts
CHANGED
|
@@ -22,7 +22,23 @@ export interface HandoffPayload {
|
|
|
22
22
|
};
|
|
23
23
|
/** So a session running in the wrong repo can detect the mismatch. */
|
|
24
24
|
projectRoot: string;
|
|
25
|
+
/** Set when the capture is a variant: its story, name and what it sets. */
|
|
26
|
+
variant?: {
|
|
27
|
+
baseStoryId: string;
|
|
28
|
+
name: string;
|
|
29
|
+
params: Record<string, unknown>;
|
|
30
|
+
};
|
|
25
31
|
}
|
|
32
|
+
/** The handoff's variant field from a run result; undefined for a default
|
|
33
|
+
* capture. */
|
|
34
|
+
export declare function handoffVariant(r: {
|
|
35
|
+
baseStoryId?: string;
|
|
36
|
+
variant?: string;
|
|
37
|
+
variantParams?: object;
|
|
38
|
+
}): HandoffPayload['variant'];
|
|
39
|
+
/** "the `dark` variant of `card--default`, captured with colorScheme dark and
|
|
40
|
+
* viewport 375×812": the conditions an agent is fixing under. */
|
|
41
|
+
export declare function describeVariant(v: NonNullable<HandoffPayload['variant']>): string;
|
|
26
42
|
export declare function buildHandoffPrompt(p: HandoffPayload): string;
|
|
27
43
|
/**
|
|
28
44
|
* Describe a region in language a model reasons about well.
|
package/dist/agent/handoff.js
CHANGED
|
@@ -8,11 +8,46 @@
|
|
|
8
8
|
// Pure function. No I/O, no clipboard — string in, string out, so it is
|
|
9
9
|
// trivially testable and callable from both the CLI and a server.
|
|
10
10
|
import { describeDeltas } from '../diff/structural/summary.js';
|
|
11
|
+
import { shellQuote } from '../shell-quote.js';
|
|
12
|
+
import { compareCodeUnits } from '../report/format.js';
|
|
13
|
+
/** The handoff's variant field from a run result; undefined for a default
|
|
14
|
+
* capture. */
|
|
15
|
+
export function handoffVariant(r) {
|
|
16
|
+
return r.baseStoryId !== undefined && r.variant !== undefined
|
|
17
|
+
? {
|
|
18
|
+
baseStoryId: r.baseStoryId,
|
|
19
|
+
name: r.variant,
|
|
20
|
+
params: { ...(r.variantParams ?? {}) },
|
|
21
|
+
}
|
|
22
|
+
: undefined;
|
|
23
|
+
}
|
|
24
|
+
/** "the `dark` variant of `card--default`, captured with colorScheme dark and
|
|
25
|
+
* viewport 375×812": the conditions an agent is fixing under. */
|
|
26
|
+
export function describeVariant(v) {
|
|
27
|
+
const settings = Object.entries(v.params)
|
|
28
|
+
.sort(([a], [b]) => compareCodeUnits(a, b))
|
|
29
|
+
.map(([k, val]) => {
|
|
30
|
+
if (k === 'viewport' &&
|
|
31
|
+
typeof val === 'object' &&
|
|
32
|
+
val !== null &&
|
|
33
|
+
'width' in val &&
|
|
34
|
+
'height' in val)
|
|
35
|
+
return `viewport ${String(val.width)}×${String(val.height)}`;
|
|
36
|
+
return `${k} ${typeof val === 'string' ? val : JSON.stringify(val)}`;
|
|
37
|
+
});
|
|
38
|
+
const head = `the \`${v.name}\` variant of \`${v.baseStoryId}\``;
|
|
39
|
+
return settings.length > 0
|
|
40
|
+
? `${head}, captured with ${settings.join(', ')}`
|
|
41
|
+
: `${head}, with no settings of its own`;
|
|
42
|
+
}
|
|
11
43
|
export function buildHandoffPrompt(p) {
|
|
12
44
|
const lines = [];
|
|
13
45
|
lines.push(`# Visual change: ${p.storyTitle}`);
|
|
14
46
|
lines.push('');
|
|
15
47
|
lines.push(`Story \`${p.storyId}\` is **${p.status}**.`);
|
|
48
|
+
if (p.variant) {
|
|
49
|
+
lines.push(`This capture is ${describeVariant(p.variant)}. Reproduce under those conditions; the story's default capture is a separate baseline.`);
|
|
50
|
+
}
|
|
16
51
|
lines.push('');
|
|
17
52
|
if (p.status === 'new') {
|
|
18
53
|
lines.push('This story has no baseline yet — nothing to compare against. Decide whether', 'the rendered output is correct, then either approve it to establish the', 'baseline or fix the component first.', '', ...actions(p, { approveVerb: 'establish this as the baseline' }));
|
|
@@ -53,7 +88,7 @@ export function buildHandoffPrompt(p) {
|
|
|
53
88
|
lines.push(` …and ${v.deltaCount - v.deltas.length} more (see the diff data file)`);
|
|
54
89
|
}
|
|
55
90
|
lines.push('');
|
|
56
|
-
lines.push('Check these deltas against the change you intended. If they are all intended,', `the change is expected: approve it (\`jux approve --story ${p.storyId}\`). If any`, 'delta is one you did not intend, fix that before approving.');
|
|
91
|
+
lines.push('Check these deltas against the change you intended. If they are all intended,', `the change is expected: approve it (\`jux approve --story ${shellQuote(p.storyId)}\`). If any`, 'delta is one you did not intend, fix that before approving.');
|
|
57
92
|
}
|
|
58
93
|
if (v.flags.length > 0) {
|
|
59
94
|
lines.push('', `Flags: ${v.flags.join(', ')}`);
|
|
@@ -124,7 +159,7 @@ function actions(p, opts) {
|
|
|
124
159
|
else {
|
|
125
160
|
out.push('1. Locate the component behind this story.', '2. Check its recent history for an explanation.', '3. Decide: intentional change, or regression?');
|
|
126
161
|
}
|
|
127
|
-
out.push('', `- **Intentional** → \`jux approve --story ${p.storyId}\` to ${opts.approveVerb}.`, '- **Regression** → propose a fix. Do not apply it without confirmation.');
|
|
162
|
+
out.push('', `- **Intentional** → \`jux approve --story ${shellQuote(p.storyId)}\` to ${opts.approveVerb}.`, '- **Regression** → propose a fix. Do not apply it without confirmation.');
|
|
128
163
|
return out;
|
|
129
164
|
}
|
|
130
165
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/agent/handoff.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,EAAE;AACF,yEAAyE;AACzE,8EAA8E;AAC9E,8EAA8E;AAC9E,sEAAsE;AACtE,EAAE;AACF,wEAAwE;AACxE,kEAAkE;AASlE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/agent/handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { StoryManifest } from '../types.js';
|
|
2
2
|
interface ViteManifestEntry {
|
|
3
|
-
file
|
|
3
|
+
/** Always written by Vite; never read here, so not required of the file. */
|
|
4
|
+
file?: string;
|
|
4
5
|
src?: string;
|
|
5
6
|
imports?: string[];
|
|
6
7
|
dynamicImports?: string[];
|
|
@@ -30,6 +31,23 @@ export declare function isLockfileChange(file: string): boolean;
|
|
|
30
31
|
* manifest never names it, so without this a tsconfig edit beside a
|
|
31
32
|
* component edit narrowed the run to that component's stories. */
|
|
32
33
|
export declare function isTsconfigChange(file: string): boolean;
|
|
34
|
+
/** A juxtapose config file: it can declare project-wide variants (and
|
|
35
|
+
* viewport, thresholds) that change every story's captures, and no bundler
|
|
36
|
+
* graph names it. Matched at any depth, unlike a lockfile: changed paths are
|
|
37
|
+
* repository-relative, and a project in a subdirectory keeps its config
|
|
38
|
+
* there. A nested match is at worst a full run, which is the safe direction.
|
|
39
|
+
* The project's own `package.json` (which can carry `juxtapose`) is
|
|
40
|
+
* `isProjectPackageJson`'s job: only the one at the project root counts. */
|
|
41
|
+
export declare function isJuxtaposeConfigChange(file: string): boolean;
|
|
42
|
+
/** The jux project's own package.json, whose `juxtapose` key is config
|
|
43
|
+
* like `juxtapose.config.json`. `projectPrefix` is the project root relative
|
|
44
|
+
* to the repository (`apps/web/`, or '' at the root), the base changed paths
|
|
45
|
+
* are reported against. At the root it is also a lockfile-list entry, which
|
|
46
|
+
* escalates first as `dependency-changed`. */
|
|
47
|
+
export declare function isProjectPackageJson(file: string, projectPrefix: string): boolean;
|
|
48
|
+
/** The project root relative to the repository top, with a trailing slash;
|
|
49
|
+
* '' at the top or outside git. */
|
|
50
|
+
export declare function gitProjectPrefix(projectRoot: string): string;
|
|
33
51
|
/** Anything under a platform config dir (`.storybook`, `.ladle`) reaches
|
|
34
52
|
* every story. */
|
|
35
53
|
export declare function isConfigChange(file: string, configDirs: string[]): boolean;
|
|
@@ -12,6 +12,17 @@
|
|
|
12
12
|
import { execFileSync } from 'node:child_process';
|
|
13
13
|
import { readFile } from 'node:fs/promises';
|
|
14
14
|
import path from 'node:path';
|
|
15
|
+
import { isRecord, isStringArray } from '../browser/guards.js';
|
|
16
|
+
const optional = (v, is) => v === undefined || is(v);
|
|
17
|
+
const isString = (v) => typeof v === 'string';
|
|
18
|
+
/** The fields buildReverseGraph reads, with the types it reads them as. */
|
|
19
|
+
function isViteManifest(v) {
|
|
20
|
+
return (isRecord(v) &&
|
|
21
|
+
Object.values(v).every((e) => isRecord(e) &&
|
|
22
|
+
optional(e['src'], isString) &&
|
|
23
|
+
optional(e['imports'], isStringArray) &&
|
|
24
|
+
optional(e['dynamicImports'], isStringArray)));
|
|
25
|
+
}
|
|
15
26
|
const LOCKFILES = new Set([
|
|
16
27
|
'package.json',
|
|
17
28
|
'package-lock.json',
|
|
@@ -31,6 +42,35 @@ export function isLockfileChange(file) {
|
|
|
31
42
|
export function isTsconfigChange(file) {
|
|
32
43
|
return !file.includes('/') && /^tsconfig(\..+)?\.json$/.test(file);
|
|
33
44
|
}
|
|
45
|
+
/** A juxtapose config file: it can declare project-wide variants (and
|
|
46
|
+
* viewport, thresholds) that change every story's captures, and no bundler
|
|
47
|
+
* graph names it. Matched at any depth, unlike a lockfile: changed paths are
|
|
48
|
+
* repository-relative, and a project in a subdirectory keeps its config
|
|
49
|
+
* there. A nested match is at worst a full run, which is the safe direction.
|
|
50
|
+
* The project's own `package.json` (which can carry `juxtapose`) is
|
|
51
|
+
* `isProjectPackageJson`'s job: only the one at the project root counts. */
|
|
52
|
+
export function isJuxtaposeConfigChange(file) {
|
|
53
|
+
const base = file.split('/').pop() ?? file;
|
|
54
|
+
return base === 'juxtapose.config.json' || base === '.juxtaposerc.json';
|
|
55
|
+
}
|
|
56
|
+
/** The jux project's own package.json, whose `juxtapose` key is config
|
|
57
|
+
* like `juxtapose.config.json`. `projectPrefix` is the project root relative
|
|
58
|
+
* to the repository (`apps/web/`, or '' at the root), the base changed paths
|
|
59
|
+
* are reported against. At the root it is also a lockfile-list entry, which
|
|
60
|
+
* escalates first as `dependency-changed`. */
|
|
61
|
+
export function isProjectPackageJson(file, projectPrefix) {
|
|
62
|
+
return file === `${projectPrefix}package.json`;
|
|
63
|
+
}
|
|
64
|
+
/** The project root relative to the repository top, with a trailing slash;
|
|
65
|
+
* '' at the top or outside git. */
|
|
66
|
+
export function gitProjectPrefix(projectRoot) {
|
|
67
|
+
try {
|
|
68
|
+
return git(['rev-parse', '--show-prefix'], projectRoot).trim();
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return '';
|
|
72
|
+
}
|
|
73
|
+
}
|
|
34
74
|
/** Anything under a platform config dir (`.storybook`, `.ladle`) reaches
|
|
35
75
|
* every story. */
|
|
36
76
|
export function isConfigChange(file, configDirs) {
|
|
@@ -46,11 +86,16 @@ export async function resolveAffected(stories, sinceCommit, opts) {
|
|
|
46
86
|
return { stories, reason: 'git-unavailable' };
|
|
47
87
|
if (changed.length === 0)
|
|
48
88
|
return { stories: [], reason: 'no-changes' };
|
|
89
|
+
const prefix = gitProjectPrefix(opts.projectRoot);
|
|
49
90
|
for (const file of changed) {
|
|
50
91
|
if (isLockfileChange(file))
|
|
51
92
|
return { stories, reason: 'dependency-changed' };
|
|
52
93
|
if (isTsconfigChange(file))
|
|
53
94
|
return { stories, reason: 'config-changed' };
|
|
95
|
+
if (isJuxtaposeConfigChange(file))
|
|
96
|
+
return { stories, reason: 'config-changed' };
|
|
97
|
+
if (isProjectPackageJson(file, prefix))
|
|
98
|
+
return { stories, reason: 'config-changed' };
|
|
54
99
|
if (isConfigChange(file, opts.configDirs))
|
|
55
100
|
return { stories, reason: 'config-changed' };
|
|
56
101
|
}
|
|
@@ -163,7 +208,11 @@ function walkDependents(reverse, seeds) {
|
|
|
163
208
|
export async function loadViteManifest(buildDir) {
|
|
164
209
|
for (const rel of ['.vite/manifest.json', 'manifest.json']) {
|
|
165
210
|
try {
|
|
166
|
-
|
|
211
|
+
const parsed = JSON.parse(await readFile(path.join(buildDir, rel), 'utf8'));
|
|
212
|
+
// Not a Vite manifest (another tool's manifest.json): no graph, which
|
|
213
|
+
// escalates to capturing everything, as a missing one does.
|
|
214
|
+
if (isViteManifest(parsed))
|
|
215
|
+
return parsed;
|
|
167
216
|
}
|
|
168
217
|
catch {
|
|
169
218
|
// try next
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/analysis/affected.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,kDAAkD;AAClD,EAAE;AACF,qDAAqD;AACrD,+CAA+C;AAC/C,EAAE;AACF,+EAA+E;AAC/E,oBAAoB;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"affected.js","sourceRoot":"","sources":["../../src/analysis/affected.ts"],"names":[],"mappings":"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"}
|
package/dist/analysis/cause.js
CHANGED
|
@@ -172,8 +172,8 @@ function buildForwardGraph(manifest) {
|
|
|
172
172
|
function closure(edges, start) {
|
|
173
173
|
const dist = new Map([[start, 0]]);
|
|
174
174
|
const queue = [start];
|
|
175
|
-
|
|
176
|
-
|
|
175
|
+
// The array iterator rereads length, so files pushed below are visited too.
|
|
176
|
+
for (const file of queue) {
|
|
177
177
|
const d = dist.get(file);
|
|
178
178
|
for (const next of edges.get(file) ?? []) {
|
|
179
179
|
if (dist.has(next))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cause.js","sourceRoot":"","sources":["../../src/analysis/cause.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cause.js","sourceRoot":"","sources":["../../src/analysis/cause.ts"],"names":[],"mappings":"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"}
|
package/dist/baseline/approve.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
// disagreed: only `jux approve` kept the sidecar, so every baseline `init`
|
|
6
6
|
// bootstrapped, and every panel approval, silently dropped its structure.
|
|
7
7
|
import { readFile } from 'node:fs/promises';
|
|
8
|
+
import { errorMessage } from '../browser/guards.js';
|
|
8
9
|
import { decodeStructure } from '../capture/structure.js';
|
|
9
10
|
/**
|
|
10
11
|
* The structure sidecar written beside a run capture (`<x>.webp` →
|
|
@@ -48,7 +49,7 @@ export async function approveCapture(store, storyId, image, meta, imagePath) {
|
|
|
48
49
|
return {};
|
|
49
50
|
}
|
|
50
51
|
catch (err) {
|
|
51
|
-
return { structureError: err
|
|
52
|
+
return { structureError: errorMessage(err) };
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
//# sourceMappingURL=approve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/baseline/approve.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,qEAAqE;AACrE,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAQ1D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,CACjF,GAAG,EAAE,CAAC,IAAI,CACX,CAAC;IACF,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAoB,EACpB,OAAe,EACf,KAAa,EACb,IAAkB,EAClB,SAAiB;IAEjB,wEAAwE;IACxE,2EAA2E;IAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE;QAC9B,GAAG,IAAI;QACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC,CAAC;IACH,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,YAAa,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/baseline/approve.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,qEAAqE;AACrE,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAQ1D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,CACjF,GAAG,EAAE,CAAC,IAAI,CACX,CAAC;IACF,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAoB,EACpB,OAAe,EACf,KAAa,EACb,IAAkB,EAClB,SAAiB;IAEjB,wEAAwE;IACxE,2EAA2E;IAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE;QAC9B,GAAG,IAAI;QACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC,CAAC;IACH,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,YAAa,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC"}
|
|
@@ -17,6 +17,16 @@ import { readFile, writeFile, mkdir, rm } from 'node:fs/promises';
|
|
|
17
17
|
import { existsSync } from 'node:fs';
|
|
18
18
|
import path from 'node:path';
|
|
19
19
|
import { hashImage } from './status.js';
|
|
20
|
+
import { isRecord } from '../browser/guards.js';
|
|
21
|
+
/**
|
|
22
|
+
* The envelope only: version 1 and a `baselines` object. A null or array
|
|
23
|
+
* `baselines` (which `typeof` used to let through, to fail on first use) reads
|
|
24
|
+
* as corrupt, like any other damaged manifest. Entries are not checked one by
|
|
25
|
+
* one.
|
|
26
|
+
*/
|
|
27
|
+
function isBaselineManifest(v) {
|
|
28
|
+
return isRecord(v) && v['version'] === 1 && isRecord(v['baselines']);
|
|
29
|
+
}
|
|
20
30
|
const MANIFEST_NAME = 'juxtapose.manifest.json';
|
|
21
31
|
const EMPTY = { version: 1, baselines: {} };
|
|
22
32
|
export class GitBaselineStore {
|
|
@@ -77,10 +87,7 @@ export class GitBaselineStore {
|
|
|
77
87
|
return structuredClone(EMPTY);
|
|
78
88
|
try {
|
|
79
89
|
const parsed = JSON.parse(await readFile(this.manifestPath, 'utf8'));
|
|
80
|
-
|
|
81
|
-
return structuredClone(EMPTY);
|
|
82
|
-
}
|
|
83
|
-
return parsed;
|
|
90
|
+
return isBaselineManifest(parsed) ? parsed : structuredClone(EMPTY);
|
|
84
91
|
}
|
|
85
92
|
catch {
|
|
86
93
|
// A corrupt manifest means every story reads as `new`, which is loud and
|
|
@@ -93,7 +100,7 @@ export class GitBaselineStore {
|
|
|
93
100
|
// the whole point of storing baselines in the repo.
|
|
94
101
|
const sorted = { version: 1, baselines: {} };
|
|
95
102
|
for (const id of Object.keys(manifest.baselines).sort()) {
|
|
96
|
-
sorted.baselines[id] = manifest.baselines[id];
|
|
103
|
+
sorted.baselines[id] = manifest.baselines[id]; // id is one of its own keys
|
|
97
104
|
}
|
|
98
105
|
await writeFile(this.manifestPath, JSON.stringify(sorted, null, 2) + '\n');
|
|
99
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-store.js","sourceRoot":"","sources":["../../src/baseline/git-store.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,gBAAgB;AAChB,EAAE;AACF,qEAAqE;AACrE,2EAA2E;AAC3E,4EAA4E;AAC5E,+EAA+E;AAC/E,gDAAgD;AAChD,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,iDAAiD;AAEjD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"git-store.js","sourceRoot":"","sources":["../../src/baseline/git-store.ts"],"names":[],"mappings":"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"}
|
package/dist/browser/browser.js
CHANGED
|
@@ -37,7 +37,10 @@ export class BrowserContext {
|
|
|
37
37
|
});
|
|
38
38
|
let page;
|
|
39
39
|
try {
|
|
40
|
-
const { sessionId } = await this.connection.send('Target.attachToTarget', {
|
|
40
|
+
const { sessionId } = await this.connection.send('Target.attachToTarget', {
|
|
41
|
+
targetId,
|
|
42
|
+
flatten: true,
|
|
43
|
+
});
|
|
41
44
|
page = await CdpPage.create(this.connection, targetId, sessionId, {
|
|
42
45
|
viewport: this.opts.viewport,
|
|
43
46
|
blockServiceWorkers: this.opts.blockServiceWorkers === true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser/browser.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,kEAAkE;AAClE,wEAAwE;AACxE,wEAAwE;AACxE,4CAA4C;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAa,MAAM,WAAW,CAAC;AAE/C;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,KAAe;QACzB,KAAK,CACH,wEAAwE,EACxE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAC5C,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAQD,MAAM,OAAO,cAAc;IAKN;IACR;IACQ;IACA;IAPX,MAAM,GAAG,KAAK,CAAC;IACN,KAAK,GAAG,IAAI,GAAG,EAAW,CAAC;IAE5C,YACmB,UAAyB,EACjC,EAAU,EACF,IAAoB,EACpB,EAAmB;QAHnB,eAAU,GAAV,UAAU,CAAe;QACjC,OAAE,GAAF,EAAE,CAAQ;QACF,SAAI,GAAJ,IAAI,CAAgB;QACpB,OAAE,GAAF,EAAE,CAAiB;IACnC,CAAC;IAEJ,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/browser/cdp.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping.js';
|
|
1
2
|
import type { Transport } from './transport.js';
|
|
2
3
|
export interface RawMessage {
|
|
3
4
|
id?: number;
|
|
@@ -10,7 +11,37 @@ export interface RawMessage {
|
|
|
10
11
|
};
|
|
11
12
|
sessionId?: string;
|
|
12
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* A parsed frame with the shape RawMessage promises. Only the envelope is
|
|
16
|
+
* checked; params and result stay `unknown` here and get their protocol types
|
|
17
|
+
* from `send` and `on`. Unknown keys are kept: the supervisor forwards frames
|
|
18
|
+
* as they came.
|
|
19
|
+
*/
|
|
20
|
+
export declare function isRawMessage(v: unknown): v is RawMessage;
|
|
21
|
+
type Commands = ProtocolMapping.Commands;
|
|
22
|
+
/** Every command Chrome's protocol defines, as of the pinned devtools-protocol. */
|
|
23
|
+
export type CdpMethod = keyof Commands;
|
|
24
|
+
export type CdpParams<M extends CdpMethod> = Commands[M]['paramsType'][0];
|
|
25
|
+
export type CdpResult<M extends CdpMethod> = Commands[M]['returnType'];
|
|
26
|
+
/**
|
|
27
|
+
* The warm-browser daemon's own events, sent by the supervisor on the same
|
|
28
|
+
* socket as Chrome's (supervisor.ts, the hello handshake).
|
|
29
|
+
*/
|
|
30
|
+
export interface JuxEvents {
|
|
31
|
+
'jux.ready': [{
|
|
32
|
+
product: string;
|
|
33
|
+
}];
|
|
34
|
+
'jux.refused': [{
|
|
35
|
+
reason?: string;
|
|
36
|
+
}];
|
|
37
|
+
}
|
|
38
|
+
type Events = ProtocolMapping.Events & JuxEvents;
|
|
39
|
+
export type CdpEvent = keyof Events;
|
|
40
|
+
/** An event's params; `undefined` for the events that carry none (Inspector.targetCrashed). */
|
|
41
|
+
export type CdpEventParams<E extends CdpEvent> = Events[E] extends [infer P] ? P : undefined;
|
|
13
42
|
export declare const SEND_TIMEOUT_MS = 30000;
|
|
43
|
+
/** JSON-RPC's "internal error": what a reply that fails isRawMessage rejects with. */
|
|
44
|
+
export declare const MALFORMED_REPLY_CODE = -32603;
|
|
14
45
|
export declare class CdpError extends Error {
|
|
15
46
|
readonly code: number;
|
|
16
47
|
constructor(code: number, method: string, message: string);
|
|
@@ -21,7 +52,6 @@ export declare class TargetClosedError extends Error {
|
|
|
21
52
|
export declare class SendTimeoutError extends Error {
|
|
22
53
|
constructor(method: string, timeout: number);
|
|
23
54
|
}
|
|
24
|
-
type Handler = (params: unknown, sessionId?: string) => void;
|
|
25
55
|
export declare class CdpConnection {
|
|
26
56
|
private readonly transport;
|
|
27
57
|
private lastId;
|
|
@@ -63,16 +93,22 @@ export declare class CdpConnection {
|
|
|
63
93
|
id: number;
|
|
64
94
|
method: string;
|
|
65
95
|
}): void;
|
|
96
|
+
/** Params default to `{}`, as Chrome expects for a command that takes none. */
|
|
97
|
+
send<M extends CdpMethod>(method: M, params?: CdpParams<M>, sessionId?: string, opts?: {
|
|
98
|
+
timeout?: number;
|
|
99
|
+
}): Promise<CdpResult<M>>;
|
|
66
100
|
send<T = unknown>(method: string, params?: object, sessionId?: string, opts?: {
|
|
67
101
|
timeout?: number;
|
|
68
102
|
}): Promise<T>;
|
|
69
|
-
on(
|
|
103
|
+
on<E extends CdpEvent>(event: E, handler: (params: CdpEventParams<E>, sessionId?: string) => void, sessionId?: string): () => void;
|
|
104
|
+
on(event: string, handler: (params: unknown, sessionId?: string) => void, sessionId?: string): () => void;
|
|
70
105
|
/**
|
|
71
106
|
* Without a sessionId this listens on the browser session only, where
|
|
72
107
|
* session-scoped events never arrive; pass the page's sessionId for page
|
|
73
108
|
* events.
|
|
74
109
|
*/
|
|
75
|
-
once<
|
|
110
|
+
once<E extends CdpEvent>(event: E, sessionId?: string, predicate?: (p: CdpEventParams<E>) => boolean): Promise<CdpEventParams<E>>;
|
|
111
|
+
once<P = unknown>(event: string, sessionId?: string, predicate?: (p: P) => boolean): Promise<P>;
|
|
76
112
|
close(): void;
|
|
77
113
|
private dispatch;
|
|
78
114
|
private runHandlers;
|