@pseolint/core 0.5.15 → 0.6.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 (38) hide show
  1. package/dist/algorithms/wikipedia-paraphrase.d.ts +23 -0
  2. package/dist/algorithms/wikipedia-paraphrase.d.ts.map +1 -0
  3. package/dist/algorithms/wikipedia-paraphrase.js +82 -0
  4. package/dist/algorithms/wikipedia-paraphrase.js.map +1 -0
  5. package/dist/auditor.d.ts.map +1 -1
  6. package/dist/auditor.js +142 -5
  7. package/dist/auditor.js.map +1 -1
  8. package/dist/formatters/console.d.ts +16 -0
  9. package/dist/formatters/console.d.ts.map +1 -1
  10. package/dist/formatters/console.js +34 -7
  11. package/dist/formatters/console.js.map +1 -1
  12. package/dist/formatters/html.d.ts +7 -1
  13. package/dist/formatters/html.d.ts.map +1 -1
  14. package/dist/formatters/html.js +28 -2
  15. package/dist/formatters/html.js.map +1 -1
  16. package/dist/formatters/markdown.d.ts +10 -1
  17. package/dist/formatters/markdown.d.ts.map +1 -1
  18. package/dist/formatters/markdown.js +33 -6
  19. package/dist/formatters/markdown.js.map +1 -1
  20. package/dist/formatters/template-cards.d.ts +44 -0
  21. package/dist/formatters/template-cards.d.ts.map +1 -0
  22. package/dist/formatters/template-cards.js +191 -0
  23. package/dist/formatters/template-cards.js.map +1 -0
  24. package/dist/rules/content/common-phrase-reuse.d.ts +10 -0
  25. package/dist/rules/content/common-phrase-reuse.d.ts.map +1 -0
  26. package/dist/rules/content/common-phrase-reuse.js +132 -0
  27. package/dist/rules/content/common-phrase-reuse.js.map +1 -0
  28. package/dist/rules/content/value-add.d.ts +5 -2
  29. package/dist/rules/content/value-add.d.ts.map +1 -1
  30. package/dist/rules/content/value-add.js +29 -5
  31. package/dist/rules/content/value-add.js.map +1 -1
  32. package/dist/rules/content/wikipedia-paraphrase.d.ts +15 -0
  33. package/dist/rules/content/wikipedia-paraphrase.d.ts.map +1 -0
  34. package/dist/rules/content/wikipedia-paraphrase.js +39 -0
  35. package/dist/rules/content/wikipedia-paraphrase.js.map +1 -0
  36. package/dist/types.d.ts +23 -0
  37. package/dist/types.d.ts.map +1 -1
  38. package/package.json +92 -92
@@ -2,6 +2,12 @@ import type { AuditSummary } from "../types.js";
2
2
  export interface HtmlFormatOptions {
3
3
  /** No-op for HTML — every finding is rendered regardless. Accepted for option-signature parity. */
4
4
  verbose?: boolean;
5
+ /** v0.5.11 — when true (default), render per-template cards when ≥2 templates were detected. */
6
+ perTemplate?: boolean;
7
+ /** v0.5.11 — filter per-URL findings to this template signature. */
8
+ filterTemplate?: string;
9
+ /** v0.5.11 — skip per-template view; render flat per-URL list. */
10
+ legacyFlat?: boolean;
5
11
  }
6
- export declare function formatHtml(summary: AuditSummary, _options?: HtmlFormatOptions): string;
12
+ export declare function formatHtml(summary: AuditSummary, options?: HtmlFormatOptions): string;
7
13
  //# sourceMappingURL=html.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/formatters/html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAQb,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,iBAAiB;IAChC,mGAAmG;IACnG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAsOD,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,MAAM,CA+MtF"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/formatters/html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAQb,MAAM,aAAa,CAAC;AASrB,MAAM,WAAW,iBAAiB;IAChC,mGAAmG;IACnG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gGAAgG;IAChG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAsOD,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CA2OrF"}
@@ -1,3 +1,4 @@
1
+ import { renderTemplateCardsHtml, shouldRenderTemplateCards, TEMPLATE_CARDS_CSS, } from "./template-cards.js";
1
2
  const VERDICT_LABEL = {
2
3
  ready: "Ready",
3
4
  caution: "Caution",
@@ -205,15 +206,37 @@ function renderTriageHtml(triage) {
205
206
  <ol class="causes">${causes}</ol>
206
207
  </section>`;
207
208
  }
208
- export function formatHtml(summary, _options) {
209
+ export function formatHtml(summary, options) {
209
210
  const verdict = summary.verdict;
210
211
  const verdictTone = VERDICT_TONE[verdict];
211
- const issues = summary.issues;
212
+ const perTemplate = options?.perTemplate !== false; // default ON
213
+ const legacyFlat = options?.legacyFlat ?? false;
214
+ const filterTemplate = options?.filterTemplate;
212
215
  const crawl = summary.diagnostics?.crawlStats;
213
216
  const readiness = summary.diagnostics?.originReadiness;
217
+ // Resolve findings, filtered when --template is active.
218
+ const templates = summary.templates;
219
+ let filteredBlockers = summary.issues.blockers;
220
+ let filteredShouldFix = summary.issues.shouldFix;
221
+ let filteredInfo = summary.issues.informational;
222
+ if (filterTemplate && Array.isArray(templates)) {
223
+ const matchedTemplate = templates.find((t) => t.signature === filterTemplate);
224
+ if (matchedTemplate) {
225
+ const urlSet = new Set(matchedTemplate.auditedUrls);
226
+ const keep = (f) => !f.pageUrl || urlSet.has(f.pageUrl);
227
+ filteredBlockers = summary.issues.blockers.filter(keep);
228
+ filteredShouldFix = summary.issues.shouldFix.filter(keep);
229
+ filteredInfo = summary.issues.informational.filter(keep);
230
+ }
231
+ }
232
+ const cardOpts = { legacyFlat: legacyFlat || !perTemplate, filterTemplate };
233
+ const templateCardsHtml = shouldRenderTemplateCards(templates, cardOpts)
234
+ ? renderTemplateCardsHtml(templates, cardOpts)
235
+ : "";
214
236
  const crawlMeta = crawl
215
237
  ? `${crawl.fetched} fetched · ${crawl.discovered} discovered · ${crawl.skipped} skipped`
216
238
  : `${summary.pageCount} pages`;
239
+ const issues = { blockers: filteredBlockers, shouldFix: filteredShouldFix, informational: filteredInfo };
217
240
  return `<!DOCTYPE html>
218
241
  <html lang="en">
219
242
  <head>
@@ -370,6 +393,7 @@ export function formatHtml(summary, _options) {
370
393
  .footer-note{margin-top:56px;padding:20px 22px;border:1px solid var(--border);border-radius:var(--r-lg);
371
394
  background:color-mix(in oklab,var(--card) 60%,transparent);color:var(--muted);font-size:12px;line-height:1.6}
372
395
  .footer-note strong{color:var(--fg);font-weight:600}
396
+ ${TEMPLATE_CARDS_CSS}
373
397
  </style>
374
398
  </head>
375
399
  <body>
@@ -396,6 +420,8 @@ export function formatHtml(summary, _options) {
396
420
 
397
421
  ${renderOriginReadinessCard(readiness)}
398
422
 
423
+ ${templateCardsHtml}
424
+
399
425
  ${renderBucketSection("Blockers", issues.blockers, "destructive")}
400
426
  ${renderBucketSection("Should fix", issues.shouldFix, "warning")}
401
427
  ${renderBucketSection("Informational", issues.informational, "muted")}
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/formatters/html.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/formatters/html.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,17 @@ import type { AuditSummary } from "../types.js";
2
2
  export interface MarkdownFormatOptions {
3
3
  /** When true, list every finding bucketed by severity (kept for parity with other formatters; markdown always lists everything). */
4
4
  verbose?: boolean;
5
+ /**
6
+ * v0.5.11 — when true (default), render per-template cards above the
7
+ * per-URL findings list when ≥2 templates were detected.
8
+ */
9
+ perTemplate?: boolean;
10
+ /** v0.5.11 — filter per-URL findings to this template signature. Silently ignored on no match. */
11
+ filterTemplate?: string;
12
+ /** v0.5.11 — skip per-template view; render flat per-URL list. */
13
+ legacyFlat?: boolean;
5
14
  }
6
15
  declare function shortenUrl(url: string | undefined): string;
7
- export declare function formatMarkdown(summary: AuditSummary, _options?: MarkdownFormatOptions): string;
16
+ export declare function formatMarkdown(summary: AuditSummary, options?: MarkdownFormatOptions): string;
8
17
  export { shortenUrl };
9
18
  //# sourceMappingURL=markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/formatters/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAQb,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,qBAAqB;IACpC,oIAAoI;IACpI,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAuBD,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAOnD;AA0ID,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,EACrB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,MAAM,CA0ER;AAGD,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/formatters/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAQb,MAAM,aAAa,CAAC;AAQrB,MAAM,WAAW,qBAAqB;IACpC,oIAAoI;IACpI,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kGAAkG;IAClG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAuBD,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAOnD;AA0ID,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAsGR;AAGD,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { bucketByTemplate } from "./bucket-findings.js";
2
+ import { renderTemplateCardsMarkdown, shouldRenderTemplateCards, } from "./template-cards.js";
2
3
  const VERDICT_GLYPH = {
3
4
  ready: "✅",
4
5
  caution: "⚠️",
@@ -149,7 +150,10 @@ function categoryRows(categories) {
149
150
  }
150
151
  return rows;
151
152
  }
152
- export function formatMarkdown(summary, _options) {
153
+ export function formatMarkdown(summary, options) {
154
+ const perTemplate = options?.perTemplate !== false; // default ON
155
+ const legacyFlat = options?.legacyFlat ?? false;
156
+ const filterTemplate = options?.filterTemplate;
153
157
  const lines = [];
154
158
  lines.push(`# pseolint report`);
155
159
  lines.push("");
@@ -180,6 +184,29 @@ export function formatMarkdown(summary, _options) {
180
184
  lines.push(`_Crawl: ${crawl.fetched} fetched · ${crawl.discovered} discovered · ${crawl.skipped} skipped._`);
181
185
  lines.push("");
182
186
  }
187
+ // ── Per-template cards (v0.5.11) ────────────────────────────────────
188
+ const templates = summary.templates;
189
+ const cardOpts = { legacyFlat: legacyFlat || !perTemplate, filterTemplate };
190
+ if (shouldRenderTemplateCards(templates, cardOpts)) {
191
+ const cardsBlock = renderTemplateCardsMarkdown(templates, cardOpts);
192
+ if (cardsBlock) {
193
+ lines.push(cardsBlock);
194
+ }
195
+ }
196
+ // Resolve findings, filtered when --template is active.
197
+ let filteredBlockers = summary.issues.blockers;
198
+ let filteredShouldFix = summary.issues.shouldFix;
199
+ let filteredInfo = summary.issues.informational;
200
+ if (filterTemplate && Array.isArray(templates)) {
201
+ const matchedTemplate = templates.find((t) => t.signature === filterTemplate);
202
+ if (matchedTemplate) {
203
+ const urlSet = new Set(matchedTemplate.auditedUrls);
204
+ const keep = (f) => !f.pageUrl || urlSet.has(f.pageUrl);
205
+ filteredBlockers = summary.issues.blockers.filter(keep);
206
+ filteredShouldFix = summary.issues.shouldFix.filter(keep);
207
+ filteredInfo = summary.issues.informational.filter(keep);
208
+ }
209
+ }
183
210
  // Issue buckets — blockers and should-fix render inline because they're
184
211
  // the actionable items. Informational findings collapse behind a
185
212
  // <details> on by default — they're often high-volume on catalog and
@@ -188,12 +215,12 @@ export function formatMarkdown(summary, _options) {
188
215
  // every entry as a fresh markdown bullet drowns the actionable signal.
189
216
  // The user can expand the block to see all entries, or run with
190
217
  // `--explain` (console) for the full dump.
191
- lines.push(...renderBucket("Blockers", summary.issues.blockers));
192
- lines.push(...renderBucket("Should fix", summary.issues.shouldFix));
193
- if (summary.issues.informational.length > 0) {
194
- const infoLines = renderBucket("Informational", summary.issues.informational);
218
+ lines.push(...renderBucket("Blockers", filteredBlockers));
219
+ lines.push(...renderBucket("Should fix", filteredShouldFix));
220
+ if (filteredInfo.length > 0) {
221
+ const infoLines = renderBucket("Informational", filteredInfo);
195
222
  lines.push(`<details>`);
196
- lines.push(`<summary><strong>Informational (${summary.issues.informational.length})</strong> — low-confidence or context-dependent findings. Click to expand.</summary>`);
223
+ lines.push(`<summary><strong>Informational (${filteredInfo.length})</strong> — low-confidence or context-dependent findings. Click to expand.</summary>`);
197
224
  lines.push("");
198
225
  // Strip the duplicate ## header that renderBucket added; the <summary>
199
226
  // already labels the section.
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/formatters/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/formatters/markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * v0.5.11 — per-template card rendering helpers.
3
+ *
4
+ * One shared module called by console, markdown, and html formatters.
5
+ * Each exported function takes a `Template[]` and returns a format-specific
6
+ * string segment. The formatters splice it in above the per-URL findings list
7
+ * when `summary.templates.length >= 2 && !opts.legacyFlat`.
8
+ */
9
+ import type { Template } from "../types.js";
10
+ /** Options shared across all per-template card renderers. */
11
+ export interface TemplateCardOptions {
12
+ /** When true, skip per-template cards entirely (--legacy-flat). */
13
+ legacyFlat?: boolean;
14
+ /**
15
+ * When set, highlight / annotate the matching template card.
16
+ * Silently ignored when no template matches the signature.
17
+ */
18
+ filterTemplate?: string;
19
+ }
20
+ /** True when templates array is present, has ≥2 entries, and not legacy-flat. */
21
+ export declare function shouldRenderTemplateCards(templates: Template[] | undefined, opts: TemplateCardOptions): boolean;
22
+ /**
23
+ * Render per-template cards for the console formatter.
24
+ * Returns an empty string when there is nothing to render.
25
+ */
26
+ export declare function renderTemplateCardsConsole(templates: Template[], opts: TemplateCardOptions, noColor?: boolean): string;
27
+ /**
28
+ * Render per-template cards for the markdown formatter.
29
+ * Returns an empty string when there is nothing to render.
30
+ */
31
+ export declare function renderTemplateCardsMarkdown(templates: Template[], opts: TemplateCardOptions): string;
32
+ /**
33
+ * Render per-template cards for the HTML formatter.
34
+ * Returns an empty string when there is nothing to render.
35
+ * The caller must ensure the CSS variables and existing styles are in scope —
36
+ * this helper generates markup only, no <style> block.
37
+ */
38
+ export declare function renderTemplateCardsHtml(templates: Template[], opts: TemplateCardOptions): string;
39
+ /**
40
+ * CSS rules for the per-template card grid. Injected once by the HTML formatter
41
+ * into the document <style> block.
42
+ */
43
+ export declare const TEMPLATE_CARDS_CSS = "\n .template-cards{margin-top:32px}\n .template-cards .section-title{font-size:13px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}\n .tmpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}\n .tmpl-card{padding:16px 18px;border-radius:var(--r);background:var(--card);border:1px solid var(--border)}\n .tmpl-card[data-highlighted=\"true\"]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}\n .tmpl-card.tmpl-success{border-left:3px solid var(--success)}\n .tmpl-card.tmpl-warning{border-left:3px solid var(--warning)}\n .tmpl-card.tmpl-destructive{border-left:3px solid var(--destructive)}\n .tmpl-card.tmpl-critical{border-left:3px solid var(--critical)}\n .tmpl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}\n .tmpl-sig{font-size:12px;font-family:ui-monospace,\"SFMono-Regular\",Menlo,Consolas,monospace;color:var(--fg);background:var(--card-2);padding:2px 8px;border-radius:6px;border:1px solid var(--border)}\n .tmpl-grade{font-size:14px;font-weight:700;margin-left:auto}\n .tone-success{color:var(--success)} .tone-warning{color:var(--warning)} .tone-destructive{color:var(--destructive)} .tone-critical{color:var(--critical)}\n .tmpl-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);font-family:ui-monospace,\"SFMono-Regular\",Menlo,Consolas,monospace}\n .tmpl-driver{color:var(--fg)}\n";
44
+ //# sourceMappingURL=template-cards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-cards.d.ts","sourceRoot":"","sources":["../../src/formatters/template-cards.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,aAAa,CAAC;AAE5D,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,iFAAiF;AACjF,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EACjC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAGT;AAmDD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,QAAQ,EAAE,EACrB,IAAI,EAAE,mBAAmB,EACzB,OAAO,UAAQ,GACd,MAAM,CA+BR;AAWD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,QAAQ,EAAE,EACrB,IAAI,EAAE,mBAAmB,GACxB,MAAM,CAuBR;AAuBD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,QAAQ,EAAE,EACrB,IAAI,EAAE,mBAAmB,GACxB,MAAM,CAiCR;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,o8CAgB9B,CAAC"}
@@ -0,0 +1,191 @@
1
+ // ── shared helpers ────────────────────────────────────────────────────────
2
+ /** True when templates array is present, has ≥2 entries, and not legacy-flat. */
3
+ export function shouldRenderTemplateCards(templates, opts) {
4
+ if (opts.legacyFlat)
5
+ return false;
6
+ return Array.isArray(templates) && templates.length >= 2;
7
+ }
8
+ function coveragePct(template) {
9
+ const denom = template.totalDiscoveredUrls > 0 ? template.totalDiscoveredUrls : template.totalUrls;
10
+ if (denom === 0)
11
+ return "0%";
12
+ return `${((template.totalUrls / denom) * 100).toFixed(1)}%`;
13
+ }
14
+ function topDriverLine(template) {
15
+ const td = template.variance.topDriver;
16
+ if (!td)
17
+ return "";
18
+ const sampleCount = template.auditedUrls.length;
19
+ const failCount = Math.round(td.fireRate * sampleCount);
20
+ return `${failCount}/${sampleCount} samples fail \`${td.ruleId}\``;
21
+ }
22
+ function uniformityPct(template) {
23
+ return `${Math.round(template.variance.uniformityScore * 100)}%`;
24
+ }
25
+ // ── Console renderer ──────────────────────────────────────────────────────
26
+ const RESET = "\x1b[0m";
27
+ const BOLD = "\x1b[1m";
28
+ const DIM = "\x1b[2m";
29
+ const RED = "\x1b[31m";
30
+ const GREEN = "\x1b[32m";
31
+ const YELLOW = "\x1b[33m";
32
+ const RED_BRIGHT = "\x1b[91m";
33
+ const ORANGE = "\x1b[38;5;208m";
34
+ const MAGENTA = "\x1b[35m";
35
+ const CYAN = "\x1b[36m";
36
+ function verdictColorConsole(v) {
37
+ switch (v) {
38
+ case "ready": return GREEN;
39
+ case "caution": return YELLOW;
40
+ case "concerning": return MAGENTA;
41
+ case "critical": return RED + BOLD;
42
+ }
43
+ }
44
+ function gradeColorConsole(g) {
45
+ switch (g) {
46
+ case "A":
47
+ case "B": return GREEN;
48
+ case "C": return YELLOW;
49
+ case "D": return ORANGE;
50
+ case "F": return RED + BOLD;
51
+ }
52
+ }
53
+ /**
54
+ * Render per-template cards for the console formatter.
55
+ * Returns an empty string when there is nothing to render.
56
+ */
57
+ export function renderTemplateCardsConsole(templates, opts, noColor = false) {
58
+ if (!shouldRenderTemplateCards(templates, opts))
59
+ return "";
60
+ const lines = [];
61
+ lines.push(`${BOLD}Per-template breakdown (${templates.length} templates):${RESET}`);
62
+ lines.push("");
63
+ for (const t of templates) {
64
+ const isHighlighted = opts.filterTemplate === t.signature;
65
+ const marker = isHighlighted ? `${CYAN}▶ ${RESET}` : " ";
66
+ const vColor = verdictColorConsole(t.verdict);
67
+ const grade = t.categories.integrity.grade;
68
+ const gColor = gradeColorConsole(grade);
69
+ const coverage = `${t.auditedUrls.length}/${t.totalUrls} URLs (${coveragePct(t)})`;
70
+ const topDriver = topDriverLine(t);
71
+ const uniformity = `uniformity ${uniformityPct(t)}`;
72
+ lines.push(`${marker}${BOLD}${t.signature}${RESET} ${vColor}${t.verdict.toUpperCase()}${RESET} ${gColor}${grade}${RESET}`);
73
+ lines.push(` ${DIM}${coverage}${RESET} ${DIM}${uniformity}${RESET}`);
74
+ if (topDriver) {
75
+ lines.push(` ${topDriver}`);
76
+ }
77
+ lines.push("");
78
+ }
79
+ const out = lines.join("\n");
80
+ if (noColor)
81
+ return out.replace(/\x1b\[[0-9;]*m/g, "");
82
+ return out;
83
+ }
84
+ // ── Markdown renderer ─────────────────────────────────────────────────────
85
+ const VERDICT_GLYPH_MD = {
86
+ ready: "✅",
87
+ caution: "⚠️",
88
+ concerning: "⚠️",
89
+ critical: "🔴",
90
+ };
91
+ /**
92
+ * Render per-template cards for the markdown formatter.
93
+ * Returns an empty string when there is nothing to render.
94
+ */
95
+ export function renderTemplateCardsMarkdown(templates, opts) {
96
+ if (!shouldRenderTemplateCards(templates, opts))
97
+ return "";
98
+ const lines = [];
99
+ lines.push("## Templates");
100
+ lines.push("");
101
+ lines.push("| Template | Verdict | Grade | Coverage | Uniformity | Top driver |");
102
+ lines.push("|---|---|---|---|---|---|");
103
+ for (const t of templates) {
104
+ const glyph = VERDICT_GLYPH_MD[t.verdict];
105
+ const grade = t.categories.integrity.grade;
106
+ const coverage = `${t.auditedUrls.length}/${t.totalUrls} (${coveragePct(t)})`;
107
+ const uniformity = uniformityPct(t);
108
+ const topDriver = topDriverLine(t);
109
+ const highlight = opts.filterTemplate === t.signature ? " ◀" : "";
110
+ lines.push(`| \`${t.signature}\`${highlight} | ${glyph} ${t.verdict} | ${grade} | ${coverage} | ${uniformity} | ${topDriver || "—"} |`);
111
+ }
112
+ lines.push("");
113
+ return lines.join("\n");
114
+ }
115
+ // ── HTML renderer ─────────────────────────────────────────────────────────
116
+ function escapeHtml(s) {
117
+ return s
118
+ .replace(/&/g, "&amp;")
119
+ .replace(/</g, "&lt;")
120
+ .replace(/>/g, "&gt;")
121
+ .replace(/"/g, "&quot;");
122
+ }
123
+ const VERDICT_TONE_HTML = {
124
+ ready: "success",
125
+ caution: "warning",
126
+ concerning: "destructive",
127
+ critical: "critical",
128
+ };
129
+ const GRADE_TONE_HTML = {
130
+ A: "success", B: "success", C: "warning", D: "destructive", F: "critical",
131
+ };
132
+ /**
133
+ * Render per-template cards for the HTML formatter.
134
+ * Returns an empty string when there is nothing to render.
135
+ * The caller must ensure the CSS variables and existing styles are in scope —
136
+ * this helper generates markup only, no <style> block.
137
+ */
138
+ export function renderTemplateCardsHtml(templates, opts) {
139
+ if (!shouldRenderTemplateCards(templates, opts))
140
+ return "";
141
+ const cards = templates.map((t) => {
142
+ const vTone = VERDICT_TONE_HTML[t.verdict];
143
+ const grade = t.categories.integrity.grade;
144
+ const gTone = GRADE_TONE_HTML[grade];
145
+ const coverage = `${t.auditedUrls.length}/${t.totalUrls} URLs (${coveragePct(t)})`;
146
+ const topDriver = topDriverLine(t);
147
+ const uniformity = uniformityPct(t);
148
+ const isHighlighted = opts.filterTemplate === t.signature;
149
+ const highlightAttr = isHighlighted ? ' data-highlighted="true"' : "";
150
+ return `<div class="tmpl-card tmpl-${vTone}"${highlightAttr}>
151
+ <div class="tmpl-head">
152
+ <code class="tmpl-sig">${escapeHtml(t.signature)}</code>
153
+ <span class="verdict-badge tone-${vTone}">${escapeHtml(t.verdict)}</span>
154
+ <span class="tmpl-grade tone-${gTone}">${escapeHtml(grade)}</span>
155
+ </div>
156
+ <div class="tmpl-stats">
157
+ <span class="tmpl-coverage">${escapeHtml(coverage)}</span>
158
+ <span class="tmpl-uniformity">uniformity ${escapeHtml(uniformity)}</span>
159
+ ${topDriver ? `<span class="tmpl-driver">${escapeHtml(topDriver)}</span>` : ""}
160
+ </div>
161
+ </div>`;
162
+ }).join("\n");
163
+ return `<section class="template-cards">
164
+ <h2 class="section-title">Templates (${templates.length})</h2>
165
+ <div class="tmpl-grid">
166
+ ${cards}
167
+ </div>
168
+ </section>`;
169
+ }
170
+ /**
171
+ * CSS rules for the per-template card grid. Injected once by the HTML formatter
172
+ * into the document <style> block.
173
+ */
174
+ export const TEMPLATE_CARDS_CSS = `
175
+ .template-cards{margin-top:32px}
176
+ .template-cards .section-title{font-size:13px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
177
+ .tmpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
178
+ .tmpl-card{padding:16px 18px;border-radius:var(--r);background:var(--card);border:1px solid var(--border)}
179
+ .tmpl-card[data-highlighted="true"]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}
180
+ .tmpl-card.tmpl-success{border-left:3px solid var(--success)}
181
+ .tmpl-card.tmpl-warning{border-left:3px solid var(--warning)}
182
+ .tmpl-card.tmpl-destructive{border-left:3px solid var(--destructive)}
183
+ .tmpl-card.tmpl-critical{border-left:3px solid var(--critical)}
184
+ .tmpl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
185
+ .tmpl-sig{font-size:12px;font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;color:var(--fg);background:var(--card-2);padding:2px 8px;border-radius:6px;border:1px solid var(--border)}
186
+ .tmpl-grade{font-size:14px;font-weight:700;margin-left:auto}
187
+ .tone-success{color:var(--success)} .tone-warning{color:var(--warning)} .tone-destructive{color:var(--destructive)} .tone-critical{color:var(--critical)}
188
+ .tmpl-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}
189
+ .tmpl-driver{color:var(--fg)}
190
+ `;
191
+ //# sourceMappingURL=template-cards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-cards.js","sourceRoot":"","sources":["../../src/formatters/template-cards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ParsedPage, RuleResult } from "../../types.js";
2
+ /**
3
+ * content/common-phrase-reuse — per-page cliché density detector.
4
+ *
5
+ * Scans each page's contentText for a corpus of 42 known pSEO marketing
6
+ * clichés. Fires ONE warning/low-confidence finding per page when >=3 distinct
7
+ * phrases appear. Extends the content/value-add composite as its 6th signal.
8
+ */
9
+ export declare function commonPhraseReuseRule(pages: ParsedPage[]): RuleResult[];
10
+ //# sourceMappingURL=common-phrase-reuse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-phrase-reuse.d.ts","sourceRoot":"","sources":["../../../src/rules/content/common-phrase-reuse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAwH7D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAoBvE"}