INNER CODE UNIT · TypeScript
safeRemove
AmrDab/clawdcursor · src/surface/cli.ts:1128
const safeRemove = (target: string, label: string): void => {
try {
if (!fs.existsSync(target)) return;
const stat = fs.lstatSync(target);
if (stat.isSymbolicLink() || stat.isFile()) fs.unlinkSync(target);
else fs.rmSync(target, { recursive: true, force: true, maxRetries: 5, retryDelay: 200 });
console.log(` ${e('🗑️', '[DEL]')} Removed ${label}`);
removed++;
} catch (err) {
const code = (err as NodeJS.ErrnoException).code || (err as Error).message;
failed.push(`${target} (${code})`);
console.log(` ${e('⚠️', '[WARN]')} Could not remove ${label} (${code}) — close any running clawdcursor, then delete manually: ${target}`);
}
};
// 0. Stop any running server first (before deleting token)
try {
const tokenPath = path.join(homeDir, '.clawdcursor', 'token');