(backup: ConfigBackup | null)
| 130 | } |
| 131 | |
| 132 | function restoreDefaultConfig(backup: ConfigBackup | null): void { |
| 133 | if (!backup) return; |
| 134 | try { |
| 135 | if (backup.hadExisting) { |
| 136 | fs.copyFileSync(backup.backupPath, backup.configPath); |
| 137 | fs.unlinkSync(backup.backupPath); |
| 138 | } else { |
| 139 | if (fs.existsSync(backup.configPath)) { |
| 140 | fs.unlinkSync(backup.configPath); |
| 141 | } |
| 142 | } |
| 143 | } catch { |
| 144 | // Best-effort restore |
| 145 | } |
| 146 | } |
| 147 | |
| 148 | function isCommandAvailable(command: string): boolean { |
| 149 | try { |