open-local-audit 0.78.0 → 0.80.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.
@@ -1 +1 @@
1
- {"version":3,"file":"local-business-types.js","sourceRoot":"","sources":["../src/local-business-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-business-types.js","sourceRoot":"","sources":["../src/local-business-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { BatchInputEntry } from "./batch.js";
2
+ import type { AuditProfile, AuditReport, ReportBrandConfig } from "./types.js";
3
+ export interface MonitorOptions {
4
+ outDir: string;
5
+ audit: (url: string, profile: AuditProfile) => Promise<AuditReport>;
6
+ profile?: AuditProfile;
7
+ brand?: ReportBrandConfig;
8
+ now?: Date;
9
+ }
10
+ export interface MonitorAlert {
11
+ kind: "new-high" | "certificate" | "domain" | "failed";
12
+ message: string;
13
+ }
14
+ export interface MonitorSiteResult {
15
+ url: string;
16
+ label?: string;
17
+ slug: string;
18
+ status: "compared" | "baseline" | "failed";
19
+ reportDir?: string;
20
+ comparisonPath?: string;
21
+ previousRunId?: string;
22
+ score?: number;
23
+ previousScore?: number;
24
+ scoreChange?: number;
25
+ newFindings: number;
26
+ fixedFindings: number;
27
+ alerts: MonitorAlert[];
28
+ note?: string;
29
+ }
30
+ export interface MonitorSummary {
31
+ runId: string;
32
+ outDir: string;
33
+ sites: MonitorSiteResult[];
34
+ summaryPaths: {
35
+ markdown: string;
36
+ json: string;
37
+ };
38
+ }
39
+ export declare function monitorSiteFolder(rawUrl: string): {
40
+ identity: string;
41
+ folder: string;
42
+ };
43
+ export declare function monitorRunId(date: Date): string;
44
+ export declare function runMonitor(entries: BatchInputEntry[], options: MonitorOptions): Promise<MonitorSummary>;
45
+ export declare function renderMonitorJson(summary: MonitorSummary): string;
46
+ export declare function renderMonitorMarkdown(summary: MonitorSummary): string;
@@ -0,0 +1,200 @@
1
+ import { createHash } from "node:crypto";
2
+ import { mkdir, readdir, writeFile } from "node:fs/promises";
3
+ import { join, relative, sep } from "node:path";
4
+ import { compareReports, readComparisonReport, renderComparisonHtml, renderComparisonMarkdown } from "./compare.js";
5
+ import { writeReportOutputs } from "./output.js";
6
+ import { escapeCell, overallScore } from "./reporters.js";
7
+ // Run folders are named by UTC time, so sorting their names sorts them by date.
8
+ const runIdPattern = /^\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}Z$/;
9
+ // A site is its host (without "www.") plus any port, path, and query; the scheme does not matter. Host names are
10
+ // already safe folder names, so different hosts never share a folder, and a path or query adds a short hash of
11
+ // itself so that "/a/b" and "/a-b" stay apart. The folder is the same on every run, which keeps the history together.
12
+ export function monitorSiteFolder(rawUrl) {
13
+ const url = new URL(rawUrl);
14
+ const host = url.hostname.toLowerCase().replace(/\.$/, "").replace(/^www\./, "");
15
+ const rest = `${url.pathname.replace(/\/+$/, "")}${url.search}`;
16
+ const identity = `${host}${url.port ? `:${url.port}` : ""}${rest}`;
17
+ const readable = rest.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 40);
18
+ const folder = `${host.replace(/[^a-z0-9.-]/g, "-")}${url.port ? `-${url.port}` : ""}${rest ? `_${readable ? `${readable}-` : ""}${createHash("sha256").update(rest).digest("hex").slice(0, 8)}` : ""}`;
19
+ return { identity, folder };
20
+ }
21
+ export function monitorRunId(date) {
22
+ return date.toISOString().replace(/\.\d{3}Z$/, "Z").replace(/:/g, "-");
23
+ }
24
+ async function previousRunIds(siteDir, runId) {
25
+ try {
26
+ const entries = await readdir(siteDir, { withFileTypes: true });
27
+ return entries
28
+ .filter((entry) => entry.isDirectory() && runIdPattern.test(entry.name) && entry.name < runId)
29
+ .map((entry) => entry.name)
30
+ .sort()
31
+ .reverse();
32
+ }
33
+ catch {
34
+ return [];
35
+ }
36
+ }
37
+ function message(error) {
38
+ return error instanceof Error ? error.message : "Unknown error";
39
+ }
40
+ function currentAlerts(report) {
41
+ const alerts = [
42
+ ["certificate", "tls-certificate-valid", "HTTPS certificate"],
43
+ ["domain", "domain-expiry", "Domain"]
44
+ ];
45
+ return alerts.flatMap(([kind, id, label]) => {
46
+ const finding = report.findings.find((item) => item.id === id);
47
+ return finding ? [{ kind, message: `${label}: ${finding.evidence[0]?.value || finding.title}` }] : [];
48
+ });
49
+ }
50
+ // Uses the newest earlier run that still has a readable report, so an interrupted run does not reset the history.
51
+ async function previousReport(siteDir, runId) {
52
+ for (const previousRunId of await previousRunIds(siteDir, runId)) {
53
+ try {
54
+ return { runId: previousRunId, report: await readComparisonReport(join(siteDir, previousRunId)) };
55
+ }
56
+ catch {
57
+ continue;
58
+ }
59
+ }
60
+ return undefined;
61
+ }
62
+ async function monitorSite(entry, slug, runId, options) {
63
+ const base = { url: entry.url, ...(entry.label ? { label: entry.label } : {}), slug, newFindings: 0, fixedFindings: 0 };
64
+ const profile = entry.profile ?? options.profile ?? "generic";
65
+ const siteDir = join(options.outDir, slug);
66
+ const reportDir = join(siteDir, runId);
67
+ let report;
68
+ try {
69
+ report = await options.audit(entry.url, profile);
70
+ }
71
+ catch (error) {
72
+ return { ...base, status: "failed", alerts: [{ kind: "failed", message: `Audit failed: ${message(error)}` }] };
73
+ }
74
+ await writeReportOutputs(report, { format: "all", outDir: reportDir, brand: options.brand });
75
+ const score = overallScore(report);
76
+ const alerts = currentAlerts(report);
77
+ const previous = await previousReport(siteDir, runId);
78
+ if (!previous) {
79
+ return { ...base, status: "baseline", reportDir, score, alerts, note: "First run: baseline recorded" };
80
+ }
81
+ const previousRunId = previous.runId;
82
+ let comparison;
83
+ try {
84
+ comparison = compareReports(previous.report, report);
85
+ }
86
+ catch (error) {
87
+ return { ...base, status: "baseline", reportDir, score, alerts, note: `Not compared with ${previousRunId}: ${message(error)}; new baseline recorded` };
88
+ }
89
+ const comparisonPath = join(reportDir, "comparison.html");
90
+ await writeFile(join(reportDir, "comparison.md"), renderComparisonMarkdown(comparison, { brand: options.brand }));
91
+ await writeFile(comparisonPath, renderComparisonHtml(comparison, { brand: options.brand }));
92
+ const newHigh = comparison.introduced
93
+ .filter((finding) => finding.severity === "high")
94
+ .map((finding) => ({ kind: "new-high", message: `New high issue: ${finding.title}` }));
95
+ return {
96
+ ...base,
97
+ status: "compared",
98
+ reportDir,
99
+ comparisonPath,
100
+ previousRunId,
101
+ score,
102
+ previousScore: comparison.overall.before,
103
+ scoreChange: comparison.overall.change,
104
+ newFindings: comparison.introduced.length,
105
+ fixedFindings: comparison.fixed.length,
106
+ alerts: [...newHigh, ...alerts]
107
+ };
108
+ }
109
+ // Re-audits every site, compares each one with its latest earlier run in the same output folder, and writes a summary.
110
+ // Nothing is sent: the summary and reports stay on disk for the operator.
111
+ export async function runMonitor(entries, options) {
112
+ const sitesByIdentity = new Map();
113
+ const slugs = entries.map((entry) => {
114
+ const site = monitorSiteFolder(entry.url);
115
+ const earlier = sitesByIdentity.get(site.identity);
116
+ if (earlier) {
117
+ throw new Error(`Monitor input lists the same site twice: ${earlier} and ${entry.url}`);
118
+ }
119
+ sitesByIdentity.set(site.identity, entry.url);
120
+ return site.folder;
121
+ });
122
+ const runId = monitorRunId(options.now ?? new Date());
123
+ const sites = [];
124
+ for (const [index, entry] of entries.entries()) {
125
+ try {
126
+ sites.push(await monitorSite(entry, slugs[index], runId, options));
127
+ }
128
+ catch (error) {
129
+ // A report that cannot be written for one site, such as a locked file, should not stop the other sites.
130
+ sites.push({
131
+ url: entry.url,
132
+ ...(entry.label ? { label: entry.label } : {}),
133
+ slug: slugs[index],
134
+ status: "failed",
135
+ newFindings: 0,
136
+ fixedFindings: 0,
137
+ alerts: [{ kind: "failed", message: `Could not save the run: ${message(error)}` }]
138
+ });
139
+ }
140
+ }
141
+ await mkdir(options.outDir, { recursive: true });
142
+ const summaryPaths = {
143
+ markdown: join(options.outDir, `monitor-summary-${runId}.md`),
144
+ json: join(options.outDir, `monitor-summary-${runId}.json`)
145
+ };
146
+ const summary = { runId, outDir: options.outDir, sites, summaryPaths };
147
+ await writeFile(summaryPaths.markdown, renderMonitorMarkdown(summary));
148
+ await writeFile(summaryPaths.json, renderMonitorJson(summary));
149
+ return summary;
150
+ }
151
+ function relativePath(summary, path) {
152
+ return path ? relative(summary.outDir, path).split(sep).join("/") : "";
153
+ }
154
+ function siteName(site) {
155
+ return site.label ? `${site.label} (${site.url})` : site.url;
156
+ }
157
+ export function renderMonitorJson(summary) {
158
+ const sites = summary.sites.map((site) => ({
159
+ ...site,
160
+ reportDir: site.reportDir ? relativePath(summary, site.reportDir) : undefined,
161
+ comparisonPath: site.comparisonPath ? relativePath(summary, site.comparisonPath) : undefined
162
+ }));
163
+ return `${JSON.stringify({ runId: summary.runId, sites }, null, 2)}\n`;
164
+ }
165
+ export function renderMonitorMarkdown(summary) {
166
+ const count = (status) => summary.sites.filter((site) => site.status === status).length;
167
+ const attention = summary.sites.filter((site) => site.alerts.length > 0);
168
+ const plural = (value, word) => `${value} ${word}${value === 1 ? "" : "s"}`;
169
+ const signed = (value) => (value > 0 ? `+${value}` : `${value}`);
170
+ const rows = summary.sites.map((site) => [
171
+ siteName(site),
172
+ site.status === "compared" ? `Compared with ${site.previousRunId}` : site.status === "baseline" ? (site.note ?? "Baseline") : "Failed",
173
+ site.score === undefined ? "" : `${site.score}/100`,
174
+ site.scoreChange === undefined ? "" : signed(site.scoreChange),
175
+ site.status === "compared" ? `${site.newFindings}` : "",
176
+ site.status === "compared" ? `${site.fixedFindings}` : "",
177
+ relativePath(summary, site.comparisonPath ?? (site.reportDir ? join(site.reportDir, "open-local-audit-report.html") : undefined))
178
+ ]);
179
+ return [
180
+ "# Website Monitoring Summary",
181
+ "",
182
+ `Run ${summary.runId}: ${plural(summary.sites.length, "site")}, ${count("compared")} compared, ${count("baseline")} baseline, ${count("failed")} failed. ${attention.length === 0 ? "No site needs attention." : `${plural(attention.length, "site")} need${attention.length === 1 ? "s" : ""} attention.`}`,
183
+ "",
184
+ "## Needs Attention",
185
+ "",
186
+ ...(attention.length === 0
187
+ ? ["Nothing new to act on."]
188
+ : attention.map((site) => `- **${siteName(site)}**: ${site.alerts.map((alert) => alert.message).join("; ")}`)),
189
+ "",
190
+ "## Sites",
191
+ "",
192
+ "| Site | Status | Score | Change | New | Fixed | Report |",
193
+ "| --- | --- | --- | --- | --- | --- | --- |",
194
+ ...rows.map((row) => `| ${row.map(escapeCell).join(" | ")} |`),
195
+ "",
196
+ "Reports and comparisons stay on this computer; nothing has been sent.",
197
+ ""
198
+ ].join("\n");
199
+ }
200
+ //# sourceMappingURL=monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const pitchReasons = [
6
6
  [/^website-placeholder$/, "People who find the business online land on a placeholder instead of a website."],
7
7
  [/^http-status-ok$/, "The page returns an error, so visitors and Google may not see it at all."],
8
8
  [/^tls-certificate-valid$/, "Browsers show, or will soon show, a security warning instead of the site."],
9
+ [/^domain-expiry$/, "The domain registration runs out soon; if it lapses, the website and email stop working."],
9
10
  [/^page-indexable$/, "The page tells Google not to list it, so it cannot appear in search results."],
10
11
  [/^https-enabled$/, "Browsers mark the site as \"Not secure\"."],
11
12
  [/^viewport-present$/, "The page does not adapt to phones, where most local searches happen."],
@@ -13,6 +14,8 @@ const pitchReasons = [
13
14
  [/^primary-cta-present$|-cta$/, "There is no clear booking or contact button, so ready-to-buy visitors have to hunt for the next step."],
14
15
  [/^contact-form-present$/, "Visitors who do not want to call have no way to send an enquiry."],
15
16
  [/^broken-internal-links$/, "Some links on the site lead to dead pages."],
17
+ [/^cookie-consent-present$/, "The site loads analytics or advertising tags and no cookie consent banner was found; UK and EU cookie rules generally expect consent before non-essential tracking."],
18
+ [/^privacy-policy-link-present$/, "There is no privacy policy link, which data protection rules expect from sites that take enquiries or use analytics."],
16
19
  [/^title-present$/, "The page has no title, so Google and browser tabs show a generic label."],
17
20
  [/^meta-description-present$/, "Without a meta description, Google writes its own snippet for the search result."],
18
21
  [/^single-h1$/, "The page has no clear main heading telling visitors and Google what the business does."],
@@ -1 +1 @@
1
- {"version":3,"file":"pitch-brief.js","sourceRoot":"","sources":["../src/pitch-brief.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pitch-brief.js","sourceRoot":"","sources":["../src/pitch-brief.ts"],"names":[],"mappings":"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"}