File tree 2 files changed +37
-1
lines changed
lib/workers/repository/process/lookup
2 files changed +37
-1
lines changed Original file line number Diff line number Diff line change @@ -81,5 +81,34 @@ describe('workers/repository/process/lookup/filter', () => {
81
81
82
82
expect ( filteredVersions ) . toEqual ( [ { version : '1.2.3-beta' } ] ) ;
83
83
} ) ;
84
+
85
+ it ( 'ignores version insufficient prefixes' , ( ) => {
86
+ const releases = [
87
+ { version : '1.0.1' } ,
88
+ { version : '1.2.0' } ,
89
+ { version : '2.0.0' , isDeprecated : true } ,
90
+ { version : '2.1.0' } ,
91
+ ] satisfies Release [ ] ;
92
+
93
+ const config = partial < FilterConfig > ( {
94
+ ignoreUnstable : true ,
95
+ ignoreDeprecated : true ,
96
+ } ) ;
97
+ const currentVersion = 'v1.0.1' ;
98
+ const latestVersion = 'v2.0.0' ;
99
+
100
+ const filteredVersions = filterVersions (
101
+ config ,
102
+ currentVersion ,
103
+ latestVersion ,
104
+ releases ,
105
+ versioning ,
106
+ ) ;
107
+
108
+ expect ( filteredVersions ) . toEqual ( [
109
+ { version : '1.2.0' } ,
110
+ { version : '2.1.0' } ,
111
+ ] ) ;
112
+ } ) ;
84
113
} ) ;
85
114
} ) ;
Original file line number Diff line number Diff line change @@ -43,7 +43,14 @@ export function filterVersions(
43
43
versioning . isGreaterThan ( r . version , currentVersion ) ,
44
44
) ;
45
45
46
- const currentRelease = releases . find ( ( r ) => r . version === currentVersion ) ;
46
+ const currentRelease = releases . find (
47
+ ( r ) =>
48
+ versioning . isValid ( r . version ) &&
49
+ versioning . isVersion ( r . version ) &&
50
+ versioning . isValid ( currentVersion ) &&
51
+ versioning . isVersion ( currentVersion ) &&
52
+ versioning . equals ( r . version , currentVersion ) ,
53
+ ) ;
47
54
48
55
// Don't upgrade from non-deprecated to deprecated
49
56
if ( ignoreDeprecated && currentRelease && ! currentRelease . isDeprecated ) {
You can’t perform that action at this time.
0 commit comments