@mozole/cli 1.4.3 → 2.0.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/LICENSE +16 -4
- package/README.md +85 -112
- package/dist/cli.d.ts +3 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +231 -181
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.d.ts +5 -10
- package/dist/commands/adopt.d.ts.map +1 -1
- package/dist/commands/adopt.js +49 -849
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/doctor.d.ts +1 -7
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +69 -377
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/new.d.ts +8 -10
- package/dist/commands/new.d.ts.map +1 -1
- package/dist/commands/new.js +32 -197
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/phase.d.ts +11 -0
- package/dist/commands/phase.d.ts.map +1 -0
- package/dist/commands/phase.js +106 -0
- package/dist/commands/phase.js.map +1 -0
- package/dist/commands/prototype.d.ts +6 -0
- package/dist/commands/prototype.d.ts.map +1 -0
- package/dist/commands/prototype.js +28 -0
- package/dist/commands/prototype.js.map +1 -0
- package/dist/commands/repomap.d.ts +6 -0
- package/dist/commands/repomap.d.ts.map +1 -0
- package/dist/commands/repomap.js +71 -0
- package/dist/commands/repomap.js.map +1 -0
- package/dist/commands/test.d.ts +6 -0
- package/dist/commands/test.d.ts.map +1 -0
- package/dist/commands/test.js +115 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/ui.d.ts +6 -41
- package/dist/commands/ui.d.ts.map +1 -1
- package/dist/commands/ui.js +132 -459
- package/dist/commands/ui.js.map +1 -1
- package/dist/commands/verify.d.ts +12 -7
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +180 -65
- package/dist/commands/verify.js.map +1 -1
- package/dist/qa/a11y.d.ts +24 -0
- package/dist/qa/a11y.d.ts.map +1 -0
- package/dist/qa/a11y.js +124 -0
- package/dist/qa/a11y.js.map +1 -0
- package/dist/qa/breakpoints.d.ts +16 -0
- package/dist/qa/breakpoints.d.ts.map +1 -0
- package/dist/qa/breakpoints.js +45 -0
- package/dist/qa/breakpoints.js.map +1 -0
- package/dist/qa/contract.d.ts +21 -0
- package/dist/qa/contract.d.ts.map +1 -0
- package/dist/qa/contract.js +116 -0
- package/dist/qa/contract.js.map +1 -0
- package/dist/qa/index.d.ts +6 -0
- package/dist/qa/index.d.ts.map +1 -0
- package/dist/qa/index.js +6 -0
- package/dist/qa/index.js.map +1 -0
- package/dist/qa/probe.d.ts +48 -0
- package/dist/qa/probe.d.ts.map +1 -0
- package/dist/qa/probe.js +206 -0
- package/dist/qa/probe.js.map +1 -0
- package/dist/qa/runner.d.ts +27 -33
- package/dist/qa/runner.d.ts.map +1 -1
- package/dist/qa/runner.js +286 -332
- package/dist/qa/runner.js.map +1 -1
- package/dist/scaffold/agents.d.ts +5 -0
- package/dist/scaffold/agents.d.ts.map +1 -0
- package/dist/scaffold/agents.js +84 -0
- package/dist/scaffold/agents.js.map +1 -0
- package/dist/scaffold/backend.d.ts +6 -8
- package/dist/scaffold/backend.d.ts.map +1 -1
- package/dist/scaffold/backend.js +318 -199
- package/dist/scaffold/backend.js.map +1 -1
- package/dist/scaffold/design.d.ts +4 -3
- package/dist/scaffold/design.d.ts.map +1 -1
- package/dist/scaffold/design.js +38 -47
- package/dist/scaffold/design.js.map +1 -1
- package/dist/scaffold/flagship.d.ts +8 -0
- package/dist/scaffold/flagship.d.ts.map +1 -0
- package/dist/scaffold/flagship.js +337 -0
- package/dist/scaffold/flagship.js.map +1 -0
- package/dist/scaffold/index.d.ts +9 -0
- package/dist/scaffold/index.d.ts.map +1 -0
- package/dist/scaffold/index.js +48 -0
- package/dist/scaffold/index.js.map +1 -0
- package/dist/scaffold/phases.d.ts +10 -0
- package/dist/scaffold/phases.d.ts.map +1 -0
- package/dist/scaffold/phases.js +165 -0
- package/dist/scaffold/phases.js.map +1 -0
- package/dist/scaffold/repomap.d.ts +6 -0
- package/dist/scaffold/repomap.d.ts.map +1 -0
- package/dist/scaffold/repomap.js +89 -0
- package/dist/scaffold/repomap.js.map +1 -0
- package/dist/scaffold/standard.d.ts +13 -0
- package/dist/scaffold/standard.d.ts.map +1 -0
- package/dist/scaffold/standard.js +371 -0
- package/dist/scaffold/standard.js.map +1 -0
- package/dist/scaffold/tokens.d.ts +3 -0
- package/dist/scaffold/tokens.d.ts.map +1 -0
- package/dist/scaffold/tokens.js +126 -0
- package/dist/scaffold/tokens.js.map +1 -0
- package/dist/server/manager.d.ts +23 -0
- package/dist/server/manager.d.ts.map +1 -0
- package/dist/server/manager.js +96 -0
- package/dist/server/manager.js.map +1 -0
- package/dist/ui/CockpitApp.d.ts +13 -0
- package/dist/ui/CockpitApp.d.ts.map +1 -0
- package/dist/ui/CockpitApp.js +292 -0
- package/dist/ui/CockpitApp.js.map +1 -0
- package/dist/utils/ai-trace.d.ts +8 -0
- package/dist/utils/ai-trace.d.ts.map +1 -0
- package/dist/utils/ai-trace.js +69 -0
- package/dist/utils/ai-trace.js.map +1 -0
- package/dist/utils/browser.d.ts +10 -0
- package/dist/utils/browser.d.ts.map +1 -0
- package/dist/utils/browser.js +127 -0
- package/dist/utils/browser.js.map +1 -0
- package/dist/utils/fs.d.ts +18 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +296 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/git.d.ts +9 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +69 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/process.d.ts +21 -0
- package/dist/utils/process.d.ts.map +1 -0
- package/dist/utils/process.js +120 -0
- package/dist/utils/process.js.map +1 -0
- package/dist/version.d.ts +21 -36
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +21 -44
- package/dist/version.js.map +1 -1
- package/package.json +22 -38
- package/CHANGELOG.md +0 -38
- package/dist/commands/cce.d.ts +0 -7
- package/dist/commands/cce.d.ts.map +0 -1
- package/dist/commands/cce.js +0 -37
- package/dist/commands/cce.js.map +0 -1
- package/dist/commands/logs.d.ts +0 -3
- package/dist/commands/logs.d.ts.map +0 -1
- package/dist/commands/logs.js +0 -40
- package/dist/commands/logs.js.map +0 -1
- package/dist/commands/qa.d.ts +0 -12
- package/dist/commands/qa.d.ts.map +0 -1
- package/dist/commands/qa.js +0 -143
- package/dist/commands/qa.js.map +0 -1
- package/dist/commands/stats.d.ts +0 -37
- package/dist/commands/stats.d.ts.map +0 -1
- package/dist/commands/stats.js +0 -169
- package/dist/commands/stats.js.map +0 -1
- package/dist/commands/template.d.ts +0 -8
- package/dist/commands/template.d.ts.map +0 -1
- package/dist/commands/template.js +0 -392
- package/dist/commands/template.js.map +0 -1
- package/dist/config/project.d.ts +0 -54
- package/dist/config/project.d.ts.map +0 -1
- package/dist/config/project.js +0 -100
- package/dist/config/project.js.map +0 -1
- package/dist/context/cce.d.ts +0 -39
- package/dist/context/cce.d.ts.map +0 -1
- package/dist/context/cce.js +0 -455
- package/dist/context/cce.js.map +0 -1
- package/dist/governor/fingerprint.d.ts +0 -7
- package/dist/governor/fingerprint.d.ts.map +0 -1
- package/dist/governor/fingerprint.js +0 -120
- package/dist/governor/fingerprint.js.map +0 -1
- package/dist/governor/hook.d.ts +0 -13
- package/dist/governor/hook.d.ts.map +0 -1
- package/dist/governor/hook.js +0 -389
- package/dist/governor/hook.js.map +0 -1
- package/dist/governor/state.d.ts +0 -45
- package/dist/governor/state.d.ts.map +0 -1
- package/dist/governor/state.js +0 -60
- package/dist/governor/state.js.map +0 -1
- package/dist/integrations/antigravity.d.ts +0 -20
- package/dist/integrations/antigravity.d.ts.map +0 -1
- package/dist/integrations/antigravity.js +0 -153
- package/dist/integrations/antigravity.js.map +0 -1
- package/dist/output-safety.d.ts +0 -3
- package/dist/output-safety.d.ts.map +0 -1
- package/dist/output-safety.js +0 -44
- package/dist/output-safety.js.map +0 -1
- package/dist/output.d.ts +0 -5
- package/dist/output.d.ts.map +0 -1
- package/dist/output.js +0 -2
- package/dist/output.js.map +0 -1
- package/dist/platform/executable.d.ts +0 -11
- package/dist/platform/executable.d.ts.map +0 -1
- package/dist/platform/executable.js +0 -69
- package/dist/platform/executable.js.map +0 -1
- package/dist/platform/process.d.ts +0 -27
- package/dist/platform/process.d.ts.map +0 -1
- package/dist/platform/process.js +0 -189
- package/dist/platform/process.js.map +0 -1
- package/dist/progress.d.ts +0 -44
- package/dist/progress.d.ts.map +0 -1
- package/dist/progress.js +0 -123
- package/dist/progress.js.map +0 -1
- package/dist/qa/artifacts.d.ts +0 -3
- package/dist/qa/artifacts.d.ts.map +0 -1
- package/dist/qa/artifacts.js +0 -15
- package/dist/qa/artifacts.js.map +0 -1
- package/dist/qa/diff.d.ts +0 -10
- package/dist/qa/diff.d.ts.map +0 -1
- package/dist/qa/diff.js +0 -90
- package/dist/qa/diff.js.map +0 -1
- package/dist/qa/server.d.ts +0 -10
- package/dist/qa/server.d.ts.map +0 -1
- package/dist/qa/server.js +0 -127
- package/dist/qa/server.js.map +0 -1
- package/dist/scaffold/adoption.d.ts +0 -17
- package/dist/scaffold/adoption.d.ts.map +0 -1
- package/dist/scaffold/adoption.js +0 -279
- package/dist/scaffold/adoption.js.map +0 -1
- package/dist/scaffold/legacy.d.ts +0 -4
- package/dist/scaffold/legacy.d.ts.map +0 -1
- package/dist/scaffold/legacy.js +0 -139
- package/dist/scaffold/legacy.js.map +0 -1
- package/dist/scaffold/routes.d.ts +0 -3
- package/dist/scaffold/routes.d.ts.map +0 -1
- package/dist/scaffold/routes.js +0 -37
- package/dist/scaffold/routes.js.map +0 -1
- package/dist/scaffold/standalone.d.ts +0 -7
- package/dist/scaffold/standalone.d.ts.map +0 -1
- package/dist/scaffold/standalone.js +0 -374
- package/dist/scaffold/standalone.js.map +0 -1
- package/dist/scaffold/templates.d.ts +0 -9
- package/dist/scaffold/templates.d.ts.map +0 -1
- package/dist/scaffold/templates.js +0 -317
- package/dist/scaffold/templates.js.map +0 -1
- package/dist/scaffold/write.d.ts +0 -2
- package/dist/scaffold/write.d.ts.map +0 -1
- package/dist/scaffold/write.js +0 -38
- package/dist/scaffold/write.js.map +0 -1
- package/dist/telemetry/store.d.ts +0 -33
- package/dist/telemetry/store.d.ts.map +0 -1
- package/dist/telemetry/store.js +0 -75
- package/dist/telemetry/store.js.map +0 -1
- package/dist/template/servers.d.ts +0 -21
- package/dist/template/servers.d.ts.map +0 -1
- package/dist/template/servers.js +0 -193
- package/dist/template/servers.js.map +0 -1
- package/dist/template/workspace.d.ts +0 -23
- package/dist/template/workspace.d.ts.map +0 -1
- package/dist/template/workspace.js +0 -152
- package/dist/template/workspace.js.map +0 -1
- package/dist/verify/runner.d.ts +0 -16
- package/dist/verify/runner.d.ts.map +0 -1
- package/dist/verify/runner.js +0 -112
- package/dist/verify/runner.js.map +0 -1
- package/docs/agent-audit.md +0 -24
package/dist/commands/ui.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
export interface VerifyOptions {
|
|
2
|
+
cwd?: string;
|
|
3
|
+
skipBuild?: boolean;
|
|
4
|
+
withProbe?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface VerificationStage {
|
|
7
|
+
name: string;
|
|
8
|
+
success: boolean;
|
|
9
|
+
message?: string;
|
|
10
|
+
evidence?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function verifyCommand(options?: VerifyOptions): Promise<boolean>;
|
|
8
13
|
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAkMjF"}
|
package/dist/commands/verify.js
CHANGED
|
@@ -1,75 +1,190 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const abort = () => controller.abort();
|
|
17
|
-
process.once("SIGINT", abort);
|
|
18
|
-
process.once("SIGTERM", abort);
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import pc from "picocolors";
|
|
4
|
+
import { scanProjectForAiTraces } from "../utils/ai-trace.js";
|
|
5
|
+
import { exists, findNodeModulesFile, findProjectRoot } from "../utils/fs.js";
|
|
6
|
+
import { run } from "../utils/process.js";
|
|
7
|
+
import { testCommand } from "./test.js";
|
|
8
|
+
export async function verifyCommand(options = {}) {
|
|
9
|
+
const cwd = options.cwd ?? process.cwd();
|
|
10
|
+
const projectRoot = (await findProjectRoot(cwd)) ?? cwd;
|
|
11
|
+
console.log(pc.cyan(`\n🛡️ Running Mozole Deterministic Verification in ${pc.bold(projectRoot)}`));
|
|
12
|
+
console.log(pc.gray("═".repeat(65)));
|
|
13
|
+
const stages = [];
|
|
14
|
+
// Stage 1: Synthetic Trace Scanner
|
|
15
|
+
console.log(pc.bold("\n1. Scanning for synthetic attribution markers and bot trailers..."));
|
|
19
16
|
try {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
progress.done();
|
|
33
|
-
const message = "VERIFY CURRENT\n\nNo relevant changes since the last successful verification." +
|
|
34
|
-
(config.mode === "scaffold"
|
|
35
|
-
? "\n\nSCAFFOLD MODE\nCCE, governor, telemetry, and agent instructions are intentionally absent."
|
|
36
|
-
: "");
|
|
37
|
-
output.log(message);
|
|
38
|
-
if (config.telemetry?.enabled)
|
|
39
|
-
await updateTelemetry(root, (telemetry) => {
|
|
40
|
-
telemetry.verification.avoidedRuns++;
|
|
41
|
-
telemetry.governor.modelFacingDiagnosticChars += message.length;
|
|
42
|
-
});
|
|
43
|
-
return 0;
|
|
17
|
+
const traces = await scanProjectForAiTraces(projectRoot);
|
|
18
|
+
if (traces.length > 0) {
|
|
19
|
+
stages.push({
|
|
20
|
+
name: "Synthetic Trace Scanner",
|
|
21
|
+
success: false,
|
|
22
|
+
message: `Detected ${traces.length} synthetic attribution marker(s).`,
|
|
23
|
+
evidence: traces.map((t) => ` ${t.file}:${t.line} -> "${t.match}"`).join("\n"),
|
|
24
|
+
});
|
|
25
|
+
console.log(pc.red(" ✗ Prohibited synthetic markers found:"));
|
|
26
|
+
for (const t of traces) {
|
|
27
|
+
console.log(pc.red(` - ${t.file}:${t.line} (${t.match})`));
|
|
28
|
+
}
|
|
44
29
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
30
|
+
else {
|
|
31
|
+
stages.push({ name: "Synthetic Trace Scanner", success: true });
|
|
32
|
+
console.log(pc.green(" ✓ Zero synthetic traces or bot trailers detected."));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
stages.push({
|
|
37
|
+
name: "Synthetic Trace Scanner",
|
|
38
|
+
success: false,
|
|
39
|
+
message: err instanceof Error ? err.message : String(err),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
// Compute hoisted node_modules/.bin paths for monorepo workspaces
|
|
43
|
+
const binDirs = [];
|
|
44
|
+
let cur = path.resolve(projectRoot);
|
|
45
|
+
while (true) {
|
|
46
|
+
const binCandidate = path.join(cur, "node_modules", ".bin");
|
|
47
|
+
if (await exists(binCandidate)) {
|
|
48
|
+
binDirs.push(binCandidate);
|
|
49
|
+
}
|
|
50
|
+
const par = path.dirname(cur);
|
|
51
|
+
if (par === cur)
|
|
52
|
+
break;
|
|
53
|
+
cur = par;
|
|
54
|
+
}
|
|
55
|
+
const pathSep = process.platform === "win32" ? ";" : ":";
|
|
56
|
+
const augmentedEnv = {
|
|
57
|
+
...process.env,
|
|
58
|
+
PATH: binDirs.length > 0
|
|
59
|
+
? `${binDirs.join(pathSep)}${pathSep}${process.env.PATH ?? ""}`
|
|
60
|
+
: process.env.PATH,
|
|
61
|
+
};
|
|
62
|
+
// Stage 2: Biome Lint & Format Check
|
|
63
|
+
console.log(pc.bold("\n2. Running Biome linter and formatter..."));
|
|
64
|
+
try {
|
|
65
|
+
const biomeBin = (await findNodeModulesFile(projectRoot, "@biomejs/biome/bin/biome")) ??
|
|
66
|
+
path.join(projectRoot, "node_modules/@biomejs/biome/bin/biome");
|
|
67
|
+
const targetDir = (await exists(path.join(projectRoot, "src")))
|
|
68
|
+
? "src"
|
|
69
|
+
: (await exists(path.join(projectRoot, "app")))
|
|
70
|
+
? "app"
|
|
71
|
+
: ".";
|
|
72
|
+
const biomeRes = await run(process.execPath, [biomeBin, "check", targetDir], {
|
|
73
|
+
cwd: projectRoot,
|
|
74
|
+
env: augmentedEnv,
|
|
75
|
+
});
|
|
76
|
+
if (biomeRes.exitCode === 0) {
|
|
77
|
+
stages.push({ name: "Biome Code Standards", success: true });
|
|
78
|
+
console.log(pc.green(" ✓ Biome lint and formatting clean."));
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
stages.push({
|
|
82
|
+
name: "Biome Code Standards",
|
|
83
|
+
success: false,
|
|
84
|
+
evidence: biomeRes.stderr + biomeRes.stdout,
|
|
85
|
+
});
|
|
86
|
+
console.log(pc.red(" ✗ Biome reported lint or formatting violations."));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
// Environmental check
|
|
91
|
+
stages.push({
|
|
92
|
+
name: "Biome Code Standards",
|
|
93
|
+
success: false,
|
|
94
|
+
message: `Biome execution failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
// Stage 3: TypeScript Compilation & Typecheck
|
|
98
|
+
console.log(pc.bold("\n3. Running TypeScript typecheck..."));
|
|
99
|
+
try {
|
|
100
|
+
const pkg = JSON.parse(await readFile(path.join(projectRoot, "package.json"), "utf8"));
|
|
101
|
+
const tscBin = (await findNodeModulesFile(projectRoot, "typescript/bin/tsc")) ??
|
|
102
|
+
path.join(projectRoot, "node_modules/typescript/bin/tsc");
|
|
103
|
+
const tscRes = pkg.scripts?.typecheck
|
|
104
|
+
? await run("npm", ["run", "typecheck"], { cwd: projectRoot, env: augmentedEnv })
|
|
105
|
+
: await run(process.execPath, [tscBin, "--noEmit"], { cwd: projectRoot, env: augmentedEnv });
|
|
106
|
+
if (tscRes.exitCode === 0) {
|
|
107
|
+
stages.push({ name: "TypeScript Typecheck", success: true });
|
|
108
|
+
console.log(pc.green(" ✓ TypeScript compiled with zero type errors."));
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
stages.push({
|
|
112
|
+
name: "TypeScript Typecheck",
|
|
113
|
+
success: false,
|
|
114
|
+
evidence: tscRes.stderr + tscRes.stdout,
|
|
115
|
+
});
|
|
116
|
+
console.log(pc.red(" ✗ TypeScript compilation reported type errors."));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
stages.push({
|
|
121
|
+
name: "TypeScript Typecheck",
|
|
122
|
+
success: false,
|
|
123
|
+
message: `TypeScript execution failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
48
124
|
});
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
125
|
+
}
|
|
126
|
+
if (!options.skipBuild) {
|
|
127
|
+
console.log(pc.bold("\n4. Building production output..."));
|
|
128
|
+
try {
|
|
129
|
+
const build = await run("npm", ["run", "build"], { cwd: projectRoot, env: augmentedEnv });
|
|
130
|
+
stages.push({
|
|
131
|
+
name: "Production Build",
|
|
132
|
+
success: build.exitCode === 0,
|
|
133
|
+
evidence: build.stdout + build.stderr,
|
|
134
|
+
});
|
|
58
135
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
await writeGovernorState(root, state);
|
|
136
|
+
catch (error) {
|
|
137
|
+
stages.push({ name: "Production Build", success: false, message: String(error) });
|
|
62
138
|
}
|
|
63
|
-
return result.passed ? 0 : 1;
|
|
64
139
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
140
|
+
console.log(pc.bold("\n5. Running Mozole Design Contract & A11y Audit..."));
|
|
141
|
+
try {
|
|
142
|
+
await testCommand({ cwd: projectRoot, type: "all" });
|
|
143
|
+
stages.push({ name: "Design Contract & A11y Audit", success: true });
|
|
69
144
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
145
|
+
catch (err) {
|
|
146
|
+
stages.push({
|
|
147
|
+
name: "Design Contract & A11y Audit",
|
|
148
|
+
success: false,
|
|
149
|
+
message: err instanceof Error ? err.message : String(err),
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
// Stage 6: Live Headless DOM Geometry & Trace Probe (if requested)
|
|
153
|
+
if (options.withProbe) {
|
|
154
|
+
console.log(pc.bold("\n6. Running Live Headless DOM Geometry & Trace Probe..."));
|
|
155
|
+
try {
|
|
156
|
+
await testCommand({ cwd: projectRoot, type: "probe" });
|
|
157
|
+
stages.push({ name: "Live DOM Geometry Probe", success: true });
|
|
158
|
+
}
|
|
159
|
+
catch (err) {
|
|
160
|
+
stages.push({
|
|
161
|
+
name: "Live DOM Geometry Probe",
|
|
162
|
+
success: false,
|
|
163
|
+
message: err instanceof Error ? err.message : String(err),
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// Summary Report
|
|
168
|
+
console.log(pc.gray(`\n${"═".repeat(65)}`));
|
|
169
|
+
const failedStages = stages.filter((s) => !s.success);
|
|
170
|
+
const allPassed = failedStages.length === 0;
|
|
171
|
+
if (allPassed) {
|
|
172
|
+
console.log(pc.green(pc.bold("\n🎉 All Mozole verification checks PASSED! Ready for deployment/commit.\n")));
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
console.log(pc.red(pc.bold(`\n❌ Verification FAILED (${failedStages.length}/${stages.length} stages failed):\n`)));
|
|
176
|
+
for (const f of failedStages) {
|
|
177
|
+
console.log(pc.red(` ✗ Stage: ${f.name}`));
|
|
178
|
+
if (f.message)
|
|
179
|
+
console.log(pc.red(` Message: ${f.message}`));
|
|
180
|
+
if (f.evidence) {
|
|
181
|
+
console.log(pc.dim(" Evidence:"));
|
|
182
|
+
const sample = f.evidence.split("\n").slice(0, 10).join("\n");
|
|
183
|
+
console.log(pc.dim(sample));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
console.log();
|
|
73
187
|
}
|
|
188
|
+
return allPassed;
|
|
74
189
|
}
|
|
75
190
|
//# sourceMappingURL=verify.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type A11ySeverity = "error" | "warn";
|
|
2
|
+
export interface A11yFinding {
|
|
3
|
+
file: string;
|
|
4
|
+
line: number;
|
|
5
|
+
rule: string;
|
|
6
|
+
severity: A11ySeverity;
|
|
7
|
+
element: string;
|
|
8
|
+
message: string;
|
|
9
|
+
}
|
|
10
|
+
export interface A11yAuditResult {
|
|
11
|
+
errors: A11yFinding[];
|
|
12
|
+
warnings: A11yFinding[];
|
|
13
|
+
totalIssues: number;
|
|
14
|
+
}
|
|
15
|
+
export interface HtmlSource {
|
|
16
|
+
file: string;
|
|
17
|
+
html: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Static accessibility and semantic landmark audit.
|
|
21
|
+
* Enforces WCAG 2.1 AA landmark hierarchy, keyboard landmarks, and accessible forms.
|
|
22
|
+
*/
|
|
23
|
+
export declare function auditHtmlA11y(sources: HtmlSource[]): A11yAuditResult;
|
|
24
|
+
//# sourceMappingURL=a11y.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../../src/qa/a11y.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAUD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,eAAe,CA+KpE"}
|
package/dist/qa/a11y.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
function lineOf(source, index) {
|
|
2
|
+
return source.slice(0, index).split("\n").length;
|
|
3
|
+
}
|
|
4
|
+
function isDecorativeImage(tag) {
|
|
5
|
+
return /\balt\s*=\s*["']\s*["']/i.test(tag) || /\baria-hidden\s*=\s*["']true["']/i.test(tag);
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Static accessibility and semantic landmark audit.
|
|
9
|
+
* Enforces WCAG 2.1 AA landmark hierarchy, keyboard landmarks, and accessible forms.
|
|
10
|
+
*/
|
|
11
|
+
export function auditHtmlA11y(sources) {
|
|
12
|
+
const errors = [];
|
|
13
|
+
const warnings = [];
|
|
14
|
+
for (const { file, html: source } of sources) {
|
|
15
|
+
// Ignore inert markup in comments and raw-text elements while preserving line numbers.
|
|
16
|
+
const html = source.replace(/<!--[\s\S]*?-->|<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi, (match) => match.replace(/[^\n]/g, " "));
|
|
17
|
+
const addError = (rule, element, message, line = 1) => {
|
|
18
|
+
errors.push({ file, line, rule, severity: "error", element, message });
|
|
19
|
+
};
|
|
20
|
+
const addWarn = (rule, element, message, line = 1) => {
|
|
21
|
+
warnings.push({ file, line, rule, severity: "warn", element, message });
|
|
22
|
+
};
|
|
23
|
+
// 1. html lang attribute (for full pages)
|
|
24
|
+
if (/<html\b/i.test(html)) {
|
|
25
|
+
if (!/<html\s[^>]*\blang\s*=\s*["'][a-z]{2}(?:-[A-Za-z]{2,4})?["']/i.test(html)) {
|
|
26
|
+
addError("html-lang", "<html>", "Missing or invalid lang attribute on <html> element.");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// 2. Headings & Landmarks (exempt empty SPA root shells)
|
|
30
|
+
const isSpaShell = /<div\s+id=["']root["']\s*>\s*<\/div>/i.test(html);
|
|
31
|
+
const h1s = Array.from(html.matchAll(/<h1\b[^>]*>/gi));
|
|
32
|
+
if (/<body\b|<main\b/i.test(html) && !isSpaShell) {
|
|
33
|
+
if (h1s.length === 0) {
|
|
34
|
+
addError("single-h1", "<h1>", "Page missing top-level <h1> landmark heading.");
|
|
35
|
+
}
|
|
36
|
+
else if (h1s.length > 1) {
|
|
37
|
+
addError("single-h1", "<h1>", `Page contains ${h1s.length} <h1> headings; exactly one landmark heading expected.`, lineOf(html, h1s[1].index ?? 0));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// 3. Main landmark
|
|
41
|
+
const mains = Array.from(html.matchAll(/<main\b[^>]*>/gi));
|
|
42
|
+
if (/<body\b/i.test(html) && !isSpaShell) {
|
|
43
|
+
if (mains.length === 0) {
|
|
44
|
+
addError("main-landmark", "<main>", "Page missing <main> primary content landmark.");
|
|
45
|
+
}
|
|
46
|
+
else if (mains.length > 1) {
|
|
47
|
+
addError("main-landmark", "<main>", `Page contains ${mains.length} <main> landmarks; exactly one expected.`, lineOf(html, mains[1].index ?? 0));
|
|
48
|
+
}
|
|
49
|
+
// 4. Skip-to-content link
|
|
50
|
+
const mainMatch = mains[0]?.[0];
|
|
51
|
+
const mainId = mainMatch?.match(/\bid\s*=\s*["']([^"']+)["']/i)?.[1];
|
|
52
|
+
const skipLinkMatch = Array.from(html.matchAll(/<a\b[^>]*>/gi)).find((match) => /\sclass\s*=\s*["'][^"']*\bskip-link\b[^"']*["']/i.test(match[0]));
|
|
53
|
+
if (mains.length === 1 && !skipLinkMatch) {
|
|
54
|
+
addWarn("skip-link", "<a class='skip-link'>", "Page lacks an accessible skip-to-content keyboard link before primary navigation.");
|
|
55
|
+
}
|
|
56
|
+
else if (skipLinkMatch && mainId) {
|
|
57
|
+
const skipHref = skipLinkMatch[0].match(/\shref\s*=\s*["']#([^"']+)["']/i)?.[1];
|
|
58
|
+
if (skipHref !== mainId) {
|
|
59
|
+
addError("skip-link-target", "<a class='skip-link'>", `Skip link target '#${skipHref}' does not match <main> ID '#${mainId}'.`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// 5. Unique IDs
|
|
64
|
+
const idMatches = Array.from(html.matchAll(/<[^>]+>/g)).flatMap((tag) => Array.from(tag[0].matchAll(/\sid\s*=\s*["']([^"']+)["']/gi)));
|
|
65
|
+
const seenIds = new Set();
|
|
66
|
+
const dupIds = new Set();
|
|
67
|
+
for (const match of idMatches) {
|
|
68
|
+
const id = match[1];
|
|
69
|
+
if (seenIds.has(id)) {
|
|
70
|
+
dupIds.add(id);
|
|
71
|
+
}
|
|
72
|
+
seenIds.add(id);
|
|
73
|
+
}
|
|
74
|
+
for (const dup of dupIds) {
|
|
75
|
+
addError("unique-id", `#${dup}`, `Duplicate element ID '#${dup}' violates DOM uniqueness and a11y label associations.`);
|
|
76
|
+
}
|
|
77
|
+
// 6. Image alt text
|
|
78
|
+
const imgMatches = Array.from(html.matchAll(/<img\b[^>]*>/gi));
|
|
79
|
+
for (const match of imgMatches) {
|
|
80
|
+
const tag = match[0];
|
|
81
|
+
const line = lineOf(html, match.index ?? 0);
|
|
82
|
+
if (!/\balt\s*=/i.test(tag)) {
|
|
83
|
+
addError("img-alt", tag.slice(0, 60), "Image missing alt attribute. Provide descriptive alt text or empty alt='' for decorative graphics.", line);
|
|
84
|
+
}
|
|
85
|
+
else if (!isDecorativeImage(tag)) {
|
|
86
|
+
const altText = tag.match(/\balt\s*=\s*["']([^"']*)["']/i)?.[1] ?? "";
|
|
87
|
+
if (/^(?:image|photo|picture|görsel|resim|fotoğraf)$/i.test(altText.trim())) {
|
|
88
|
+
addWarn("img-alt-quality", tag.slice(0, 60), `Uninformative alt text '${altText}'. Describe the image content or set alt='' if decorative.`, line);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// 7. Button type attribute
|
|
93
|
+
const buttonMatches = Array.from(html.matchAll(/<button\b[^>]*>/gi));
|
|
94
|
+
for (const match of buttonMatches) {
|
|
95
|
+
const tag = match[0];
|
|
96
|
+
const line = lineOf(html, match.index ?? 0);
|
|
97
|
+
if (!/\btype\s*=\s*["'](?:button|submit|reset)["']/i.test(tag)) {
|
|
98
|
+
addWarn("button-type", tag.slice(0, 60), "Button missing explicit type attribute ('button', 'submit', or 'reset'). Default is submit.", line);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// 8. New tab links target='_blank' rel='noopener'
|
|
102
|
+
const blankLinks = Array.from(html.matchAll(/<a\b[^>]*\btarget\s*=\s*["']_blank["'][^>]*>/gi));
|
|
103
|
+
for (const match of blankLinks) {
|
|
104
|
+
const tag = match[0];
|
|
105
|
+
const line = lineOf(html, match.index ?? 0);
|
|
106
|
+
if (!/\brel\s*=\s*["'][^"']*\b(?:noopener|noreferrer)\b[^"']*["']/i.test(tag)) {
|
|
107
|
+
addError("link-rel-noopener", tag.slice(0, 60), "Target='_blank' link missing rel='noopener' or rel='noreferrer'.", line);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// 9. Inline styles ban (enforcing atomic primitives)
|
|
111
|
+
const inlineStyles = Array.from(html.matchAll(/\bstyle\s*=\s*["'][^"']*["']/gi));
|
|
112
|
+
for (const match of inlineStyles) {
|
|
113
|
+
const tag = match[0];
|
|
114
|
+
const line = lineOf(html, match.index ?? 0);
|
|
115
|
+
addError("no-inline-style", tag.slice(0, 60), "Inline style attribute bypasses design token system and atomic primitives.", line);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
errors,
|
|
120
|
+
warnings,
|
|
121
|
+
totalIssues: errors.length + warnings.length,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=a11y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a11y.js","sourceRoot":"","sources":["../../src/qa/a11y.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface ViewportDefinition {
|
|
2
|
+
name: string;
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
}
|
|
6
|
+
export declare const STANDARD_VIEWPORTS: ViewportDefinition[];
|
|
7
|
+
/**
|
|
8
|
+
* Extracts breakpoint boundary widths from CSS sources.
|
|
9
|
+
* For every detected min-width or max-width query, generates width - 1, width, and width + 1,
|
|
10
|
+
* ensuring boundary conditions never cause accidental horizontal overflow or control collisions.
|
|
11
|
+
*/
|
|
12
|
+
export declare function extractBreakpointBoundaries(cssSources: string[], options?: {
|
|
13
|
+
minWidth?: number;
|
|
14
|
+
maxWidth?: number;
|
|
15
|
+
}): number[];
|
|
16
|
+
//# sourceMappingURL=breakpoints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breakpoints.d.ts","sourceRoot":"","sources":["../../src/qa/breakpoints.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,EAAE,kBAAkB,EASlD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,MAAM,EAAE,CAmCV"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import postcss from "postcss";
|
|
2
|
+
export const STANDARD_VIEWPORTS = [
|
|
3
|
+
{ name: "mobile-min", width: 320, height: 800 },
|
|
4
|
+
{ name: "mobile-small", width: 375, height: 812 },
|
|
5
|
+
{ name: "mobile-standard", width: 390, height: 844 },
|
|
6
|
+
{ name: "tablet-portrait", width: 768, height: 1024 },
|
|
7
|
+
{ name: "tablet-landscape", width: 1024, height: 768 },
|
|
8
|
+
{ name: "desktop-compact", width: 1280, height: 800 },
|
|
9
|
+
{ name: "desktop-standard", width: 1440, height: 900 },
|
|
10
|
+
{ name: "desktop-wide", width: 1920, height: 1080 },
|
|
11
|
+
];
|
|
12
|
+
/**
|
|
13
|
+
* Extracts breakpoint boundary widths from CSS sources.
|
|
14
|
+
* For every detected min-width or max-width query, generates width - 1, width, and width + 1,
|
|
15
|
+
* ensuring boundary conditions never cause accidental horizontal overflow or control collisions.
|
|
16
|
+
*/
|
|
17
|
+
export function extractBreakpointBoundaries(cssSources, options) {
|
|
18
|
+
const min = options?.minWidth ?? 320;
|
|
19
|
+
const max = options?.maxWidth ?? 2560;
|
|
20
|
+
const boundaries = new Set(STANDARD_VIEWPORTS.map((viewport) => viewport.width).filter((width) => width >= min && width <= max));
|
|
21
|
+
for (const css of cssSources) {
|
|
22
|
+
try {
|
|
23
|
+
const root = postcss.parse(css);
|
|
24
|
+
root.walkAtRules("media", (rule) => {
|
|
25
|
+
const matches = rule.params.matchAll(/(?:(?:min|max)-width\s*:|\bwidth\s*(?:<=?|>=?|=))\s*(\d+(?:\.\d+)?)(px|rem|em)\b|(\d+(?:\.\d+)?)(px|rem|em)\s*(?:<=?|>=?)\s*(?=width\b)/gi);
|
|
26
|
+
for (const match of matches) {
|
|
27
|
+
const rawVal = Number.parseFloat(match[1] ?? match[3]);
|
|
28
|
+
const unit = (match[2] ?? match[4]).toLowerCase();
|
|
29
|
+
const point = Math.round(rawVal * (unit === "px" ? 1 : 16));
|
|
30
|
+
for (const delta of [-1, 0, 1]) {
|
|
31
|
+
const candidate = point + delta;
|
|
32
|
+
if (candidate >= min && candidate <= max) {
|
|
33
|
+
boundaries.add(candidate);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Ignore unparseable CSS chunks
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return Array.from(boundaries).sort((a, b) => a - b);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=breakpoints.js.map
|