Skip to content

Commit

Permalink
fix: Is there a way to not upgrade a package if it's peer depndencies…
Browse files Browse the repository at this point in the history
… are not currently met #1418
  • Loading branch information
rbnayax committed Jun 2, 2024
1 parent 2aab613 commit c688141
Showing 1 changed file with 26 additions and 7 deletions.
33 changes: 26 additions & 7 deletions src/lib/upgradePackageDefinitions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const checkIfInPeerViolation = (
) => {
const upgradedDependencies = { ...currentDependencies, ...filteredUpgradedDependencies }
const filteredLatestDependencies = pickBy(latestVersionResults, (spec, dep) => upgradedDependencies[dep])
const filteredUpgradedPeerDependencies = {...upgradedPeerDependencies}
const filteredUpgradedPeerDependencies = { ...upgradedPeerDependencies }
let wereUpgradedDependenceFiltered = false
const filteredUpgradedDependenciesAfterPeers = pickBy(filteredUpgradedDependencies, (spec, dep) => {
const peerDeps = filteredUpgradedPeerDependencies[dep]
Expand All @@ -36,15 +36,15 @@ const checkIfInPeerViolation = (
return !version || semver.satisfies(version, peerSpec)
})
if (!valid) {
wereUpgradedDependenceFiltered = true;
wereUpgradedDependenceFiltered = true
delete filteredUpgradedPeerDependencies[dep]
}
return valid
})
return {
issuesFound: wereUpgradedDependenceFiltered,
filteredUpgradedDependencies: filteredUpgradedDependenciesAfterPeers,
upgradedPeerDependencies: filteredUpgradedPeerDependencies
upgradedPeerDependencies: filteredUpgradedPeerDependencies,
}
}

Expand Down Expand Up @@ -113,7 +113,12 @@ export async function upgradePackageDefinitions(

if (options.peer && Object.keys(filteredLatestDependencies).length > 0) {
const upgradedPeerDependencies = await getPeerDependenciesFromRegistry(filteredLatestDependencies, options)
const checkPeerViolationResult = checkIfInPeerViolation(currentDependencies, filteredUpgradedDependencies, upgradedPeerDependencies, latestVersionResults)
const checkPeerViolationResult = checkIfInPeerViolation(
currentDependencies,
filteredUpgradedDependencies,
upgradedPeerDependencies,
latestVersionResults,
)
if (checkPeerViolationResult.issuesFound) {
const fullRerunResult = await rerunUpgradeIfChangedPeers(
currentDependencies,
Expand All @@ -123,7 +128,12 @@ export async function upgradePackageDefinitions(
options,
)
if (fullRerunResult) {
const checkPeerViolationResultFullRerun = checkIfInPeerViolation(currentDependencies, fullRerunResult[0], fullRerunResult[2]!, fullRerunResult[1])
const checkPeerViolationResultFullRerun = checkIfInPeerViolation(
currentDependencies,
fullRerunResult[0],
fullRerunResult[2]!,
fullRerunResult[1],
)
if (!checkPeerViolationResultFullRerun.issuesFound) {
return fullRerunResult
}
Expand All @@ -136,12 +146,21 @@ export async function upgradePackageDefinitions(
options,
)
if (partialRerunResult) {
const checkPeerViolationResultPartialRerun = checkIfInPeerViolation(currentDependencies, partialRerunResult[0], partialRerunResult[2]!, partialRerunResult[1])
const checkPeerViolationResultPartialRerun = checkIfInPeerViolation(
currentDependencies,
partialRerunResult[0],
partialRerunResult[2]!,
partialRerunResult[1],
)
if (!checkPeerViolationResultPartialRerun.issuesFound) {
return partialRerunResult
}
}
return [checkPeerViolationResult.filteredUpgradedDependencies, latestVersionResults, checkPeerViolationResult.upgradedPeerDependencies]
return [
checkPeerViolationResult.filteredUpgradedDependencies,
latestVersionResults,
checkPeerViolationResult.upgradedPeerDependencies,
]
} else {
const rerunResult = await rerunUpgradeIfChangedPeers(
currentDependencies,
Expand Down

0 comments on commit c688141

Please sign in to comment.