import * as path from 'path';

/** Directory names to skip when walking or listing workspaces. */
export const EXCLUDED = new Set(['node_modules', '.git', 'dist', 'build', 'lib', '.cache', 'coverage']);

/** Resolve a relative path safely within a workspace root — throws if it tries to escape. */
export function safeResolve(root: string, rel: string): string {
    const resolved = path.resolve(root, rel);
    if (!resolved.startsWith(path.resolve(root))) {
        throw new Error(`Path escapes workspace: ${rel}`);
    }
    return resolved;
}
