@vscode/component-explorer-cli 0.2.1-25 → 0.2.1-27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/dist/_virtual/_build-info.js +1 -1
- package/dist/browserPage.d.ts +49 -0
- package/dist/browserPage.d.ts.map +1 -1
- package/dist/browserPage.js +75 -0
- package/dist/browserPage.js.map +1 -1
- package/dist/commands/acceptCommand.d.ts +1 -1
- package/dist/commands/acceptCommand.d.ts.map +1 -1
- package/dist/commands/acceptCommand.js +12 -5
- package/dist/commands/acceptCommand.js.map +1 -1
- package/dist/commands/artifactCommand.d.ts +3 -1
- package/dist/commands/artifactCommand.d.ts.map +1 -1
- package/dist/commands/checkStabilityCommand.d.ts +2 -0
- package/dist/commands/checkStabilityCommand.d.ts.map +1 -1
- package/dist/commands/checkStabilityCommand.js +17 -1
- package/dist/commands/checkStabilityCommand.js.map +1 -1
- package/dist/commands/compareCommand.d.ts +1 -1
- package/dist/commands/compareCommand.d.ts.map +1 -1
- package/dist/commands/compareCommand.js +12 -4
- package/dist/commands/compareCommand.js.map +1 -1
- package/dist/commands/inputArg.d.ts +33 -0
- package/dist/commands/inputArg.d.ts.map +1 -0
- package/dist/commands/inputArg.js +103 -0
- package/dist/commands/inputArg.js.map +1 -0
- package/dist/commands/renderCommand.d.ts +9 -1
- package/dist/commands/renderCommand.d.ts.map +1 -1
- package/dist/commands/renderCommand.js +300 -15
- package/dist/commands/renderCommand.js.map +1 -1
- package/dist/commands/watchCommand.d.ts +1 -0
- package/dist/commands/watchCommand.d.ts.map +1 -1
- package/dist/commands/watchCommand.js +22 -12
- package/dist/commands/watchCommand.js.map +1 -1
- package/dist/component-explorer-config.schema.json +53 -0
- package/dist/componentExplorer.d.ts +98 -7
- package/dist/componentExplorer.d.ts.map +1 -1
- package/dist/componentExplorer.js +133 -8
- package/dist/componentExplorer.js.map +1 -1
- package/dist/config.d.ts +27 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +42 -5
- package/dist/config.js.map +1 -1
- package/dist/coverage.d.ts +63 -0
- package/dist/coverage.d.ts.map +1 -0
- package/dist/coverage.js +212 -0
- package/dist/coverage.js.map +1 -0
- package/dist/daemon/DaemonService.d.ts +14 -5
- package/dist/daemon/DaemonService.d.ts.map +1 -1
- package/dist/daemon/DaemonService.js +32 -9
- package/dist/daemon/DaemonService.js.map +1 -1
- package/dist/daemon/version.d.ts +1 -1
- package/dist/daemon/version.js +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.schema.json +38 -16
- package/dist/mcp/McpServer.d.ts.map +1 -1
- package/dist/mcp/McpServer.js +143 -72
- package/dist/mcp/McpServer.js.map +1 -1
- package/dist/packages/common/dist/renderManifest.js +26 -5
- package/dist/packages/common/dist/renderManifest.js.map +1 -1
- package/dist/server/serverConfig.d.ts +17 -0
- package/dist/server/serverConfig.d.ts.map +1 -1
- package/dist/server/serverConfig.js +2 -0
- package/dist/server/serverConfig.js.map +1 -1
- package/dist/server/viteServer.d.ts +15 -0
- package/dist/server/viteServer.d.ts.map +1 -1
- package/dist/server/viteServer.js +83 -0
- package/dist/server/viteServer.js.map +1 -1
- package/dist/utils.d.ts +0 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -5
- package/dist/utils.js.map +1 -1
- package/package.json +6 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers for the CLI `--input` family of flags.
|
|
3
|
+
*
|
|
4
|
+
* - `--input '<json>'`: a JSON object passed as `RenderContext.input` to every fixture in the run.
|
|
5
|
+
* - `--input-<key> <value>`: a single property override on the input object. Values are auto-cast:
|
|
6
|
+
* - matches `^-?\d+(\.\d+)?$` → number
|
|
7
|
+
* - matches `^(true|false)$` → boolean
|
|
8
|
+
* - otherwise kept as string
|
|
9
|
+
*
|
|
10
|
+
* Per-key overrides are merged on top of the base `--input` JSON (so `--input-X` wins).
|
|
11
|
+
*
|
|
12
|
+
* The argv preprocessing (`preprocessInputArgs`) runs in the CLI entry, before clipanion sees argv.
|
|
13
|
+
* It rewrites all `--input-<key> <value>` pairs into a single `--input '<merged-json>'` pair,
|
|
14
|
+
* so individual commands only need to declare a single `--input` String option.
|
|
15
|
+
*/
|
|
16
|
+
const NUMBER_RE = /^-?\d+(?:\.\d+)?$/;
|
|
17
|
+
/** Cast a CLI string value to number / boolean / string per the documented rules. */
|
|
18
|
+
function castInputValue(raw) {
|
|
19
|
+
if (NUMBER_RE.test(raw)) {
|
|
20
|
+
return Number(raw);
|
|
21
|
+
}
|
|
22
|
+
if (raw === 'true') {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
if (raw === 'false') {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
return raw;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Parse the resolved `--input` flag value as a JSON object (or undefined).
|
|
32
|
+
*
|
|
33
|
+
* @throws {Error} when the value isn't valid JSON or isn't a JSON object.
|
|
34
|
+
*/
|
|
35
|
+
function parseInputJson(raw) {
|
|
36
|
+
if (raw === undefined) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
let parsed;
|
|
40
|
+
try {
|
|
41
|
+
parsed = JSON.parse(raw);
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
throw new Error(`--input is not valid JSON: ${e instanceof Error ? e.message : String(e)}`);
|
|
45
|
+
}
|
|
46
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
47
|
+
throw new Error('--input must be a JSON object (e.g. \'{"theme":"dark"}\')');
|
|
48
|
+
}
|
|
49
|
+
return parsed;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Pre-scan argv, extract every `--input-<key> <value>` pair, merge them onto the existing
|
|
53
|
+
* `--input '<json>'` (if any), and return a rewritten argv with a single `--input '<merged>'` flag.
|
|
54
|
+
*
|
|
55
|
+
* If no `--input-<key>` flags are present, argv is returned unchanged.
|
|
56
|
+
*
|
|
57
|
+
* @throws {Error} when the base `--input` JSON is invalid or not an object.
|
|
58
|
+
*/
|
|
59
|
+
function preprocessInputArgs(args) {
|
|
60
|
+
const out = [];
|
|
61
|
+
const overrides = {};
|
|
62
|
+
let baseInputJson;
|
|
63
|
+
let baseInputJsonOutIdx;
|
|
64
|
+
for (let i = 0; i < args.length; i++) {
|
|
65
|
+
const a = args[i];
|
|
66
|
+
if (a === '--input' && i + 1 < args.length) {
|
|
67
|
+
baseInputJson = args[i + 1];
|
|
68
|
+
out.push(a);
|
|
69
|
+
baseInputJsonOutIdx = out.length;
|
|
70
|
+
out.push(args[i + 1]);
|
|
71
|
+
i++;
|
|
72
|
+
}
|
|
73
|
+
else if (a.startsWith('--input-') && a.length > '--input-'.length) {
|
|
74
|
+
const key = a.slice('--input-'.length);
|
|
75
|
+
// Reject obvious typos / no value supplied — leave for clipanion to surface.
|
|
76
|
+
if (i + 1 >= args.length || args[i + 1].startsWith('-')) {
|
|
77
|
+
out.push(a);
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
overrides[key] = castInputValue(args[i + 1]);
|
|
81
|
+
i++;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
out.push(a);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (Object.keys(overrides).length === 0) {
|
|
88
|
+
return out;
|
|
89
|
+
}
|
|
90
|
+
const base = parseInputJson(baseInputJson) ?? {};
|
|
91
|
+
const merged = { ...base, ...overrides };
|
|
92
|
+
const mergedJson = JSON.stringify(merged);
|
|
93
|
+
if (baseInputJsonOutIdx !== undefined) {
|
|
94
|
+
out[baseInputJsonOutIdx] = mergedJson;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
out.push('--input', mergedJson);
|
|
98
|
+
}
|
|
99
|
+
return out;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export { castInputValue, parseInputJson, preprocessInputArgs };
|
|
103
|
+
//# sourceMappingURL=inputArg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputArg.js","sources":["../../src/commands/inputArg.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export declare class RenderCommand extends Command {
|
|
|
4
4
|
static usage: import("clipanion").Usage;
|
|
5
5
|
readonly verbose: number;
|
|
6
6
|
readonly logFile: string | undefined;
|
|
7
|
-
readonly
|
|
7
|
+
readonly fixtureIdRegex: string | undefined;
|
|
8
8
|
readonly accept: boolean;
|
|
9
9
|
readonly project: string;
|
|
10
10
|
readonly target: string | undefined;
|
|
@@ -14,7 +14,15 @@ export declare class RenderCommand extends Command {
|
|
|
14
14
|
readonly headed: boolean;
|
|
15
15
|
readonly timeout: string;
|
|
16
16
|
readonly useHashPaths: boolean;
|
|
17
|
+
readonly reloadBetweenFixtures: boolean;
|
|
18
|
+
readonly input: string | undefined;
|
|
19
|
+
readonly coverage: boolean;
|
|
20
|
+
readonly coverageMode: string | undefined;
|
|
21
|
+
readonly coverageJs: string | undefined;
|
|
22
|
+
readonly coverageCss: boolean;
|
|
23
|
+
readonly coverageOutput: string | undefined;
|
|
17
24
|
execute(): Promise<number>;
|
|
25
|
+
private _resolveCoverage;
|
|
18
26
|
private _runComparison;
|
|
19
27
|
}
|
|
20
28
|
//# sourceMappingURL=renderCommand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderCommand.d.ts","sourceRoot":"","sources":["../../src/commands/renderCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"renderCommand.d.ts","sourceRoot":"","sources":["../../src/commands/renderCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAuB5C,qBAAa,aAAc,SAAQ,OAAO;IACzC,OAAgB,KAAK,aAAgB;IAErC,OAAgB,KAAK,4BAOlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,OAAO,qBAAgG;IAChH,QAAQ,CAAC,cAAc,qBAAyJ;IAChL,QAAQ,CAAC,MAAM,UAAiI;IAChJ,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,MAAM,qBAAsK;IACrL,QAAQ,CAAC,OAAO,UAA8F;IAC9G,QAAQ,CAAC,aAAa,qBAA+K;IACrM,QAAQ,CAAC,MAAM,qBAA4G;IAC3H,QAAQ,CAAC,MAAM,UAAwG;IACvH,QAAQ,CAAC,OAAO,SAA+G;IAC/H,QAAQ,CAAC,YAAY,UAA8J;IACnL,QAAQ,CAAC,qBAAqB,UAAkJ;IAChL,QAAQ,CAAC,KAAK,qBAAmO;IAEjP,QAAQ,CAAC,QAAQ,UAAoJ;IACrK,QAAQ,CAAC,YAAY,qBAA0N;IAC/O,QAAQ,CAAC,UAAU,qBAAiM;IACpN,QAAQ,CAAC,WAAW,UAAyH;IAC7I,QAAQ,CAAC,cAAc,qBAAiJ;IAElK,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAqWhC,OAAO,CAAC,gBAAgB;YA8CV,cAAc;CA+B5B"}
|
|
@@ -10,12 +10,14 @@ import '../external/vscode-observables/observables/dist/observableInternal/obser
|
|
|
10
10
|
import { PlaywrightBrowserPageFactory } from '../browserPage.js';
|
|
11
11
|
import { compareScreenshotsInMemory, printComparisonToConsole, writeComparisonReport } from '../comparison.js';
|
|
12
12
|
import { ConsoleLogger, verbosityToLogLevel, createLogFileOptions, logBuildInfo } from '../logger.js';
|
|
13
|
-
import { ResolvedConfig } from '../config.js';
|
|
13
|
+
import { ResolvedConfig, ResolvedCoverageConfig } from '../config.js';
|
|
14
14
|
import { ExplorerSession } from '../explorerSession.js';
|
|
15
15
|
import { FileSystemStorage } from '../storage.js';
|
|
16
|
-
import {
|
|
16
|
+
import { writeFile } from '../utils.js';
|
|
17
17
|
import { getGitRoot, execGit } from '../git/gitUtils.js';
|
|
18
18
|
import { serializeManifest } from '../renderManifest.js';
|
|
19
|
+
import { parseInputJson } from './inputArg.js';
|
|
20
|
+
import { validateIstanbulMap, v8EntriesToIstanbul, mergeIstanbul, cssEntriesToIstanbul, writeIstanbulFile } from '../coverage.js';
|
|
19
21
|
import { MANIFEST_FILENAME } from '../packages/common/dist/renderManifest.js';
|
|
20
22
|
|
|
21
23
|
class RenderCommand extends Command {
|
|
@@ -25,12 +27,12 @@ class RenderCommand extends Command {
|
|
|
25
27
|
examples: [
|
|
26
28
|
['Render all fixtures', '$0 render'],
|
|
27
29
|
['Render and accept as baseline', '$0 render --accept'],
|
|
28
|
-
['Filter by
|
|
30
|
+
['Filter by fixture-id regex', '$0 render --fixture-id-regex "^Button/"'],
|
|
29
31
|
],
|
|
30
32
|
});
|
|
31
33
|
verbose = Option.Counter('-v,--verbose', 0, { description: 'Increase log verbosity (-v debug, -vv trace)' });
|
|
32
34
|
logFile = Option.String('--log-file', { description: 'Append logs to this file (works with -v/-vv)' });
|
|
33
|
-
|
|
35
|
+
fixtureIdRegex = Option.String('--fixture-id-regex', { required: false, description: 'Filter fixtures whose fixtureId matches this regular expression (unanchored)' });
|
|
34
36
|
accept = Option.Boolean('--accept', false, { description: 'Write to baseline instead of current (mutually exclusive with --target)' });
|
|
35
37
|
project = Option.String('-p,--project', process.cwd(), { description: 'Project: a directory, vite config file, or component-explorer.json' });
|
|
36
38
|
target = Option.String('--target', { required: false, description: 'Screenshot output directory (default: .screenshots/current, or .screenshots/baseline with --accept)' });
|
|
@@ -40,18 +42,51 @@ class RenderCommand extends Command {
|
|
|
40
42
|
headed = Option.Boolean('--headed', false, { description: 'Show the browser window (useful for debugging)' });
|
|
41
43
|
timeout = Option.String('--timeout', '30000', { description: 'Navigation timeout in milliseconds (default: 30000)' });
|
|
42
44
|
useHashPaths = Option.Boolean('--useHashPaths', false, { description: 'Use content-hash image paths (images/<hash>.png) for deduplication instead of fixture-id paths' });
|
|
45
|
+
reloadBetweenFixtures = Option.Boolean('--reload-between-fixtures', false, { description: 'Reload the browser page between fixtures for cleaner isolation (slower)' });
|
|
46
|
+
input = Option.String('--input', { required: false, description: 'JSON object passed to every fixture as `RenderContext.input` (e.g. \'{"theme":"dark"}\'). Combine with `--input-<key> <value>` to override individual properties.' });
|
|
47
|
+
coverage = Option.Boolean('--coverage', false, { description: 'Collect code coverage during rendering. Output is written to <target>/<coverage-output>/' });
|
|
48
|
+
coverageMode = Option.String('--coverage-mode', { required: false, description: 'Coverage aggregation: "total" (one report for all fixtures, default) or "per-fixture" (one report per fixture; forces --reload-between-fixtures)' });
|
|
49
|
+
coverageJs = Option.String('--coverage-js', { required: false, description: 'JavaScript coverage strategy: "istanbul" (default; vite-plugin-istanbul), "v8" (Playwright V8 + v8-to-istanbul), or "off"' });
|
|
50
|
+
coverageCss = Option.Boolean('--coverage-css', false, { description: 'Also collect CSS coverage via Playwright (raw range data)' });
|
|
51
|
+
coverageOutput = Option.String('--coverage-output', { required: false, description: 'Coverage output directory, relative to --target (default: "coverage")' });
|
|
43
52
|
async execute() {
|
|
44
53
|
// Validate mutually exclusive options
|
|
45
54
|
if (this.accept && this.target) {
|
|
46
55
|
this.context.stderr.write('Error: --accept and --target are mutually exclusive.\n');
|
|
47
56
|
return 1;
|
|
48
57
|
}
|
|
58
|
+
let input;
|
|
59
|
+
try {
|
|
60
|
+
input = parseInputJson(this.input);
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
this.context.stderr.write(`Error: ${e instanceof Error ? e.message : String(e)}\n`);
|
|
64
|
+
return 1;
|
|
65
|
+
}
|
|
49
66
|
const logger = new ConsoleLogger('render', this.context.stdout, verbosityToLogLevel(this.verbose), createLogFileOptions(this.logFile, this.verbose));
|
|
50
67
|
logBuildInfo(logger);
|
|
51
68
|
const disposables = new DisposableStore();
|
|
52
69
|
const config = await ResolvedConfig.fromProjectPath(this.project, disposables);
|
|
53
70
|
const projectDir = config.configDir;
|
|
54
71
|
const serverConfig = config.sessions[0].server;
|
|
72
|
+
// Resolve coverage settings — CLI flags override JSON config.
|
|
73
|
+
let coverage;
|
|
74
|
+
try {
|
|
75
|
+
coverage = this._resolveCoverage(config.coverage);
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
this.context.stderr.write(`Error: ${e instanceof Error ? e.message : String(e)}\n`);
|
|
79
|
+
return 1;
|
|
80
|
+
}
|
|
81
|
+
if (coverage && coverage.js !== 'istanbul' && coverage.js !== 'v8' && !coverage.css) {
|
|
82
|
+
coverage = undefined;
|
|
83
|
+
}
|
|
84
|
+
// Per-fixture coverage requires page reload between fixtures so the
|
|
85
|
+
// `__coverage__` global / V8 sampler restarts cleanly each iteration.
|
|
86
|
+
const effectiveReloadBetween = this.reloadBetweenFixtures || (coverage?.mode === 'per-fixture' && coverage.enabled);
|
|
87
|
+
if (coverage?.mode === 'per-fixture' && !this.reloadBetweenFixtures) {
|
|
88
|
+
logger.debug('Coverage mode "per-fixture" implies reload-between-fixtures=true');
|
|
89
|
+
}
|
|
55
90
|
// Determine target directory
|
|
56
91
|
const defaultTarget = this.accept ? '.screenshots/baseline' : '.screenshots/current';
|
|
57
92
|
const targetDir = this.target ?? defaultTarget;
|
|
@@ -66,20 +101,90 @@ class RenderCommand extends Command {
|
|
|
66
101
|
let session;
|
|
67
102
|
try {
|
|
68
103
|
this.context.stdout.write('Starting server...\n');
|
|
69
|
-
|
|
104
|
+
const istanbulCoverage = coverage && coverage.js === 'istanbul'
|
|
105
|
+
? { include: coverage.include, exclude: coverage.exclude }
|
|
106
|
+
: undefined;
|
|
107
|
+
if (istanbulCoverage && serverConfig.kind !== 'vite') {
|
|
108
|
+
this.context.stderr.write('Warning: --coverage-js=istanbul requires a Vite server; falling back to no JS coverage. Use --coverage-js=v8 for non-Vite servers.\n');
|
|
109
|
+
}
|
|
110
|
+
// Enable CSS sourceURL annotation when CSS coverage is requested.
|
|
111
|
+
// Without it, Vite's HMR-injected `<style>` tags are anonymous and
|
|
112
|
+
// Playwright's CSS coverage drops them.
|
|
113
|
+
const cssSourceUrl = coverage?.css === true && serverConfig.kind === 'vite';
|
|
114
|
+
session = await ExplorerSession.create('render', serverConfig, browserFactory, { logger, istanbulCoverage, cssSourceUrl });
|
|
70
115
|
this.context.stdout.write(`Server running at ${session.serverUrl}\n`);
|
|
71
116
|
const listResult = await session.explorer.listFixtures();
|
|
72
117
|
if (listResult.loadError) {
|
|
73
118
|
this.context.stderr.write(`Warning: Fixture loading error: ${listResult.loadError}\n`);
|
|
74
119
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
120
|
+
let filtered;
|
|
121
|
+
if (this.fixtureIdRegex) {
|
|
122
|
+
let regex;
|
|
123
|
+
try {
|
|
124
|
+
regex = new RegExp(this.fixtureIdRegex);
|
|
125
|
+
}
|
|
126
|
+
catch (e) {
|
|
127
|
+
this.context.stderr.write(`Error: Invalid --fixture-id-regex: ${e instanceof Error ? e.message : String(e)}\n`);
|
|
128
|
+
return 1;
|
|
129
|
+
}
|
|
130
|
+
filtered = listResult.fixtures.filter(f => regex.test(f.fixtureId));
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
filtered = listResult.fixtures;
|
|
134
|
+
}
|
|
78
135
|
this.context.stdout.write(`Found ${filtered.length} fixture(s)\n`);
|
|
79
136
|
const fixtureEntries = [];
|
|
80
137
|
const writtenHashes = new Set();
|
|
81
|
-
|
|
82
|
-
|
|
138
|
+
// Coverage state
|
|
139
|
+
const useV8Js = coverage?.js === 'v8';
|
|
140
|
+
const useIstanbulJs = coverage?.js === 'istanbul' && serverConfig.kind === 'vite';
|
|
141
|
+
const useCss = coverage?.css === true;
|
|
142
|
+
const v8FilterInclude = useV8Js ? coverage.include.map(_globToRegExp) : undefined;
|
|
143
|
+
const v8FilterExclude = useV8Js ? coverage.exclude.map(_globToRegExp) : undefined;
|
|
144
|
+
const perFixtureMaps = [];
|
|
145
|
+
const totalMaps = [];
|
|
146
|
+
// Total mode: start coverage once before the loop. The BrowserPage
|
|
147
|
+
// snapshots active trackers automatically on every triggered reload
|
|
148
|
+
// (e.g. `reloadOnError`, `reloadBeforeRender`) and reapplies them on
|
|
149
|
+
// the new document, so callers get the union when they finally stop.
|
|
150
|
+
if (coverage && coverage.mode === 'total' && (useV8Js || useCss || useIstanbulJs)) {
|
|
151
|
+
const page = await session.explorer.getOrOpenPage();
|
|
152
|
+
if (useV8Js) {
|
|
153
|
+
await page.startJSCoverage({ resetOnNavigation: false });
|
|
154
|
+
}
|
|
155
|
+
if (useCss) {
|
|
156
|
+
await page.startCSSCoverage({ resetOnNavigation: false });
|
|
157
|
+
}
|
|
158
|
+
if (useIstanbulJs) {
|
|
159
|
+
page.startIstanbulSnapshot();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
for (let i = 0; i < filtered.length; i++) {
|
|
163
|
+
const fixture = filtered[i];
|
|
164
|
+
// For per-fixture coverage we reload BEFORE rendering, then start
|
|
165
|
+
// V8/CSS coverage on the fresh page so each fixture is isolated.
|
|
166
|
+
const reloadBeforeRender = effectiveReloadBetween && i > 0;
|
|
167
|
+
if (coverage && coverage.mode === 'per-fixture' && (useV8Js || useCss)) {
|
|
168
|
+
const page = await session.explorer.getOrOpenPage();
|
|
169
|
+
// Reload first (mirrors what screenshotFixture would have done) so
|
|
170
|
+
// that __coverage__ resets and the V8 sampler starts on a clean page.
|
|
171
|
+
if (reloadBeforeRender) {
|
|
172
|
+
await page.reload();
|
|
173
|
+
}
|
|
174
|
+
if (useV8Js) {
|
|
175
|
+
await page.startJSCoverage({ resetOnNavigation: false });
|
|
176
|
+
}
|
|
177
|
+
if (useCss) {
|
|
178
|
+
await page.startCSSCoverage({ resetOnNavigation: false });
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const result = await session.explorer.screenshotFixture(fixture.fixtureId, {
|
|
182
|
+
reloadOnError: true,
|
|
183
|
+
// We already handled the reload manually above for per-fixture coverage.
|
|
184
|
+
reloadBeforeRender: coverage?.mode === 'per-fixture' && (useV8Js || useCss) ? false : reloadBeforeRender,
|
|
185
|
+
input,
|
|
186
|
+
disposeAfter: true,
|
|
187
|
+
});
|
|
83
188
|
let imageHash;
|
|
84
189
|
let imagePath;
|
|
85
190
|
if (result.image) {
|
|
@@ -97,6 +202,22 @@ class RenderCommand extends Command {
|
|
|
97
202
|
}
|
|
98
203
|
screenshots.set(fixture.fixtureId, { data: result.image, background: fixture.background, labels: fixture.labels });
|
|
99
204
|
}
|
|
205
|
+
const events = [];
|
|
206
|
+
for (const e of result.events) {
|
|
207
|
+
events.push({ ...e, phase: 'render', isError: e.type !== 'console.log' });
|
|
208
|
+
}
|
|
209
|
+
if (result.error) {
|
|
210
|
+
events.push({ type: 'thrownError', phase: 'render', isError: true, message: result.error.message, stack: result.error.stack });
|
|
211
|
+
}
|
|
212
|
+
if (result.currentDispose) {
|
|
213
|
+
for (const e of result.currentDispose.events) {
|
|
214
|
+
events.push({ ...e, phase: 'dispose', isError: e.type !== 'console.log' });
|
|
215
|
+
}
|
|
216
|
+
for (const err of result.currentDispose.errors) {
|
|
217
|
+
events.push({ type: 'thrownError', phase: 'dispose', isError: true, message: err.message, stack: err.stack });
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
const hasError = events.some(e => e.isError);
|
|
100
221
|
fixtureEntries.push({
|
|
101
222
|
fixtureId: fixture.fixtureId,
|
|
102
223
|
imageHash,
|
|
@@ -104,28 +225,148 @@ class RenderCommand extends Command {
|
|
|
104
225
|
background: fixture.background,
|
|
105
226
|
labels: [...fixture.labels],
|
|
106
227
|
expectedVisualDescriptions: [...fixture.expectedVisualDescriptions],
|
|
107
|
-
hasError
|
|
108
|
-
|
|
109
|
-
events: result.events,
|
|
228
|
+
hasError,
|
|
229
|
+
events,
|
|
110
230
|
renderTimeMs: result.renderTimeMs,
|
|
231
|
+
...(result.output !== undefined ? { output: result.output } : {}),
|
|
111
232
|
});
|
|
112
233
|
if (!result.image) {
|
|
113
234
|
this.context.stderr.write(` ✗ ${fixture.fixtureId} (no screenshot)\n`);
|
|
114
235
|
}
|
|
115
|
-
else if (
|
|
116
|
-
|
|
236
|
+
else if (hasError) {
|
|
237
|
+
const firstError = events.find(e => e.isError);
|
|
238
|
+
const errorLine = firstError ? firstError.message.split('\n')[0].slice(0, 200) : 'unknown error';
|
|
239
|
+
this.context.stdout.write(` ⚠ ${fixture.fixtureId} (error: ${errorLine})\n`);
|
|
117
240
|
}
|
|
118
241
|
else {
|
|
119
242
|
this.context.stdout.write(` ✓ ${fixture.fixtureId}\n`);
|
|
120
243
|
}
|
|
244
|
+
// Per-fixture coverage: collect after each fixture renders.
|
|
245
|
+
if (coverage && coverage.mode === 'per-fixture' && (useV8Js || useIstanbulJs || useCss)) {
|
|
246
|
+
const page = await session.explorer.getOrOpenPage();
|
|
247
|
+
let map = {};
|
|
248
|
+
if (useIstanbulJs) {
|
|
249
|
+
const raw = await page.evaluateJs('window.__coverage__ ?? null');
|
|
250
|
+
map = validateIstanbulMap(raw, logger);
|
|
251
|
+
}
|
|
252
|
+
if (useV8Js) {
|
|
253
|
+
const v8 = await page.stopJSCoverage();
|
|
254
|
+
const v8Map = await v8EntriesToIstanbul(v8, {
|
|
255
|
+
viteServerUrl: session.serverUrl,
|
|
256
|
+
projectRoot: projectDir,
|
|
257
|
+
logger,
|
|
258
|
+
include: v8FilterInclude,
|
|
259
|
+
exclude: v8FilterExclude,
|
|
260
|
+
});
|
|
261
|
+
map = mergeIstanbul([map, v8Map]);
|
|
262
|
+
}
|
|
263
|
+
if (useCss) {
|
|
264
|
+
const css = await page.stopCSSCoverage();
|
|
265
|
+
const cssMap = cssEntriesToIstanbul(css, {
|
|
266
|
+
viteServerUrl: session.serverUrl,
|
|
267
|
+
projectRoot: projectDir,
|
|
268
|
+
logger,
|
|
269
|
+
});
|
|
270
|
+
map = mergeIstanbul([map, cssMap]);
|
|
271
|
+
}
|
|
272
|
+
perFixtureMaps.push({ fixtureId: fixture.fixtureId, map });
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
// Total mode: collect once at the end. Reload-triggered snapshotting
|
|
276
|
+
// is handled inside `BrowserPage.reload()`, which preserves coverage
|
|
277
|
+
// data across our explicit reloads (e.g. `reloadOnError`,
|
|
278
|
+
// `reloadBeforeRender`). Reloads we don't trigger (e.g. Vite's
|
|
279
|
+
// "optimized dependencies changed") are not handled — for now we
|
|
280
|
+
// accept losing data from before such navigations.
|
|
281
|
+
if (coverage && coverage.mode === 'total' && (useV8Js || useIstanbulJs || useCss)) {
|
|
282
|
+
const page = await session.explorer.getOrOpenPage();
|
|
283
|
+
if (useIstanbulJs) {
|
|
284
|
+
const raw = await page.evaluateJs('window.__coverage__ ?? null');
|
|
285
|
+
totalMaps.push(validateIstanbulMap(raw, logger));
|
|
286
|
+
// Plus any pre-reload snapshots collected during the run.
|
|
287
|
+
for (const snap of page.stopIstanbulSnapshot()) {
|
|
288
|
+
totalMaps.push(validateIstanbulMap(snap, logger));
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
if (useV8Js) {
|
|
292
|
+
const v8 = await page.stopJSCoverage();
|
|
293
|
+
totalMaps.push(await v8EntriesToIstanbul(v8, {
|
|
294
|
+
viteServerUrl: session.serverUrl,
|
|
295
|
+
projectRoot: projectDir,
|
|
296
|
+
logger,
|
|
297
|
+
include: v8FilterInclude,
|
|
298
|
+
exclude: v8FilterExclude,
|
|
299
|
+
}));
|
|
300
|
+
}
|
|
301
|
+
if (useCss) {
|
|
302
|
+
const css = await page.stopCSSCoverage();
|
|
303
|
+
totalMaps.push(cssEntriesToIstanbul(css, {
|
|
304
|
+
viteServerUrl: session.serverUrl,
|
|
305
|
+
projectRoot: projectDir,
|
|
306
|
+
logger,
|
|
307
|
+
}));
|
|
308
|
+
}
|
|
121
309
|
}
|
|
122
310
|
const gitRoot = await getGitRoot(projectDir);
|
|
123
311
|
const commitMetadata = await collectGitMetadata(gitRoot);
|
|
124
312
|
const repoOrigin = await getRepoOwnerAndName(gitRoot);
|
|
313
|
+
// Write coverage output(s) BEFORE the manifest so we can reference
|
|
314
|
+
// each emitted file from the manifest by relative path.
|
|
315
|
+
let topLevelCoverage;
|
|
316
|
+
const perFixtureCoverageRef = new Map();
|
|
317
|
+
if (coverage && coverage.enabled) {
|
|
318
|
+
const coverageDir = path.isAbsolute(coverage.outputDir)
|
|
319
|
+
? coverage.outputDir
|
|
320
|
+
: path.join(targetPath, coverage.outputDir);
|
|
321
|
+
const toManifestRelative = (absPath) => {
|
|
322
|
+
const rel = path.relative(targetPath, absPath).split(path.sep).join('/');
|
|
323
|
+
return rel.startsWith('.') ? rel : './' + rel;
|
|
324
|
+
};
|
|
325
|
+
if (coverage.mode === 'per-fixture') {
|
|
326
|
+
for (const { fixtureId, map } of perFixtureMaps) {
|
|
327
|
+
if (Object.keys(map).length === 0) {
|
|
328
|
+
continue;
|
|
329
|
+
}
|
|
330
|
+
const safeId = fixtureId.replace(/[/\\:*?"<>|]/g, '_');
|
|
331
|
+
const outPath = path.join(coverageDir, `${safeId}.coverage.json`);
|
|
332
|
+
await writeIstanbulFile(outPath, map);
|
|
333
|
+
perFixtureCoverageRef.set(fixtureId, {
|
|
334
|
+
coverageDataIstanbul: toManifestRelative(outPath),
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
// Aggregated total alongside per-fixture files.
|
|
338
|
+
const merged = mergeIstanbul(perFixtureMaps.map(p => p.map));
|
|
339
|
+
if (Object.keys(merged).length > 0) {
|
|
340
|
+
const totalPath = path.join(coverageDir, 'coverage-final.json');
|
|
341
|
+
await writeIstanbulFile(totalPath, merged);
|
|
342
|
+
topLevelCoverage = { coverageDataIstanbul: toManifestRelative(totalPath) };
|
|
343
|
+
}
|
|
344
|
+
this.context.stdout.write(` Coverage: ${perFixtureCoverageRef.size} per-fixture report(s) + total in ${path.relative(projectDir, coverageDir)}/\n`);
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
const merged = mergeIstanbul(totalMaps);
|
|
348
|
+
if (Object.keys(merged).length > 0) {
|
|
349
|
+
const totalPath = path.join(coverageDir, 'coverage-final.json');
|
|
350
|
+
await writeIstanbulFile(totalPath, merged);
|
|
351
|
+
topLevelCoverage = { coverageDataIstanbul: toManifestRelative(totalPath) };
|
|
352
|
+
}
|
|
353
|
+
this.context.stdout.write(` Coverage: ${path.relative(projectDir, coverageDir)}/\n`);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
// Attach per-fixture coverage refs to manifest entries (per-fixture mode only).
|
|
357
|
+
if (perFixtureCoverageRef.size > 0) {
|
|
358
|
+
for (const entry of fixtureEntries) {
|
|
359
|
+
const ref = perFixtureCoverageRef.get(entry.fixtureId);
|
|
360
|
+
if (ref) {
|
|
361
|
+
entry.coverage = ref;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
125
365
|
const manifest = {
|
|
126
366
|
version: 1,
|
|
127
367
|
repository: repoOrigin,
|
|
128
368
|
commit: commitMetadata,
|
|
369
|
+
coverage: topLevelCoverage,
|
|
129
370
|
fixtures: fixtureEntries,
|
|
130
371
|
};
|
|
131
372
|
const manifestPath = path.join(targetPath, MANIFEST_FILENAME);
|
|
@@ -145,6 +386,40 @@ class RenderCommand extends Command {
|
|
|
145
386
|
}
|
|
146
387
|
return 0;
|
|
147
388
|
}
|
|
389
|
+
_resolveCoverage(fromConfig) {
|
|
390
|
+
// If neither CLI nor config requests coverage, do nothing.
|
|
391
|
+
const configWantsCoverage = fromConfig?.enabled ?? false;
|
|
392
|
+
const cliWantsCoverage = this.coverage || this.coverageCss || this.coverageJs !== undefined || this.coverageMode !== undefined;
|
|
393
|
+
if (!configWantsCoverage && !cliWantsCoverage) {
|
|
394
|
+
return undefined;
|
|
395
|
+
}
|
|
396
|
+
const base = fromConfig ?? new ResolvedCoverageConfig('total', 'istanbul', false, 'coverage', ['**/src/**/*.{js,ts,jsx,tsx,mjs,cjs}'], ['**/*.fixture.{js,ts,jsx,tsx}', '**/node_modules/**', '**/*.{test,spec}.{js,ts,jsx,tsx}']);
|
|
397
|
+
// Mode override
|
|
398
|
+
let mode = base.mode;
|
|
399
|
+
if (this.coverageMode !== undefined) {
|
|
400
|
+
if (this.coverageMode !== 'total' && this.coverageMode !== 'per-fixture') {
|
|
401
|
+
throw new Error(`--coverage-mode must be "total" or "per-fixture", got "${this.coverageMode}"`);
|
|
402
|
+
}
|
|
403
|
+
mode = this.coverageMode;
|
|
404
|
+
}
|
|
405
|
+
// JS strategy override
|
|
406
|
+
let js = base.js;
|
|
407
|
+
if (this.coverageJs !== undefined) {
|
|
408
|
+
if (this.coverageJs === 'off' || this.coverageJs === 'false') {
|
|
409
|
+
js = false;
|
|
410
|
+
}
|
|
411
|
+
else if (this.coverageJs === 'istanbul' || this.coverageJs === 'v8') {
|
|
412
|
+
js = this.coverageJs;
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
throw new Error(`--coverage-js must be "istanbul", "v8", or "off", got "${this.coverageJs}"`);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
// CSS toggle: CLI flag forces on; config decides otherwise.
|
|
419
|
+
const css = this.coverageCss || base.css;
|
|
420
|
+
const outputDir = this.coverageOutput ?? base.outputDir;
|
|
421
|
+
return new ResolvedCoverageConfig(mode, js, css, outputDir, base.include, base.exclude);
|
|
422
|
+
}
|
|
148
423
|
async _runComparison(screenshots, targetPath, compareTargetPath, projectDir) {
|
|
149
424
|
const compareStorage = new FileSystemStorage(compareTargetPath);
|
|
150
425
|
const result = await compareScreenshotsInMemory(screenshots, {
|
|
@@ -168,6 +443,16 @@ class RenderCommand extends Command {
|
|
|
168
443
|
return (result.added.length > 0 || result.changed.length > 0) ? 1 : 0;
|
|
169
444
|
}
|
|
170
445
|
}
|
|
446
|
+
function _globToRegExp(glob) {
|
|
447
|
+
// Escape regex metacharacters EXCEPT glob ones we'll process below: * ? { } , and /.
|
|
448
|
+
let pattern = glob.replace(/([.+^$()|[\]\\])/g, '\\$1');
|
|
449
|
+
// Brace expansion: {a,b,c} → (a|b|c)
|
|
450
|
+
pattern = pattern.replace(/\{([^{}]+)\}/g, (_, body) => '(' + body.split(',').join('|') + ')');
|
|
451
|
+
// ** → placeholder, * → [^/]*, then placeholder → .*
|
|
452
|
+
pattern = pattern.replace(/\*\*/g, '\u29eb').replace(/\*/g, '[^/]*').replace(/\u29eb/g, '.*');
|
|
453
|
+
pattern = pattern.replace(/\?/g, '.');
|
|
454
|
+
return new RegExp(pattern);
|
|
455
|
+
}
|
|
171
456
|
async function collectGitMetadata(gitRoot) {
|
|
172
457
|
const hash = (await execGit(gitRoot, ['rev-parse', 'HEAD'])).trim();
|
|
173
458
|
const logOutput = (await execGit(gitRoot, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderCommand.js","sources":["../../src/commands/renderCommand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderCommand.js","sources":["../../src/commands/renderCommand.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchCommand.d.ts","sourceRoot":"","sources":["../../src/commands/watchCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"watchCommand.d.ts","sourceRoot":"","sources":["../../src/commands/watchCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAe5C,qBAAa,YAAa,SAAQ,OAAO;IACxC,OAAgB,KAAK,aAAe;IAEpC,OAAgB,KAAK,4BAMlB;IAEH,QAAQ,CAAC,OAAO,SAAsG;IACtH,QAAQ,CAAC,OAAO,qBAAgG;IAChH,QAAQ,CAAC,OAAO,SAAuI;IACvJ,QAAQ,CAAC,MAAM,UAAwG;IACvH,QAAQ,CAAC,OAAO,SAA+G;IAC/H,QAAQ,CAAC,KAAK,qBAAmO;IAE3O,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAiBhB,cAAc;YAuCd,kBAAkB;YA0ElB,aAAa;CAkB3B"}
|