fix-peer-deps
Advanced tools
Comparing version 1.0.6 to 1.0.7
14
index.js
@@ -23,4 +23,3 @@ #!/usr/bin/env node | ||
async function installPackage(packageName, version) { | ||
const packageManager = await getPackageManager(); | ||
async function installPackage(packageName, version, packageManager) { | ||
const installCommand = { | ||
@@ -51,2 +50,3 @@ npm: `npm install ${packageName}@${version} --save-peer`, | ||
const peerDependencies = packageJson.peerDependencies || {}; | ||
const packageManager = await getPackageManager(); | ||
@@ -58,6 +58,6 @@ for (const [packageName, versionRange] of Object.entries(peerDependencies)) { | ||
console.log(`${packageName} is not installed. Installing...`); | ||
await installPackage(packageName, versionRange); | ||
await installPackage(packageName, versionRange, packageManager); | ||
} else if (!semver.satisfies(installedVersion, versionRange)) { | ||
console.log(`Updating ${packageName} from ${installedVersion} to satisfy ${versionRange}`); | ||
await installPackage(packageName, versionRange); | ||
await installPackage(packageName, versionRange, packageManager); | ||
} else { | ||
@@ -68,2 +68,8 @@ console.log(`${packageName}@${installedVersion} already satisfies ${versionRange}`); | ||
if (packageManager === 'yarn') { | ||
console.log('Running yarn install to ensure all dependencies are correctly linked...'); | ||
const { execa } = await import('execa'); | ||
await execa.command('yarn install', { stdio: 'inherit' }); | ||
} | ||
console.log('All peer dependencies have been checked and updated if necessary.'); | ||
@@ -70,0 +76,0 @@ } |
{ | ||
"name": "fix-peer-deps", | ||
"version": "1.0.6", | ||
"version": "1.0.7", | ||
"main": "index.js", | ||
@@ -5,0 +5,0 @@ "type": "module", |
5005
64