aboutsummaryrefslogtreecommitdiff
path: root/node_modules/ci-info/index.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2018-09-20 02:56:13 +0200
committerFlorian Dold <florian.dold@gmail.com>2018-09-20 02:56:13 +0200
commitbbff7403fbf46f9ad92240ac213df8d30ef31b64 (patch)
treec58400ec5124da1c7d56b01aea83309f80a56c3b /node_modules/ci-info/index.js
parent003fb34971cf63466184351b4db5f7c67df4f444 (diff)
update packages
Diffstat (limited to 'node_modules/ci-info/index.js')
-rw-r--r--node_modules/ci-info/index.js66
1 files changed, 37 insertions, 29 deletions
diff --git a/node_modules/ci-info/index.js b/node_modules/ci-info/index.js
index 347dd5661..7f742f4ed 100644
--- a/node_modules/ci-info/index.js
+++ b/node_modules/ci-info/index.js
@@ -1,48 +1,56 @@
'use strict'
+var vendors = require('./vendors.json')
+
var env = process.env
-var vendors = [
- // Constant, Name, Envs
- ['TRAVIS', 'Travis CI', 'TRAVIS'],
- ['CIRCLE', 'CircleCI', 'CIRCLECI'],
- ['GITLAB', 'GitLab CI', 'GITLAB_CI'],
- ['APPVEYOR', 'AppVeyor', 'APPVEYOR'],
- ['CODESHIP', 'Codeship', {CI_NAME: 'codeship'}],
- ['DRONE', 'Drone', 'DRONE'],
- ['MAGNUM', 'Magnum CI', 'MAGNUM'],
- ['SEMAPHORE', 'Semaphore', 'SEMAPHORE'],
- ['JENKINS', 'Jenkins', 'JENKINS_URL', 'BUILD_ID'],
- ['BAMBOO', 'Bamboo', 'bamboo_planKey'],
- ['TFS', 'Team Foundation Server', 'TF_BUILD'],
- ['TEAMCITY', 'TeamCity', 'TEAMCITY_VERSION'],
- ['BUILDKITE', 'Buildkite', 'BUILDKITE'],
- ['HUDSON', 'Hudsun', 'HUDSON_URL'],
- ['TASKCLUSTER', 'TaskCluster', 'TASK_ID', 'RUN_ID'],
- ['GOCD', 'GoCD', 'GO_PIPELINE_LABEL'],
- ['BITBUCKET', 'Bitbucket Pipelines', 'BITBUCKET_COMMIT'],
- ['CODEBUILD', 'AWS CodeBuild', 'CODEBUILD_BUILD_ARN']
-]
+// Used for testinging only
+Object.defineProperty(exports, '_vendors', {
+ value: vendors.map(function (v) { return v.constant })
+})
exports.name = null
+exports.isPR = null
vendors.forEach(function (vendor) {
- var constant = vendor.shift()
- var name = vendor.shift()
- var isCI = vendor.every(function (obj) {
+ var envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env]
+ var isCI = envs.every(function (obj) {
if (typeof obj === 'string') return !!env[obj]
return Object.keys(obj).every(function (k) {
return env[k] === obj[k]
})
})
- exports[constant] = isCI
- if (isCI) exports.name = name
+
+ exports[vendor.constant] = isCI
+
+ if (isCI) {
+ exports.name = vendor.name
+
+ if (vendor.pr) {
+ var val = env[vendor.pr.env]
+ if (val) {
+ switch (vendor.pr.type) {
+ case 'not-false':
+ exports.isPR = val !== 'false'
+ break
+ case 'boolean':
+ exports.isPR = val === 'true'
+ break
+ default:
+ exports.isPR = true
+ }
+ } else {
+ exports.isPR = false
+ }
+ }
+ }
})
exports.isCI = !!(
- env.CI || // Travis CI, CircleCI, Gitlab CI, Appveyor, CodeShip
- env.CONTINUOUS_INTEGRATION || // Travis CI
- env.BUILD_NUMBER || // Jenkins, TeamCity
+ env.CI || // Travis CI, CircleCI, Cirrus CI, Gitlab CI, Appveyor, CodeShip, dsari
+ env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI
+ env.BUILD_NUMBER || // Jenkins, TeamCity
+ env.RUN_ID || // TaskCluster, dsari
exports.name ||
false
)