File tree 2 files changed +41
-3
lines changed
2 files changed +41
-3
lines changed Original file line number Diff line number Diff line change @@ -216,9 +216,13 @@ const getFullConfig = async ({
216
216
}
217
217
218
218
if ( pkgConfig . ciVersions ) {
219
- const versions = pkgConfig . ciVersions
220
- const defaultVersions = defaultConfig . ciVersions
221
- const parsed = parseCIVersions ( versions === 'latest' ? defaultVersions . slice ( - 1 ) : versions )
219
+ let versions = pkgConfig . ciVersions
220
+ if ( versions === 'latest' ) {
221
+ const defaultVersions = [ rootPkgConfig , defaultConfig ] . find ( c => Array . isArray ( c . ciVersions ) )
222
+ versions = defaultVersions . ciVersions . slice ( - 1 )
223
+ }
224
+
225
+ const parsed = parseCIVersions ( versions )
222
226
derived . ciVersions = parsed . targets
223
227
derived . engines = pkgConfig . engines || parsed . engines
224
228
}
Original file line number Diff line number Diff line change @@ -33,3 +33,37 @@ t.test('latest ci versions', async (t) => {
33
33
const pkg = await s . readJson ( 'package.json' )
34
34
t . equal ( pkg . engines . node , '>=18.0.0' )
35
35
} )
36
+
37
+ t . test ( 'latest ci versions in workspace' , async ( t ) => {
38
+ const s = await setup ( t , {
39
+ package : {
40
+ templateOSS : {
41
+ content : 'content' ,
42
+ ciVersions : [ '12.x' , '14.x' , '16.x' ] ,
43
+ } ,
44
+ } ,
45
+ workspaces : {
46
+ a : {
47
+ templateOSS : {
48
+ ciVersions : 'latest' ,
49
+ } ,
50
+ } ,
51
+ } ,
52
+ testdir : {
53
+ content : {
54
+ 'source.json' : '{ "node": {{{ json engines }}} }' ,
55
+ 'index.js' : `module.exports={
56
+ rootRepo:{add:{'target.json':'source.json'}},
57
+ workspaceRepo:{add:{'target-{{ pkgNameFs }}.json':'source.json'}}
58
+ }` ,
59
+ } ,
60
+ } ,
61
+ } )
62
+ await s . apply ( )
63
+
64
+ const root = await s . readJson ( 'target.json' )
65
+ const workspace = await s . readJson ( 'target-a.json' )
66
+
67
+ t . equal ( root . node , '^12.0.0 || ^14.0.0 || >=16.0.0' )
68
+ t . equal ( workspace . node , '>=16.0.0' )
69
+ } )
You can’t perform that action at this time.
0 commit comments