import fs from "node:fs"; import { isPathInside as isBoundaryPathInside } from "../infra/path-guards.js"; export function isPathInside(baseDir: string, targetPath: string): boolean { return isBoundaryPathInside(baseDir, targetPath); } export function safeRealpathSync(targetPath: string, cache?: Map): string | null { const cached = cache?.get(targetPath); if (cached) { return cached; } try { const resolved = fs.realpathSync(targetPath); cache?.set(targetPath, resolved); return resolved; } catch { return null; } } export function safeStatSync(targetPath: string): fs.Stats | null { try { return fs.statSync(targetPath); } catch { return null; } } export function formatPosixMode(mode: number): string { return (mode & 0o777).toString(8).padStart(3, "0"); }