aboutsummaryrefslogtreecommitdiff
path: root/lib/getOptions.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/getOptions.js')
-rw-r--r--lib/getOptions.js108
1 files changed, 61 insertions, 47 deletions
diff --git a/lib/getOptions.js b/lib/getOptions.js
index aa24f43..8a0305f 100644
--- a/lib/getOptions.js
+++ b/lib/getOptions.js
@@ -1,23 +1,28 @@
-var fs = require('fs');
-var path = require('path');
-var yaml = require('js-yaml');
-var index = require('../index');
-var logger = require('./logger')();
-var fetchGitData = require('./fetchGitData');
-
-var getBaseOptions = function(cb){
- var options = {};
- var git_commit = process.env.COVERALLS_GIT_COMMIT;
- var git_branch = process.env.COVERALLS_GIT_BRANCH;
- var git_committer_name, git_committer_email, git_message;
-
- var match = (process.env.CI_PULL_REQUEST || "").match(/(\d+)$/);
+'use strict';
+
+const fs = require('fs');
+const path = require('path');
+const yaml = require('js-yaml');
+const logger = require('./logger')();
+const fetchGitData = require('./fetchGitData');
+const detectLocalGit = require('./detectLocalGit');
+const index = require('..');
+
+const getBaseOptions = cb => {
+ const options = {};
+ let git_commit = process.env.COVERALLS_GIT_COMMIT;
+ let git_branch = process.env.COVERALLS_GIT_BRANCH;
+ let git_committer_name;
+ let git_committer_email;
+ let git_message;
+
+ const match = (process.env.CI_PULL_REQUEST || '').match(/(\d+)$/);
if (match) {
options.service_pull_request = match[1];
}
- if (process.env.TRAVIS){
+ if (process.env.TRAVIS) {
options.service_name = 'travis-ci';
options.service_job_id = process.env.TRAVIS_JOB_ID;
options.service_pull_request = process.env.TRAVIS_PULL_REQUEST;
@@ -25,7 +30,7 @@ var getBaseOptions = function(cb){
git_branch = process.env.TRAVIS_BRANCH;
}
- if (process.env.DRONE){
+ if (process.env.DRONE) {
options.service_name = 'drone';
options.service_job_id = process.env.DRONE_BUILD_NUMBER;
options.service_pull_request = process.env.DRONE_PULL_REQUEST;
@@ -36,7 +41,7 @@ var getBaseOptions = function(cb){
git_message = process.env.DRONE_COMMIT_MESSAGE;
}
- if (process.env.JENKINS_URL || process.env.JENKINS_HOME){
+ if (process.env.JENKINS_URL || process.env.JENKINS_HOME) {
options.service_name = 'jenkins';
options.service_job_id = process.env.BUILD_ID;
options.service_pull_request = process.env.CHANGE_ID || process.env.ghprbPullId;
@@ -46,19 +51,20 @@ var getBaseOptions = function(cb){
git_branch = process.env.CHANGE_BRANCH || process.env.GIT_BRANCH || process.env.BRANCH_NAME;
}
- if (process.env.CIRCLECI){
+ if (process.env.CIRCLECI) {
options.service_name = 'circleci';
options.service_job_id = process.env.CIRCLE_BUILD_NUM;
if (process.env.CI_PULL_REQUEST) {
- var pr = process.env.CI_PULL_REQUEST.split('/pull/');
+ const pr = process.env.CI_PULL_REQUEST.split('/pull/');
options.service_pull_request = pr[1];
}
+
git_commit = process.env.CIRCLE_SHA1;
git_branch = process.env.CIRCLE_BRANCH;
}
- if (process.env.CI_NAME && process.env.CI_NAME === 'codeship'){
+ if (process.env.CI_NAME && process.env.CI_NAME === 'codeship') {
options.service_name = 'codeship';
options.service_job_id = process.env.CI_BUILD_NUMBER;
git_commit = process.env.CI_COMMIT_ID;
@@ -68,14 +74,14 @@ var getBaseOptions = function(cb){
git_message = process.env.CI_COMMIT_MESSAGE;
}
- if (process.env.WERCKER){
+ if (process.env.WERCKER) {
options.service_name = 'wercker';
options.service_job_id = process.env.WERCKER_BUILD_ID;
git_commit = process.env.WERCKER_GIT_COMMIT;
git_branch = process.env.WERCKER_GIT_BRANCH;
}
- if (process.env.GITLAB_CI){
+ if (process.env.GITLAB_CI) {
options.service_name = 'gitlab-ci';
options.service_job_number = process.env.CI_BUILD_NAME;
options.service_job_id = process.env.CI_BUILD_ID;
@@ -83,20 +89,22 @@ var getBaseOptions = function(cb){
git_commit = process.env.CI_BUILD_REF;
git_branch = process.env.CI_BUILD_REF_NAME;
}
- if(process.env.APPVEYOR){
+
+ if (process.env.APPVEYOR) {
options.service_name = 'appveyor';
options.service_job_number = process.env.APPVEYOR_BUILD_NUMBER;
options.service_job_id = process.env.APPVEYOR_BUILD_ID;
git_commit = process.env.APPVEYOR_REPO_COMMIT;
git_branch = process.env.APPVEYOR_REPO_BRANCH;
}
- if(process.env.SURF_SHA1){
+
+ if (process.env.SURF_SHA1) {
options.service_name = 'surf';
git_commit = process.env.SURF_SHA1;
git_branch = process.env.SURF_REF;
}
- if(process.env.BUILDKITE){
+ if (process.env.BUILDKITE) {
options.service_name = 'buildkite';
options.service_job_number = process.env.BUILDKITE_BUILD_NUMBER;
options.service_job_id = process.env.BUILDKITE_BUILD_ID;
@@ -108,14 +116,14 @@ var getBaseOptions = function(cb){
git_message = process.env.BUILDKITE_MESSAGE;
}
- if(process.env.SEMAPHORE){
+ if (process.env.SEMAPHORE) {
options.service_name = 'semaphore';
options.service_job_id = process.env.SEMAPHORE_BUILD_NUMBER;
git_commit = process.env.REVISION;
git_branch = process.env.BRANCH_NAME;
}
- if(process.env.TF_BUILD){
+ if (process.env.TF_BUILD) {
options.service_name = 'Azure Pipelines';
options.service_job_id = process.env.BUILD_BUILDID;
options.service_pull_request = process.env.SYSTEM_PULLREQUEST_PULLREQUESTNUMBER;
@@ -124,15 +132,16 @@ var getBaseOptions = function(cb){
}
options.run_at = process.env.COVERALLS_RUN_AT || JSON.stringify(new Date()).slice(1, -1);
- if (process.env.COVERALLS_SERVICE_NAME){
+ if (process.env.COVERALLS_SERVICE_NAME) {
options.service_name = process.env.COVERALLS_SERVICE_NAME;
}
- if (process.env.COVERALLS_SERVICE_JOB_ID){
+
+ if (process.env.COVERALLS_SERVICE_JOB_ID) {
options.service_job_id = process.env.COVERALLS_SERVICE_JOB_ID;
}
if (!git_commit || !git_branch) {
- var data = require('./detectLocalGit')();
+ const data = detectLocalGit();
if (data) {
git_commit = git_commit || data.git_commit;
git_branch = git_branch || data.git_branch;
@@ -148,18 +157,18 @@ var getBaseOptions = function(cb){
options.repo_token = process.env.COVERALLS_REPO_TOKEN;
} else {
// try to get the repo token from a .coveralls.yml file
- var yml = path.join(process.cwd(), '.coveralls.yml');
+ const yml = path.join(process.cwd(), '.coveralls.yml');
try {
if (fs.statSync(yml).isFile()) {
- var coveralls_yaml_conf = yaml.safeLoad(fs.readFileSync(yml, 'utf8'));
+ const coveralls_yaml_conf = yaml.safeLoad(fs.readFileSync(yml, 'utf8'));
options.repo_token = coveralls_yaml_conf.repo_token;
- if(coveralls_yaml_conf.service_name) {
+ if (coveralls_yaml_conf.service_name) {
options.service_name = coveralls_yaml_conf.service_name;
}
}
- } catch(ex){
- logger.warn("Repo token could not be determined. Continuing without it." +
- "This is necessary for private repos only, so may not be an issue at all.");
+ } catch (_) {
+ logger.warn('Repo token could not be determined. Continuing without it. ' +
+ 'This is necessary for private repos only, so may not be an issue at all.');
}
}
@@ -167,7 +176,7 @@ var getBaseOptions = function(cb){
options.flag_name = process.env.COVERALLS_FLAG_NAME;
}
- if (git_commit){
+ if (git_commit) {
fetchGitData({
head: {
id: git_commit,
@@ -176,12 +185,13 @@ var getBaseOptions = function(cb){
message: git_message
},
branch: git_branch
- }, function(err, git){
- if (err){
+ }, (err, git) => {
+ if (err) {
logger.warn('there was an error getting git data: ', err);
} else {
options.git = git;
}
+
return cb(err, options);
});
} else {
@@ -189,24 +199,28 @@ var getBaseOptions = function(cb){
}
};
-var getOptions = function(cb, _userOptions){
- if (!cb){
+const getOptions = (cb, _userOptions) => {
+ if (!cb) {
throw new Error('getOptions requires a callback');
}
- var userOptions = _userOptions || {};
+ const userOptions = _userOptions || {};
- getBaseOptions(function(err, options){
+ getBaseOptions((err, options) => {
// minimist populates options._ with non-option command line arguments
- var firstNonOptionArgument = index.options._[0];
+ const firstNonOptionArgument = index.options._[0];
- if (firstNonOptionArgument)
+ if (firstNonOptionArgument) {
options.filepath = firstNonOptionArgument;
+ }
// lodash or else would be better, but no need for the extra dependency
- for (var option in userOptions) {
- options[option] = userOptions[option];
+ for (const option in userOptions) {
+ if (Object.prototype.hasOwnProperty.call(userOptions, option)) {
+ options[option] = userOptions[option];
+ }
}
+
cb(err, options);
});
};