@dreamdata_io/verify-tracking 0.1.1 → 0.1.3
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/dist/cli.js +24 -0
- package/dist/cli.js.map +1 -1
- package/dist/config/update-check.js +119 -0
- package/dist/config/update-check.js.map +1 -0
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/scripts/install.sh +78 -7
package/dist/cli.js
CHANGED
|
@@ -4,6 +4,7 @@ import * as clack from "@clack/prompts";
|
|
|
4
4
|
import { resolveCliPresetTemplate } from "./ai/cli-presets.js";
|
|
5
5
|
import { DEFAULT_AI_TIMEOUT_MS, DEFAULT_TIMEOUT_MS, isPhaseName, resolveAiTimeoutMs, resolveApiKey, resolveBackendType, resolveBaseUrl, resolveCliCmd, resolveCliPreset, resolveModel, resolvePhases, resolveTrackingHosts, } from "./config/env.js";
|
|
6
6
|
import { browserPreflightError, claudeAuthPreflightError, cliBackendPreflightError } from "./config/preflight.js";
|
|
7
|
+
import { updateNotice } from "./config/update-check.js";
|
|
7
8
|
import { USER_CONFIG_PATH, loadUserConfig } from "./config/user-config.js";
|
|
8
9
|
import { isValidHttpUrl, promptForUrl } from "./interactive/prompt.js";
|
|
9
10
|
import { renderPhaseDetail, renderTextReport } from "./report/render.js";
|
|
@@ -117,6 +118,9 @@ Consent states
|
|
|
117
118
|
than a hosted one for the same prompt.
|
|
118
119
|
--debug Verbose logging (never logs secrets)
|
|
119
120
|
--help Show this help
|
|
121
|
+
|
|
122
|
+
Checks npm once a day for a newer release and prints a notice at the end of
|
|
123
|
+
the run if one exists. Set VERIFY_TRACKING_NO_UPDATE_CHECK=1 to disable.
|
|
120
124
|
`;
|
|
121
125
|
function parsePhaseList(raw) {
|
|
122
126
|
const names = (raw ?? "").split(",").map((name) => name.trim()).filter(Boolean);
|
|
@@ -265,8 +269,15 @@ async function main() {
|
|
|
265
269
|
// answer on a machine with no browser installed — the preflight is about the
|
|
266
270
|
// run, not about printing text.
|
|
267
271
|
const flags = parseArgs(process.argv.slice(2));
|
|
272
|
+
// Started here rather than awaited here: a registry lookup can take up to
|
|
273
|
+
// 1.5s, and starting it before the minutes of browser and AI work means it
|
|
274
|
+
// is almost always already settled by the time a run finishes and this is
|
|
275
|
+
// printed. Started after parseArgs, not before, so --help/--version/an
|
|
276
|
+
// invalid flag — all of which exit inside parseArgs — never trigger it.
|
|
277
|
+
const updateCheck = updateNotice();
|
|
268
278
|
if (flags.dashboard) {
|
|
269
279
|
await refreshDashboard(flags, { announceEmpty: true });
|
|
280
|
+
await printUpdateNotice(updateCheck);
|
|
270
281
|
process.exit(0);
|
|
271
282
|
}
|
|
272
283
|
const preflight = browserPreflightError();
|
|
@@ -360,8 +371,21 @@ async function main() {
|
|
|
360
371
|
// and a dashboard that could not be written must not change the verdict.
|
|
361
372
|
await refreshDashboard(flags, { announceEmpty: false });
|
|
362
373
|
}
|
|
374
|
+
await printUpdateNotice(updateCheck);
|
|
363
375
|
process.exit(result.overallPass ? 0 : 1);
|
|
364
376
|
}
|
|
377
|
+
/**
|
|
378
|
+
* Prints the update notice, if any, to stderr — never stdout, which for
|
|
379
|
+
* `--format json`/`markdown` is a machine-readable payload a trailing line of
|
|
380
|
+
* prose would corrupt.
|
|
381
|
+
*/
|
|
382
|
+
async function printUpdateNotice(pending) {
|
|
383
|
+
const notice = await pending;
|
|
384
|
+
if (!notice)
|
|
385
|
+
return;
|
|
386
|
+
console.error("");
|
|
387
|
+
console.error(notice);
|
|
388
|
+
}
|
|
365
389
|
/**
|
|
366
390
|
* Rebuild the single-file dashboard from whatever is saved, and hand it to a
|
|
367
391
|
* browser unless asked not to. Both callers want the path printed; only
|
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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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { INSTALLER_ONE_LINER } from "./preflight.js";
|
|
5
|
+
import { VERSION } from "../version.js";
|
|
6
|
+
const PACKAGE_NAME = "@dreamdata_io/verify-tracking";
|
|
7
|
+
const REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME}/latest`;
|
|
8
|
+
/**
|
|
9
|
+
* Where the last lookup is cached, so a run does not hit the registry every
|
|
10
|
+
* time — most runs are minutes apart and the published version does not
|
|
11
|
+
* change that often.
|
|
12
|
+
*/
|
|
13
|
+
export const UPDATE_CHECK_CACHE_PATH = join(homedir(), ".config", "verify-tracking", "update-check.json");
|
|
14
|
+
const CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000;
|
|
15
|
+
const FETCH_TIMEOUT_MS = 1500;
|
|
16
|
+
function readCache(path) {
|
|
17
|
+
try {
|
|
18
|
+
if (!existsSync(path))
|
|
19
|
+
return null;
|
|
20
|
+
const parsed = JSON.parse(readFileSync(path, "utf8"));
|
|
21
|
+
if (typeof parsed?.checkedAt === "number" && typeof parsed?.latest === "string")
|
|
22
|
+
return parsed;
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function writeCache(path, cache) {
|
|
30
|
+
try {
|
|
31
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
32
|
+
writeFileSync(path, JSON.stringify(cache), "utf8");
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// Caching is an optimization, not a requirement — a read-only home
|
|
36
|
+
// directory must not break the check, only make it run every time.
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** Parses "1.2.3" (ignoring any pre-release/build suffix) into its numeric parts. */
|
|
40
|
+
function parseVersion(raw) {
|
|
41
|
+
const match = /^(\d+)\.(\d+)\.(\d+)/.exec(raw.trim());
|
|
42
|
+
if (!match)
|
|
43
|
+
return null;
|
|
44
|
+
return [Number(match[1]), Number(match[2]), Number(match[3])];
|
|
45
|
+
}
|
|
46
|
+
/** Whether `latest` is strictly newer than `current`, by major.minor.patch. */
|
|
47
|
+
export function isNewerVersion(current, latest) {
|
|
48
|
+
const a = parseVersion(current);
|
|
49
|
+
const b = parseVersion(latest);
|
|
50
|
+
if (!a || !b)
|
|
51
|
+
return false;
|
|
52
|
+
for (let i = 0; i < 3; i++) {
|
|
53
|
+
if (b[i] !== a[i])
|
|
54
|
+
return b[i] > a[i];
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
async function fetchLatestVersion(timeoutMs) {
|
|
59
|
+
const controller = new AbortController();
|
|
60
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
61
|
+
try {
|
|
62
|
+
const res = await fetch(REGISTRY_URL, { signal: controller.signal });
|
|
63
|
+
if (!res.ok)
|
|
64
|
+
return null;
|
|
65
|
+
const body = (await res.json());
|
|
66
|
+
return typeof body.version === "string" ? body.version : null;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
// Offline, registry unreachable, or timed out — this is a courtesy
|
|
70
|
+
// lookup, and none of those should be able to fail or slow down a run.
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
clearTimeout(timer);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The latest published version, from a cached lookup that is at most a day
|
|
79
|
+
* old. Falls back to a stale cache entry (rather than null) when a fresh
|
|
80
|
+
* lookup fails, so a genuinely offline stretch does not read as "up to
|
|
81
|
+
* date" the moment the network drops.
|
|
82
|
+
*/
|
|
83
|
+
export async function fetchLatestVersionCached(options = {}) {
|
|
84
|
+
const cachePath = options.cachePath ?? UPDATE_CHECK_CACHE_PATH;
|
|
85
|
+
const intervalMs = options.intervalMs ?? CHECK_INTERVAL_MS;
|
|
86
|
+
const cached = readCache(cachePath);
|
|
87
|
+
if (cached && Date.now() - cached.checkedAt < intervalMs)
|
|
88
|
+
return cached.latest;
|
|
89
|
+
const latest = await fetchLatestVersion(options.timeoutMs ?? FETCH_TIMEOUT_MS);
|
|
90
|
+
if (latest) {
|
|
91
|
+
writeCache(cachePath, { checkedAt: Date.now(), latest });
|
|
92
|
+
return latest;
|
|
93
|
+
}
|
|
94
|
+
return cached?.latest ?? null;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The notice to print when a newer version is on the registry, or null when
|
|
98
|
+
* there is nothing to say — up to date, opted out, or the lookup could not
|
|
99
|
+
* complete. Never throws.
|
|
100
|
+
*/
|
|
101
|
+
export async function updateNotice(options = {}) {
|
|
102
|
+
if (process.env.VERIFY_TRACKING_NO_UPDATE_CHECK)
|
|
103
|
+
return null;
|
|
104
|
+
const currentVersion = options.currentVersion ?? VERSION;
|
|
105
|
+
let latest;
|
|
106
|
+
try {
|
|
107
|
+
latest = await fetchLatestVersionCached(options);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
if (!latest || !isNewerVersion(currentVersion, latest))
|
|
113
|
+
return null;
|
|
114
|
+
return [
|
|
115
|
+
`A new version of verify-tracking is available: ${currentVersion} → ${latest}.`,
|
|
116
|
+
`Update with: ${INSTALLER_ONE_LINER}`,
|
|
117
|
+
].join("\n");
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=update-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/config/update-check.ts"],"names":[],"mappings":"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"}
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dreamdata_io/verify-tracking",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Scrapes a live website with Playwright and asks an AI model whether the Dreamdata Analytics Script is correctly installed.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
package/scripts/install.sh
CHANGED
|
@@ -327,22 +327,93 @@ else
|
|
|
327
327
|
fi
|
|
328
328
|
|
|
329
329
|
# ---------------------------------------------------------------------------
|
|
330
|
-
#
|
|
330
|
+
# 7. PATH
|
|
331
331
|
# ---------------------------------------------------------------------------
|
|
332
332
|
|
|
333
|
-
|
|
334
|
-
|
|
333
|
+
# Appended for the operator rather than printed for them to paste. The people
|
|
334
|
+
# this installer is for do not know what a shell profile is, and "now edit
|
|
335
|
+
# ~/.zshrc" is the second place a handover stops.
|
|
336
|
+
#
|
|
337
|
+
# Every profile that already exists gets the line, not just the one implied by
|
|
338
|
+
# $SHELL: a macOS login shell reads ~/.zprofile, an interactive one ~/.zshrc,
|
|
339
|
+
# and bash reads ~/.bash_profile rather than ~/.bashrc — guessing a single file
|
|
340
|
+
# is how the line lands somewhere that is never sourced. A file that does not
|
|
341
|
+
# exist is left uncreated, so this never conjures a profile for a shell the
|
|
342
|
+
# machine does not use.
|
|
343
|
+
#
|
|
344
|
+
# What it cannot do is take effect in the terminal that ran it: this script is
|
|
345
|
+
# a child process, and no child can alter its parent's environment. So the
|
|
346
|
+
# closing lines send the operator to a new terminal window rather than letting
|
|
347
|
+
# them discover that on a `command not found`.
|
|
348
|
+
PATH_LINE="export PATH=\"$BIN_DIR:\$PATH\""
|
|
349
|
+
# BIN_DIR is a path, and a path is not a regex: an unescaped `.` in `.local`
|
|
350
|
+
# would match any character, so a near-miss line could read as a hit. The class
|
|
351
|
+
# is the full ERE metacharacter set, not just the BRE one — grep runs with -E,
|
|
352
|
+
# and a home directory is free to contain a `+` or a `(`.
|
|
353
|
+
bin_dir_re="$(printf '%s' "$BIN_DIR" | sed 's/[].[^$*+?(){}|\/\\]/\\&/g')"
|
|
354
|
+
|
|
355
|
+
add_to_profile() {
|
|
356
|
+
profile="$1"
|
|
357
|
+
[ -f "$profile" ] || return 0
|
|
358
|
+
# Anchored, and only on an uncommented line: a commented-out or
|
|
359
|
+
# differently-worded mention must not read as "already configured". BIN_DIR
|
|
360
|
+
# has to end a PATH component too — as a bare substring, `~/.local/bin` is
|
|
361
|
+
# also inside `~/.local/bin2`, and a match there would skip a profile that
|
|
362
|
+
# never had the line.
|
|
363
|
+
if grep -Eq "^[[:space:]]*export[[:space:]]+PATH=.*${bin_dir_re}([:\"']|\$)" "$profile"; then
|
|
364
|
+
say "already in $profile"
|
|
365
|
+
return 0
|
|
366
|
+
fi
|
|
367
|
+
# A profile that cannot be written to is a PATH the operator has to set by
|
|
368
|
+
# hand, not a failed install — under `set -e` an unguarded append would take
|
|
369
|
+
# the whole run down over a read-only home.
|
|
370
|
+
if printf '\n# Added by the verify-tracking installer\n%s\n' "$PATH_LINE" >> "$profile" 2>/dev/null; then
|
|
371
|
+
say "added to $profile"
|
|
372
|
+
else
|
|
373
|
+
say "could not write $profile. Add this line to it yourself:"
|
|
374
|
+
printf '\n %s\n' "$PATH_LINE"
|
|
375
|
+
fi
|
|
376
|
+
}
|
|
335
377
|
|
|
378
|
+
step "PATH"
|
|
336
379
|
case ":${PATH}:" in
|
|
337
|
-
*":$BIN_DIR:"*)
|
|
380
|
+
*":$BIN_DIR:"*)
|
|
381
|
+
say "$BIN_DIR is already on your PATH"
|
|
382
|
+
;;
|
|
338
383
|
*)
|
|
339
|
-
|
|
340
|
-
|
|
384
|
+
for profile in "$HOME/.zshrc" "$HOME/.zprofile" "$HOME/.bashrc" "$HOME/.bash_profile"; do
|
|
385
|
+
add_to_profile "$profile"
|
|
386
|
+
done
|
|
387
|
+
# Nothing to append to means nothing was appended — print the line rather
|
|
388
|
+
# than claim a PATH change that did not happen.
|
|
389
|
+
if [ -f "$HOME/.zshrc" ] || [ -f "$HOME/.zprofile" ] \
|
|
390
|
+
|| [ -f "$HOME/.bashrc" ] || [ -f "$HOME/.bash_profile" ]; then
|
|
391
|
+
:
|
|
392
|
+
else
|
|
393
|
+
say "no shell profile found. Add this line to yours:"
|
|
394
|
+
printf '\n %s\n' "$PATH_LINE"
|
|
395
|
+
fi
|
|
341
396
|
;;
|
|
342
397
|
esac
|
|
343
398
|
|
|
399
|
+
# ---------------------------------------------------------------------------
|
|
400
|
+
# Done
|
|
401
|
+
# ---------------------------------------------------------------------------
|
|
402
|
+
|
|
403
|
+
printf '\n==> Installed\n'
|
|
404
|
+
"$BIN_DIR/verify-tracking" --version 2>/dev/null | sed 's/^/ /' || true
|
|
405
|
+
|
|
344
406
|
printf '\n Reports and dashboard:\n\n %s\n' "$REPORTS_HOME"
|
|
345
|
-
printf '\n Try it:\n\n verify-tracking --slug dreamdata_io --url https://dreamdata.io/\n'
|
|
407
|
+
printf '\n Try it, from a new terminal window:\n\n verify-tracking --slug dreamdata_io --url https://dreamdata.io/\n'
|
|
408
|
+
|
|
409
|
+
# Claimed only where a browser can actually appear: --dashboard skips opening
|
|
410
|
+
# one on a machine with nobody in front of it, and an installer that announces
|
|
411
|
+
# a window that never arrives sends the operator looking for it.
|
|
412
|
+
if [ -r /dev/tty ]; then
|
|
413
|
+
printf '\n A browser window is opening with your dashboard. Type an account slug\n'
|
|
414
|
+
printf ' and a URL there to build your command, then open a new terminal window\n'
|
|
415
|
+
printf ' and run it.\n'
|
|
416
|
+
fi
|
|
346
417
|
# The reports folder is the operator's data and is deliberately left out: an
|
|
347
418
|
# `rm -rf` line someone pastes without reading must not take their work with it.
|
|
348
419
|
printf '\n Uninstall (your reports folder is left in place):\n\n rm -rf %s %s/verify-tracking %s/verify-tracking-mcp\n\n' "$PREFIX" "$BIN_DIR" "$BIN_DIR"
|