@mozole/cli 1.4.2 → 1.4.3

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 (75) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +25 -2
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +49 -22
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/adopt.d.ts +2 -0
  7. package/dist/commands/adopt.d.ts.map +1 -1
  8. package/dist/commands/adopt.js +53 -16
  9. package/dist/commands/adopt.js.map +1 -1
  10. package/dist/commands/logs.d.ts.map +1 -1
  11. package/dist/commands/logs.js +2 -1
  12. package/dist/commands/logs.js.map +1 -1
  13. package/dist/commands/new.d.ts.map +1 -1
  14. package/dist/commands/new.js +63 -15
  15. package/dist/commands/new.js.map +1 -1
  16. package/dist/commands/template.d.ts +8 -0
  17. package/dist/commands/template.d.ts.map +1 -0
  18. package/dist/commands/template.js +392 -0
  19. package/dist/commands/template.js.map +1 -0
  20. package/dist/commands/ui.d.ts +5 -0
  21. package/dist/commands/ui.d.ts.map +1 -1
  22. package/dist/commands/ui.js +159 -9
  23. package/dist/commands/ui.js.map +1 -1
  24. package/dist/config/project.d.ts +3 -0
  25. package/dist/config/project.d.ts.map +1 -1
  26. package/dist/config/project.js +21 -2
  27. package/dist/config/project.js.map +1 -1
  28. package/dist/governor/fingerprint.d.ts.map +1 -1
  29. package/dist/governor/fingerprint.js +19 -28
  30. package/dist/governor/fingerprint.js.map +1 -1
  31. package/dist/output-safety.d.ts +3 -0
  32. package/dist/output-safety.d.ts.map +1 -0
  33. package/dist/output-safety.js +44 -0
  34. package/dist/output-safety.js.map +1 -0
  35. package/dist/platform/process.d.ts +2 -0
  36. package/dist/platform/process.d.ts.map +1 -1
  37. package/dist/platform/process.js +16 -6
  38. package/dist/platform/process.js.map +1 -1
  39. package/dist/qa/artifacts.d.ts +3 -0
  40. package/dist/qa/artifacts.d.ts.map +1 -0
  41. package/dist/qa/artifacts.js +15 -0
  42. package/dist/qa/artifacts.js.map +1 -0
  43. package/dist/qa/diff.d.ts.map +1 -1
  44. package/dist/qa/diff.js +0 -1
  45. package/dist/qa/diff.js.map +1 -1
  46. package/dist/qa/runner.d.ts +3 -2
  47. package/dist/qa/runner.d.ts.map +1 -1
  48. package/dist/qa/runner.js +12 -16
  49. package/dist/qa/runner.js.map +1 -1
  50. package/dist/qa/server.d.ts.map +1 -1
  51. package/dist/qa/server.js +7 -7
  52. package/dist/qa/server.js.map +1 -1
  53. package/dist/scaffold/standalone.d.ts +1 -1
  54. package/dist/scaffold/standalone.d.ts.map +1 -1
  55. package/dist/scaffold/standalone.js +82 -2
  56. package/dist/scaffold/standalone.js.map +1 -1
  57. package/dist/scaffold/templates.d.ts +1 -0
  58. package/dist/scaffold/templates.d.ts.map +1 -1
  59. package/dist/scaffold/templates.js +6 -1
  60. package/dist/scaffold/templates.js.map +1 -1
  61. package/dist/template/servers.d.ts +21 -0
  62. package/dist/template/servers.d.ts.map +1 -0
  63. package/dist/template/servers.js +193 -0
  64. package/dist/template/servers.js.map +1 -0
  65. package/dist/template/workspace.d.ts +23 -0
  66. package/dist/template/workspace.d.ts.map +1 -0
  67. package/dist/template/workspace.js +152 -0
  68. package/dist/template/workspace.js.map +1 -0
  69. package/dist/verify/runner.d.ts +2 -1
  70. package/dist/verify/runner.d.ts.map +1 -1
  71. package/dist/verify/runner.js +2 -2
  72. package/dist/verify/runner.js.map +1 -1
  73. package/dist/version.d.ts +2 -2
  74. package/dist/version.js +1 -1
  75. package/package.json +1 -1
@@ -1,7 +1,10 @@
1
1
  import path from "node:path";
2
2
  import { stdin, stdout } from "node:process";
3
3
  import { createInterface } from "node:readline/promises";
4
+ import { sanitizeTerminalText } from "../output-safety.js";
4
5
  import { renderProgressBar } from "../progress.js";
6
+ import { TemplateServerManager, } from "../template/servers.js";
7
+ import { findTemplateRoot } from "../template/workspace.js";
5
8
  import { CLI_VERSION } from "../version.js";
6
9
  import { adoptCommand } from "./adopt.js";
7
10
  import { cceInstallCommand } from "./cce.js";
@@ -9,6 +12,7 @@ import { doctorCommand } from "./doctor.js";
9
12
  import { newCommand } from "./new.js";
10
13
  import { qaCommand } from "./qa.js";
11
14
  import { statsCommand } from "./stats.js";
15
+ import { templateAdoptCommand } from "./template.js";
12
16
  import { verifyCommand } from "./verify.js";
13
17
  const actions = [
14
18
  {
@@ -61,10 +65,16 @@ const actions = [
61
65
  key: "7",
62
66
  kind: "adopt",
63
67
  },
68
+ {
69
+ label: "Servers",
70
+ detail: "Start & stop template project npm servers",
71
+ key: "8",
72
+ kind: "servers",
73
+ },
64
74
  {
65
75
  label: "Exit",
66
76
  detail: "Return to your shell",
67
- key: "8",
77
+ key: "9",
68
78
  kind: "exit",
69
79
  },
70
80
  ];
@@ -116,7 +126,7 @@ export function uiDashboardFrame(state, dimensions, color = true) {
116
126
  const subtitle = paint("COMMAND DECK", 95, color);
117
127
  const copyright = paint("© MozoleStudio", 90, color);
118
128
  const projectLabel = paint("PROJECT", 36, color);
119
- const projectName = paint(path.basename(state.cwd) || state.cwd, 97, color);
129
+ const projectName = paint(sanitizeTerminalText(path.basename(state.cwd) || state.cwd), 97, color);
120
130
  const header = [
121
131
  ` ${paint("◆", 96, color)} ${title} ${version} ${paint("│", 90, color)} ${subtitle} ${paint("│", 90, color)} ${copyright}`,
122
132
  ` ${projectLabel} ${projectName}`,
@@ -136,7 +146,7 @@ export function uiDashboardFrame(state, dimensions, color = true) {
136
146
  if (state.progress) {
137
147
  const bar = renderProgressBar(state.progress.current / state.progress.total, 14);
138
148
  const stepInfo = paint(`[${state.progress.current}/${state.progress.total}]`, 97, color);
139
- const msg = paint(state.progress.message, 90, color);
149
+ const msg = paint(sanitizeTerminalText(state.progress.message), 90, color);
140
150
  progressLine = ` ${paint(bar, 36, color)} ${stepInfo} ${msg}`;
141
151
  }
142
152
  }
@@ -167,12 +177,48 @@ export function uiDashboardFrame(state, dimensions, color = true) {
167
177
  ...activity,
168
178
  ], width, color, "STATUS & ACTIVITY"),
169
179
  "",
170
- paint(" ↑↓ / j k navigate enter run 1–8 jump r redraw q exit", 90, color),
180
+ paint(" ↑↓ / j k navigate enter run 1–9 jump r redraw q exit", 90, color),
171
181
  paint(" Normal QA is deterministic and screenshot-free. Visual QA remains explicit. · © MozoleStudio", 90, color),
172
182
  ];
173
183
  const padding = Math.max(0, height - frame.length - 1);
174
184
  return `${ansi.clear}${frame.join("\n")}${"\n".repeat(padding)}`;
175
185
  }
186
+ export function uiServerManagerFrame(root, servers, selected, dimensions, color = true, message = "") {
187
+ const width = Math.max(54, Math.min(100, dimensions.columns - 2));
188
+ const height = Math.max(20, dimensions.rows);
189
+ const rows = servers.length
190
+ ? servers.map((server, index) => {
191
+ const marker = selected === index ? paint("❯", 96, color) : paint("·", 90, color);
192
+ const statusCode = server.status === "running"
193
+ ? 92
194
+ : server.status === "failed"
195
+ ? 91
196
+ : server.status === "starting"
197
+ ? 93
198
+ : 90;
199
+ const status = paint(server.status.toUpperCase().padEnd(8), statusCode, color);
200
+ const address = server.status === "running"
201
+ ? `http://127.0.0.1:${server.port}`
202
+ : `preferred :${server.preferredPort}`;
203
+ return `${marker} ${status} ${sanitizeTerminalText(server.relativePath).padEnd(22)} ${address}`;
204
+ })
205
+ : [paint(" No projects found. Run `mozole new <name>` here.", 90, color)];
206
+ const frame = [
207
+ "",
208
+ ` ${paint("◆", 96, color)} ${paint("NPM SERVER MANAGER", 96, color)}`,
209
+ ` ${paint("TEMPLATE", 36, color)} ${paint(sanitizeTerminalText(path.basename(root)), 97, color)}`,
210
+ "",
211
+ ...box(rows, width, color, "PROJECTS"),
212
+ "",
213
+ ...box([
214
+ ` ${sanitizeTerminalText(message || "Select a project and press Enter to start or stop it.")}`,
215
+ ], width, color, "STATUS"),
216
+ "",
217
+ paint(" ↑↓ / j k navigate enter / s start-stop a start all x stop all q / esc back", 90, color),
218
+ paint(" Servers live for this UI session. Logs: .mozole/logs/servers/", 90, color),
219
+ ];
220
+ return `${ansi.clear}${frame.join("\n")}${"\n".repeat(Math.max(0, height - frame.length - 1))}`;
221
+ }
176
222
  function hasColor(output) {
177
223
  return (Boolean(output.isTTY) &&
178
224
  !process.env.NO_COLOR &&
@@ -192,7 +238,7 @@ function waitForKey(input) {
192
238
  });
193
239
  }
194
240
  function statusLine(message) {
195
- return String(message)
241
+ return sanitizeTerminalText(String(message))
196
242
  .split(/\r?\n/)
197
243
  .map((line) => line.trim())
198
244
  .filter(Boolean)
@@ -207,8 +253,15 @@ export async function uiCommand(cwd, output = console, streams = {}) {
207
253
  return 2;
208
254
  }
209
255
  const state = { cwd, selected: 0, log: [] };
256
+ const directOutput = {
257
+ log: (message, ...optional) => output.log(sanitizeTerminalText(String(message ?? "")), ...optional.map((value) => sanitizeTerminalText(String(value ?? "")))),
258
+ error: (message, ...optional) => output.error(sanitizeTerminalText(String(message ?? "")), ...optional.map((value) => sanitizeTerminalText(String(value ?? "")))),
259
+ };
210
260
  const color = hasColor(terminalOutput);
211
261
  let entered = false;
262
+ let serverManager;
263
+ let serverViewRender;
264
+ let requestedExitCode;
212
265
  const render = () => terminalOutput.write(uiDashboardFrame(state, {
213
266
  columns: terminalOutput.columns ?? 100,
214
267
  rows: terminalOutput.rows ?? 32,
@@ -230,7 +283,7 @@ export async function uiCommand(cwd, output = console, streams = {}) {
230
283
  terminalOutput.write(`${ansi.cursorShow}${ansi.alternateExit}`);
231
284
  entered = false;
232
285
  };
233
- const resize = () => render();
286
+ const resize = () => (serverViewRender ?? render)();
234
287
  terminalOutput.on("resize", resize);
235
288
  const abort = () => leave();
236
289
  process.once("SIGINT", abort);
@@ -247,7 +300,7 @@ export async function uiCommand(cwd, output = console, streams = {}) {
247
300
  leave();
248
301
  try {
249
302
  if (action.kind === "install") {
250
- const code = await cceInstallCommand(cwd, console);
303
+ const code = await cceInstallCommand(cwd, directOutput);
251
304
  state.lastResult = `${action.label} ${code === 0 ? "COMPLETE" : "FAILED"}`;
252
305
  }
253
306
  else {
@@ -260,8 +313,10 @@ export async function uiCommand(cwd, output = console, streams = {}) {
260
313
  return;
261
314
  }
262
315
  const code = action.kind === "create"
263
- ? await newCommand(value, cwd, console)
264
- : await adoptCommand(value, cwd, console);
316
+ ? await newCommand(value, cwd, directOutput)
317
+ : (await findTemplateRoot(cwd))
318
+ ? await templateAdoptCommand(value, cwd, directOutput)
319
+ : await adoptCommand(value, cwd, directOutput);
265
320
  state.lastResult = `${action.label} ${code === 0 ? "COMPLETE" : "FAILED"}`;
266
321
  }
267
322
  await prompt(input, terminalOutput, "\nPress Enter to return to Mozole…");
@@ -270,6 +325,94 @@ export async function uiCommand(cwd, output = console, streams = {}) {
270
325
  enter();
271
326
  }
272
327
  }
328
+ async function runServerManager() {
329
+ const root = await findTemplateRoot(cwd);
330
+ if (!root) {
331
+ state.lastResult = "Servers FAILED: no template workspace";
332
+ state.log = ["Run `mozole template init <folder>` first."];
333
+ render();
334
+ return;
335
+ }
336
+ serverManager ??= new TemplateServerManager(root);
337
+ let servers = await serverManager.refresh();
338
+ let selected = 0;
339
+ let message = "";
340
+ const draw = () => terminalOutput.write(uiServerManagerFrame(root, servers, selected, {
341
+ columns: terminalOutput.columns ?? 100,
342
+ rows: terminalOutput.rows ?? 32,
343
+ }, color, message));
344
+ serverViewRender = draw;
345
+ draw();
346
+ while (true) {
347
+ const key = await waitForKey(input);
348
+ if (key === "\u0003") {
349
+ requestedExitCode = 130;
350
+ serverViewRender = undefined;
351
+ return;
352
+ }
353
+ if (key === "q" || key === "Q" || key === "\u001B") {
354
+ state.lastResult = `${servers.filter((item) => item.status === "running").length} SERVER(S) RUNNING`;
355
+ serverViewRender = undefined;
356
+ render();
357
+ return;
358
+ }
359
+ if (key === "\u001B[A" || key === "k") {
360
+ if (servers.length)
361
+ selected = (selected + servers.length - 1) % servers.length;
362
+ draw();
363
+ continue;
364
+ }
365
+ if (key === "\u001B[B" || key === "j") {
366
+ if (servers.length)
367
+ selected = (selected + 1) % servers.length;
368
+ draw();
369
+ continue;
370
+ }
371
+ if (key === "x" || key === "X") {
372
+ message = "Stopping all project servers…";
373
+ draw();
374
+ await serverManager.stopAll();
375
+ servers = serverManager.list();
376
+ message = "All project servers stopped.";
377
+ draw();
378
+ continue;
379
+ }
380
+ if (key === "a" || key === "A") {
381
+ for (const server of servers) {
382
+ if (server.status === "running")
383
+ continue;
384
+ message = `Starting ${server.relativePath}…`;
385
+ draw();
386
+ await serverManager.start(server.relativePath);
387
+ servers = serverManager.list();
388
+ }
389
+ message = "All available project servers started.";
390
+ draw();
391
+ continue;
392
+ }
393
+ if (key !== "s" && key !== "S" && key !== "\r" && key !== "\n")
394
+ continue;
395
+ const server = servers[selected];
396
+ if (!server)
397
+ continue;
398
+ if (server.status === "running" || server.status === "starting") {
399
+ message = `Stopping ${server.relativePath}…`;
400
+ draw();
401
+ await serverManager.stop(server.relativePath);
402
+ }
403
+ else {
404
+ message = `Starting ${server.relativePath}…`;
405
+ draw();
406
+ await serverManager.start(server.relativePath);
407
+ }
408
+ servers = serverManager.list();
409
+ const current = servers.find((candidate) => candidate.relativePath === server.relativePath);
410
+ message = current?.error
411
+ ? `${server.relativePath}: ${current.error}`
412
+ : `${server.relativePath}: ${current?.status ?? "stopped"}`;
413
+ draw();
414
+ }
415
+ }
273
416
  try {
274
417
  enter();
275
418
  while (true) {
@@ -302,6 +445,12 @@ export async function uiCommand(cwd, output = console, streams = {}) {
302
445
  continue;
303
446
  if (action.kind === "exit")
304
447
  return 0;
448
+ if (action.kind === "servers") {
449
+ await runServerManager();
450
+ if (requestedExitCode !== undefined)
451
+ return requestedExitCode;
452
+ continue;
453
+ }
305
454
  if (action.kind !== "command") {
306
455
  await runExternal(action);
307
456
  continue;
@@ -322,6 +471,7 @@ export async function uiCommand(cwd, output = console, streams = {}) {
322
471
  }
323
472
  }
324
473
  finally {
474
+ await serverManager?.stopAll();
325
475
  leave();
326
476
  terminalOutput.off("resize", resize);
327
477
  process.removeListener("SIGINT", abort);
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,9 @@ export interface MozoleConfig {
7
7
  name: string;
8
8
  mode?: "optimized" | "scaffold" | undefined;
9
9
  framework: "react-router";
10
+ workspace?: {
11
+ sharedDependencies: true;
12
+ } | undefined;
10
13
  routes: string[];
11
14
  backend?: {
12
15
  enabled: true;
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;IAC5C,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EACJ;QACE,OAAO,EAAE,IAAI,CAAC;QACd,OAAO,EAAE,KAAK,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,GACD,SAAS,CAAC;IACd,EAAE,EAAE;QACF,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtB,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,aAAa,EAAE,MAAM,CAAC;YACtB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;KACH,CAAC;IACF,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,EAAE;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC;KAC5C,CAAC;IACF,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACjC,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACrE;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAgF3E;AAED,wBAAsB,eAAe,CAAC,KAAK,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB5E"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;IAC5C,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,CAAC,EAAE;QAAE,kBAAkB,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IACrD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EACJ;QACE,OAAO,EAAE,IAAI,CAAC;QACd,OAAO,EAAE,KAAK,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,GACD,SAAS,CAAC;IACd,EAAE,EAAE;QACF,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtB,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,aAAa,EAAE,MAAM,CAAC;YACtB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;KACH,CAAC;IACF,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,EAAE;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC;KAC5C,CAAC;IACF,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACjC,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACrE;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoG3E;AAED,wBAAsB,eAAe,CAAC,KAAK,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB5E"}
@@ -1,5 +1,9 @@
1
1
  import { readFile, stat } from "node:fs/promises";
2
2
  import path from "node:path";
3
+ import { visualArtifactKey } from "../qa/artifacts.js";
4
+ const MAX_QA_ROUTES = 100;
5
+ const MAX_QA_VIEWPORTS = 20;
6
+ const MAX_VIEWPORT_DIMENSION = 7680;
3
7
  export async function readConfig(projectRoot) {
4
8
  const contents = await readFile(path.join(projectRoot, ".mozole", "project.json"), "utf8");
5
9
  const value = JSON.parse(contents);
@@ -26,14 +30,29 @@ export async function readConfig(projectRoot) {
26
30
  value.mode !== "optimized" &&
27
31
  value.mode !== "scaffold") ||
28
32
  value.framework !== "react-router" ||
33
+ (value.workspace !== undefined &&
34
+ (typeof value.workspace !== "object" ||
35
+ value.workspace.sharedDependencies !== true)) ||
29
36
  !validBackend ||
30
37
  !Array.isArray(value.routes) ||
31
- !value.routes.every((route) => typeof route === "string" && route.startsWith("/")) ||
38
+ value.routes.length === 0 ||
39
+ value.routes.length > MAX_QA_ROUTES ||
40
+ !value.routes.every((route) => typeof route === "string" &&
41
+ route.startsWith("/") &&
42
+ !route.startsWith("//") &&
43
+ route.length <= 2048) ||
44
+ new Set(value.routes).size !== value.routes.length ||
45
+ new Set(value.routes.map(visualArtifactKey)).size !== value.routes.length ||
32
46
  !Array.isArray(value.qa?.viewports) ||
47
+ value.qa.viewports.length === 0 ||
48
+ value.qa.viewports.length > MAX_QA_VIEWPORTS ||
33
49
  !value.qa.viewports.every((viewport) => Number.isInteger(viewport.width) &&
34
50
  viewport.width > 0 &&
51
+ viewport.width <= MAX_VIEWPORT_DIMENSION &&
35
52
  Number.isInteger(viewport.height) &&
36
- viewport.height > 0) ||
53
+ viewport.height > 0 &&
54
+ viewport.height <= MAX_VIEWPORT_DIMENSION) ||
55
+ new Set(value.qa.viewports.map((viewport) => `${viewport.width}x${viewport.height}`)).size !== value.qa.viewports.length ||
37
56
  !validVisualDiffThreshold ||
38
57
  typeof value.qa.server?.command !== "string" ||
39
58
  !Array.isArray(value.qa.server.args) ||
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../src/governor/fingerprint.ts"],"names":[],"mappings":"AAGA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,IAAI,GAAG,QAAQ,CAAC;AAkBlE,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,OAAO,IAAI,CAAC,KAAY,GAC9B,MAAM,CAIR;AAyFD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInE"}
1
+ {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../src/governor/fingerprint.ts"],"names":[],"mappings":"AAGA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,IAAI,GAAG,QAAQ,CAAC;AAkBlE,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,OAAO,IAAI,CAAC,KAAY,GAC9B,MAAM,CAIR;AAiFD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInE"}
@@ -2,6 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import { createReadStream } from "node:fs";
3
3
  import { readdir } from "node:fs/promises";
4
4
  import path from "node:path";
5
+ import { CLI_VERSION } from "../version.js";
5
6
  const ignoredDirectories = new Set([
6
7
  ".cce",
7
8
  ".git",
@@ -27,7 +28,9 @@ function includeFile(relative, profile) {
27
28
  return false;
28
29
  if (relative === ".mozole/telemetry.json")
29
30
  return false;
30
- if (profile !== "verification" && qaIrrelevant.test(relative))
31
+ if (profile === "verification")
32
+ return true;
33
+ if (qaIrrelevant.test(relative))
31
34
  return false;
32
35
  if ([
33
36
  "package.json",
@@ -45,33 +48,24 @@ function includeFile(relative, profile) {
45
48
  }
46
49
  async function filesBelow(root, directory = root) {
47
50
  const found = [];
48
- let entries;
49
- try {
50
- entries = await readdir(directory, { withFileTypes: true });
51
- }
52
- catch {
53
- return found;
54
- }
51
+ const entries = await readdir(directory, { withFileTypes: true });
55
52
  entries.sort((left, right) => left.name.localeCompare(right.name));
56
53
  for (const entry of entries) {
57
54
  const absolute = path.join(directory, entry.name);
58
55
  const relative = normalizeFingerprintPath(root, absolute);
59
- try {
60
- if (entry.isSymbolicLink())
56
+ if (entry.isSymbolicLink())
57
+ continue;
58
+ if (entry.isDirectory()) {
59
+ if (ignoredDirectories.has(entry.name))
60
+ continue;
61
+ if (relative.startsWith(".mozole/") &&
62
+ ignoredMozoleDirectories.has(entry.name))
61
63
  continue;
62
- if (entry.isDirectory()) {
63
- if (ignoredDirectories.has(entry.name))
64
- continue;
65
- if (relative.startsWith(".mozole/") &&
66
- ignoredMozoleDirectories.has(entry.name))
67
- continue;
68
- found.push(...(await filesBelow(root, absolute)));
69
- }
70
- else if (entry.isFile()) {
71
- found.push(absolute);
72
- }
64
+ found.push(...(await filesBelow(root, absolute)));
65
+ }
66
+ else if (entry.isFile()) {
67
+ found.push(absolute);
73
68
  }
74
- catch { }
75
69
  }
76
70
  return found;
77
71
  }
@@ -101,15 +95,12 @@ function configInputs(config, profile) {
101
95
  };
102
96
  }
103
97
  async function safeStreamHash(hash, file) {
104
- try {
105
- for await (const chunk of createReadStream(file))
106
- hash.update(chunk);
107
- }
108
- catch { }
98
+ for await (const chunk of createReadStream(file))
99
+ hash.update(chunk);
109
100
  }
110
101
  export async function projectFingerprint(root, config, profile) {
111
102
  const hash = createHash("sha256");
112
- hash.update(`mozole:${profile}:v1\0${process.platform}\0${process.arch}\0${process.version}\0${stable(configInputs(config, profile))}\0`);
103
+ hash.update(`mozole:${profile}:v2\0${CLI_VERSION}\0${process.platform}\0${process.arch}\0${process.version}\0${stable(configInputs(config, profile))}\0`);
113
104
  for (const absolute of await filesBelow(root)) {
114
105
  const relative = normalizeFingerprintPath(root, absolute);
115
106
  if (!includeFile(relative, profile))
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../src/governor/fingerprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../src/governor/fingerprint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Remove terminal control sequences while preserving ordinary text layout. */
2
+ export declare function sanitizeTerminalText(value: string): string;
3
+ //# sourceMappingURL=output-safety.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-safety.d.ts","sourceRoot":"","sources":["../src/output-safety.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAuC1D"}
@@ -0,0 +1,44 @@
1
+ /** Remove terminal control sequences while preserving ordinary text layout. */
2
+ export function sanitizeTerminalText(value) {
3
+ let output = "";
4
+ for (let index = 0; index < value.length; index++) {
5
+ const code = value.charCodeAt(index);
6
+ if (code === 0x1b) {
7
+ const kind = value[index + 1];
8
+ if (kind === "[") {
9
+ index += 2;
10
+ while (index < value.length) {
11
+ const byte = value.charCodeAt(index);
12
+ if (byte >= 0x40 && byte <= 0x7e)
13
+ break;
14
+ index++;
15
+ }
16
+ }
17
+ else if (kind === "]") {
18
+ index += 2;
19
+ while (index < value.length) {
20
+ if (value.charCodeAt(index) === 0x07)
21
+ break;
22
+ if (value.charCodeAt(index) === 0x1b && value[index + 1] === "\\") {
23
+ index++;
24
+ break;
25
+ }
26
+ index++;
27
+ }
28
+ }
29
+ else if (kind !== undefined) {
30
+ index++;
31
+ }
32
+ continue;
33
+ }
34
+ if ((code >= 0x00 && code <= 0x08) ||
35
+ code === 0x0b ||
36
+ code === 0x0c ||
37
+ (code >= 0x0e && code <= 0x1f) ||
38
+ (code >= 0x7f && code <= 0x9f))
39
+ continue;
40
+ output += value[index];
41
+ }
42
+ return output;
43
+ }
44
+ //# sourceMappingURL=output-safety.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-safety.js","sourceRoot":"","sources":["../src/output-safety.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,KAAK,IAAI,CAAC,CAAC;gBACX,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACrC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,MAAM;oBACxC,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,CAAC;gBACX,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI;wBAAE,MAAM;oBAC5C,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBAClE,KAAK,EAAE,CAAC;wBACR,MAAM;oBACR,CAAC;oBACD,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,KAAK,EAAE,CAAC;YACV,CAAC;YACD,SAAS;QACX,CAAC;QACD,IACE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC;YAC9B,IAAI,KAAK,IAAI;YACb,IAAI,KAAK,IAAI;YACb,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC;YAC9B,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC;YAE9B,SAAS;QACX,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -18,6 +18,8 @@ export interface PreparedSpawn {
18
18
  args: string[];
19
19
  windowsVerbatimArguments: boolean;
20
20
  }
21
+ export declare const MAX_CAPTURE_CHARS = 1000000;
22
+ export declare function appendBoundedOutput(current: string, chunk: string, limit?: number): string;
21
23
  export declare function prepareSpawn(command: string, args: readonly string[], platform?: NodeJS.Platform, commandProcessor?: string): PreparedSpawn;
22
24
  export declare function run(command: string, args: readonly string[], options: RunOptions): Promise<RunResult>;
23
25
  export declare function runInteractive(command: string, args: readonly string[], options: RunOptions): Promise<RunResult>;
@@ -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,CAkEpB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,SAAS,CAAC,CA+CpB;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":"AAKA,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;AAED,eAAO,MAAM,iBAAiB,UAAY,CAAC;AAE3C,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,SAAoB,GACxB,MAAM,CASR;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,CAkEpB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,SAAS,CAAC,CA+CpB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,UAAQ,GAAG,IAAI,CAkB7E"}