()
| 1490 | * Only handles alias removal, not PATH setup |
| 1491 | */ |
| 1492 | export async function cleanupShellAliases(): Promise<SetupMessage[]> { |
| 1493 | const messages: SetupMessage[] = [] |
| 1494 | const configMap = getShellConfigPaths() |
| 1495 | |
| 1496 | for (const [shellType, configFile] of Object.entries(configMap)) { |
| 1497 | try { |
| 1498 | const lines = await readFileLines(configFile) |
| 1499 | if (!lines) continue |
| 1500 | |
| 1501 | const { filtered, hadAlias } = filterClaudeAliases(lines) |
| 1502 | |
| 1503 | if (hadAlias) { |
| 1504 | await writeFileLines(configFile, filtered) |
| 1505 | messages.push({ |
| 1506 | message: `Removed claude alias from ${configFile}. Run: unalias claude`, |
| 1507 | userActionRequired: true, |
| 1508 | type: 'alias', |
| 1509 | }) |
| 1510 | logForDebugging(`Cleaned up claude alias from ${shellType} config`) |
| 1511 | } |
| 1512 | } catch (error) { |
| 1513 | logError(error) |
| 1514 | messages.push({ |
| 1515 | message: `Failed to clean up ${configFile}: ${error}`, |
| 1516 | userActionRequired: false, |
| 1517 | type: 'error', |
| 1518 | }) |
| 1519 | } |
| 1520 | } |
| 1521 | |
| 1522 | return messages |
| 1523 | } |
| 1524 | |
| 1525 | async function manualRemoveNpmPackage( |
| 1526 | packageName: string, |
no test coverage detected