feat!: improved matching of overrides

This commit is contained in:
Zoltan Kochan
2021-04-04 15:31:10 +03:00
parent 9fc5b8c83c
commit f2d3b6c8b3
3 changed files with 18 additions and 1 deletions

View 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.

View File

@@ -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

View 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' } })
})