src/lib/server/findRepoRoot.ts (12 lines of code) (raw):
import { existsSync } from "fs";
import { join, dirname } from "path";
export function findRepoRoot(startPath: string): string {
let currentPath = startPath;
while (currentPath !== "/") {
if (existsSync(join(currentPath, "package.json"))) {
return currentPath;
}
currentPath = dirname(currentPath);
}
throw new Error("Could not find repository root (no package.json found)");
}