@@ -28,7 +28,8 @@ module.exports = function mergeDeps (
28
28
sources ,
29
29
{
30
30
prune,
31
- warnIncompatibleVersions
31
+ warnIncompatibleVersions,
32
+ forceOverwrite
32
33
}
33
34
) {
34
35
const result = Object . assign ( { } , sourceDeps )
@@ -63,11 +64,15 @@ module.exports = function mergeDeps (
63
64
const r = tryGetNewerRange ( sourceRangeSemver , injectingRangeSemver )
64
65
const didGetNewer = ! ! r
65
66
66
- // if failed to infer newer version, use existing one because it's likely
67
- // built-in
68
- result [ depName ] = didGetNewer
69
- ? injectSemver ( injectingRange , r )
70
- : sourceRange
67
+ if ( forceOverwrite ) {
68
+ result [ depName ] = injectingRange
69
+ } else if ( didGetNewer ) {
70
+ result [ depName ] = injectSemver ( injectingRange , r )
71
+ } else {
72
+ // if failed to infer newer version, use existing one because it's likely
73
+ // built-in
74
+ result [ depName ] = sourceRange
75
+ }
71
76
72
77
// if changed, update source
73
78
if ( result [ depName ] === injectingRange ) {
@@ -85,7 +90,7 @@ module.exports = function mergeDeps (
85
90
`conflicting versions for project dependency "${ depName } ":\n\n` +
86
91
`- ${ sourceRange } injected by generator "${ sourceGeneratorId } "\n` +
87
92
`- ${ injectingRange } injected by generator "${ generatorId } "\n\n` +
88
- `Using ${ didGetNewer ? `newer ` : `` } version (${
93
+ `Using ${ ( ! forceOverwrite && didGetNewer ) ? `newer ` : `` } version (${
89
94
result [ depName ]
90
95
} ), but this may cause build errors.`
91
96
)
0 commit comments