/
index.js
44 lines (40 loc) · 966 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
'use strict'
var path = require('path')
var yaml = require('yamljs')
var cwd = require('cwd')
var exists = require('path-exists')
function dir(file, fp) {
return fp ? path.resolve(fp, file) : cwd(file)
}
module.exports = function (fp) {
var travis = dir('.travis.yml', fp)
var circle = dir('circle.yml', fp)
if (exists.sync(travis)) {
var travisObj = yaml.load(travis)
if (travisObj) {
return travisObj.node_js
}
} else if (exists.sync(circle)) {
var circleObj = yaml.load(circle)
if (circleObj.test.override) {
var versions = []
circleObj.test.override.every(function (line) {
var matched = line.match(/use\s+(.*)\s+&&/)
if (matched && matched[1]) {
versions.push(matched[1])
return true
}
versions = null
return false
})
return versions
}
var version = circleObj.machine &&
circleObj.machine.node &&
circleObj.machine.node.version
if (version) {
return [version]
}
}
return null
}