Skip to content

Commit 5dbe715

Browse files
committed
feat: report resolved object
1 parent 8b89774 commit 5dbe715

File tree

2 files changed

+83
-26
lines changed

2 files changed

+83
-26
lines changed

lib/travis.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ const Yaml = require('js-yaml');
66

77
const internals = {};
88

9+
internals.nodeAliases = {
10+
latest: 'active',
11+
node: 'active',
12+
stable: 'active'
13+
};
14+
915

1016
internals.toArray = (v) => {
1117

@@ -52,22 +58,17 @@ internals.scan = async (travisYaml) => {
5258
}
5359

5460
const raw = [...rawSet];
55-
const resolved = [];
61+
const resolved = {};
5662

57-
for (let version of raw) {
58-
59-
if (version === 'latest' || version === 'node' || version === 'stable') {
60-
// alias some commonly used names into nv terminology
61-
version = 'active';
62-
}
63+
for (const version of raw) {
6364

64-
const nv = await Nv(version);
65+
const nv = await Nv(internals.nodeAliases[version] || version);
6566

6667
if (!nv.length) {
67-
resolved.push('?');
68+
resolved[version] = false;
6869
}
6970
else {
70-
resolved.push(nv[nv.length - 1].version);
71+
resolved[version] = nv[nv.length - 1].version;
7172
}
7273
}
7374

test/index.js

Lines changed: 72 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,11 @@ describe('node-support', () => {
123123
timestamp: 1580673602000,
124124
travis: {
125125
raw: ['10', '12', '13'],
126-
resolved: ['10.19.0', '12.15.0', '13.8.0']
126+
resolved: {
127+
'10': '10.19.0',
128+
'12': '12.15.0',
129+
'13': '13.8.0'
130+
}
127131
},
128132
engines: '>=10'
129133
});
@@ -160,7 +164,7 @@ describe('node-support', () => {
160164
timestamp: 1580673602000,
161165
travis: {
162166
raw: ['10'],
163-
resolved: ['10.19.0']
167+
resolved: { '10': '10.19.0' }
164168
}
165169
});
166170
});
@@ -181,7 +185,7 @@ describe('node-support', () => {
181185
timestamp: 1580673602000,
182186
travis: {
183187
raw: ['latest'],
184-
resolved: ['13.8.0']
188+
resolved: { latest: '13.8.0' }
185189
}
186190
});
187191
});
@@ -202,7 +206,7 @@ describe('node-support', () => {
202206
timestamp: 1580673602000,
203207
travis: {
204208
raw: [],
205-
resolved: []
209+
resolved: {}
206210
}
207211
});
208212
});
@@ -223,7 +227,12 @@ describe('node-support', () => {
223227
timestamp: 1580673602000,
224228
travis: {
225229
raw: ['6', '8', '10', 'latest'],
226-
resolved: ['6.17.1', '8.17.0', '10.19.0', '13.8.0']
230+
resolved: {
231+
'6': '6.17.1',
232+
'8': '8.17.0',
233+
'10': '10.19.0',
234+
latest: '13.8.0'
235+
}
227236
}
228237
});
229238
});
@@ -244,7 +253,21 @@ describe('node-support', () => {
244253
timestamp: 1580673602000,
245254
travis: {
246255
raw: ['0.10', '0.12', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', 'lts/*'],
247-
resolved: ['0.10.48', '0.12.18', '4.9.1', '5.12.0', '6.17.1', '7.10.1', '8.17.0', '9.11.2', '10.19.0', '11.15.0', '12.15.0', '13.8.0', '12.15.0']
256+
resolved: {
257+
'0.10': '0.10.48',
258+
'0.12': '0.12.18',
259+
'4': '4.9.1',
260+
'5': '5.12.0',
261+
'6': '6.17.1',
262+
'7': '7.10.1',
263+
'8': '8.17.0',
264+
'9': '9.11.2',
265+
'10': '10.19.0',
266+
'11': '11.15.0',
267+
'12': '12.15.0',
268+
'13': '13.8.0',
269+
'lts/*': '12.15.0'
270+
}
248271
}
249272
});
250273
});
@@ -265,7 +288,11 @@ describe('node-support', () => {
265288
timestamp: 1580673602000,
266289
travis: {
267290
raw: ['4', '6', '7'],
268-
resolved: ['4.9.1', '6.17.1', '7.10.1']
291+
resolved: {
292+
'4': '4.9.1',
293+
'6': '6.17.1',
294+
'7': '7.10.1'
295+
}
269296
}
270297
});
271298
});
@@ -286,7 +313,11 @@ describe('node-support', () => {
286313
timestamp: 1580673602000,
287314
travis: {
288315
raw: ['8', '10', '12'],
289-
resolved: ['8.17.0', '10.19.0', '12.15.0']
316+
resolved: {
317+
'8': '8.17.0',
318+
'10': '10.19.0',
319+
'12': '12.15.0'
320+
}
290321
}
291322
});
292323
});
@@ -307,7 +338,14 @@ describe('node-support', () => {
307338
timestamp: 1580673602000,
308339
travis: {
309340
raw: ['6', '8', '9', '10', '12', 'stable'],
310-
resolved: ['6.17.1', '8.17.0', '9.11.2', '10.19.0', '12.15.0', '13.8.0']
341+
resolved: {
342+
'6': '6.17.1',
343+
'8': '8.17.0',
344+
'9': '9.11.2',
345+
'10': '10.19.0',
346+
'12': '12.15.0',
347+
'stable': '13.8.0'
348+
}
311349
}
312350
});
313351
});
@@ -328,7 +366,13 @@ describe('node-support', () => {
328366
timestamp: 1580673602000,
329367
travis: {
330368
raw: ['node', '10', '12', '8', '6'],
331-
resolved: ['13.8.0', '10.19.0', '12.15.0', '8.17.0', '6.17.1']
369+
resolved: {
370+
'node': '13.8.0',
371+
'10': '10.19.0',
372+
'12': '12.15.0',
373+
'8': '8.17.0',
374+
'6': '6.17.1'
375+
}
332376
}
333377
});
334378
});
@@ -349,7 +393,7 @@ describe('node-support', () => {
349393
timestamp: 1580673602000,
350394
travis: {
351395
raw: ['node'],
352-
resolved: ['13.8.0']
396+
resolved: { node: '13.8.0' }
353397
}
354398
});
355399
});
@@ -370,7 +414,7 @@ describe('node-support', () => {
370414
timestamp: 1580673602000,
371415
travis: {
372416
raw: ['latest'],
373-
resolved: ['13.8.0']
417+
resolved: { latest: '13.8.0' }
374418
}
375419
});
376420
});
@@ -391,7 +435,7 @@ describe('node-support', () => {
391435
timestamp: 1580673602000,
392436
travis: {
393437
raw: ['i-am-not-a-node-version'],
394-
resolved: ['?']
438+
resolved: { 'i-am-not-a-node-version': false }
395439
}
396440
});
397441
});
@@ -441,7 +485,11 @@ describe('node-support', () => {
441485
timestamp: 1580673602000,
442486
travis: {
443487
raw: ['10', '12', '13'],
444-
resolved: ['10.19.0', '12.15.0', '13.8.0']
488+
resolved: {
489+
'10': '10.19.0',
490+
'12': '12.15.0',
491+
'13': '13.8.0'
492+
}
445493
},
446494
engines: '>=10'
447495
});
@@ -520,7 +568,11 @@ describe('node-support', () => {
520568
timestamp: 1580673602000,
521569
travis: {
522570
raw: ['10', '12', '13'],
523-
resolved: ['10.19.0', '12.15.0', '13.8.0']
571+
resolved: {
572+
'10': '10.19.0',
573+
'12': '12.15.0',
574+
'13': '13.8.0'
575+
}
524576
},
525577
engines: '>=10'
526578
});
@@ -606,7 +658,11 @@ describe('node-support', () => {
606658
timestamp: 1580673602000,
607659
travis: {
608660
raw: ['10', '12', '13'],
609-
resolved: ['10.19.0', '12.15.0', '13.8.0']
661+
resolved: {
662+
'10': '10.19.0',
663+
'12': '12.15.0',
664+
'13': '13.8.0'
665+
}
610666
},
611667
engines: '>=10'
612668
});

0 commit comments

Comments
 (0)