import fs from "node:fs"; import { pathToFileURL } from "node:url"; import type { HookSource } from "./types.js";
/** *Sourceswhosehandlerfilesneverchangebetween`npminstall`runs. *Importsfromthesesourcesskipcachebustingentirely.
*/ const IMMUTABLE_SOURCES: ReadonlySet<HookSource> = new Set(["openclaw-bundled"]);
export function buildImportUrl(handlerPath: string, source: HookSource): string { const base = pathToFileURL(handlerPath).href;
if (IMMUTABLE_SOURCES.has(source)) { return base;
}
// Use file metadata so the cache key only changes when the file changes try { const { mtimeMs, size } = fs.statSync(handlerPath); return `${base}?t=${mtimeMs}&s=${size}`;
} catch { // If stat fails (unlikely), fall back to Date.now() to guarantee freshness return `${base}?t=${Date.now()}`;
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.