mirror of https://github.com/openclaw/openclaw.git
18 lines
637 B
TypeScript
18 lines
637 B
TypeScript
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 !== ".."),
|
|
);
|
|
}
|