mirror of
https://github.com/pnpm/pnpm.git
synced 2026-04-10 18:18:56 -04:00
feat!: improved matching of overrides
This commit is contained in:
5
.changeset/honest-deers-teach.md
Normal file
5
.changeset/honest-deers-teach.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"supi": minor
|
||||
---
|
||||
|
||||
Overrides match dependencies by checking if the target range is a subset of the specified range, instead of making an exact match.
|
||||
@@ -63,7 +63,7 @@ function overrideDeps (versionOverrides: VersionOverride[], deps: Dependencies)
|
||||
deps[versionOverride.wantedDependency.alias] &&
|
||||
(
|
||||
!versionOverride.wantedDependency.pref ||
|
||||
deps[versionOverride.wantedDependency.alias] === versionOverride.wantedDependency.pref
|
||||
semver.subset(deps[versionOverride.wantedDependency.alias], versionOverride.wantedDependency.pref)
|
||||
)
|
||||
) {
|
||||
deps[versionOverride.wantedDependency.alias] = versionOverride.newPref
|
||||
|
||||
12
packages/supi/test/install/createVersionOverrider.test.ts
Normal file
12
packages/supi/test/install/createVersionOverrider.test.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import createVersionsOverrider from 'supi/lib/install/createVersionsOverrider'
|
||||
|
||||
test('createVersionsOverrider()', () => {
|
||||
const overrider = createVersionsOverrider({
|
||||
'foo@2': '2.12.0',
|
||||
})
|
||||
expect(
|
||||
overrider({
|
||||
dependencies: { foo: '^2.10.0' },
|
||||
})
|
||||
).toStrictEqual({ dependencies: { foo: '2.12.0' } })
|
||||
})
|
||||
Reference in New Issue
Block a user