epd
Version:
Enhanced peer dependency resolution for npm, yarn, and pnpm
31 lines ⢠1.22 kB
JavaScript
import { createInterface } from 'readline';
export async function promptConflictResolution(conflicts) {
const rl = createInterface({
input: process.stdin,
output: process.stdout
});
const results = [];
for (const conflict of conflicts) {
console.log(`\nš Conflict detected for ${conflict.package}`);
console.log(`Available versions: ${conflict.versions.join(', ')}`);
const choice = await new Promise((resolve) => {
rl.question('Choose: (a)uto-resolve, (m)anual select, (s)kip: ', resolve);
});
switch (choice.toLowerCase()) {
case 'a':
results.push({ ...conflict, strategy: 'auto' });
break;
case 'm':
const version = await new Promise((resolve) => {
rl.question(`Select version (${conflict.versions.join('|')}): `, resolve);
});
results.push({ ...conflict, strategy: 'manual', selectedVersion: version });
break;
default:
results.push({ ...conflict, strategy: 'skip' });
}
}
rl.close();
return results;
}
//# sourceMappingURL=interactive.js.map