epd
Version:
Enhanced peer dependency resolution for npm, yarn, and pnpm
32 lines • 1.07 kB
JavaScript
import { fetchPackageVersions } from './registry.js';
import { findBestVersion } from './semver-utils.js';
export async function resolveConflicts(conflicts) {
const resolutions = [];
for (const conflict of conflicts) {
const resolution = await resolveConflict(conflict);
if (resolution) {
resolutions.push(resolution);
}
}
return resolutions;
}
async function resolveConflict(conflict) {
try {
const availableVersions = await fetchPackageVersions(conflict.package);
const bestVersion = findBestVersion(availableVersions, conflict.requiredVersions);
if (bestVersion) {
return {
package: conflict.package,
resolvedVersion: bestVersion,
strategy: 'semver-compatible',
confidence: 1.0
};
}
return null;
}
catch (error) {
console.warn(`Failed to resolve conflict for ${conflict.package}:`, error);
return null;
}
}
//# sourceMappingURL=conflict-resolver.js.map