diff options
| author | Florian Dold <florian.dold@gmail.com> | 2018-09-20 02:56:13 +0200 |
|---|---|---|
| committer | Florian Dold <florian.dold@gmail.com> | 2018-09-20 02:56:13 +0200 |
| commit | bbff7403fbf46f9ad92240ac213df8d30ef31b64 (patch) | |
| tree | c58400ec5124da1c7d56b01aea83309f80a56c3b /node_modules/ci-info/index.js | |
| parent | 003fb34971cf63466184351b4db5f7c67df4f444 (diff) | |
update packages
Diffstat (limited to 'node_modules/ci-info/index.js')
| -rw-r--r-- | node_modules/ci-info/index.js | 66 |
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 ) |
