@design-parity/report-html 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/index-page.d.ts +59 -0
- package/dist/index-page.d.ts.map +1 -0
- package/dist/index-page.js +122 -0
- package/dist/index-page.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -43,6 +43,23 @@ Reference and candidate PNGs are read from disk via `repoRoot + Image.uri`
|
|
|
43
43
|
(the same resolution the diff engine uses) and inlined. A side with no images
|
|
44
44
|
(a semantic/token-only verdict) degrades cleanly — the findings still render.
|
|
45
45
|
|
|
46
|
+
## Branch landing page
|
|
47
|
+
|
|
48
|
+
`report.html` is per-component; `renderIndex` stitches a whole run together so
|
|
49
|
+
the published artifact branch has an entry point instead of a wall of
|
|
50
|
+
machine-named directories. Given the run's components it returns
|
|
51
|
+
`{ readme, html }`:
|
|
52
|
+
|
|
53
|
+
- `README.md` — what GitHub renders when you open the branch: a "generated, do
|
|
54
|
+
not edit" banner, the source commit, and a table linking each component to
|
|
55
|
+
its report.
|
|
56
|
+
- `index.html` — a self-contained landing page for GitHub Pages / local view.
|
|
57
|
+
|
|
58
|
+
Because GitHub serves a linked `.html` blob as source (the slider JS won't run),
|
|
59
|
+
pass the published `repoSlug` + `branch` to wrap the README's report links
|
|
60
|
+
through `htmlpreview.github.io` so they render on click; without them the links
|
|
61
|
+
are relative. Deterministic, same as `renderHtmlReport`.
|
|
62
|
+
|
|
46
63
|
## CLI
|
|
47
64
|
|
|
48
65
|
A small demo CLI ships as `design-parity-report`:
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `renderIndex` — the **branch landing page**.
|
|
3
|
+
*
|
|
4
|
+
* The orchestrator writes one self-contained `report.html` per component into
|
|
5
|
+
* its own subdir. That's great once you know which file to open, but a human
|
|
6
|
+
* landing on the published branch (`design-parity/main`) sees only a list of
|
|
7
|
+
* machine-named directories with no entry point. This stitches them together:
|
|
8
|
+
*
|
|
9
|
+
* - `README.md` — what GitHub renders when you open the branch: a "generated,
|
|
10
|
+
* do not edit" banner, the source commit, and a table linking each component
|
|
11
|
+
* to its report.
|
|
12
|
+
* - `index.html` — a self-contained landing page for GitHub Pages / local view.
|
|
13
|
+
*
|
|
14
|
+
* GitHub serves a linked `.html` blob as source (it won't render the slider
|
|
15
|
+
* JS), so when the published `repoSlug` + `branch` are known the README links
|
|
16
|
+
* are wrapped through htmlpreview.github.io so they render on click; otherwise
|
|
17
|
+
* they fall back to relative links (which still navigate to the file).
|
|
18
|
+
*
|
|
19
|
+
* Output is deterministic: same input → byte-identical strings. No timestamps,
|
|
20
|
+
* random ids, or `Date.now()` — entries render in the order given.
|
|
21
|
+
*/
|
|
22
|
+
import type { VerdictStatus } from "@design-parity/core";
|
|
23
|
+
/** A component status as shown on the landing page (verdict or non-verdict). */
|
|
24
|
+
export type IndexStatus = VerdictStatus | "skipped" | "error";
|
|
25
|
+
export interface IndexEntry {
|
|
26
|
+
/** Component id, e.g. `ui/DeviceBody.kt#DeviceBodyPreview`. */
|
|
27
|
+
code: string;
|
|
28
|
+
/** Verdict status, or why the component produced no verdict. */
|
|
29
|
+
status: IndexStatus;
|
|
30
|
+
/** Path to the component's `report.html`, relative to the branch root. */
|
|
31
|
+
reportPath?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface IndexInput {
|
|
34
|
+
/** Page title (default `Design parity`). */
|
|
35
|
+
title?: string;
|
|
36
|
+
/** Candidate commit the reports were rendered from, shown if provided. */
|
|
37
|
+
sourceCommit?: string;
|
|
38
|
+
/**
|
|
39
|
+
* `owner/repo` the index is published to. With {@link branch}, README report
|
|
40
|
+
* links are wrapped through htmlpreview.github.io so they render on click.
|
|
41
|
+
*/
|
|
42
|
+
repoSlug?: string;
|
|
43
|
+
/** Branch the index is published to (e.g. `design-parity/main`). */
|
|
44
|
+
branch?: string;
|
|
45
|
+
/** Optional overview image at the branch root, e.g. `candidates.bundle.png`. */
|
|
46
|
+
bundleImage?: string;
|
|
47
|
+
/** One row per component, in display order. */
|
|
48
|
+
entries: IndexEntry[];
|
|
49
|
+
}
|
|
50
|
+
/** Render the branch's `README.md`. */
|
|
51
|
+
export declare function renderReadme(input: IndexInput): string;
|
|
52
|
+
/** Render the branch's self-contained `index.html` landing page. */
|
|
53
|
+
export declare function renderIndexHtml(input: IndexInput): string;
|
|
54
|
+
/** Render both branch landing artifacts from one input. */
|
|
55
|
+
export declare function renderIndex(input: IndexInput): {
|
|
56
|
+
readme: string;
|
|
57
|
+
html: string;
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=index-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-page.d.ts","sourceRoot":"","sources":["../src/index-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,gFAAgF;AAChF,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,MAAM,EAAE,WAAW,CAAC;IACpB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAoCD,uCAAuC;AACvC,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAiCtD;AAgCD,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAmCzD;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAE/E"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { escapeHtml } from "./html.js";
|
|
2
|
+
const STATUS_TEXT = {
|
|
3
|
+
pass: "Pass",
|
|
4
|
+
warn: "Warn",
|
|
5
|
+
fail: "Fail",
|
|
6
|
+
skipped: "Skipped",
|
|
7
|
+
error: "Error",
|
|
8
|
+
};
|
|
9
|
+
const STATUS_EMOJI = {
|
|
10
|
+
pass: "✅",
|
|
11
|
+
warn: "⚠️",
|
|
12
|
+
fail: "❌",
|
|
13
|
+
skipped: "⏭️",
|
|
14
|
+
error: "🚫",
|
|
15
|
+
};
|
|
16
|
+
function short(sha) {
|
|
17
|
+
return /^[0-9a-f]{7,40}$/i.test(sha) ? sha.slice(0, 7) : sha;
|
|
18
|
+
}
|
|
19
|
+
/** Escape a cell for a GitHub-flavored markdown table. */
|
|
20
|
+
function mdCell(value) {
|
|
21
|
+
return value.replace(/\\/g, "\\\\").replace(/\|/g, "\\|");
|
|
22
|
+
}
|
|
23
|
+
/** README link target for a report, htmlpreview-wrapped when the repo is known. */
|
|
24
|
+
function readmeReportHref(reportPath, input) {
|
|
25
|
+
if (input.repoSlug && input.branch) {
|
|
26
|
+
const blob = `https://github.com/${input.repoSlug}/blob/${input.branch}/${reportPath}`;
|
|
27
|
+
return `https://htmlpreview.github.io/?${blob}`;
|
|
28
|
+
}
|
|
29
|
+
return `./${reportPath}`;
|
|
30
|
+
}
|
|
31
|
+
/** Render the branch's `README.md`. */
|
|
32
|
+
export function renderReadme(input) {
|
|
33
|
+
const title = input.title ?? "Design parity";
|
|
34
|
+
const lines = [`# ${title}`, ""];
|
|
35
|
+
const commit = input.sourceCommit
|
|
36
|
+
? ` Rendered from \`${short(input.sourceCommit)}\` — see [\`SOURCE_COMMIT\`](./SOURCE_COMMIT).`
|
|
37
|
+
: " Rendered from the commit in [`SOURCE_COMMIT`](./SOURCE_COMMIT).";
|
|
38
|
+
lines.push(`> **Generated by [design-parity](https://github.com/yschimke/design-parity) — do not edit by hand.**`, `> This branch is rebuilt on every run.${commit}`, "");
|
|
39
|
+
if (input.bundleImage) {
|
|
40
|
+
lines.push(``, "");
|
|
41
|
+
}
|
|
42
|
+
lines.push("| Component | Status | Report |", "| --- | --- | --- |");
|
|
43
|
+
for (const e of input.entries) {
|
|
44
|
+
const status = `${STATUS_EMOJI[e.status]} ${STATUS_TEXT[e.status]}`;
|
|
45
|
+
const report = e.reportPath
|
|
46
|
+
? `[report](${readmeReportHref(e.reportPath, input)})`
|
|
47
|
+
: "—";
|
|
48
|
+
lines.push(`| ${mdCell(e.code)} | ${status} | ${report} |`);
|
|
49
|
+
}
|
|
50
|
+
lines.push("");
|
|
51
|
+
lines.push("Each report is a self-contained HTML page — open one in a browser to view the", "reference / candidate / diff comparison. GitHub shows a linked `.html` as", "source; use the rendered links above, GitHub Pages, or download and open it.", "");
|
|
52
|
+
return lines.join("\n");
|
|
53
|
+
}
|
|
54
|
+
const STYLE = `:root{color-scheme:light dark}
|
|
55
|
+
*{box-sizing:border-box}
|
|
56
|
+
body{margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0f0f14;color:#e7e7ef}
|
|
57
|
+
a{color:#9db8ff}
|
|
58
|
+
header.page{padding:24px 28px;border-bottom:1px solid #26262f}
|
|
59
|
+
header.page h1{margin:0 0 6px;font-size:18px}
|
|
60
|
+
.subtitle{color:#9a9ab0;font-size:13px}
|
|
61
|
+
.subtitle code{background:#222230;padding:1px 6px;border-radius:5px}
|
|
62
|
+
main{padding:20px 28px;max-width:900px}
|
|
63
|
+
.overview{max-width:100%;border:1px solid #26262f;border-radius:10px;margin-bottom:20px}
|
|
64
|
+
table{border-collapse:collapse;width:100%}
|
|
65
|
+
th,td{text-align:left;padding:8px 12px;border-bottom:1px solid #26262f;font-size:13px}
|
|
66
|
+
th{color:#9a9ab0;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:11px}
|
|
67
|
+
td.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
|
|
68
|
+
.status{display:inline-block;padding:2px 10px;border-radius:999px;font-weight:600;font-size:12px}
|
|
69
|
+
.status-pass{background:#16351f;color:#7ee29a}
|
|
70
|
+
.status-warn{background:#3a3115;color:#e8c66b}
|
|
71
|
+
.status-fail{background:#3a1820;color:#f08a9c}
|
|
72
|
+
.status-skipped{background:#222230;color:#b8b8cc}
|
|
73
|
+
.status-error{background:#3a1820;color:#f08a9c}
|
|
74
|
+
.muted{color:#666}`;
|
|
75
|
+
function rowMarkup(e) {
|
|
76
|
+
const status = `<span class="status status-${e.status}">${STATUS_TEXT[e.status]}</span>`;
|
|
77
|
+
const report = e.reportPath
|
|
78
|
+
? `<a href="./${escapeHtml(e.reportPath)}">report</a>`
|
|
79
|
+
: `<span class="muted">—</span>`;
|
|
80
|
+
return `<tr><td class="code">${escapeHtml(e.code)}</td><td>${status}</td><td>${report}</td></tr>`;
|
|
81
|
+
}
|
|
82
|
+
/** Render the branch's self-contained `index.html` landing page. */
|
|
83
|
+
export function renderIndexHtml(input) {
|
|
84
|
+
const title = input.title ?? "Design parity";
|
|
85
|
+
const commit = input.sourceCommit
|
|
86
|
+
? `Rendered from <code>${escapeHtml(short(input.sourceCommit))}</code>`
|
|
87
|
+
: "Generated by design-parity";
|
|
88
|
+
const overview = input.bundleImage
|
|
89
|
+
? `<img class="overview" src="./${escapeHtml(input.bundleImage)}" alt="Candidate overview" />`
|
|
90
|
+
: "";
|
|
91
|
+
const rows = input.entries.map(rowMarkup).join("\n");
|
|
92
|
+
return `<!doctype html>
|
|
93
|
+
<html lang="en">
|
|
94
|
+
<head>
|
|
95
|
+
<meta charset="utf-8" />
|
|
96
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
97
|
+
<title>${escapeHtml(title)}</title>
|
|
98
|
+
<style>${STYLE}</style>
|
|
99
|
+
</head>
|
|
100
|
+
<body>
|
|
101
|
+
<header class="page">
|
|
102
|
+
<h1>${escapeHtml(title)}</h1>
|
|
103
|
+
<div class="subtitle">${commit} — generated by design-parity, do not edit by hand.</div>
|
|
104
|
+
</header>
|
|
105
|
+
<main>
|
|
106
|
+
${overview}
|
|
107
|
+
<table>
|
|
108
|
+
<thead><tr><th>Component</th><th>Status</th><th>Report</th></tr></thead>
|
|
109
|
+
<tbody>
|
|
110
|
+
${rows}
|
|
111
|
+
</tbody>
|
|
112
|
+
</table>
|
|
113
|
+
</main>
|
|
114
|
+
</body>
|
|
115
|
+
</html>
|
|
116
|
+
`;
|
|
117
|
+
}
|
|
118
|
+
/** Render both branch landing artifacts from one input. */
|
|
119
|
+
export function renderIndex(input) {
|
|
120
|
+
return { readme: renderReadme(input), html: renderIndexHtml(input) };
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=index-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-page.js","sourceRoot":"","sources":["../src/index-page.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,4 +14,6 @@ export { pairVariants } from "./variants.js";
|
|
|
14
14
|
export type { Variant } from "./variants.js";
|
|
15
15
|
export { groupFindings, tokenDelta, SECTIONS } from "./findings.js";
|
|
16
16
|
export type { FindingSection, GroupedSection, TokenDelta } from "./findings.js";
|
|
17
|
+
export { renderIndex, renderReadme, renderIndexHtml } from "./index-page.js";
|
|
18
|
+
export type { IndexEntry, IndexInput, IndexStatus } from "./index-page.js";
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7E,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,4 +11,5 @@
|
|
|
11
11
|
export { renderHtmlReport } from "./render.js";
|
|
12
12
|
export { pairVariants } from "./variants.js";
|
|
13
13
|
export { groupFindings, tokenDelta, SECTIONS } from "./findings.js";
|
|
14
|
+
export { renderIndex, renderReadme, renderIndexHtml } from "./index-page.js";
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design-parity/report-html",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Self-contained HTML comparison page per parity run: reference | candidate | diff side by side with the verdict findings, inlined to one offline .html file (data-URI PNGs + inline CSS/JS, no external assets).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"test": "vitest run"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@design-parity/core": "^0.1.
|
|
23
|
+
"@design-parity/core": "^0.1.2"
|
|
24
24
|
},
|
|
25
25
|
"repository": {
|
|
26
26
|
"type": "git",
|