@crvy/rprtr 0.2.3 → 0.3.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/CHANGELOG.md +41 -0
- package/README.md +33 -0
- package/dist/{chunk-HAFWYUNO.js → chunk-4YJL655E.js} +16 -4
- package/dist/{chunk-473CWZ4V.js → chunk-IFHYWPXG.js} +710 -281
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +57 -6
- package/dist/index.css +7 -0
- package/dist/index.js +152 -105
- package/dist/reporter-artifact-ops.d.ts +0 -2
- package/dist/reporter-artifact-ops.d.ts.map +1 -1
- package/dist/reporter.cjs +32 -38
- package/dist/reporter.d.ts +2 -1
- package/dist/reporter.d.ts.map +1 -1
- package/dist/reporter.js +27 -43
- package/dist/schemas/http.d.ts +2 -0
- package/dist/schemas/http.d.ts.map +1 -1
- package/dist/schemas.d.ts +14 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/server/app.d.ts +6 -0
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/artifact-routes.d.ts.map +1 -1
- package/dist/server/docker-launcher.d.ts +27 -0
- package/dist/server/docker-launcher.d.ts.map +1 -0
- package/dist/server/docker-support.d.ts +66 -0
- package/dist/server/docker-support.d.ts.map +1 -0
- package/dist/server/handlers.d.ts +1 -1
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/launcher-resolver.d.ts +23 -0
- package/dist/server/launcher-resolver.d.ts.map +1 -0
- package/dist/server/playwright-config.d.ts +6 -0
- package/dist/server/playwright-config.d.ts.map +1 -1
- package/dist/server/routes-context.d.ts +6 -1
- package/dist/server/routes-context.d.ts.map +1 -1
- package/dist/server/routes.d.ts +7 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/run-controller.d.ts +19 -19
- package/dist/server/run-controller.d.ts.map +1 -1
- package/dist/server/run-launcher.d.ts +45 -0
- package/dist/server/run-launcher.d.ts.map +1 -0
- package/dist/server/run-mode.d.ts +15 -0
- package/dist/server/run-mode.d.ts.map +1 -0
- package/dist/server/server-factories.d.ts +21 -0
- package/dist/server/server-factories.d.ts.map +1 -0
- package/dist/server.cjs +885 -446
- package/dist/server.js +2 -2
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli.d.ts
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { type ServerOptions } from './server.ts';
|
|
3
|
+
import type { DockerOptions } from './server/docker-launcher.ts';
|
|
4
|
+
import type { RunMode } from './server/run-mode.ts';
|
|
3
5
|
interface ResolvedCliOptions extends ServerOptions {
|
|
4
6
|
port: number;
|
|
5
7
|
screenshotDir: string;
|
|
6
8
|
reportPath: string;
|
|
7
9
|
outputDir: string;
|
|
10
|
+
runMode?: RunMode;
|
|
11
|
+
docker?: DockerOptions;
|
|
8
12
|
}
|
|
13
|
+
export declare const HELP_TEXT = "Usage: crvy-rprtr [artifact-dir] [options]\n\nStart the @crvy/rprtr visual regression report UI server.\n\nArguments:\n artifact-dir Directory of downloaded CI test artifacts. When set,\n --report-path defaults to <dir>/report.json and\n --screenshot-dir defaults to <dir>/screenshots.\n\nOptions:\n -p, --port <number> Server port (default: 3000)\n -s, --screenshot-dir <dir> Screenshot artifact directory (default: ./screenshots)\n -r, --report-path <path> Path to report.json (default: ./report.json)\n -o, --output-dir <dir> Playwright test output directory (default: ./test-results)\n -c, --config <path> Path to playwright.config.ts, used for approval routing\n --run-mode <mode> Test run backend: local, docker, or auto (default: auto)\n --docker-image <image> Docker image for docker mode (default: official Playwright image matching the installed @playwright/test version)\n --docker-platform <platform> Container platform: linux/amd64 or linux/arm64 (default: host architecture)\n -h, --help Show this help message\n";
|
|
14
|
+
export declare function printHelp(): void;
|
|
15
|
+
export declare function wantsHelp(args: string[]): boolean;
|
|
9
16
|
export declare function resolveCliOptions(args: string[]): ResolvedCliOptions;
|
|
10
17
|
export {};
|
|
11
18
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAKA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAKA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAOnD,UAAU,kBAAmB,SAAQ,aAAa;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAED,eAAO,MAAM,SAAS,oqCAmBrB,CAAA;AAED,wBAAgB,SAAS,IAAI,IAAI,CAEhC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAEjD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAgDpE"}
|
package/dist/cli.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
startServer
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-IFHYWPXG.js";
|
|
5
|
+
import "./chunk-4YJL655E.js";
|
|
6
6
|
|
|
7
7
|
// src/cli.ts
|
|
8
8
|
import { join } from "path";
|
|
@@ -32,6 +32,32 @@ var DEFAULT_PORT = 3e3;
|
|
|
32
32
|
var DEFAULT_SCREENSHOT_DIR = "./screenshots";
|
|
33
33
|
var DEFAULT_REPORT_PATH = "./report.json";
|
|
34
34
|
var DEFAULT_OUTPUT_DIR = "./test-results";
|
|
35
|
+
var HELP_TEXT = `Usage: crvy-rprtr [artifact-dir] [options]
|
|
36
|
+
|
|
37
|
+
Start the @crvy/rprtr visual regression report UI server.
|
|
38
|
+
|
|
39
|
+
Arguments:
|
|
40
|
+
artifact-dir Directory of downloaded CI test artifacts. When set,
|
|
41
|
+
--report-path defaults to <dir>/report.json and
|
|
42
|
+
--screenshot-dir defaults to <dir>/screenshots.
|
|
43
|
+
|
|
44
|
+
Options:
|
|
45
|
+
-p, --port <number> Server port (default: 3000)
|
|
46
|
+
-s, --screenshot-dir <dir> Screenshot artifact directory (default: ./screenshots)
|
|
47
|
+
-r, --report-path <path> Path to report.json (default: ./report.json)
|
|
48
|
+
-o, --output-dir <dir> Playwright test output directory (default: ./test-results)
|
|
49
|
+
-c, --config <path> Path to playwright.config.ts, used for approval routing
|
|
50
|
+
--run-mode <mode> Test run backend: local, docker, or auto (default: auto)
|
|
51
|
+
--docker-image <image> Docker image for docker mode (default: official Playwright image matching the installed @playwright/test version)
|
|
52
|
+
--docker-platform <platform> Container platform: linux/amd64 or linux/arm64 (default: host architecture)
|
|
53
|
+
-h, --help Show this help message
|
|
54
|
+
`;
|
|
55
|
+
function printHelp() {
|
|
56
|
+
console.log(HELP_TEXT);
|
|
57
|
+
}
|
|
58
|
+
function wantsHelp(args) {
|
|
59
|
+
return args.includes("--help") || args.includes("-h");
|
|
60
|
+
}
|
|
35
61
|
function resolveCliOptions(args) {
|
|
36
62
|
const { values, positionals } = parseArgs({
|
|
37
63
|
args,
|
|
@@ -41,7 +67,10 @@ function resolveCliOptions(args) {
|
|
|
41
67
|
"screenshot-dir": { type: "string", short: "s" },
|
|
42
68
|
"report-path": { type: "string", short: "r" },
|
|
43
69
|
"output-dir": { type: "string", short: "o" },
|
|
44
|
-
config: { type: "string", short: "c" }
|
|
70
|
+
config: { type: "string", short: "c" },
|
|
71
|
+
"run-mode": { type: "string" },
|
|
72
|
+
"docker-image": { type: "string" },
|
|
73
|
+
"docker-platform": { type: "string" }
|
|
45
74
|
}
|
|
46
75
|
});
|
|
47
76
|
if (positionals.length > 1) {
|
|
@@ -50,17 +79,39 @@ function resolveCliOptions(args) {
|
|
|
50
79
|
const artifactDir = positionals[0];
|
|
51
80
|
const reportPath = values["report-path"] ?? (artifactDir === void 0 ? DEFAULT_REPORT_PATH : join(artifactDir, "report.json"));
|
|
52
81
|
const screenshotDir = values["screenshot-dir"] ?? (artifactDir === void 0 ? DEFAULT_SCREENSHOT_DIR : join(artifactDir, "screenshots"));
|
|
82
|
+
const runMode = values["run-mode"];
|
|
83
|
+
if (runMode !== void 0 && runMode !== "local" && runMode !== "docker" && runMode !== "auto") {
|
|
84
|
+
throw new TypeError(`Invalid --run-mode: ${runMode} (expected local, docker, or auto)`);
|
|
85
|
+
}
|
|
86
|
+
const dockerPlatform = values["docker-platform"];
|
|
87
|
+
if (dockerPlatform !== void 0 && dockerPlatform !== "linux/amd64" && dockerPlatform !== "linux/arm64") {
|
|
88
|
+
throw new TypeError(`Invalid --docker-platform: ${dockerPlatform} (expected linux/amd64 or linux/arm64)`);
|
|
89
|
+
}
|
|
90
|
+
const docker = {};
|
|
91
|
+
if (values["docker-image"] !== void 0) docker.image = values["docker-image"];
|
|
92
|
+
if (dockerPlatform !== void 0) docker.platform = dockerPlatform;
|
|
93
|
+
const hasDockerOptions = values["docker-image"] !== void 0 || dockerPlatform !== void 0;
|
|
53
94
|
return {
|
|
54
95
|
port: parseInt(values.port ?? `${DEFAULT_PORT}`, 10),
|
|
55
96
|
screenshotDir,
|
|
56
97
|
reportPath,
|
|
57
98
|
outputDir: values["output-dir"] ?? DEFAULT_OUTPUT_DIR,
|
|
58
|
-
playwrightConfig: values.config
|
|
99
|
+
playwrightConfig: values.config,
|
|
100
|
+
...runMode === void 0 ? {} : { runMode },
|
|
101
|
+
...hasDockerOptions ? { docker } : {}
|
|
59
102
|
};
|
|
60
103
|
}
|
|
61
104
|
if (isDirectExecution(import.meta.url)) {
|
|
62
|
-
|
|
105
|
+
const args = process.argv.slice(2);
|
|
106
|
+
if (wantsHelp(args)) {
|
|
107
|
+
printHelp();
|
|
108
|
+
} else {
|
|
109
|
+
await startServer(resolveCliOptions(args));
|
|
110
|
+
}
|
|
63
111
|
}
|
|
64
112
|
export {
|
|
65
|
-
|
|
113
|
+
HELP_TEXT,
|
|
114
|
+
printHelp,
|
|
115
|
+
resolveCliOptions,
|
|
116
|
+
wantsHelp
|
|
66
117
|
};
|
package/dist/index.css
CHANGED
|
@@ -305,6 +305,9 @@
|
|
|
305
305
|
.mr-3 {
|
|
306
306
|
margin-right: calc(var(--spacing) * 3);
|
|
307
307
|
}
|
|
308
|
+
.mb-1 {
|
|
309
|
+
margin-bottom: calc(var(--spacing) * 1);
|
|
310
|
+
}
|
|
308
311
|
.mb-2 {
|
|
309
312
|
margin-bottom: calc(var(--spacing) * 2);
|
|
310
313
|
}
|
|
@@ -841,6 +844,10 @@
|
|
|
841
844
|
.outline-accent {
|
|
842
845
|
outline-color: var(--color-accent);
|
|
843
846
|
}
|
|
847
|
+
.grayscale {
|
|
848
|
+
--tw-grayscale: grayscale(100%);
|
|
849
|
+
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
|
850
|
+
}
|
|
844
851
|
.invert {
|
|
845
852
|
--tw-invert: invert(100%);
|
|
846
853
|
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|