namespace Utils { const { join, resolve, dirname } = require("path") as typeof import("path"); const { existsSync } = require("fs") as typeof import("fs"); // search directories upward to avoid hard-wired paths based on the // build tree (same as scripts/build/findUpDir.js) export function findUpFile(name: string): string { let dir = __dirname; while (true) { const fullPath = join(dir, name); if (existsSync(fullPath)) return fullPath; const up = resolve(dir, ".."); if (up === dir) return name; // it'll fail anyway dir = up; } } export const findUpRoot: { (): string; cached?: string; } = () => findUpRoot.cached ||= dirname(findUpFile("Gulpfile.mjs")); }