mirror of
https://github.com/pnpm/pnpm.git
synced 2026-04-10 18:18:56 -04:00
fix: peerDependencyRules with * as range (#4370)
This commit is contained in:
6
.changeset/little-donuts-rescue.md
Normal file
6
.changeset/little-donuts-rescue.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@pnpm/core": patch
|
||||
"pnpm": patch
|
||||
---
|
||||
|
||||
When a peer dependency range is extended with `*`, just replace any range with `*`.
|
||||
@@ -18,7 +18,11 @@ export default function (
|
||||
peerDependencyRules.allowedVersions?.[peerName] &&
|
||||
peerVersion !== '*'
|
||||
) {
|
||||
pkg.peerDependencies![peerName] += ` || ${peerDependencyRules.allowedVersions[peerName]}`
|
||||
if (peerDependencyRules.allowedVersions[peerName] === '*') {
|
||||
pkg.peerDependencies![peerName] = '*'
|
||||
} else {
|
||||
pkg.peerDependencies![peerName] += ` || ${peerDependencyRules.allowedVersions[peerName]}`
|
||||
}
|
||||
}
|
||||
}
|
||||
return pkg
|
||||
|
||||
@@ -22,6 +22,7 @@ test('createPeerDependencyPatcher() extends peer ranges', () => {
|
||||
allowedVersions: {
|
||||
foo: '1',
|
||||
qar: '1',
|
||||
baz: '*',
|
||||
},
|
||||
})
|
||||
const patchedPkg = patcher({
|
||||
@@ -29,11 +30,13 @@ test('createPeerDependencyPatcher() extends peer ranges', () => {
|
||||
foo: '0',
|
||||
bar: '0',
|
||||
qar: '*',
|
||||
baz: '1',
|
||||
},
|
||||
})
|
||||
expect(patchedPkg['peerDependencies']).toStrictEqual({
|
||||
foo: '0 || 1',
|
||||
bar: '0',
|
||||
qar: '*',
|
||||
baz: '*',
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user