UNPKG

epd

Version:

Enhanced peer dependency resolution for npm, yarn, and pnpm

53 lines 2 kB
import { writeFile, readFile } from 'fs/promises'; export async function autoFixPackageJson(issues) { try { const content = await readFile('package.json', 'utf-8'); const packageJson = JSON.parse(content); let modified = false; // Fix duplicate dependencies if (issues.includes('duplicates')) { const deps = packageJson.dependencies || {}; const devDeps = packageJson.devDependencies || {}; for (const dep of Object.keys(deps)) { if (devDeps[dep]) { delete devDeps[dep]; modified = true; console.log(`🔧 Removed duplicate ${dep} from devDependencies`); } } } // Sort dependencies alphabetically if (issues.includes('sort')) { if (packageJson.dependencies) { const sorted = Object.keys(packageJson.dependencies) .sort() .reduce((acc, key) => { acc[key] = packageJson.dependencies[key]; return acc; }, {}); packageJson.dependencies = sorted; modified = true; } if (packageJson.devDependencies) { const sorted = Object.keys(packageJson.devDependencies) .sort() .reduce((acc, key) => { acc[key] = packageJson.devDependencies[key]; return acc; }, {}); packageJson.devDependencies = sorted; modified = true; } } if (modified) { await writeFile('package.json', JSON.stringify(packageJson, null, 2)); console.log('✅ Auto-fixed package.json'); } return modified; } catch (error) { console.error('❌ Auto-fix failed:', error); return false; } } //# sourceMappingURL=auto-fix.js.map