import path from "node:path"; export function isPathInside(basePath: string, candidatePath: string): boolean { const base = path.resolve(basePath); const candidate = path.resolve(candidatePath); const rel = path.relative(base, candidate); return rel === "" || (!rel.startsWith(`..${path.sep}`) && rel !== ".." && !path.isAbsolute(rel)); } export function extensionUsesSkippedScannerPath(entry: string): boolean { const segments = entry.split(/[\\/]+/).filter(Boolean); return segments.some( (segment) => segment === "node_modules" || (segment.startsWith(".") && segment !== "." && segment !== ".."), ); }