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