UNPKG

epd

Version:

Enhanced peer dependency resolution for npm, yarn, and pnpm

46 lines 1.49 kB
import { execSync } from 'child_process'; export async function checkUpdates(packageJson) { const updates = []; const allDeps = { ...packageJson.dependencies, ...packageJson.devDependencies }; for (const [pkg, version] of Object.entries(allDeps)) { try { const result = execSync(`npm view ${pkg} version`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'ignore'] }).trim(); const current = version.replace(/[\^~]/, ''); const latest = result; if (current !== latest) { updates.push({ package: pkg, current, latest, type: getUpdateType(current, latest), breaking: isMajorUpdate(current, latest) }); } } catch (error) { // Skip packages that can't be checked } } return updates; } function getUpdateType(current, latest) { const [cMajor, cMinor] = current.split('.').map(Number); const [lMajor, lMinor] = latest.split('.').map(Number); if (lMajor > cMajor) return 'major'; if (lMinor > cMinor) return 'minor'; return 'patch'; } function isMajorUpdate(current, latest) { const cMajor = parseInt(current.split('.')[0]); const lMajor = parseInt(latest.split('.')[0]); return lMajor > cMajor; } //# sourceMappingURL=updater.js.map