open-local-audit 0.81.0 → 0.82.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/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  All notable changes to Open Local Audit will be documented here.
4
4
 
5
+ ## v0.82.0 - 2026-10-15
6
+
7
+ - `monitor` writes `client-email.md` in every run folder: a plain-text draft for the client with a subject line, the overall score and its change since the last check, fixed and new issues, HTTPS certificate and domain registration findings, the top three next steps from the report, the PDF to attach, and a sign-off from `--brand-config` `name` and `contact`. Dates use the computer's local time. It contains only facts from the audit, says when monitoring restarted from a new baseline, starts with an HTML comment saying it is a draft, and is never sent. The summary gains an "Email draft" column and the JSON summary an `emailPath` field.
8
+ - Added `monitor --lighthouse`. It runs Lighthouse for each site after its audit and adds the scores to the reports. The summary gains a Speed column with the performance score and its change since the previous run (`performance` and `previousPerformance` in JSON), and the email draft reports the page speed. If Lighthouse fails, the site is still monitored and its summary note says why.
9
+ - Added `monitor --print-schedule`. Instead of monitoring, it writes a run script into `--out-dir` that repeats the given options with absolute paths and the installed version pinned, and prints the command that schedules it for the 1st of every month at 09:00 with output appended to `monitor.log`. On Windows it writes `run-monitor.ps1`, which the task starts with PowerShell so that paths with spaces, `&`, `%`, apostrophes, or non-English letters work, and prints `schtasks` lines for Command Prompt and PowerShell, with a warning when the task command would pass Task Scheduler's 261-character limit. If `npx` is not on the task's PATH, the script logs that and exits with code 1. Elsewhere it writes `run-monitor.sh` and prints a `crontab` line. It does not create the scheduled task.
10
+ - A compared site's summary status now also shows its note, such as a Lighthouse failure.
11
+ - Exported `renderClientEmail` and the `ClientEmailInput` type from the public API.
12
+
5
13
  ## v0.81.0 - 2026-10-14
6
14
 
7
15
  - `monitor` now writes PDFs to send clients: `comparison.pdf` next to the Markdown and HTML comparison, and `open-local-audit-report.pdf` in every run folder, both branded with `--brand-config`. The summary gains a "Client PDF" column and the JSON summary a `pdfPath` field, pointing to the comparison PDF, or to the report PDF on a first run.
package/README.md CHANGED
@@ -413,7 +413,15 @@ Monitor client sites every month with one command:
413
413
  open-local-audit monitor --input clients.csv --out-dir monitoring --fail-on-alerts
414
414
  ```
415
415
 
416
- `monitor` reads a URL list or a CSV with `url` and optional `label` and `profile` columns, audits each site, and keeps every run under `<out-dir>/<site>/<run time>/` with JSON, Markdown, HTML, and PDF reports. Run folders are named by UTC time to the millisecond, so a retried run never reuses a folder. The site folder is the host without `www.`, such as `clinic.co.uk`, plus a short hash when the URL has a path or query, so different sites never share a history; the same site listed twice (for example with and without `www.`) is rejected. Reuse the same `--out-dir` each time: a site that has an earlier run is compared with the latest one that still has a readable report, and the run folder gets `comparison.md`, `comparison.html`, and a `comparison.pdf` progress report to send the client, branded with `--brand-config`; a first run, or a site whose profile or final host changed, records a new baseline. `monitor-summary-<run time>.md` and `.json` list every site's score, score change, new and fixed findings, the client PDF (the comparison, or the report on a first run), and the sites that need attention: new high-severity findings since the last run, an HTTPS certificate that fails `tls-certificate-valid`, a domain that fails `domain-expiry`, or an audit that failed. One site that fails to audit or save does not stop the others. `--fail-on-alerts` exits with code 1 when any site needs attention, so a scheduled task can notify you; `--profile`, `--brand-config`, and `--timeout` work as in single audits, and `--no-check-domain` skips the domain lookup. Apart from the site audits and the domain lookups, monitoring makes no network calls: reports stay in local files and nothing is uploaded or sent to anyone.
416
+ `monitor` reads a URL list or a CSV with `url` and optional `label` and `profile` columns, audits each site, and keeps every run under `<out-dir>/<site>/<run time>/` with JSON, Markdown, HTML, and PDF reports. Run folders are named by UTC time to the millisecond, so a retried run never reuses a folder. The site folder is the host without `www.`, such as `clinic.co.uk`, plus a short hash when the URL has a path or query, so different sites never share a history; the same site listed twice (for example with and without `www.`) is rejected. Reuse the same `--out-dir` each time: a site that has an earlier run is compared with the latest one that still has a readable report, and the run folder gets `comparison.md`, `comparison.html`, and a `comparison.pdf` progress report to send the client, branded with `--brand-config`; a first run, or a site whose profile or final host changed, records a new baseline. `monitor-summary-<run time>.md` and `.json` list every site's score, score change, new and fixed findings, the client PDF (the comparison, or the report on a first run), and the sites that need attention: new high-severity findings since the last run, an HTTPS certificate that fails `tls-certificate-valid`, a domain that fails `domain-expiry`, or an audit that failed. One site that fails to audit or save does not stop the others. `--fail-on-alerts` exits with code 1 when any site needs attention, so a scheduled task can notify you; `--profile`, `--brand-config`, and `--timeout` work as in single audits, and `--no-check-domain` skips the domain lookup. Every run folder also gets `client-email.md`, a plain-text draft for the client with a subject line, the score change, fixed and new issues, certificate and domain status, the top three next steps, the name of the PDF to attach, and a sign-off from `--brand-config` (`name` and `contact`). Edit it, check each point on the live site, and send it from your own mailbox. `--lighthouse` also runs Lighthouse for each site, so the summary gets a Speed column with the change since the last run and the email reports the page speed; if Lighthouse cannot run, the site is still monitored and the summary notes why. Apart from the site audits, the domain lookups, and Lighthouse, monitoring makes no network calls: reports and drafts stay in local files and nothing is uploaded or sent to anyone.
417
+
418
+ Schedule monitoring once a month:
419
+
420
+ ```bash
421
+ open-local-audit monitor --input clients.csv --out-dir monitoring --fail-on-alerts --print-schedule
422
+ ```
423
+
424
+ `--print-schedule` does not monitor anything. It writes a run script into `--out-dir` with the same options, absolute paths, and the installed Open Local Audit version pinned, so monthly comparisons keep using the same rules until you regenerate the script after an upgrade. On Windows that is `run-monitor.ps1`, which the task starts with PowerShell, so paths with spaces, `&`, `%`, apostrophes, or non-English letters work; on macOS and Linux it is `run-monitor.sh`. It then prints the `schtasks` command (one line for Command Prompt, one for PowerShell, and a warning if the task command would pass Task Scheduler's 261-character limit) or the `crontab` line that runs the script on the 1st of every month at 09:00, appending its output to `monitor.log`. It does not create the scheduled task itself. Each scheduled run downloads the pinned package from the npm registry with `npx` if it is not cached. The Windows task runs while you are signed in and opens a console window; if the computer is off or you are signed out at the scheduled time, the run waits until the next month unless you start it by hand with `schtasks /Run`. If `npx` cannot be found when the task runs, the script writes that to `monitor.log` and exits with code 1.
417
425
 
418
426
  The `google-places` provider is opt-in and requires `GOOGLE_MAPS_API_KEY`. It uses the official Places Text Search API and requests only `places.id`, `places.displayName`, and `places.websiteUri`. It does not scrape Google Maps, collect reviews/photos/ratings, send outreach, or store raw Places responses. Google Maps Platform billing and quota limits apply to API use, and the CLI prints a billing warning when this provider is selected.
419
427
 
@@ -491,7 +499,7 @@ The first implementation milestone is a CLI that accepts one URL and outputs:
491
499
  - CI-friendly exit codes with `--fail-on`.
492
500
  - Clear owner-readable recommendations.
493
501
  - Structured-data quality, address, opening-hours, service-location, CTA, and placeholder-copy checks.
494
- - Monthly client monitoring with `monitor`: re-audits, progress comparisons with the previous run, and a summary of sites that need attention.
502
+ - Monthly client monitoring with `monitor`: re-audits, progress comparisons with the previous run, client PDFs and email drafts, optional Lighthouse speed tracking, a summary of sites that need attention, and a ready-made monthly schedule.
495
503
  - Optional domain registration expiry checks with `--check-domain`.
496
504
  - robots.txt crawl checks for the audited page.
497
505
  - Trust and conversion checks for current date signals, review cues, service detail depth, brand icons, and placeholder social links.
package/dist/cli.js CHANGED
@@ -2,7 +2,8 @@
2
2
  import { Command } from "commander";
3
3
  import { existsSync } from "node:fs";
4
4
  import { mkdir, readFile, writeFile } from "node:fs/promises";
5
- import { dirname, join } from "node:path";
5
+ import { createRequire } from "node:module";
6
+ import { dirname, join, resolve } from "node:path";
6
7
  import { readBrandConfig } from "./brand.js";
7
8
  import { compareReports, loadComparisonScreenshots, readComparisonReport, renderComparisonHtml, renderComparisonJson, renderComparisonMarkdown, renderComparisonPdf } from "./compare.js";
8
9
  import { defaultDiscoveryCacheDirectory } from "./discovery-cache.js";
@@ -423,7 +424,9 @@ const monitorProgram = program
423
424
  .option("--brand-config <path>", "read report branding from a JSON file")
424
425
  .option("--timeout <ms>", "request timeout in milliseconds", "10000")
425
426
  .option("--no-check-domain", "skip the domain registration expiry lookup")
427
+ .option("--lighthouse", "also record Lighthouse scores, including page speed, for each site", false)
426
428
  .option("--fail-on-alerts", "exit with code 1 when any site needs attention", false)
429
+ .option("--print-schedule", "write a run script for these options and print how to schedule it monthly, without monitoring", false)
427
430
  .action(async () => {
428
431
  try {
429
432
  const raw = monitorProgram.opts();
@@ -431,16 +434,46 @@ const monitorProgram = program
431
434
  .pick({ profile: true, timeout: true, checkDomain: true })
432
435
  .parse({ profile: raw.profile, timeout: raw.timeout, checkDomain: raw.checkDomain });
433
436
  const brand = raw.brandConfig ? await readBrandConfig(String(raw.brandConfig)) : undefined;
437
+ if (raw.printSchedule) {
438
+ if (!existsSync(String(raw.input))) {
439
+ throw new Error(`${String(raw.input)} was not found; the scheduled run would fail every month`);
440
+ }
441
+ const { buildMonitorSchedule, writeMonitorSchedule } = await import("./monitor-schedule.js");
442
+ const outDir = resolve(String(raw.outDir));
443
+ const schedule = buildMonitorSchedule({
444
+ platform: process.platform,
445
+ cwd: process.cwd(),
446
+ outDir,
447
+ version: createRequire(import.meta.url)("../package.json").version,
448
+ args: [
449
+ "--input",
450
+ resolve(String(raw.input)),
451
+ "--out-dir",
452
+ outDir,
453
+ ...(raw.profile && options.profile ? ["--profile", options.profile] : []),
454
+ ...(raw.brandConfig ? ["--brand-config", resolve(String(raw.brandConfig))] : []),
455
+ ...(options.timeout !== 10000 ? ["--timeout", String(options.timeout)] : []),
456
+ ...(options.checkDomain ? [] : ["--no-check-domain"]),
457
+ ...(raw.lighthouse ? ["--lighthouse"] : []),
458
+ ...(raw.failOnAlerts ? ["--fail-on-alerts"] : [])
459
+ ]
460
+ });
461
+ await writeMonitorSchedule(schedule, outDir);
462
+ process.stdout.write(`${schedule.instructions}\n`);
463
+ return;
464
+ }
434
465
  const [{ auditUrl }, { readBatchInput }, { runMonitor }] = await Promise.all([
435
466
  import("./audit.js"),
436
467
  import("./batch.js"),
437
468
  import("./monitor.js")
438
469
  ]);
470
+ const { runLighthouseAudit } = raw.lighthouse ? await import("./lighthouse.js") : { runLighthouseAudit: undefined };
439
471
  const summary = await runMonitor(await readBatchInput(String(raw.input)), {
440
472
  outDir: String(raw.outDir),
441
473
  profile: options.profile,
442
474
  brand,
443
- audit: (url, profile) => auditUrl(url, { timeoutMs: options.timeout, profile, checkDomain: options.checkDomain })
475
+ audit: (url, profile) => auditUrl(url, { timeoutMs: options.timeout, profile, checkDomain: options.checkDomain }),
476
+ ...(runLighthouseAudit ? { lighthouse: (url) => runLighthouseAudit(url, { timeoutMs: options.timeout }) } : {})
444
477
  });
445
478
  const attention = summary.sites.filter((site) => site.alerts.length > 0);
446
479
  process.stdout.write(`Monitored ${summary.sites.length} site${summary.sites.length === 1 ? "" : "s"}: ${attention.length} need${attention.length === 1 ? "s" : ""} attention\n`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,8 +3,8 @@ export { readBatchInput, readInputUrls, runBatchReports, safeReportSlug } from "
3
3
  export { readBrandConfig } from "./brand.js";
4
4
  export { compareReports, loadComparisonScreenshots, readComparisonReport, renderComparisonHtml, renderComparisonJson, renderComparisonMarkdown, renderComparisonPdf } from "./compare.js";
5
5
  export type { AuditComparison, ComparisonRenderOptions, ComparisonScreenshot, ScoreChange } from "./compare.js";
6
- export { monitorRunId, renderMonitorJson, renderMonitorMarkdown, runMonitor } from "./monitor.js";
7
- export type { MonitorAlert, MonitorOptions, MonitorSiteResult, MonitorSummary } from "./monitor.js";
6
+ export { monitorRunId, renderClientEmail, renderMonitorJson, renderMonitorMarkdown, runMonitor } from "./monitor.js";
7
+ export type { ClientEmailInput, MonitorAlert, MonitorOptions, MonitorSiteResult, MonitorSummary } from "./monitor.js";
8
8
  export { extractPublicContact } from "./contact.js";
9
9
  export { detectDotnetStack } from "./dotnet-stack.js";
10
10
  export { fetchOvertureCandidates } from "./overture.js";
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ export { auditUrl, auditSnapshot } from "./audit.js";
2
2
  export { readBatchInput, readInputUrls, runBatchReports, safeReportSlug } from "./batch.js";
3
3
  export { readBrandConfig } from "./brand.js";
4
4
  export { compareReports, loadComparisonScreenshots, readComparisonReport, renderComparisonHtml, renderComparisonJson, renderComparisonMarkdown, renderComparisonPdf } from "./compare.js";
5
- export { monitorRunId, renderMonitorJson, renderMonitorMarkdown, runMonitor } from "./monitor.js";
5
+ export { monitorRunId, renderClientEmail, renderMonitorJson, renderMonitorMarkdown, runMonitor } from "./monitor.js";
6
6
  export { extractPublicContact } from "./contact.js";
7
7
  export { detectDotnetStack } from "./dotnet-stack.js";
8
8
  export { fetchOvertureCandidates } from "./overture.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export interface MonitorScheduleOptions {
2
+ platform: NodeJS.Platform;
3
+ cwd: string;
4
+ outDir: string;
5
+ args: string[];
6
+ version: string;
7
+ }
8
+ export interface MonitorScheduleFile {
9
+ path: string;
10
+ content: string;
11
+ }
12
+ export interface MonitorSchedule {
13
+ scriptPath: string;
14
+ files: MonitorScheduleFile[];
15
+ instructions: string;
16
+ }
17
+ export declare function buildMonitorSchedule(options: MonitorScheduleOptions): MonitorSchedule;
18
+ export declare function writeMonitorSchedule(schedule: MonitorSchedule, outDir: string): Promise<void>;
@@ -0,0 +1,91 @@
1
+ import { chmod, mkdir, writeFile } from "node:fs/promises";
2
+ import { posix, win32 } from "node:path";
3
+ // PowerShell also ends single-quoted strings at typographic apostrophes, so those are doubled too.
4
+ function psEscape(value) {
5
+ return value.replace(/['‘-‛]/g, "$&$&");
6
+ }
7
+ // Task Scheduler rejects a task command longer than this.
8
+ const taskCommandLimit = 261;
9
+ function psQuote(value) {
10
+ return `'${psEscape(value)}'`;
11
+ }
12
+ function shQuote(value) {
13
+ return /^[A-Za-z0-9_.:@/=-]+$/.test(value) ? value : `'${value.replace(/'/g, `'\\''`)}'`;
14
+ }
15
+ // Builds run scripts for the operating system's scheduler. On Windows the task starts PowerShell on a UTF-8 .ps1
16
+ // directly: cmd misreads batch files that contain non-ASCII paths and cannot start a .cmd whose path contains "&",
17
+ // and the .ps1 passes every path to npx as a separate argument.
18
+ export function buildMonitorSchedule(options) {
19
+ const packageSpec = `open-local-audit@${options.version}`;
20
+ if (options.platform === "win32") {
21
+ const scriptPath = win32.join(options.outDir, "run-monitor.ps1");
22
+ const log = win32.join(options.outDir, "monitor.log");
23
+ const ps1 = [
24
+ "# Written by open-local-audit monitor --print-schedule. Regenerate it after changing options or upgrading.",
25
+ "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8",
26
+ `Set-Location -LiteralPath ${psQuote(options.cwd)}`,
27
+ // Task Scheduler starts without a login shell, so say so in the log instead of exiting 0 when npx is missing.
28
+ "if (-not (Get-Command npx -ErrorAction SilentlyContinue)) {",
29
+ ` "npx was not found on PATH; install Node.js for all users or add its folder to the system PATH." | Out-File -LiteralPath ${psQuote(log)} -Append -Encoding utf8`,
30
+ " exit 1",
31
+ "}",
32
+ // Converting each line to text keeps Windows PowerShell from logging stderr lines as errors. npx's exit code,
33
+ // including --fail-on-alerts, becomes the task's result.
34
+ `& npx --yes ${packageSpec} monitor ${options.args.map(psQuote).join(" ")} 2>&1 | ForEach-Object { "$_" } | Out-File -LiteralPath ${psQuote(log)} -Append -Encoding utf8`,
35
+ "exit $LASTEXITCODE",
36
+ ""
37
+ ].join("\r\n");
38
+ const run = `powershell -NoProfile -ExecutionPolicy Bypass -File "${scriptPath}"`;
39
+ // schtasks needs the script path quoted inside the /TR value. In `"... \"path\""` the path sits outside cmd's own
40
+ // quotes, so cmd's special characters in it are escaped with ^. PowerShell 7 rewrites the inner quotes, even
41
+ // after --%, so PowerShell users hand the whole line to cmd as one single-quoted string.
42
+ const task = `schtasks /Create /SC MONTHLY /D 1 /ST 09:00 /TN "Open Local Audit monitor" /TR "${run.replace(/"/g, '\\"').replace(/[&|<>^]/g, "^$&")}"`;
43
+ return {
44
+ scriptPath,
45
+ // Windows PowerShell 5.1 reads a script without a byte order mark in the ANSI code page.
46
+ files: [{ path: scriptPath, content: `\uFEFF${ps1}` }],
47
+ instructions: [
48
+ `Wrote ${scriptPath}`,
49
+ ...(run.length > taskCommandLimit
50
+ ? [`Warning: Task Scheduler accepts at most ${taskCommandLimit} characters for the task command, and this one has ${run.length}. Use a shorter --out-dir path.`]
51
+ : []),
52
+ "Schedule it on the 1st of every month at 09:00 by running one of these once.",
53
+ "In Command Prompt:",
54
+ task,
55
+ "In PowerShell:",
56
+ `cmd /c '${psEscape(task)}'`,
57
+ `Each run appends its output to ${log}. The task runs while you are signed in to Windows and opens a console window; if the computer is off or you are signed out at that time, the run waits until the next month, or start one by hand with: schtasks /Run /TN "Open Local Audit monitor"`,
58
+ `Remove the task with: schtasks /Delete /TN "Open Local Audit monitor"`
59
+ ].join("\n")
60
+ };
61
+ }
62
+ const scriptPath = posix.join(options.outDir, "run-monitor.sh");
63
+ const log = posix.join(options.outDir, "monitor.log");
64
+ const command = ["npx", "--yes", packageSpec, "monitor", ...options.args];
65
+ return {
66
+ scriptPath,
67
+ files: [
68
+ {
69
+ path: scriptPath,
70
+ content: ["#!/bin/sh", `cd ${shQuote(options.cwd)} || exit 1`, `${command.map(shQuote).join(" ")} >> ${shQuote(log)} 2>&1`, ""].join("\n")
71
+ }
72
+ ],
73
+ instructions: [
74
+ `Wrote ${scriptPath}`,
75
+ "Schedule it on the 1st of every month at 09:00 by adding this line with crontab -e:",
76
+ // cron reads an unescaped % as a newline.
77
+ `0 9 1 * * ${shQuote(scriptPath).replace(/%/g, "\\%")}`,
78
+ `cron starts with a short PATH; if npx is not found there, add your Node.js directory to PATH at the top of the script. Each run appends its output to ${log}.`
79
+ ].join("\n")
80
+ };
81
+ }
82
+ export async function writeMonitorSchedule(schedule, outDir) {
83
+ await mkdir(outDir, { recursive: true });
84
+ for (const file of schedule.files) {
85
+ await writeFile(file.path, file.content);
86
+ if (file.path.endsWith(".sh")) {
87
+ await chmod(file.path, 0o755);
88
+ }
89
+ }
90
+ }
91
+ //# sourceMappingURL=monitor-schedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor-schedule.js","sourceRoot":"","sources":["../src/monitor-schedule.ts"],"names":[],"mappings":"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"}
package/dist/monitor.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  import type { BatchInputEntry } from "./batch.js";
2
- import type { AuditProfile, AuditReport, ReportBrandConfig } from "./types.js";
2
+ import type { AuditComparison } from "./compare.js";
3
+ import type { AuditProfile, AuditReport, LighthouseSummary, ReportBrandConfig } from "./types.js";
3
4
  export interface MonitorOptions {
4
5
  outDir: string;
5
6
  audit: (url: string, profile: AuditProfile) => Promise<AuditReport>;
6
7
  profile?: AuditProfile;
7
8
  brand?: ReportBrandConfig;
8
9
  now?: Date;
10
+ lighthouse?: (url: string) => Promise<LighthouseSummary>;
9
11
  }
10
12
  export interface MonitorAlert {
11
13
  kind: "new-high" | "certificate" | "domain" | "failed";
@@ -19,10 +21,13 @@ export interface MonitorSiteResult {
19
21
  reportDir?: string;
20
22
  comparisonPath?: string;
21
23
  pdfPath?: string;
24
+ emailPath?: string;
22
25
  previousRunId?: string;
23
26
  score?: number;
24
27
  previousScore?: number;
25
28
  scoreChange?: number;
29
+ performance?: number;
30
+ previousPerformance?: number;
26
31
  newFindings: number;
27
32
  fixedFindings: number;
28
33
  alerts: MonitorAlert[];
@@ -42,6 +47,17 @@ export declare function monitorSiteFolder(rawUrl: string): {
42
47
  folder: string;
43
48
  };
44
49
  export declare function monitorRunId(date: Date): string;
50
+ export interface ClientEmailInput {
51
+ entry: BatchInputEntry;
52
+ report: AuditReport;
53
+ runDate: Date;
54
+ pdfFile: string;
55
+ brand?: ReportBrandConfig;
56
+ comparison?: AuditComparison;
57
+ previousPerformance?: number;
58
+ newBaseline?: boolean;
59
+ }
60
+ export declare function renderClientEmail(input: ClientEmailInput): string;
45
61
  export declare function runMonitor(entries: BatchInputEntry[], options: MonitorOptions): Promise<MonitorSummary>;
46
62
  export declare function renderMonitorJson(summary: MonitorSummary): string;
47
63
  export declare function renderMonitorMarkdown(summary: MonitorSummary): string;
package/dist/monitor.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { mkdir, readdir, writeFile } from "node:fs/promises";
3
- import { join, relative, sep } from "node:path";
3
+ import { basename, join, relative, sep } from "node:path";
4
4
  import { compareReports, readComparisonReport, renderComparisonHtml, renderComparisonMarkdown, renderComparisonPdf } from "./compare.js";
5
5
  import { writeReportOutputs } from "./output.js";
6
- import { escapeCell, overallScore } from "./reporters.js";
6
+ import { escapeCell, overallScore, severityRank } from "./reporters.js";
7
7
  // Run folders are named by UTC time, so sorting their names sorts them by date.
8
8
  // v0.80.0 named runs to the second; later versions add milliseconds so that a retried run never reuses a folder.
9
9
  const runIdPattern = /^\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}(?:-\d{3})?Z$/;
@@ -60,11 +60,73 @@ async function previousReport(siteDir, runId) {
60
60
  }
61
61
  return undefined;
62
62
  }
63
+ function longDate(value) {
64
+ return new Date(value).toLocaleDateString("en-GB", { day: "numeric", month: "long", year: "numeric" });
65
+ }
66
+ function change(value) {
67
+ return value > 0 ? `up ${value}` : value < 0 ? `down ${-value}` : "no change";
68
+ }
69
+ // A plain-text draft the operator edits and sends from their own mailbox. Only facts from the audit go in.
70
+ export function renderClientEmail(input) {
71
+ const { entry, report, comparison } = input;
72
+ const name = entry.label ?? new URL(report.finalUrl).hostname.replace(/^www\./, "");
73
+ const score = overallScore(report);
74
+ const performance = report.lighthouse?.categories.performance;
75
+ const titles = (findings) => findings.map((finding) => `- ${finding.title}`);
76
+ const evidence = (id) => report.findings.find((finding) => finding.id === id)?.evidence[0]?.value;
77
+ const certificate = evidence("tls-certificate-valid");
78
+ const domain = evidence("domain-expiry");
79
+ const nextSteps = [...report.findings]
80
+ .filter((finding) => finding.severity !== "info")
81
+ .sort((left, right) => severityRank(left) - severityRank(right))
82
+ .slice(0, 3)
83
+ .map((finding, index) => `${index + 1}. ${finding.title}: ${finding.recommendation}`);
84
+ return [
85
+ "<!-- Draft written by Open Local Audit. Check each point on the live site before sending; nothing has been sent. -->",
86
+ "",
87
+ `Subject: Website check for ${name}, ${input.runDate.toLocaleDateString("en-GB", { month: "long", year: "numeric" })}`,
88
+ "",
89
+ "Hi,",
90
+ "",
91
+ `Here is this month's check of ${report.finalUrl}.`,
92
+ "",
93
+ comparison
94
+ ? `Overall score: ${score}/100, ${change(comparison.overall.change)} since the last check on ${longDate(comparison.beforeScannedAt)}.`
95
+ : input.newBaseline
96
+ ? `Overall score: ${score}/100. Monitoring starts again from this check, so next month's email will show what changed.`
97
+ : `Overall score: ${score}/100. This is the first check, so next month's email will show what changed.`,
98
+ ...(performance === undefined
99
+ ? []
100
+ : [
101
+ `Page speed (Lighthouse performance): ${performance}/100${input.previousPerformance === undefined ? "" : `, ${change(performance - input.previousPerformance)} since the last check`}.`
102
+ ]),
103
+ ...(comparison
104
+ ? comparison.fixed.length === 0 && comparison.introduced.length === 0
105
+ ? ["", "No issues were fixed or newly found since the last check."]
106
+ : [
107
+ ...(comparison.fixed.length > 0 ? ["", "Fixed since the last check:", ...titles(comparison.fixed)] : []),
108
+ ...(comparison.introduced.length > 0 ? ["", "New since the last check:", ...titles(comparison.introduced)] : [])
109
+ ]
110
+ : []),
111
+ ...(certificate || domain
112
+ ? ["", ...(certificate ? [`HTTPS certificate: ${certificate}`] : []), ...(domain ? [`Domain registration: ${domain}`] : [])]
113
+ : []),
114
+ ...(nextSteps.length > 0 ? ["", "What I recommend next:", ...nextSteps] : ["", "The checks found nothing that needs fixing right now."]),
115
+ "",
116
+ `The full report is attached (${input.pdfFile}).`,
117
+ "",
118
+ "Best regards,",
119
+ ...(input.brand?.name ? [input.brand.name] : []),
120
+ ...(input.brand?.contact ? [input.brand.contact] : []),
121
+ ""
122
+ ].join("\n");
123
+ }
63
124
  async function monitorSite(entry, slug, runId, options) {
64
125
  const base = { url: entry.url, ...(entry.label ? { label: entry.label } : {}), slug, newFindings: 0, fixedFindings: 0 };
65
126
  const profile = entry.profile ?? options.profile ?? "generic";
66
127
  const siteDir = join(options.outDir, slug);
67
128
  const reportDir = join(siteDir, runId);
129
+ const runDate = options.now ?? new Date();
68
130
  let report;
69
131
  try {
70
132
  report = await options.audit(entry.url, profile);
@@ -72,28 +134,49 @@ async function monitorSite(entry, slug, runId, options) {
72
134
  catch (error) {
73
135
  return { ...base, status: "failed", alerts: [{ kind: "failed", message: `Audit failed: ${message(error)}` }] };
74
136
  }
137
+ let lighthouseNote;
138
+ if (options.lighthouse) {
139
+ try {
140
+ report.lighthouse = await options.lighthouse(report.finalUrl);
141
+ if (report.lighthouse.categories.performance === undefined) {
142
+ lighthouseNote = "Lighthouse returned no performance score";
143
+ }
144
+ }
145
+ catch (error) {
146
+ lighthouseNote = `Lighthouse failed: ${message(error).replace(/^Lighthouse audit failed:\s*/i, "")}`;
147
+ }
148
+ }
75
149
  await writeReportOutputs(report, { format: "all", outDir: reportDir, brand: options.brand });
76
150
  const [reportPdf] = await writeReportOutputs(report, { format: "pdf", outDir: reportDir, brand: options.brand });
77
151
  const reportPdfPath = reportPdf.path;
152
+ const emailPath = join(reportDir, "client-email.md");
153
+ const performance = report.lighthouse?.categories.performance;
78
154
  const score = overallScore(report);
79
155
  const alerts = currentAlerts(report);
80
156
  const previous = await previousReport(siteDir, runId);
81
- if (!previous) {
82
- return { ...base, status: "baseline", reportDir, pdfPath: reportPdfPath, score, alerts, note: "First run: baseline recorded" };
83
- }
84
- const previousRunId = previous.runId;
85
157
  let comparison;
86
- try {
87
- comparison = compareReports(previous.report, report);
158
+ let baselineNote = "First run: baseline recorded";
159
+ if (previous) {
160
+ try {
161
+ comparison = compareReports(previous.report, report);
162
+ }
163
+ catch (error) {
164
+ baselineNote = `Not compared with ${previous.runId}: ${message(error)}; new baseline recorded`;
165
+ }
88
166
  }
89
- catch (error) {
90
- return { ...base, status: "baseline", reportDir, pdfPath: reportPdfPath, score, alerts, note: `Not compared with ${previousRunId}: ${message(error)}; new baseline recorded` };
167
+ const previousPerformance = comparison ? previous?.report.lighthouse?.categories.performance : undefined;
168
+ const speed = { ...(performance === undefined ? {} : { performance }), ...(previousPerformance === undefined ? {} : { previousPerformance }) };
169
+ if (!comparison || !previous) {
170
+ await writeFile(emailPath, renderClientEmail({ entry, report, runDate, pdfFile: basename(reportPdfPath ?? "open-local-audit-report.pdf"), brand: options.brand, newBaseline: Boolean(previous) }));
171
+ const note = [baselineNote, lighthouseNote].filter(Boolean).join("; ");
172
+ return { ...base, status: "baseline", reportDir, pdfPath: reportPdfPath, emailPath, score, ...speed, alerts, note };
91
173
  }
92
174
  const comparisonPath = join(reportDir, "comparison.html");
93
175
  await writeFile(join(reportDir, "comparison.md"), renderComparisonMarkdown(comparison, { brand: options.brand }));
94
176
  await writeFile(comparisonPath, renderComparisonHtml(comparison, { brand: options.brand }));
95
177
  const pdfPath = join(reportDir, "comparison.pdf");
96
178
  await writeFile(pdfPath, await renderComparisonPdf(comparison, { brand: options.brand }));
179
+ await writeFile(emailPath, renderClientEmail({ entry, report, runDate, pdfFile: "comparison.pdf", brand: options.brand, comparison, previousPerformance }));
97
180
  // Certificate and domain problems already have their own alert on every run.
98
181
  const newHigh = comparison.introduced
99
182
  .filter((finding) => finding.severity === "high" && !["tls-certificate-valid", "domain-expiry"].includes(finding.id))
@@ -104,13 +187,16 @@ async function monitorSite(entry, slug, runId, options) {
104
187
  reportDir,
105
188
  comparisonPath,
106
189
  pdfPath,
107
- previousRunId,
190
+ emailPath,
191
+ previousRunId: previous.runId,
108
192
  score,
109
193
  previousScore: comparison.overall.before,
110
194
  scoreChange: comparison.overall.change,
195
+ ...speed,
111
196
  newFindings: comparison.introduced.length,
112
197
  fixedFindings: comparison.fixed.length,
113
- alerts: [...newHigh, ...alerts]
198
+ alerts: [...newHigh, ...alerts],
199
+ ...(lighthouseNote ? { note: lighthouseNote } : {})
114
200
  };
115
201
  }
116
202
  // Re-audits every site, compares each one with its latest earlier run in the same output folder, and writes a summary.
@@ -166,7 +252,8 @@ export function renderMonitorJson(summary) {
166
252
  ...site,
167
253
  reportDir: site.reportDir ? relativePath(summary, site.reportDir) : undefined,
168
254
  comparisonPath: site.comparisonPath ? relativePath(summary, site.comparisonPath) : undefined,
169
- pdfPath: site.pdfPath ? relativePath(summary, site.pdfPath) : undefined
255
+ pdfPath: site.pdfPath ? relativePath(summary, site.pdfPath) : undefined,
256
+ emailPath: site.emailPath ? relativePath(summary, site.emailPath) : undefined
170
257
  }));
171
258
  return `${JSON.stringify({ runId: summary.runId, sites }, null, 2)}\n`;
172
259
  }
@@ -175,16 +262,28 @@ export function renderMonitorMarkdown(summary) {
175
262
  const attention = summary.sites.filter((site) => site.alerts.length > 0);
176
263
  const plural = (value, word) => `${value} ${word}${value === 1 ? "" : "s"}`;
177
264
  const signed = (value) => (value > 0 ? `+${value}` : `${value}`);
265
+ // The speed column appears only when the run used Lighthouse.
266
+ const showSpeed = summary.sites.some((site) => site.performance !== undefined);
267
+ const speed = (site) => site.performance === undefined
268
+ ? ""
269
+ : `${site.performance}/100${site.previousPerformance === undefined ? "" : ` (${signed(site.performance - site.previousPerformance)})`}`;
178
270
  const rows = summary.sites.map((site) => [
179
271
  siteName(site),
180
- site.status === "compared" ? `Compared with ${site.previousRunId}` : site.status === "baseline" ? (site.note ?? "Baseline") : "Failed",
272
+ site.status === "compared"
273
+ ? `Compared with ${site.previousRunId}${site.note ? `; ${site.note}` : ""}`
274
+ : site.status === "baseline"
275
+ ? (site.note ?? "Baseline")
276
+ : "Failed",
181
277
  site.score === undefined ? "" : `${site.score}/100`,
182
278
  site.scoreChange === undefined ? "" : signed(site.scoreChange),
279
+ ...(showSpeed ? [speed(site)] : []),
183
280
  site.status === "compared" ? `${site.newFindings}` : "",
184
281
  site.status === "compared" ? `${site.fixedFindings}` : "",
185
282
  relativePath(summary, site.comparisonPath ?? (site.reportDir ? join(site.reportDir, "open-local-audit-report.html") : undefined)),
186
- relativePath(summary, site.pdfPath)
283
+ relativePath(summary, site.pdfPath),
284
+ relativePath(summary, site.emailPath)
187
285
  ]);
286
+ const header = ["Site", "Status", "Score", "Change", ...(showSpeed ? ["Speed"] : []), "New", "Fixed", "Report", "Client PDF", "Email draft"];
188
287
  return [
189
288
  "# Website Monitoring Summary",
190
289
  "",
@@ -198,11 +297,11 @@ export function renderMonitorMarkdown(summary) {
198
297
  "",
199
298
  "## Sites",
200
299
  "",
201
- "| Site | Status | Score | Change | New | Fixed | Report | Client PDF |",
202
- "| --- | --- | --- | --- | --- | --- | --- | --- |",
300
+ `| ${header.join(" | ")} |`,
301
+ `| ${header.map(() => "---").join(" | ")} |`,
203
302
  ...rows.map((row) => `| ${row.map(escapeCell).join(" | ")} |`),
204
303
  "",
205
- "Reports and comparisons stay on this computer; nothing has been sent.",
304
+ "Reports, comparisons, and email drafts stay on this computer; nothing has been sent.",
206
305
  ""
207
306
  ].join("\n");
208
307
  }
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-local-audit",
3
- "version": "0.81.0",
3
+ "version": "0.82.0",
4
4
  "description": "Open-source website and local presence auditor for small businesses.",
5
5
  "license": "MIT",
6
6
  "type": "module",