aboutsummaryrefslogtreecommitdiff
path: root/node_modules/ci-info/index.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-28 00:38:50 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-28 00:40:43 +0200
commit7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027 (patch)
tree6de9a1aebd150a23b7f8c273ec657a5d0a18fe3e /node_modules/ci-info/index.js
parent963b7a41feb29cc4be090a2446bdfe0c1f1bcd81 (diff)
add linting (and some initial fixes)
Diffstat (limited to 'node_modules/ci-info/index.js')
-rw-r--r--node_modules/ci-info/index.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/node_modules/ci-info/index.js b/node_modules/ci-info/index.js
new file mode 100644
index 000000000..e19925503
--- /dev/null
+++ b/node_modules/ci-info/index.js
@@ -0,0 +1,47 @@
+'use strict'
+
+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'],
+ ['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']
+]
+
+exports.name = null
+
+vendors.forEach(function (vendor) {
+ var constant = vendor.shift()
+ var name = vendor.shift()
+ var isCI = vendor.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.isCI = !!(
+ env.CI || // Travis CI, CircleCI, Gitlab CI, Appveyor, CodeShip
+ env.CONTINUOUS_INTEGRATION || // Travis CI
+ env.BUILD_NUMBER || // Jenkins, TeamCity
+ exports.name ||
+ false
+)