@mozole/cli 1.2.2 → 1.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.
Files changed (65) hide show
  1. package/README.md +12 -6
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +28 -5
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/adopt.d.ts.map +1 -1
  6. package/dist/commands/adopt.js +6 -2
  7. package/dist/commands/adopt.js.map +1 -1
  8. package/dist/commands/doctor.d.ts.map +1 -1
  9. package/dist/commands/doctor.js +9 -0
  10. package/dist/commands/doctor.js.map +1 -1
  11. package/dist/commands/new.d.ts +1 -0
  12. package/dist/commands/new.d.ts.map +1 -1
  13. package/dist/commands/new.js +1 -1
  14. package/dist/commands/new.js.map +1 -1
  15. package/dist/commands/qa.d.ts +2 -0
  16. package/dist/commands/qa.d.ts.map +1 -1
  17. package/dist/commands/qa.js +29 -1
  18. package/dist/commands/qa.js.map +1 -1
  19. package/dist/commands/stats.d.ts.map +1 -1
  20. package/dist/commands/stats.js +10 -4
  21. package/dist/commands/stats.js.map +1 -1
  22. package/dist/config/project.d.ts +7 -1
  23. package/dist/config/project.d.ts.map +1 -1
  24. package/dist/config/project.js +11 -2
  25. package/dist/config/project.js.map +1 -1
  26. package/dist/governor/fingerprint.d.ts.map +1 -1
  27. package/dist/governor/fingerprint.js +3 -0
  28. package/dist/governor/fingerprint.js.map +1 -1
  29. package/dist/governor/hook.d.ts +2 -0
  30. package/dist/governor/hook.d.ts.map +1 -1
  31. package/dist/governor/hook.js +291 -38
  32. package/dist/governor/hook.js.map +1 -1
  33. package/dist/governor/state.d.ts +10 -0
  34. package/dist/governor/state.d.ts.map +1 -1
  35. package/dist/governor/state.js +5 -0
  36. package/dist/governor/state.js.map +1 -1
  37. package/dist/platform/process.d.ts.map +1 -1
  38. package/dist/platform/process.js +14 -4
  39. package/dist/platform/process.js.map +1 -1
  40. package/dist/qa/diff.d.ts +10 -0
  41. package/dist/qa/diff.d.ts.map +1 -0
  42. package/dist/qa/diff.js +79 -0
  43. package/dist/qa/diff.js.map +1 -0
  44. package/dist/qa/runner.d.ts +11 -0
  45. package/dist/qa/runner.d.ts.map +1 -1
  46. package/dist/qa/runner.js +30 -7
  47. package/dist/qa/runner.js.map +1 -1
  48. package/dist/scaffold/admin.d.ts +8 -0
  49. package/dist/scaffold/admin.d.ts.map +1 -0
  50. package/dist/scaffold/admin.js +45 -0
  51. package/dist/scaffold/admin.js.map +1 -0
  52. package/dist/scaffold/templates.d.ts +5 -2
  53. package/dist/scaffold/templates.d.ts.map +1 -1
  54. package/dist/scaffold/templates.js +45 -14
  55. package/dist/scaffold/templates.js.map +1 -1
  56. package/dist/telemetry/store.d.ts +6 -0
  57. package/dist/telemetry/store.d.ts.map +1 -1
  58. package/dist/telemetry/store.js +12 -0
  59. package/dist/telemetry/store.js.map +1 -1
  60. package/dist/verify/runner.d.ts.map +1 -1
  61. package/dist/verify/runner.js +19 -3
  62. package/dist/verify/runner.js.map +1 -1
  63. package/dist/version.d.ts +2 -2
  64. package/dist/version.js +1 -1
  65. package/package.json +5 -2
@@ -8,6 +8,7 @@ export interface EvidenceState {
8
8
  path: string;
9
9
  sha256: string;
10
10
  }>;
11
+ reason?: string;
11
12
  }
12
13
  export interface GovernorState {
13
14
  schemaVersion: 1;
@@ -17,12 +18,21 @@ export interface GovernorState {
17
18
  content: string;
18
19
  seenAt: string;
19
20
  warned?: boolean;
21
+ blocked?: boolean;
22
+ escalationLevel?: "cce" | "bounded" | "justified_full" | "small_file";
23
+ }>;
24
+ cceRetrievals: Record<string, {
25
+ retrievedAt: string;
26
+ query?: string;
27
+ fingerprint?: string;
28
+ remainingReads?: number;
20
29
  }>;
21
30
  commands: Array<{
22
31
  command: string;
23
32
  fingerprint: string;
24
33
  seenAt: string;
25
34
  warned?: boolean;
35
+ blocked?: boolean;
26
36
  }>;
27
37
  }
28
38
  export declare const emptyGovernorState: () => GovernorState;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/governor/state.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AACD,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,CAAC,CAAC;IACjB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC7E,QAAQ,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,kBAAkB,QAAO,aAKpC,CAAC;AASH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA8B5E;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,MAAM,CAIT"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/governor/state.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,CAAC,CAAC;IACjB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CACX,MAAM,EACN;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,gBAAgB,GAAG,YAAY,CAAC;KACvE,CACF,CAAC;IACF,aAAa,EAAE,MAAM,CACnB,MAAM,EACN;QACE,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CACF,CAAC;IACF,QAAQ,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,kBAAkB,QAAO,aAMpC,CAAC;AASH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkC5E;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,MAAM,CAIT"}
@@ -4,6 +4,7 @@ export const emptyGovernorState = () => ({
4
4
  schemaVersion: 1,
5
5
  qa: {},
6
6
  reads: {},
7
+ cceRetrievals: {},
7
8
  commands: [],
8
9
  });
9
10
  const statePath = (root) => path.join(root, ".mozole", "state", "governor.json");
@@ -20,6 +21,9 @@ export async function readGovernorState(root) {
20
21
  : undefined;
21
22
  const qa = record(value.qa) ? value.qa : {};
22
23
  const reads = record(value.reads) ? value.reads : {};
24
+ const cceRetrievals = record(value.cceRetrievals)
25
+ ? value.cceRetrievals
26
+ : {};
23
27
  const commands = Array.isArray(value.commands)
24
28
  ? value.commands.filter((item) => record(item) &&
25
29
  typeof item.command === "string" &&
@@ -31,6 +35,7 @@ export async function readGovernorState(root) {
31
35
  ...(verification ? { verification: verification } : {}),
32
36
  qa: qa,
33
37
  reads: reads,
38
+ cceRetrievals: cceRetrievals,
34
39
  commands,
35
40
  };
36
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/governor/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/governor/state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/platform/process.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAgBD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,QAAQ,kBAAmB,EAC3B,gBAAgB,SAAmC,GAClD,aAAa,CAmBf;AAED,wBAAsB,GAAG,CACvB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,SAAS,CAAC,CA0DpB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,SAAS,CAAC,CA4CpB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,UAAQ,GAAG,IAAI,CAkB7E"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/platform/process.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAgBD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,QAAQ,kBAAmB,EAC3B,gBAAgB,SAAmC,GAClD,aAAa,CAmBf;AAED,wBAAsB,GAAG,CACvB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,SAAS,CAAC,CA+DpB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,SAAS,CAAC,CAiDpB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,UAAQ,GAAG,IAAI,CAkB7E"}
@@ -52,9 +52,14 @@ export async function run(command, args, options) {
52
52
  .setEncoding("utf8")
53
53
  .on("data", (chunk) => (stderr += chunk));
54
54
  let forceTimer;
55
+ let terminationSignal = null;
55
56
  const stop = () => {
57
+ terminationSignal ??= "SIGTERM";
56
58
  terminateProcess(child.pid);
57
- forceTimer ??= setTimeout(() => terminateProcess(child.pid, true), 5_000);
59
+ forceTimer ??= setTimeout(() => {
60
+ terminationSignal = "SIGKILL";
61
+ terminateProcess(child.pid, true);
62
+ }, 5_000);
58
63
  };
59
64
  const timer = options.timeoutMs
60
65
  ? setTimeout(stop, options.timeoutMs)
@@ -86,7 +91,7 @@ export async function run(command, args, options) {
86
91
  stdout,
87
92
  stderr,
88
93
  durationMs: Date.now() - started,
89
- signal,
94
+ signal: signal ?? terminationSignal,
90
95
  });
91
96
  })().catch(reject);
92
97
  });
@@ -107,9 +112,14 @@ export async function runInteractive(command, args, options) {
107
112
  stdio: "inherit",
108
113
  });
109
114
  let forceTimer;
115
+ let terminationSignal = null;
110
116
  const stop = () => {
117
+ terminationSignal ??= "SIGTERM";
111
118
  terminateProcess(child.pid);
112
- forceTimer ??= setTimeout(() => terminateProcess(child.pid, true), 5_000);
119
+ forceTimer ??= setTimeout(() => {
120
+ terminationSignal = "SIGKILL";
121
+ terminateProcess(child.pid, true);
122
+ }, 5_000);
113
123
  };
114
124
  const timer = options.timeoutMs
115
125
  ? setTimeout(stop, options.timeoutMs)
@@ -136,7 +146,7 @@ export async function runInteractive(command, args, options) {
136
146
  stdout: "",
137
147
  stderr: "",
138
148
  durationMs: Date.now() - started,
139
- signal,
149
+ signal: signal ?? terminationSignal,
140
150
  });
141
151
  });
142
152
  });
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/platform/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/platform/process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface VisualDiffResult {
2
+ baselineFound: boolean;
3
+ changedPixels: number;
4
+ totalPixels: number;
5
+ ratio: number;
6
+ exceeded: boolean;
7
+ diffPath?: string;
8
+ }
9
+ export declare function compareVisualArtifact(baselinePath: string, actualBuffer: Buffer, threshold: number): Promise<VisualDiffResult>;
10
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/qa/diff.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAqBD,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CA6D3B"}
@@ -0,0 +1,79 @@
1
+ import { readFile, unlink, writeFile } from "node:fs/promises";
2
+ import pixelmatch from "pixelmatch";
3
+ import { PNG } from "pngjs";
4
+ async function removeIfPresent(filePath) {
5
+ try {
6
+ await unlink(filePath);
7
+ }
8
+ catch (error) {
9
+ if (error.code !== "ENOENT")
10
+ throw error;
11
+ }
12
+ }
13
+ function diagnosticDiff(actual) {
14
+ const diff = new PNG({ width: actual.width, height: actual.height });
15
+ for (let offset = 0; offset < diff.data.length; offset += 4) {
16
+ diff.data[offset] = 255;
17
+ diff.data[offset + 1] = 0;
18
+ diff.data[offset + 2] = 255;
19
+ diff.data[offset + 3] = 255;
20
+ }
21
+ return diff;
22
+ }
23
+ export async function compareVisualArtifact(baselinePath, actualBuffer, threshold) {
24
+ const diffPath = baselinePath.replace(/\.png$/i, ".diff.png");
25
+ let baselineBuffer;
26
+ try {
27
+ baselineBuffer = await readFile(baselinePath);
28
+ }
29
+ catch (error) {
30
+ if (error.code !== "ENOENT")
31
+ throw error;
32
+ await writeFile(baselinePath, actualBuffer);
33
+ await removeIfPresent(diffPath);
34
+ return {
35
+ baselineFound: false,
36
+ changedPixels: 0,
37
+ totalPixels: 0,
38
+ ratio: 0,
39
+ exceeded: false,
40
+ };
41
+ }
42
+ const actual = PNG.sync.read(actualBuffer);
43
+ let changedPixels;
44
+ let totalPixels;
45
+ let diff;
46
+ try {
47
+ const baseline = PNG.sync.read(baselineBuffer);
48
+ totalPixels = Math.max(baseline.width * baseline.height, actual.width * actual.height);
49
+ if (baseline.width !== actual.width || baseline.height !== actual.height) {
50
+ changedPixels = totalPixels;
51
+ diff = diagnosticDiff(actual);
52
+ }
53
+ else {
54
+ diff = new PNG({ width: actual.width, height: actual.height });
55
+ changedPixels = pixelmatch(baseline.data, actual.data, diff.data, actual.width, actual.height, { threshold: 0.1 });
56
+ }
57
+ }
58
+ catch {
59
+ totalPixels = actual.width * actual.height;
60
+ changedPixels = totalPixels;
61
+ diff = diagnosticDiff(actual);
62
+ }
63
+ const ratio = totalPixels === 0 ? 0 : changedPixels / totalPixels;
64
+ const exceeded = ratio > threshold;
65
+ await writeFile(baselinePath, actualBuffer);
66
+ if (exceeded)
67
+ await writeFile(diffPath, PNG.sync.write(diff));
68
+ else
69
+ await removeIfPresent(diffPath);
70
+ return {
71
+ baselineFound: true,
72
+ changedPixels,
73
+ totalPixels,
74
+ ratio,
75
+ exceeded,
76
+ ...(exceeded ? { diffPath } : {}),
77
+ };
78
+ }
79
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/qa/diff.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,22 @@ export interface QaSummary {
15
15
  brokenLinks: number;
16
16
  probes: number;
17
17
  screenshots: number;
18
+ visualDiffs: VisualDiff[];
18
19
  output: string;
19
20
  }
21
+ export interface VisualDiff {
22
+ viewport: string;
23
+ route: string;
24
+ ratio: number;
25
+ changedPixels: number;
26
+ totalPixels: number;
27
+ diffPath: string;
28
+ }
29
+ export declare function formatVisualDiff(diff: VisualDiff): string;
20
30
  export interface QaMode {
21
31
  interactive: boolean;
22
32
  visual: boolean;
33
+ diff?: boolean | undefined;
23
34
  }
24
35
  export declare function visualArtifactSlug(route: string): string;
25
36
  export declare function runQa(root: string, config: MozoleConfig, mode: QaMode, signal?: AbortSignal): Promise<QaSummary>;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/qa/runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,sBAAsB,CAAC;AAInE,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAKD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASxD;AAwMD,wBAAsB,KAAK,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC,CA4IpB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/qa/runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,sBAAsB,CAAC;AAKnE,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEzD;AACD,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5B;AAKD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASxD;AAwMD,wBAAsB,KAAK,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC,CAkKpB"}
package/dist/qa/runner.js CHANGED
@@ -1,8 +1,12 @@
1
- import { mkdir } from "node:fs/promises";
1
+ import { mkdir, writeFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { chromium } from "playwright";
4
4
  import { updateTelemetry } from "../telemetry/store.js";
5
+ import { compareVisualArtifact } from "./diff.js";
5
6
  import { acquireServer } from "./server.js";
7
+ export function formatVisualDiff(diff) {
8
+ return `${diff.viewport} ${diff.route} ${(diff.ratio * 100).toFixed(3)}% (${diff.changedPixels}/${diff.totalPixels}) ${diff.diffPath}`;
9
+ }
6
10
  function label(viewport) {
7
11
  return `${viewport.width}x${viewport.height}`;
8
12
  }
@@ -193,6 +197,7 @@ export async function runQa(root, config, mode, signal) {
193
197
  const issues = [];
194
198
  let probes = 0;
195
199
  let screenshots = 0;
200
+ const visualDiffs = [];
196
201
  let consoleErrors = 0;
197
202
  let failedRequests = 0;
198
203
  try {
@@ -270,10 +275,22 @@ export async function runQa(root, config, mode, signal) {
270
275
  probes += interacted.probes;
271
276
  }
272
277
  if (mode.visual) {
273
- await page.screenshot({
274
- path: path.join(artifactRoot, `${viewportName}-${visualArtifactSlug(route)}.png`),
275
- fullPage: true,
276
- });
278
+ const screenshotPath = path.join(artifactRoot, `${viewportName}-${visualArtifactSlug(route)}.png`);
279
+ const screenshot = await page.screenshot({ fullPage: true });
280
+ if (mode.diff) {
281
+ const comparison = await compareVisualArtifact(screenshotPath, screenshot, config.qa.visualDiffThreshold);
282
+ if (comparison.exceeded && comparison.diffPath)
283
+ visualDiffs.push({
284
+ viewport: viewportName,
285
+ route,
286
+ ratio: comparison.ratio,
287
+ changedPixels: comparison.changedPixels,
288
+ totalPixels: comparison.totalPixels,
289
+ diffPath: path.relative(root, comparison.diffPath),
290
+ });
291
+ }
292
+ else
293
+ await writeFile(screenshotPath, screenshot);
277
294
  screenshots++;
278
295
  }
279
296
  }
@@ -291,12 +308,17 @@ export async function runQa(root, config, mode, signal) {
291
308
  ])).values(),
292
309
  ];
293
310
  const passed = unique.length === 0;
294
- const output = passed
311
+ const diffOutput = mode.diff
312
+ ? visualDiffs.length
313
+ ? `\n\nVISUAL DIFFS\n${visualDiffs.map(formatVisualDiff).join("\n")}`
314
+ : "\n\nVISUAL DIFFS\nNo changes above threshold."
315
+ : "";
316
+ const output = (passed
295
317
  ? `QA PASS\n\n${config.qa.viewports.map((viewport) => `${label(viewport).padEnd(11)} ✓`).join("\n")}\n\nconsole errors ${consoleErrors}\nfailed requests ${failedRequests}\noverflow ${unique.filter((issue) => issue.kind === "overflow").length}\nbroken links ${unique.filter((issue) => issue.kind === "broken-link").length}${mode.visual ? `\nscreenshots ${screenshots}` : ""}`
296
318
  : `QA FAIL\n\n${unique
297
319
  .slice(0, 12)
298
320
  .map((issue) => `${issue.viewport} ${issue.route}\n${issue.evidence}`)
299
- .join("\n\n")}`;
321
+ .join("\n\n")}`) + diffOutput;
300
322
  if (config.telemetry.enabled)
301
323
  await updateTelemetry(root, (telemetry) => {
302
324
  telemetry.qa.runs++;
@@ -316,6 +338,7 @@ export async function runQa(root, config, mode, signal) {
316
338
  brokenLinks: unique.filter((issue) => issue.kind === "broken-link").length,
317
339
  probes,
318
340
  screenshots,
341
+ visualDiffs,
319
342
  output,
320
343
  };
321
344
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/qa/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/qa/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { MozoleConfig } from "../config/project.js";
2
+ export interface AdminScaffoldInspection {
3
+ enabled: boolean;
4
+ healthy: boolean;
5
+ detail: string;
6
+ }
7
+ export declare function inspectAdminScaffold(root: string, config: MozoleConfig): Promise<AdminScaffoldInspection>;
8
+ //# sourceMappingURL=admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/scaffold/admin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAkDlC"}
@@ -0,0 +1,45 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ export async function inspectAdminScaffold(root, config) {
4
+ if (!config.admin?.enabled)
5
+ return { enabled: false, healthy: true, detail: "static-only project" };
6
+ const requiredFiles = [
7
+ "app/admin/session.server.ts",
8
+ "app/admin/layout.tsx",
9
+ "app/admin/login.tsx",
10
+ "app/admin/dashboard.tsx",
11
+ ];
12
+ try {
13
+ const [routerConfig, routes, packageText, ...adminFiles] = await Promise.all([
14
+ readFile(path.join(root, "react-router.config.ts"), "utf8"),
15
+ readFile(path.join(root, "app", "routes.ts"), "utf8"),
16
+ readFile(path.join(root, "package.json"), "utf8"),
17
+ ...requiredFiles.map((relative) => readFile(path.join(root, ...relative.split("/")), "utf8")),
18
+ ]);
19
+ const pkg = JSON.parse(packageText);
20
+ const prerendered = ["/", "/about", "/contact"].every((route) => routerConfig.includes(`"${route}"`));
21
+ const healthy = /ssr:\s*true/.test(routerConfig) &&
22
+ prerendered &&
23
+ !routerConfig.includes('"/admin"') &&
24
+ routes.includes('route("admin"') &&
25
+ routes.includes('route("admin/login"') &&
26
+ adminFiles.every((contents) => contents.length > 0) &&
27
+ Boolean(pkg.dependencies?.["@react-router/serve"]) &&
28
+ pkg.scripts?.start === "react-router-serve build/server/index.js";
29
+ return {
30
+ enabled: true,
31
+ healthy,
32
+ detail: healthy
33
+ ? "Node runtime required; /admin excluded from prerender"
34
+ : "admin runtime files or hybrid rendering config are incomplete",
35
+ };
36
+ }
37
+ catch (error) {
38
+ return {
39
+ enabled: true,
40
+ healthy: false,
41
+ detail: `admin runtime files missing: ${error instanceof Error ? error.message : String(error)}`,
42
+ };
43
+ }
44
+ }
45
+ //# sourceMappingURL=admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/scaffold/admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAS7B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,MAAoB;IAEpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;QACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAE1E,MAAM,aAAa,GAAG;QACpB,6BAA6B;QAC7B,sBAAsB;QACtB,qBAAqB;QACrB,yBAAyB;KAC1B,CAAC;IACF,IAAI,CAAC;QACH,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,GACtD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,wBAAwB,CAAC,EAAE,MAAM,CAAC;YAC3D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC;YACjD,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAC1D;SACF,CAAC,CAAC;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAGjC,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9D,YAAY,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,CACpC,CAAC;QACF,MAAM,OAAO,GACX,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;YAChC,WAAW;YACX,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;YAChC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACtC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,qBAAqB,CAAC,CAAC;YAClD,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,0CAA0C,CAAC;QACpE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO;YACP,MAAM,EAAE,OAAO;gBACb,CAAC,CAAC,uDAAuD;gBACzD,CAAC,CAAC,+DAA+D;SACpE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACjG,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import type { MozoleConfig } from "../config/project.js";
2
- export declare function projectConfig(name: string): MozoleConfig;
3
- export declare function projectTemplates(name: string): Record<string, string>;
2
+ export interface ProjectTemplateOptions {
3
+ withAdmin?: boolean | undefined;
4
+ }
5
+ export declare function projectConfig(name: string, options?: ProjectTemplateOptions): MozoleConfig;
6
+ export declare function projectTemplates(name: string, options?: ProjectTemplateOptions): Record<string, string>;
4
7
  //# sourceMappingURL=templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA4BxD;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgLrE"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,YAAY,CAsCd;AAID,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwMxB"}