You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by er...@apache.org on 2022/07/12 12:18:47 UTC
[cordova-coho] branch master updated: dep: bump @cordova/eslint-config@4.0.0 w/ fixes (#290)
This is an automated email from the ASF dual-hosted git repository.
erisu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-coho.git
The following commit(s) were added to refs/heads/master by this push:
new 514cfa1 dep: bump @cordova/eslint-config@4.0.0 w/ fixes (#290)
514cfa1 is described below
commit 514cfa1edbc8835c13730b4e722143c77ff6ddd1
Author: エリス <er...@users.noreply.github.com>
AuthorDate: Tue Jul 12 21:18:42 2022 +0900
dep: bump @cordova/eslint-config@4.0.0 w/ fixes (#290)
* dep: bump @cordova/eslint-config@4.0.0 w/ auto fix
* style: fix lint warning in check-license
* style: fix lint warning in verify-tags
* style: diable warning in nightly
* style: diable warning in plugin-release
* style: diable warning in superspawn
* style: fix lint warning in repo-push
---
package.json | 2 +-
spec/apputil.spec.js | 4 +-
spec/executil.spec.js | 14 +--
spec/flagutil.spec.js | 12 +--
spec/gitutil.spec.js | 6 +-
spec/repoutil.spec.js | 14 +--
spec/versionutil.spec.js | 20 ++--
src/apputil.js | 24 ++---
src/check-license.js | 84 ++++++++-------
src/create-pr.js | 52 ++++-----
src/create-verify-archive.js | 76 ++++++-------
src/executil.js | 14 +--
src/flagutil.js | 26 ++---
src/for-each.js | 20 ++--
src/gitutil.js | 32 +++---
src/last-week.js | 40 +++----
src/list-pulls.js | 64 +++++------
src/list-release-urls.js | 22 ++--
src/list-repos.js | 4 +-
src/merge-pr.js | 28 ++---
src/nightly.js | 57 +++++-----
src/npm-link.js | 18 ++--
src/npm-publish.js | 22 ++--
src/platform-release.js | 94 ++++++++--------
src/plugin-release.js | 248 +++++++++++++++++++++----------------------
src/print-tags.js | 18 ++--
src/remote-update.js | 16 +--
src/repo-clone.js | 34 +++---
src/repo-push.js | 33 +++---
src/repo-reset.js | 32 +++---
src/repo-status.js | 48 ++++-----
src/repo-update.js | 48 ++++-----
src/repoutil.js | 52 ++++-----
src/retrieve-sha.js | 6 +-
src/shortlog.js | 36 +++----
src/superspawn.js | 35 +++---
src/svnutil.js | 2 +-
src/update-release-notes.js | 62 +++++------
src/verify-tags.js | 40 +++----
src/versionutil.js | 52 ++++-----
40 files changed, 758 insertions(+), 753 deletions(-)
diff --git a/package.json b/package.json
index eda49b3..1e3340c 100644
--- a/package.json
+++ b/package.json
@@ -27,7 +27,7 @@
"xml2js": "0.4.17"
},
"devDependencies": {
- "@cordova/eslint-config": "^3.0.0",
+ "@cordova/eslint-config": "^4.0.0",
"cordova-android": "^8.1.0",
"cordova-browser": "^6.0.0",
"cordova-ios": "^5.0.1",
diff --git a/spec/apputil.spec.js b/spec/apputil.spec.js
index 3b21251..49dd3ba 100644
--- a/spec/apputil.spec.js
+++ b/spec/apputil.spec.js
@@ -17,8 +17,8 @@ specific language governing permissions and limitations
under the License.
*/
-var path = require('path');
-var apputil = require('../src/apputil');
+const path = require('path');
+const apputil = require('../src/apputil');
describe('apputil unit tests', function () {
it('Test#001 : print', function () {
diff --git a/spec/executil.spec.js b/spec/executil.spec.js
index e74ee69..2a8aecc 100644
--- a/spec/executil.spec.js
+++ b/spec/executil.spec.js
@@ -18,13 +18,13 @@ under the License.
*/
require('jasmine-co').install();
-var executil = require('../src/executil');
-var superspawn = require('../src/superspawn');
-var apputil = require('../src/apputil');
-var Q = require('q');
-var deferred = Q.defer();
-var TIMEOUT = 60000;
-var androidRepo = {
+const executil = require('../src/executil');
+const superspawn = require('../src/superspawn');
+const apputil = require('../src/apputil');
+const Q = require('q');
+const deferred = Q.defer();
+const TIMEOUT = 60000;
+const androidRepo = {
title: 'Android',
id: 'android',
repoName: 'cordova-android',
diff --git a/spec/flagutil.spec.js b/spec/flagutil.spec.js
index f6fa347..e6d4a7c 100644
--- a/spec/flagutil.spec.js
+++ b/spec/flagutil.spec.js
@@ -17,10 +17,10 @@ specific language governing permissions and limitations
under the License.
*/
-var apputil = require('../src/apputil');
-var flagutil = require('../src/flagutil');
+const apputil = require('../src/apputil');
+const flagutil = require('../src/flagutil');
-var TIMEOUT = 60000;
+const TIMEOUT = 60000;
describe('flagutil unit tests', function () {
it('Test#001 : validate the version that is passed in', function () {
@@ -32,7 +32,7 @@ describe('flagutil unit tests', function () {
}, TIMEOUT);
it('Test#002 : computeReposFromFlag returns correct repo (platform) info', function () {
- var repo = flagutil.computeReposFromFlag('android');
+ const repo = flagutil.computeReposFromFlag('android');
expect(repo).toEqual(
[Object({
title: 'Android',
@@ -46,7 +46,7 @@ describe('flagutil unit tests', function () {
}, TIMEOUT);
it('Test#003 : computeReposFromFlag returns correct repo (plugin) info', function () {
- var repo = flagutil.computeReposFromFlag('plugin-camera');
+ const repo = flagutil.computeReposFromFlag('plugin-camera');
expect(repo).toEqual(
[{
title: 'Plugin - Camera',
@@ -58,7 +58,7 @@ describe('flagutil unit tests', function () {
}, TIMEOUT);
it('Test#004 : computeReposFromFlag returns correct repo (docs) info', function () {
- var repo = flagutil.computeReposFromFlag('docs');
+ const repo = flagutil.computeReposFromFlag('docs');
expect(repo).toEqual(
[{
title: 'Docs',
diff --git a/spec/gitutil.spec.js b/spec/gitutil.spec.js
index e1f6ac6..04d7014 100644
--- a/spec/gitutil.spec.js
+++ b/spec/gitutil.spec.js
@@ -18,9 +18,9 @@ under the License.
*/
require('jasmine-co').install();
-var executil = require('../src/executil');
-var gitutilJS = require('../src/gitutil');
-var TIMEOUT = 60000;
+const executil = require('../src/executil');
+const gitutilJS = require('../src/gitutil');
+const TIMEOUT = 60000;
describe('gitutil unit tests', function () {
beforeEach(function * () {
diff --git a/spec/repoutil.spec.js b/spec/repoutil.spec.js
index cd5a864..e43ce66 100644
--- a/spec/repoutil.spec.js
+++ b/spec/repoutil.spec.js
@@ -19,16 +19,16 @@ under the License.
require('jasmine-co').install();
-var path = require('path');
+const path = require('path');
-var shelljs = require('shelljs');
+const shelljs = require('shelljs');
-var apputil = require('../src/apputil');
-var repoutil = require('../src/repoutil');
+const apputil = require('../src/apputil');
+const repoutil = require('../src/repoutil');
-var TIMEOUT = 60000;
+const TIMEOUT = 60000;
-var androidRepo = {
+const androidRepo = {
title: 'Android',
id: 'android',
repoName: 'cordova-android',
@@ -37,7 +37,7 @@ var androidRepo = {
remoteName: 'origin'
};
-var commonRepo = {
+const commonRepo = {
title: 'Cordova Common',
id: 'common',
packageName: 'cordova-common',
diff --git a/spec/versionutil.spec.js b/spec/versionutil.spec.js
index ef63f78..c6ccebc 100644
--- a/spec/versionutil.spec.js
+++ b/spec/versionutil.spec.js
@@ -17,14 +17,14 @@ specific language governing permissions and limitations
under the License.
*/
-var versionutil = require('../src/versionutil');
+const versionutil = require('../src/versionutil');
require('jasmine-co').install();
-var fs = require('fs');
-var os = require('os');
-var path = require('path');
-var shell = require('shelljs');
-var gitutil = require('../src/gitutil');
-var androidRepo = {
+const fs = require('fs');
+const os = require('os');
+const path = require('path');
+const shell = require('shelljs');
+const gitutil = require('../src/gitutil');
+const androidRepo = {
title: 'Android',
id: 'android',
repoName: 'cordova-android',
@@ -32,7 +32,7 @@ var androidRepo = {
cordovaJsPaths: ['bin/templates/project/assets/www/cordova.js'],
remoteName: 'origin'
};
-var iosRepo = {
+const iosRepo = {
title: 'iOS',
id: 'ios',
repoName: 'cordova-ios',
@@ -40,7 +40,7 @@ var iosRepo = {
cordovaJsPaths: ['CordovaLib/cordova.js'],
versionFilePaths: [path.join('CordovaLib', 'VERSION')]
};
-var windowsRepo = {
+const windowsRepo = {
title: 'Windows',
id: 'windows',
repoName: 'cordova-windows',
@@ -50,7 +50,7 @@ var windowsRepo = {
versionFilePaths: ['VERSION'],
packageFilePaths: ['package.json']
};
-var browserRepo = {
+const browserRepo = {
title: 'Browser',
id: 'browser',
repoName: 'cordova-browser',
diff --git a/src/apputil.js b/src/apputil.js
index 39af9de..c2aebf8 100644
--- a/src/apputil.js
+++ b/src/apputil.js
@@ -17,12 +17,12 @@ specific language governing permissions and limitations
under the License.
*/
-var path = require('path');
-var chalk = require('chalk');
-var shell = require('shelljs');
+const path = require('path');
+const chalk = require('chalk');
+const shell = require('shelljs');
-var origWorkingDir = path.resolve(process.cwd());
-var baseWorkingDir = origWorkingDir;
+const origWorkingDir = path.resolve(process.cwd());
+let baseWorkingDir = origWorkingDir;
exports.resolveUserSpecifiedPath = function (p) {
return path.resolve(origWorkingDir, p);
@@ -30,7 +30,7 @@ exports.resolveUserSpecifiedPath = function (p) {
exports.initWorkingDir = function (chdir) {
if (chdir) {
- var newDir = path.resolve(__dirname, '..', '..');
+ const newDir = path.resolve(__dirname, '..', '..');
process.chdir(newDir);
baseWorkingDir = newDir;
}
@@ -49,17 +49,17 @@ exports.fatal = function () {
exports.prefixLength = 30;
exports.print = function () {
- var newArgs = Array.prototype.slice.call(arguments);
+ let newArgs = Array.prototype.slice.call(arguments);
// Prefix any prints() to distinguish them from command output.
if (newArgs.length > 1 || newArgs[0]) {
- var curDir = path.relative(baseWorkingDir, process.cwd());
+ let curDir = path.relative(baseWorkingDir, process.cwd());
curDir = curDir ? curDir + '/' : './';
- var banner = ' =';
- var PREFIX_LEN = exports.prefixLength;
+ let banner = ' =';
+ const PREFIX_LEN = exports.prefixLength;
if (curDir.length < PREFIX_LEN) {
banner += new Array(PREFIX_LEN - curDir.length + 1).join('=');
}
- var prefix = chalk.magenta.bold(curDir) + chalk.yellow(banner);
+ const prefix = chalk.magenta.bold(curDir) + chalk.yellow(banner);
newArgs.unshift(prefix);
newArgs = newArgs.map(function (val) { return val.replace(/\n/g, '\n' + prefix + ' '); });
}
@@ -68,7 +68,7 @@ exports.print = function () {
};
exports.setShellSilent = function (func) {
- var origShellSilent = shell.config.silent;
+ const origShellSilent = shell.config.silent;
shell.config.silent = true;
func();
shell.config.silent = origShellSilent;
diff --git a/src/check-license.js b/src/check-license.js
index 18b5a7e..66db1cd 100644
--- a/src/check-license.js
+++ b/src/check-license.js
@@ -17,26 +17,26 @@ specific language governing permissions and limitations
under the License.
*/
-var nlf = require('nlf');
-var treeify = require('treeify');
-var optimist = require('optimist');
-var fs = require('fs');
-var path = require('path');
-var Q = require('q');
-var flagutil = require('./flagutil');
-
-var jsonObject = {};
-var validLicenses = [];
-var knownIssues = {};
-var licensesFile = path.join('cordova-coho', 'src', 'validLicenses.json');
-var knownIssuesFile = path.join('cordova-coho', 'src', 'knownIssues.json');
-var reposWithDependencies = [];
-var flagged = [];
+const nlf = require('nlf');
+const treeify = require('treeify');
+const optimist = require('optimist');
+const fs = require('fs');
+const path = require('path');
+const Q = require('q');
+const flagutil = require('./flagutil');
+
+const jsonObject = {};
+let validLicenses = [];
+let knownIssues = {};
+const licensesFile = path.join('cordova-coho', 'src', 'validLicenses.json');
+const knownIssuesFile = path.join('cordova-coho', 'src', 'knownIssues.json');
+const reposWithDependencies = [];
+const flagged = [];
module.exports = function * () {
- var opt = flagutil.registerRepoFlag(optimist);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = flagutil.registerHelpFlag(opt);
- var argv = opt
+ const argv = opt
.usage('Go through each specified repo and check the licenses of node modules that are 3rd-party dependencies.\n\n' +
'Usage: $0 check-license --repo=name [-r repos]')
.argv;
@@ -45,7 +45,7 @@ module.exports = function * () {
optimist.showHelp();
process.exit(1);
}
- var repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
+ const repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
checkLicense(repos);
};
@@ -60,11 +60,11 @@ function getRepoLicense (repoName) {
function checkLicense (repos) {
// get the license info for each repo's dependencies and sub-dependencies
- var results = [];
- var previous = Q.resolve();
+ const results = [];
+ let previous = Q.resolve();
repos.forEach(function (repo) {
previous = previous.then(function () {
- var packageDir = findPackageDir(repo);
+ const packageDir = findPackageDir(repo);
if (packageDir) {
reposWithDependencies.push(repo.id);
return getRepoLicense(packageDir);
@@ -85,7 +85,7 @@ function checkLicense (repos) {
}
function findPackageDir (repo) {
- var packageDir = repo.repoName;
+ let packageDir = repo.repoName;
if (repo.path) {
packageDir = path.join(packageDir, repo.path);
}
@@ -111,12 +111,12 @@ function processResults (results, repos) {
knownIssues = JSON.parse(knownIssues);
// go through each repo, get its dependencies and add to json object
- for (var i = 0; i < results.length; ++i) {
- var repo = repos[i];
+ for (let i = 0; i < results.length; ++i) {
+ const repo = repos[i];
if (reposWithDependencies.indexOf(repo.id) > -1) {
- var repoJsonObj = {};
+ const repoJsonObj = {};
repoJsonObj.dependencies = getDependencies(results[i]);
- var repoIdentifier = repo.repoName;
+ let repoIdentifier = repo.repoName;
if (repo.path) {
repoIdentifier += '/' + repo.path;
}
@@ -131,7 +131,7 @@ function processResults (results, repos) {
console.log('***********************************************************************************************************************');
console.log('***********************************************************************************************************************\n');
if (flagged.length) {
- for (var j = 0; j < flagged.length; ++j) {
+ for (let j = 0; j < flagged.length; ++j) {
if (knownIssues[flagged[j].name]) {
flagged[j]['known-issues'] = knownIssues[flagged[j].name];
}
@@ -146,10 +146,10 @@ function processResults (results, repos) {
// get dependencies for a repo
function getDependencies (packages) {
- var dependencies = [];
- for (var j = 0; j < packages.length; ++j) {
+ const dependencies = [];
+ for (let j = 0; j < packages.length; ++j) {
// pull out only relevant info and add to dependencies array
- var obj = {};
+ const obj = {};
obj.name = packages[j].name;
obj.id = packages[j].id;
obj.directory = [packages[j].directory];
@@ -158,18 +158,22 @@ function getDependencies (packages) {
// flag any packages whose licenses may not be compatible
if (!hasValidLicense(obj)) {
- var duplicate = false;
+ let hadDuplicate = false;
+
// avoid duplicating already flagged packages
- for (var z = 0; z < flagged.length; ++z) {
+ for (let z = 0; z < flagged.length; ++z) {
if (flagged[z].id === obj.id) {
- duplicate = true;
+ hadDuplicate = true;
+
+ // if it is already flagged then just add the directory to the directories array
+ flagged[z].directory = flagged[z].directory.concat(obj.directory);
break;
}
}
- if (duplicate) {
- flagged[z].directory = flagged[z].directory.concat(obj.directory); // if it is already flagged then just add the directory to the directories array
- } else { flagged.push(JSON.parse(JSON.stringify(obj))); }
+ if (!hadDuplicate) {
+ flagged.push(JSON.parse(JSON.stringify(obj)));
+ }
}
}
@@ -178,16 +182,16 @@ function getDependencies (packages) {
// check if package has valid licenses
function hasValidLicense (pkg) {
- var isValid = false;
+ let isValid = false;
if (pkg.licenses.length === 0) { return isValid; } else {
// go through each license of the package
- for (var x = 0; x < pkg.licenses.length; ++x) {
+ for (let x = 0; x < pkg.licenses.length; ++x) {
isValid = false;
// go through valid licenses and try to match with package license
- for (var y = 0; y < validLicenses.length; ++y) {
- var pattern = new RegExp(validLicenses[y], 'gi'); // construct regular expression from valid license
+ for (let y = 0; y < validLicenses.length; ++y) {
+ const pattern = new RegExp(validLicenses[y], 'gi'); // construct regular expression from valid license
if ((pkg.licenses[x].license).match(pattern)) { // match it against the package license
isValid = true;
}
diff --git a/src/create-pr.js b/src/create-pr.js
index 17a14b6..f6da118 100644
--- a/src/create-pr.js
+++ b/src/create-pr.js
@@ -17,18 +17,18 @@ specific language governing permissions and limitations
under the License.
*/
-var flagutil = require('./flagutil');
-var optimist = require('optimist');
-var executil = require('./executil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
-var REMOTE = 'https://github.com/apache/';
-var apputil = require('./apputil');
-var url = require('url');
-var opener = require('opener');
+const flagutil = require('./flagutil');
+const optimist = require('optimist');
+const executil = require('./executil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
+const REMOTE = 'https://github.com/apache/';
+const apputil = require('./apputil');
+const url = require('url');
+const opener = require('opener');
module.exports = function * (argv) {
- var opt = flagutil.registerHelpFlag(optimist);
+ const opt = flagutil.registerHelpFlag(optimist);
opt.options('branch', {
desc: 'Topic branch for which to create pull request (Default: current branch) ',
demand: false
@@ -42,27 +42,27 @@ module.exports = function * (argv) {
optimist.showHelp();
process.exit(1);
}
- var currentRepo = repoutil.getRepoById(repoutil.resolveCwdRepo());
- var currentBranch = opt.branch;
+ const currentRepo = repoutil.getRepoById(repoutil.resolveCwdRepo());
+ let currentBranch = opt.branch;
if (!currentBranch) {
currentBranch = yield gitutil.retrieveCurrentBranchName();
}
if (currentBranch === 'master') {
console.log('You can crate a PR only for a topic branch that is not master. Use --branch to specify the topic branch or checkout to the topic branch.');
}
- var remoteInfo = yield getRemoteName(currentBranch);
- var remoteFork = yield getRemoteForkName(remoteInfo.remoteName);
- var url = REMOTE + currentRepo.repoName + '/compare/master...' + remoteFork + ':' + remoteInfo.remoteBranch + '?expand=1';
+ const remoteInfo = yield getRemoteName(currentBranch);
+ const remoteFork = yield getRemoteForkName(remoteInfo.remoteName);
+ const url = REMOTE + currentRepo.repoName + '/compare/master...' + remoteFork + ':' + remoteInfo.remoteBranch + '?expand=1';
console.log('Navigating to: ' + url);
opener(url);
};
function * getRemoteForkName (remoteName) {
- var remotes = (yield executil.execHelper(executil.ARGS('git remote -v'), /* silent */ true)).split('\n');
- var remoteUrl;
- for (var i = 0; i < remotes.length; i++) {
+ const remotes = (yield executil.execHelper(executil.ARGS('git remote -v'), /* silent */ true)).split('\n');
+ let remoteUrl;
+ for (let i = 0; i < remotes.length; i++) {
// fork https://github.com/forkName/cordova-coho.git (push)
- var tokens = remotes[i].split(/\s+/);
+ const tokens = remotes[i].split(/\s+/);
if (tokens[2] === '(push)' && tokens[0] === remoteName) {
remoteUrl = tokens[1];
break;
@@ -77,24 +77,24 @@ function * getRemoteForkName (remoteName) {
var parsed = url.parse(remoteUrl);
// parsed => /forkName/cordova-coho.git
- var forkName = (parsed.pathname.split('/'))[1];
+ const forkName = (parsed.pathname.split('/'))[1];
return forkName;
}
function * getRemoteName (currentBranch) {
- var branches = (yield executil.execHelper(executil.ARGS('git branch -vv'), /* silent */ true)).split('\n');
+ const branches = (yield executil.execHelper(executil.ARGS('git branch -vv'), /* silent */ true)).split('\n');
//* create-pr 3bed9b5 [remotes/fork/create-pr] Add support for launching URL to create a PR
- for (var i = 0; i < branches.length; i++) {
+ for (let i = 0; i < branches.length; i++) {
//* create-pr 3bed9b5 [remotes/fork/create-pr] Add support for launching URL to create a PR
// 0 1 2 3
- var tokens = branches[i].split(/\s+/);
+ let tokens = branches[i].split(/\s+/);
if (tokens[0] === '*') {
// found the current branch
if (currentBranch !== tokens[1]) {
apputil.fatal('Unexpected format. Cannot find remote branch: ' + tokens[1] + '!== ' + currentBranch);
}
// if there is no upstream remote specified - we have no choice but to bail
- var remote = tokens[3];
+ let remote = tokens[3];
if (remote.indexOf('[') !== 0) {
apputil.fatal('Cannot determine upstream remote branch. Have you already pushed it? \n' +
'To push and set upstream: git push -u <remoteFork> ' + currentBranch + '\n' +
@@ -103,8 +103,8 @@ function * getRemoteName (currentBranch) {
// Strip off the []
remote = remote.substring(1, remote.length - 1);
tokens = remote.split('/');
- var remoteName = tokens[0];
- var remoteBranch = tokens[1];
+ let remoteName = tokens[0];
+ let remoteBranch = tokens[1];
if (remoteName === 'remotes') {
remoteName = tokens[1];
remoteBranch = tokens[2];
diff --git a/src/create-verify-archive.js b/src/create-verify-archive.js
index 5456cf9..282e487 100644
--- a/src/create-verify-archive.js
+++ b/src/create-verify-archive.js
@@ -17,25 +17,25 @@ specific language governing permissions and limitations
under the License.
*/
-var glob = require('glob');
-var optimist = require('optimist');
-var shelljs = require('shelljs');
-var chalk = require('chalk');
-var fs = require('fs');
-var path = require('path');
-var apputil = require('./apputil');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
-var print = apputil.print;
-var settingUpGpg = path.resolve(path.dirname(__dirname), 'docs', 'setting-up-gpg.md');
-var isWin = process.platform === 'win32';
+const glob = require('glob');
+const optimist = require('optimist');
+const shelljs = require('shelljs');
+const chalk = require('chalk');
+const fs = require('fs');
+const path = require('path');
+const apputil = require('./apputil');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
+const print = apputil.print;
+const settingUpGpg = path.resolve(path.dirname(__dirname), 'docs', 'setting-up-gpg.md');
+const isWin = process.platform === 'win32';
exports.GPG_DOCS = settingUpGpg;
exports.createCommand = function * (argv) {
- var opt = flagutil.registerRepoFlag(optimist);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = opt
.options('tag', {
desc: 'The pre-existing tag or hash to archive (defaults to newest tag on branch)'
@@ -68,29 +68,29 @@ exports.createCommand = function * (argv) {
optimist.showHelp();
process.exit(1);
}
- var repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
+ const repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
if (argv.sign && !shelljs.which('gpg')) {
apputil.fatal('gpg command not found on your PATH. Refer to ' + settingUpGpg);
}
- var outDir = apputil.resolveUserSpecifiedPath(argv.dest);
+ const outDir = apputil.resolveUserSpecifiedPath(argv.dest);
shelljs.mkdir('-p', outDir);
- var absOutDir = path.resolve(outDir);
+ const absOutDir = path.resolve(outDir);
yield repoutil.forEachRepo(repos, function * (repo) {
if (isWin) {
yield checkLineEndings(repo);
}
- var tag = argv.tag || (yield gitutil.findMostRecentTag(repo.versionPrefix))[0];
+ const tag = argv.tag || (yield gitutil.findMostRecentTag(repo.versionPrefix))[0];
if (!tag) {
apputil.fatal('Could not find most recent tag. Try running with --tag');
}
if (!argv['allow-pending'] && (yield gitutil.pendingChangesExist())) {
apputil.fatal('Aborting because pending changes exist in ' + repo.repoName + ' (run "git status")');
}
- var origBranch = yield gitutil.retrieveCurrentBranchName(true);
+ const origBranch = yield gitutil.retrieveCurrentBranchName(true);
yield gitutil.gitCheckout(tag);
@@ -108,10 +108,10 @@ exports.createCommand = function * (argv) {
// WARNING: NEEDS to be executed in the current working directory of a cordova repo!!!
function * createArchive (repo, tag, outDir, sign) {
print('Creating archive of ' + repo.repoName + '@' + tag);
- var outPath;
+ let outPath;
if (repo.id !== 'mobile-spec') {
- var pkgInfo = require(path.resolve('package'));
- var tgzname = pkgInfo.name + '-' + tag + '.tgz';
+ const pkgInfo = require(path.resolve('package'));
+ const tgzname = pkgInfo.name + '-' + tag + '.tgz';
yield executil.execHelper(executil.ARGS('npm pack'), 1, false);
outPath = path.join(outDir, tgzname);
if (path.resolve(tgzname) !== outPath) {
@@ -133,15 +133,15 @@ function * createArchive (repo, tag, outDir, sign) {
exports.createArchive = createArchive;
exports.verifyCommand = function * () {
- var opt = flagutil.registerHelpFlag(optimist);
- var argv = opt
+ const opt = flagutil.registerHelpFlag(optimist);
+ const argv = opt
.usage('Ensures the given .zip files match their neighbouring .asc, .sha512 files.\n' +
'Refer to ' + settingUpGpg + ' for how to set up gpg\n' +
'\n' +
'Usage: $0 verify-archive a.zip b.zip c.zip')
.argv;
- var zipPaths = argv._.slice(1);
+ const zipPaths = argv._.slice(1);
if (argv.h || !zipPaths.length) {
optimist.showHelp();
process.exit(1);
@@ -150,30 +150,30 @@ exports.verifyCommand = function * () {
apputil.fatal('gpg command not found on your PATH. Refer to ' + settingUpGpg);
}
- var resolvedZipPaths = zipPaths.reduce(function (current, zipPath) {
- var matchingPaths = glob.sync(apputil.resolveUserSpecifiedPath(zipPath));
+ const resolvedZipPaths = zipPaths.reduce(function (current, zipPath) {
+ const matchingPaths = glob.sync(apputil.resolveUserSpecifiedPath(zipPath));
if (!matchingPaths || !matchingPaths.length) {
apputil.fatal(chalk.red('No files found that match \'' + zipPath + '\''));
}
return current.concat(matchingPaths);
}, []);
- for (var i = 0; i < resolvedZipPaths.length; ++i) {
- var zipPath = resolvedZipPaths[i];
+ for (let i = 0; i < resolvedZipPaths.length; ++i) {
+ const zipPath = resolvedZipPaths[i];
yield verifyArchive(zipPath);
}
print(chalk.green('Verified ' + resolvedZipPaths.length + ' signatures and hashes.'));
};
function * verifyArchive (archive) {
- var result = yield executil.execHelper(executil.ARGS('gpg --verify', archive + '.asc', archive), false, true);
+ const result = yield executil.execHelper(executil.ARGS('gpg --verify', archive + '.asc', archive), false, true);
if (result === null) {
apputil.fatal('Verification failed. You may need to update your keys. Run: curl "https://dist.apache.org/repos/dist/release/cordova/KEYS" | gpg --import');
}
- var sha = yield computeHash(archive, 'SHA512');
- var archiveFileName = archive + '.sha512';
- var oldArchiveFileName = archive + '.sha';
+ const sha = yield computeHash(archive, 'SHA512');
+ let archiveFileName = archive + '.sha512';
+ const oldArchiveFileName = archive + '.sha';
if (fs.existsSync(oldArchiveFileName) && !fs.existsSync(archiveFileName)) {
print('Old .sha extension found, this might have been generated by an old cordova-coho version. Using .sha extension for the check.');
@@ -190,7 +190,7 @@ exports.verifyArchive = verifyArchive;
function * computeHash (path, algo) {
print('Computing ' + algo + ' for: ' + path);
- var result = yield executil.execHelper(executil.ARGS('gpg --print-md', algo, path), true);
+ const result = yield executil.execHelper(executil.ARGS('gpg --print-md', algo, path), true);
return extractHashFromOutput(result);
}
@@ -199,9 +199,9 @@ function extractHashFromOutput (output) {
}
function * checkLineEndings (repo) {
- var autoCRLF;
- var eol;
- var msg = '';
+ let autoCRLF;
+ let eol;
+ let msg = '';
try {
autoCRLF = yield executil.execHelper(executil.ARGS('git config --get core.autocrlf'), true);
diff --git a/src/executil.js b/src/executil.js
index 64a0033..085aa47 100644
--- a/src/executil.js
+++ b/src/executil.js
@@ -17,14 +17,14 @@ specific language governing permissions and limitations
under the License.
*/
-var apputil = require('./apputil');
-var superspawn = require('./superspawn');
+const apputil = require('./apputil');
+const superspawn = require('./superspawn');
-var gitCommitCount = 0;
+let gitCommitCount = 0;
function ARGS (s, var_args) {
- var ret = s.trim().split(/\s+/);
- for (var i = 1; i < arguments.length; ++i) {
+ const ret = s.trim().split(/\s+/);
+ for (let i = 1; i < arguments.length; ++i) {
ret.push(arguments[i]);
}
return ret;
@@ -52,7 +52,7 @@ function execHelper (cmdAndArgs, silent, allowError, win, fail) {
if (!silent || silent === 3 || exports.verbose) {
apputil.print('Executing:', cmdAndArgs.join(' '));
}
- var result = superspawn.spawn(cmdAndArgs[0], cmdAndArgs.slice(1), { stdio: (silent && (silent !== 2)) ? 'default' : 'inherit' });
+ const result = superspawn.spawn(cmdAndArgs[0], cmdAndArgs.slice(1), { stdio: (silent && (silent !== 2)) ? 'default' : 'inherit' });
return result.then(win || null, fail || function (e) {
if (allowError) {
throw e;
@@ -67,7 +67,7 @@ exports.execHelper = execHelper;
function reportGitPushResult (repos, branches) {
apputil.print('');
if (gitCommitCount) {
- var flagsStr = repos.map(function (r) { return '-r ' + r.id; }).join(' ') + ' ' + branches.map(function (b) { return '-b ' + b; }).join(' ');
+ const flagsStr = repos.map(function (r) { return '-r ' + r.id; }).join(' ') + ' ' + branches.map(function (b) { return '-b ' + b; }).join(' ');
apputil.print('All work complete. ' + gitCommitCount + ' commits were made locally.');
apputil.print('To review changes:');
apputil.print(' ' + process.argv[1] + ' repo-status ' + flagsStr + ' --diff | less');
diff --git a/src/flagutil.js b/src/flagutil.js
index 3e4b054..dfe2fe7 100644
--- a/src/flagutil.js
+++ b/src/flagutil.js
@@ -17,8 +17,8 @@ specific language governing permissions and limitations
under the License.
*/
-var apputil = require('./apputil');
-var repoutil = require('./repoutil');
+const apputil = require('./apputil');
+const repoutil = require('./repoutil');
exports.registerHelpFlag = function (opt) {
return opt.options('h', {
@@ -42,17 +42,17 @@ exports.registerDepthFlag = function (opt) {
exports.computeReposFromFlag = function (flagValue, opts) {
opts = opts || {};
- var includeSvn = opts.includeSvn;
- var includeModules = opts.includeModules;
+ const includeSvn = opts.includeSvn;
+ const includeModules = opts.includeModules;
if (!flagValue) {
console.log('No repos specified - using repo in CWD');
flagValue = '.';
}
- var values = flagValue === true ? [] : Array.isArray(flagValue) ? flagValue : [flagValue];
- var ret = [];
- var addedIds = {};
- var addedRepos = {};
+ const values = flagValue === true ? [] : Array.isArray(flagValue) ? flagValue : [flagValue];
+ let ret = [];
+ const addedIds = {};
+ const addedRepos = {};
function addRepo (repo) {
if (!addedIds[repo.id]) {
addedIds[repo.id] = true;
@@ -63,7 +63,7 @@ exports.computeReposFromFlag = function (flagValue, opts) {
if (includeModules) {
ret.push(repo);
} else {
- var existingRepo = addedRepos[repo.repoName];
+ const existingRepo = addedRepos[repo.repoName];
if (!existingRepo || !repo.isModule) {
if (existingRepo) {
ret[ret.indexOf(existingRepo)] = repo;
@@ -79,8 +79,8 @@ exports.computeReposFromFlag = function (flagValue, opts) {
if (value === '.') {
value = repoutil.resolveCwdRepo();
}
- var repo = repoutil.getRepoById(value);
- var group = repoutil.repoGroups[value];
+ const repo = repoutil.getRepoById(value);
+ const group = repoutil.repoGroups[value];
if (repo) {
addRepo(repo);
} else if (group) {
@@ -90,7 +90,7 @@ exports.computeReposFromFlag = function (flagValue, opts) {
}
});
if (!includeSvn) {
- var hadSvn = false;
+ let hadSvn = false;
ret = ret.filter(function (r) {
hadSvn = hadSvn || !!r.svn;
return !r.svn;
@@ -104,7 +104,7 @@ exports.computeReposFromFlag = function (flagValue, opts) {
};
exports.validateVersionString = function (version, opt_allowNonSemver) {
- var pattern = opt_allowNonSemver ? /^\d+\.\d+\.\d+(-?rc\d)?$/ : /^\d+\.\d+\.\d+(-rc\d)?$/;
+ const pattern = opt_allowNonSemver ? /^\d+\.\d+\.\d+(-?rc\d)?$/ : /^\d+\.\d+\.\d+(-rc\d)?$/;
if (!pattern.test(version)) {
apputil.fatal('Versions must be in the form #.#.#-[rc#]');
}
diff --git a/src/for-each.js b/src/for-each.js
index 4653290..48670b4 100644
--- a/src/for-each.js
+++ b/src/for-each.js
@@ -17,16 +17,16 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var repoutil = require('./repoutil');
+const optimist = require('optimist');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const repoutil = require('./repoutil');
module.exports = function * () {
- var opt = flagutil.registerRepoFlag(optimist);
- var cmd;
+ let opt = flagutil.registerRepoFlag(optimist);
+ let cmd;
opt = flagutil.registerHelpFlag(opt);
- var argv = opt
+ const argv = opt
.usage('Performs the supplied shell command in each repo directory.\n' +
'Use "$r" as pseudo variable for repo name.\n' +
'\n' +
@@ -37,7 +37,7 @@ module.exports = function * () {
optimist.showHelp();
process.exit(1);
}
- var repos = flagutil.computeReposFromFlag(argv.r);
+ const repos = flagutil.computeReposFromFlag(argv.r);
if (process.platform === 'win32') {
cmd = ['cmd', '/s', '/c', argv._[1]];
} else {
@@ -45,8 +45,8 @@ module.exports = function * () {
}
yield repoutil.forEachRepo(repos, function * (repo) {
- var replacedCmd = [];
- for (var i = 0; i < cmd.length; i++) {
+ const replacedCmd = [];
+ for (let i = 0; i < cmd.length; i++) {
replacedCmd[i] = cmd[i].replace(/\$r/g, repo.repoName);
}
yield executil.execHelper(replacedCmd, false, true);
diff --git a/src/gitutil.js b/src/gitutil.js
index cbd8659..3c8ba49 100644
--- a/src/gitutil.js
+++ b/src/gitutil.js
@@ -17,9 +17,9 @@ specific language governing permissions and limitations
under the License.
*/
-var executil = require('./executil');
-var gitutil = exports;
-var semver = require('semver');
+const executil = require('./executil');
+const gitutil = exports;
+const semver = require('semver');
/**
* Returns the greatest semver-looking tag in the repo. If prefix is specified, only looks at tags that start with
@@ -30,12 +30,12 @@ var semver = require('semver');
*/
exports.findMostRecentTag = function * (prefix) {
prefix = prefix && prefix + '-';
- var finalBest;
- var lastBest;
+ let finalBest;
+ let lastBest;
- var ret = (yield executil.execHelper(executil.ARGS('git tag --list'), true)).split(/\s+/)
+ const ret = (yield executil.execHelper(executil.ARGS('git tag --list'), true)).split(/\s+/)
.reduce(function (curBest, value) {
- var modifiedCurBest, modifiedValue;
+ let modifiedCurBest, modifiedValue;
if (prefix) {
// Ignore values that don't start with prefix, and strip prefix from the value we're going to test
if (value.indexOf(prefix) !== 0) {
@@ -88,7 +88,7 @@ exports.tagExists = function * (tagName) {
};
exports.retrieveCurrentBranchName = function * (allowDetached) {
- var ref;
+ let ref;
try {
ref = yield executil.execHelper(executil.ARGS('git symbolic-ref HEAD'), true, true);
} catch (e) {
@@ -97,7 +97,7 @@ exports.retrieveCurrentBranchName = function * (allowDetached) {
}
throw new Error('Aborted due to repo ' + process.cwd() + ' not being on a named branch. ' + e.message);
}
- var match = /refs\/heads\/(.*)/.exec(ref);
+ const match = /refs\/heads\/(.*)/.exec(ref);
if (!match) {
throw new Error('Could not parse branch name from: ' + ref);
}
@@ -105,8 +105,8 @@ exports.retrieveCurrentBranchName = function * (allowDetached) {
};
exports.remoteBranchExists = function * (repo, branch) {
- var branch_token = (repo.remoteName || 'origin') + '/' + branch;
- var stdout = yield executil.execHelper(executil.ARGS('git branch -r --list ' + branch_token), false, false);
+ const branch_token = (repo.remoteName || 'origin') + '/' + branch;
+ const stdout = yield executil.execHelper(executil.ARGS('git branch -r --list ' + branch_token), false, false);
if (stdout.indexOf(branch_token) > -1) {
return true;
} else {
@@ -115,8 +115,8 @@ exports.remoteBranchExists = function * (repo, branch) {
};
exports.stashAndPop = function * (repo, func) {
- var requiresStash = yield gitutil.pendingChangesExist();
- var branchName = yield gitutil.retrieveCurrentBranchName();
+ const requiresStash = yield gitutil.pendingChangesExist();
+ const branchName = yield gitutil.retrieveCurrentBranchName();
if (requiresStash) {
yield executil.execHelper(executil.ARGS('git stash save --include-untracked --quiet', 'coho stash'));
@@ -135,7 +135,7 @@ exports.pendingChangesExist = function * () {
};
exports.gitCheckout = function * (branchName) {
- var curBranch = yield gitutil.retrieveCurrentBranchName(true);
+ const curBranch = yield gitutil.retrieveCurrentBranchName(true);
if (curBranch !== branchName) {
return yield executil.execHelper(executil.ARGS('git checkout -q ', branchName));
}
@@ -169,7 +169,7 @@ exports.gitClean = function () {
};
exports.summaryOfChanges = function * (base_sha) {
- var cmd = executil.ARGS('git log --topo-order --no-merges');
+ const cmd = executil.ARGS('git log --topo-order --no-merges');
cmd.push(['--pretty=format:* %s']);
cmd.push(base_sha + '..master');
return yield executil.execHelper(cmd, true, false);
@@ -188,7 +188,7 @@ exports.pushToOrigin = function * (ref) {
};
exports.diff = function * (first, second) {
- var args = executil.ARGS('git diff', first + '..' + second);
+ const args = executil.ARGS('git diff', first + '..' + second);
return yield executil.execHelper(args, true, false);
};
diff --git a/src/last-week.js b/src/last-week.js
index 199bee3..49213c5 100644
--- a/src/last-week.js
+++ b/src/last-week.js
@@ -17,15 +17,15 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var apputil = require('./apputil');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var repoutil = require('./repoutil');
+const optimist = require('optimist');
+const apputil = require('./apputil');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const repoutil = require('./repoutil');
module.exports = function * () {
- var meEmail = yield executil.execHelper(executil.ARGS('git config user.email'), true);
- var opt = flagutil.registerRepoFlag(optimist);
+ const meEmail = yield executil.execHelper(executil.ARGS('git config user.email'), true);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = flagutil.registerHelpFlag(opt)
.options('me', {
desc: 'Show only your commits. Short for --user=' + meEmail + ' --cherry-picks=false',
@@ -54,15 +54,15 @@ module.exports = function * () {
optimist.showHelp();
process.exit(1);
}
- var repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
- var filterByEmail = !!argv.me || !!argv.user;
- var days = argv.days || 7;
- var userEmail = filterByEmail && (argv.user || meEmail);
- var showCherryPicks = !argv.me && argv['cherry-picks'];
- var commitCount = 0;
- var pullRequestCount = 0;
+ const repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
+ const filterByEmail = !!argv.me || !!argv.user;
+ const days = argv.days || 7;
+ const userEmail = filterByEmail && (argv.user || meEmail);
+ const showCherryPicks = !argv.me && argv['cherry-picks'];
+ let commitCount = 0;
+ let pullRequestCount = 0;
- var cmd = executil.ARGS('git log --no-merges --date=short --all-match --fixed-strings');
+ let cmd = executil.ARGS('git log --no-merges --date=short --all-match --fixed-strings');
if (filterByEmail) {
cmd.push('--author=' + userEmail);
if (!showCherryPicks) {
@@ -72,13 +72,13 @@ module.exports = function * () {
apputil.print('Running command: ' + cmd.join(' ') + ' --format="$REPO_NAME %s" --since="' + days + ' days ago"');
yield repoutil.forEachRepo(repos, function * (repo) {
- var repoName = repo.id + new Array(Math.max(0, 20 - repo.id.length + 1)).join(' ');
- var format = '--format=' + repoName;
+ const repoName = repo.id + new Array(Math.max(0, 20 - repo.id.length + 1)).join(' ');
+ let format = '--format=' + repoName;
if (!filterByEmail) {
format += ' %an - ';
}
format += '%cd %s';
- var output = yield executil.execHelper(cmd.concat([format, '--since=' + days + ' days ago']).concat(repoutil.getRepoIncludePath(repo)), true);
+ const output = yield executil.execHelper(cmd.concat([format, '--since=' + days + ' days ago']).concat(repoutil.getRepoIncludePath(repo)), true);
if (output) {
console.log(output);
commitCount += output.split('\n').length;
@@ -89,8 +89,8 @@ module.exports = function * () {
console.log('\nPull requests:');
cmd = executil.ARGS('git log --no-merges --date=short --fixed-strings', '--committer=' + userEmail);
yield repoutil.forEachRepo(repos, function * (repo) {
- var repoName = repo.id + new Array(Math.max(0, 20 - repo.id.length + 1)).join(' ');
- var output = yield executil.execHelper(cmd.concat(['--format=%ae|' + repoName + ' %cd %s',
+ const repoName = repo.id + new Array(Math.max(0, 20 - repo.id.length + 1)).join(' ');
+ const output = yield executil.execHelper(cmd.concat(['--format=%ae|' + repoName + ' %cd %s',
'--since=' + days + ' days ago']).concat(repoutil.getRepoIncludePath(repo)), true);
if (output) {
output.split('\n').forEach(function (line) {
diff --git a/src/list-pulls.js b/src/list-pulls.js
index c31ddd3..5ee6997 100644
--- a/src/list-pulls.js
+++ b/src/list-pulls.js
@@ -17,25 +17,25 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var request = require('request');
-var apputil = require('./apputil');
-var flagutil = require('./flagutil');
+const optimist = require('optimist');
+const request = require('request');
+const apputil = require('./apputil');
+const flagutil = require('./flagutil');
// Set env variable CORDOVA_GIT_ACCOUNT to <username>:<password> or <api-token> to avoid hitting GitHub rate limits.
-var GITHUB_ACCOUNT = process.env.CORDOVA_GIT_ACCOUNT ? process.env.CORDOVA_GIT_ACCOUNT + '@' : '';
-var GITHUB_API_URL = 'https://' + GITHUB_ACCOUNT + 'api.github.com/';
-var GITHUB_ORGANIZATION = 'apache';
-var commentFailed = false;
+const GITHUB_ACCOUNT = process.env.CORDOVA_GIT_ACCOUNT ? process.env.CORDOVA_GIT_ACCOUNT + '@' : '';
+const GITHUB_API_URL = 'https://' + GITHUB_ACCOUNT + 'api.github.com/';
+const GITHUB_ORGANIZATION = 'apache';
+let commentFailed = false;
function addLastCommentInfo (repo, pullRequests, callback) {
- var remaining = pullRequests.length;
+ let remaining = pullRequests.length;
if (remaining === 0) {
callback();
}
pullRequests.forEach(function (pullRequest) {
- var commentsUrl = pullRequest._links.comments && pullRequest._links.comments.href;
- var reviewCommentsUrl = pullRequest._links.review_comments && pullRequest._links.review_comments.href;
+ const commentsUrl = pullRequest._links.comments && pullRequest._links.comments.href;
+ const reviewCommentsUrl = pullRequest._links.review_comments && pullRequest._links.review_comments.href;
if (commentsUrl && reviewCommentsUrl) {
// If comments and review_comments URLs are present, use them (more accurate than scraping)
@@ -64,7 +64,7 @@ function addLastCommentInfo (repo, pullRequests, callback) {
console.warn('Pull request scrape request failed: ' + err);
}
} else {
- var m = /[\s\S]*timeline-comment-header[\s\S]*?"author".*?>(.*?)</.exec(payload);
+ const m = /[\s\S]*timeline-comment-header[\s\S]*?"author".*?>(.*?)</.exec(payload);
(pullRequest.lastUpdatedBy = m && m[1]) || (''); // eslint-disable-line no-unused-expressions
}
if (--remaining === 0) {
@@ -96,7 +96,7 @@ function getPullRequestComments (url, existingComments, callback) {
}
callback(existingComments);
}
- var comments = JSON.parse(payload);
+ const comments = JSON.parse(payload);
if (!comments.forEach) {
// We don't have an array, so something failed
if (!commentFailed) {
@@ -110,7 +110,7 @@ function getPullRequestComments (url, existingComments, callback) {
}
function listGitHubPullRequests (repo, maxAge, hideUser, short, statsOnly, callback) {
- var url = GITHUB_API_URL + 'repos/' + GITHUB_ORGANIZATION + '/' + repo + '/pulls';
+ const url = GITHUB_API_URL + 'repos/' + GITHUB_ORGANIZATION + '/' + repo + '/pulls';
request.get({ url: url, headers: { 'User-Agent': 'Cordova Coho' } }, function (err, res, pullRequests) {
if (err) {
@@ -118,14 +118,14 @@ function listGitHubPullRequests (repo, maxAge, hideUser, short, statsOnly, callb
} else if (!pullRequests) {
apputil.fatal('Error: GitHub returned no pull requests');
} else if (res.headers['x-ratelimit-remaining'] && res.headers['x-ratelimit-remaining'] === 0) {
- var resetEpoch = new Date(res.headers['x-ratelimit-reset'] * 1000);
- var expiration = resetEpoch.getHours() + ':' + resetEpoch.getMinutes() + ':' + resetEpoch.getSeconds();
+ const resetEpoch = new Date(res.headers['x-ratelimit-reset'] * 1000);
+ const expiration = resetEpoch.getHours() + ':' + resetEpoch.getMinutes() + ':' + resetEpoch.getSeconds();
apputil.fatal('Error: GitHub rate limit exceeded, wait till ' + expiration + ' before trying again.\n' +
'See http://developer.github.com/v3/#rate-limiting for details.');
}
pullRequests = JSON.parse(pullRequests);
- var origCount = pullRequests.length;
+ const origCount = pullRequests.length;
if (pullRequests.message === 'Bad credentials') {
apputil.fatal('Error: GitHub Bad credentials. Check your CORDOVA_GIT_ACCOUNT environment variable which should be set with your Github API token: https://github.com/settings/tokens.',
@@ -133,11 +133,11 @@ function listGitHubPullRequests (repo, maxAge, hideUser, short, statsOnly, callb
}
pullRequests = pullRequests.filter(function (p) {
- var updatedDate = new Date(p.updated_at);
- var daysAgo = Math.round((new Date() - updatedDate) / (60 * 60 * 24 * 1000));
+ const updatedDate = new Date(p.updated_at);
+ const daysAgo = Math.round((new Date() - updatedDate) / (60 * 60 * 24 * 1000));
return daysAgo < maxAge;
});
- var countAfterDateFilter = pullRequests.length;
+ const countAfterDateFilter = pullRequests.length;
if (hideUser) {
addLastCommentInfo(repo, pullRequests, next);
@@ -146,7 +146,7 @@ function listGitHubPullRequests (repo, maxAge, hideUser, short, statsOnly, callb
}
function next () {
- var cbObj = {
+ const cbObj = {
repo: repo,
'fresh-count': 0,
'old-count': 0,
@@ -160,14 +160,14 @@ function listGitHubPullRequests (repo, maxAge, hideUser, short, statsOnly, callb
return p.lastUpdatedBy !== hideUser;
});
}
- var count = pullRequests.length;
+ const count = pullRequests.length;
cbObj['fresh-count'] = count;
if (!statsOnly) {
pullRequests.sort(function (a, b) { return (a.updated_at > b.updated_at) ? -1 : ((b.updated_at > a.updated_at) ? 1 : 0); });
}
- var countMsg = count + ' Pull Requests';
+ let countMsg = count + ' Pull Requests';
if (countAfterDateFilter !== origCount || count !== countAfterDateFilter) {
countMsg += ' (plus ';
}
@@ -192,8 +192,8 @@ function listGitHubPullRequests (repo, maxAge, hideUser, short, statsOnly, callb
if (!statsOnly) {
pullRequests.forEach(function (pullRequest) {
- var updatedDate = new Date(pullRequest.updated_at);
- var daysAgo = Math.round((new Date() - updatedDate) / (60 * 60 * 24 * 1000));
+ const updatedDate = new Date(pullRequest.updated_at);
+ const daysAgo = Math.round((new Date() - updatedDate) / (60 * 60 * 24 * 1000));
console.log('\x1B[33m-----------------------------------------------------------------------------------------------\x1B[39m');
console.log('PR #' + pullRequest.number + ': ' + pullRequest.user.login + ': ' +
pullRequest.title + ' (\x1B[31m' + (pullRequest.lastUpdatedBy || '<no comments>') + ' ' + daysAgo + ' days ago\x1B[39m)');
@@ -222,7 +222,7 @@ function listGitHubPullRequests (repo, maxAge, hideUser, short, statsOnly, callb
}
function * listPullRequestsCommand () {
- var opt = flagutil.registerHelpFlag(optimist);
+ let opt = flagutil.registerHelpFlag(optimist);
opt = flagutil.registerRepoFlag(opt)
.options('max-age', {
desc: 'Don\'t show pulls older than this (in days)',
@@ -258,22 +258,22 @@ function * listPullRequestsCommand () {
'Please note that GitHub rate limiting applies. See http://developer.github.com/v3/#rate-limiting for details.\n' +
'You can also set the CORDOVA_GIT_ACCOUNT environment variable with your Github API key: https://github.com/settings/tokens\n'
);
- var argv = opt.argv;
+ const argv = opt.argv;
if (argv.h) {
optimist.showHelp();
process.exit(1);
}
- var repos = flagutil.computeReposFromFlag(argv.r);
- var report = {
+ const repos = flagutil.computeReposFromFlag(argv.r);
+ const report = {
title: 'coho list-pulls report',
// "command" : process.argv,
timestamp: new Date().toJSON(),
'max-age': argv['max-age'],
repos: []
};
- var simple_report = [];
+ const simple_report = [];
function next (reportObject) {
if (reportObject && argv['stats-only']) {
@@ -285,7 +285,7 @@ function * listPullRequestsCommand () {
}
if (repos.length) {
- var repo = repos.shift();
+ const repo = repos.shift();
listGitHubPullRequests(repo.repoName, argv['max-age'], argv['hide-user'], argv.short, argv['stats-only'], next);
} else if (argv['stats-only']) { // done
function compareFunc (a, b) { // eslint-disable-line no-inner-declarations
@@ -310,7 +310,7 @@ function * listPullRequestsCommand () {
}
}
- var url = 'https://github.com/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr';
+ let url = 'https://github.com/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr';
repos.forEach(function (repo) {
url += '+repo%3Aapache%2F' + repo.repoName;
});
diff --git a/src/list-release-urls.js b/src/list-release-urls.js
index 6534982..d8e9759 100644
--- a/src/list-release-urls.js
+++ b/src/list-release-urls.js
@@ -17,21 +17,21 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
+const optimist = require('optimist');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
module.exports = function * () {
- var opt = flagutil.registerRepoFlag(optimist);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = opt
.options('version', {
desc: 'The version of the release. E.g. 2.7.1-rc2',
demand: true
});
opt = flagutil.registerHelpFlag(opt);
- var argv = opt
+ const argv = opt
.usage('List the apache git repo urls for release artifacts.\n' +
'\n' +
'Usage: $0 list-release-urls [-r repos] --version=2.7.1-rc2')
@@ -41,16 +41,16 @@ module.exports = function * () {
optimist.showHelp();
process.exit(1);
}
- var repos = flagutil.computeReposFromFlag(argv.r);
- var version = argv.version;
+ const repos = flagutil.computeReposFromFlag(argv.r);
+ const version = argv.version;
- var baseUrl = 'http://git-wip-us.apache.org/repos/asf?p=%s.git;a=shortlog;h=refs/tags/%s';
+ const baseUrl = 'http://git-wip-us.apache.org/repos/asf?p=%s.git;a=shortlog;h=refs/tags/%s';
yield repoutil.forEachRepo(repos, function * (repo) {
if (!(yield gitutil.tagExists(version))) {
console.error('Tag "' + version + '" does not exist in repo ' + repo.repoName);
return;
}
- var url = require('util').format(baseUrl, repo.repoName, version);
+ const url = require('util').format(baseUrl, repo.repoName, version);
console.log(url);
yield executil.execHelper(executil.ARGS('git show-ref ' + version), 2, true);
});
diff --git a/src/list-repos.js b/src/list-repos.js
index 14a7ea9..f29314e 100644
--- a/src/list-repos.js
+++ b/src/list-repos.js
@@ -17,7 +17,7 @@ specific language governing permissions and limitations
under the License.
*/
-var repoutil = require('./repoutil');
+const repoutil = require('./repoutil');
module.exports = function * (argv) {
console.log('Valid values for the --repo flag:');
@@ -28,7 +28,7 @@ module.exports = function * (argv) {
});
console.log('');
console.log('Repository Groups:');
- var groupNames = Object.keys(repoutil.repoGroups);
+ const groupNames = Object.keys(repoutil.repoGroups);
groupNames.sort();
groupNames.forEach(function (groupName) {
console.log(' ' + groupName + ' (' + repoutil.repoGroups[groupName].map(function (repo) { return repo.id; }).join(', ') + ')');
diff --git a/src/merge-pr.js b/src/merge-pr.js
index b0d6bc7..dc42258 100644
--- a/src/merge-pr.js
+++ b/src/merge-pr.js
@@ -15,15 +15,15 @@ specific language governing permissions and limitations
under the License.
*/
-var flagutil = require('./flagutil');
-var optimist = require('optimist');
-var executil = require('./executil');
-var gitutil = require('./gitutil');
-var chalk = require('chalk');
-var repoutil = require('./repoutil');
+const flagutil = require('./flagutil');
+const optimist = require('optimist');
+const executil = require('./executil');
+const gitutil = require('./gitutil');
+const chalk = require('chalk');
+const repoutil = require('./repoutil');
module.exports = function * (argv) {
- var opt = flagutil.registerHelpFlag(optimist);
+ const opt = flagutil.registerHelpFlag(optimist);
opt.options('pr', {
desc: 'PR # that needs to be merged',
demand: true
@@ -47,17 +47,17 @@ module.exports = function * (argv) {
process.exit(1);
}
- var pull_only = argv['pull-only'];
- var localBranch = 'pr/' + argv.pr;
- var currentRepo = repoutil.getRepoById(repoutil.resolveCwdRepo());
- var origin = 'https://github.com/apache/' + currentRepo.repoName;
+ const pull_only = argv['pull-only'];
+ const localBranch = 'pr/' + argv.pr;
+ const currentRepo = repoutil.getRepoById(repoutil.resolveCwdRepo());
+ const origin = 'https://github.com/apache/' + currentRepo.repoName;
function * mergePr () {
- var commitMessage;
+ let commitMessage;
yield executil.execHelper(executil.ARGS('git checkout master'));
yield executil.execHelper(['git', 'pull', origin, 'master']);
- var commit = yield executil.execHelper(executil.ARGS('git rev-parse HEAD'), /* silent */ true);
+ const commit = yield executil.execHelper(executil.ARGS('git rev-parse HEAD'), /* silent */ true);
yield executil.execHelper(['git', 'fetch', /* force update */ '-fu', origin,
'refs/pull/' + argv.pr + '/head:' + localBranch]);
@@ -83,7 +83,7 @@ module.exports = function * (argv) {
}
}
console.log();
- var commits = yield executil.execHelper(['git', 'log',
+ const commits = yield executil.execHelper(['git', 'log',
'--graph',
'--pretty=format:%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset',
'--abbrev-commit',
diff --git a/src/nightly.js b/src/nightly.js
index b43cc81..46f1796 100644
--- a/src/nightly.js
+++ b/src/nightly.js
@@ -17,24 +17,24 @@ specific language governing permissions and limitations
under the License.
*/
-var apputil = require('./apputil');
-var optimist = require('optimist');
-var flagutil = require('./flagutil');
-var repoutil = require('./repoutil');
-var repoupdate = require('./repo-update');
-var retrieveSha = require('./retrieve-sha');
-var npmpublish = require('./npm-publish');
-var versionutil = require('./versionutil');
-var gitutil = require('./gitutil');
-var fs = require('fs');
-var path = require('path');
-var repoclone = require('./repo-clone');
+const apputil = require('./apputil');
+const optimist = require('optimist');
+const flagutil = require('./flagutil');
+const repoutil = require('./repoutil');
+const repoupdate = require('./repo-update');
+const retrieveSha = require('./retrieve-sha');
+const npmpublish = require('./npm-publish');
+const versionutil = require('./versionutil');
+const gitutil = require('./gitutil');
+const fs = require('fs');
+const path = require('path');
+const repoclone = require('./repo-clone');
module.exports = function * (argv) {
/** Specifies the default repos to build nightlies for */
- var DEFAULT_NIGHTLY_REPOS = ['cli', 'lib', 'fetch', 'common', 'create', 'coho'];
+ const DEFAULT_NIGHTLY_REPOS = ['cli', 'lib', 'fetch', 'common', 'create', 'coho'];
- var opt = flagutil.registerHelpFlag(optimist);
+ let opt = flagutil.registerHelpFlag(optimist);
opt = flagutil.registerRepoFlag(opt);
argv = opt
@@ -57,10 +57,10 @@ module.exports = function * (argv) {
// Clone and update Repos
yield prepareRepos(argv.r);
- var reposToBuild = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
+ const reposToBuild = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
// Get updated nightly versions for all repos
/** @type {Object} A map of repo.id and a short SHA for every repo to build */
- var VERSIONS = yield retrieveVersions(reposToBuild);
+ const VERSIONS = yield retrieveVersions(reposToBuild);
// Update version in package.json and other respective files for every repo
// and update dependencies to use nightly versions of packages to be released
@@ -76,7 +76,7 @@ module.exports = function * (argv) {
versionutil.updatePlatformsConfig(VERSIONS);
}
- var options = {};
+ const options = {};
options.tag = 'nightly';
options.pretend = argv.pretend;
options.r = reposToBuild.map(function (repo) { return repo.id; });
@@ -88,13 +88,13 @@ module.exports = function * (argv) {
function * prepareRepos (repoNames) {
// Clone and update required repos
apputil.print('Cloning and updating required repositories...');
- var reposToClone = flagutil.computeReposFromFlag(['tools'].concat(repoNames));
+ const reposToClone = flagutil.computeReposFromFlag(['tools'].concat(repoNames));
yield repoclone.cloneRepos(reposToClone, /* silent= */true);
yield repoupdate.updateRepos(reposToClone, /* silent= */true);
// Remove local changes and sync up with remote master
apputil.print('Resetting repositories to "master" branches...');
- var reposToUpdate = flagutil.computeReposFromFlag(repoNames);
+ const reposToUpdate = flagutil.computeReposFromFlag(repoNames);
yield repoutil.forEachRepo(reposToUpdate, function * () {
yield gitutil.gitClean();
yield gitutil.resetFromOrigin();
@@ -107,13 +107,14 @@ function * prepareRepos (repoNames) {
* @param {Object<String, String>} dependencies Map of package's id's and nightly versions
*/
function updateRepoDependencies (repo, dependencies) {
- var packageJSONPath = path.join(process.cwd(), 'package.json');
- var packageJSON = JSON.parse(fs.readFileSync(packageJSONPath));
+ const packageJSONPath = path.join(process.cwd(), 'package.json');
+ const packageJSON = JSON.parse(fs.readFileSync(packageJSONPath));
// Let's iterate through repos we're going to release
+ // eslint-disable-next-line array-callback-return
Object.keys(dependencies).map(function (dependencyId) {
- var repo = repoutil.getRepoById(dependencyId);
- var packageId = repo.packageName || repo.repoName;
+ const repo = repoutil.getRepoById(dependencyId);
+ const packageId = repo.packageName || repo.repoName;
if (packageJSON.dependencies[packageId]) {
// If current repo has dependency that points to one of packages, we're going
@@ -133,8 +134,8 @@ function updateRepoDependencies (repo, dependencies) {
* @returns {String} A newly generated nightly suffix
*/
function getNightlySuffix (SHA) {
- var currentDate = new Date();
- var nightlySuffix = '-nightly.' + currentDate.getUTCFullYear() + '.' +
+ const currentDate = new Date();
+ const nightlySuffix = '-nightly.' + currentDate.getUTCFullYear() + '.' +
(currentDate.getUTCMonth() + 1) + '.' + currentDate.getUTCDate() +
'.' + SHA;
@@ -148,11 +149,11 @@ function getNightlySuffix (SHA) {
* @returns {Object} Mapped object
*/
function * retrieveVersions (repos) {
- var SHAJSON = yield retrieveSha(repos);
+ const SHAJSON = yield retrieveSha(repos);
return Object.keys(SHAJSON).reduce(function (result, repoId) {
- var repoPath = repoutil.getRepoDir(repoutil.getRepoById(repoId));
- var oldVersion = require(path.join(repoPath, 'package.json')).version;
+ const repoPath = repoutil.getRepoDir(repoutil.getRepoById(repoId));
+ const oldVersion = require(path.join(repoPath, 'package.json')).version;
result[repoId] = versionutil.removeDev(oldVersion) + getNightlySuffix(SHAJSON[repoId]);
return result;
}, {});
diff --git a/src/npm-link.js b/src/npm-link.js
index be8a93d..5821e8d 100644
--- a/src/npm-link.js
+++ b/src/npm-link.js
@@ -17,16 +17,16 @@ specific language governing permissions and limitations
under the License.
*/
-var fs = require('fs');
-var path = require('path');
-var optimist = require('optimist');
-var shelljs = require('shelljs');
-var flagutil = require('./flagutil');
+const fs = require('fs');
+const path = require('path');
+const optimist = require('optimist');
+const shelljs = require('shelljs');
+const flagutil = require('./flagutil');
-var packman = 'npm';
+let packman = 'npm';
function * createLink (argv) {
- var opt = flagutil.registerHelpFlag(optimist);
+ const opt = flagutil.registerHelpFlag(optimist);
argv = opt
.usage('Does an npm-link of the modules that we publish. Ensures we are testing live versions of our own dependencies instead of the last published version.\n' +
'\n' +
@@ -121,12 +121,12 @@ function cdOutOf () {
function verifyLink (linkedModule, installedModule) {
cdInto(installedModule);
- var linkedPath = path.join(shelljs.pwd(), 'node_modules', linkedModule);
+ const linkedPath = path.join(shelljs.pwd(), 'node_modules', linkedModule);
if (!fs.existsSync(linkedPath)) {
return false;
}
- var myStat = fs.lstatSync(linkedPath);
+ const myStat = fs.lstatSync(linkedPath);
if (!myStat.isSymbolicLink()) {
return false;
}
diff --git a/src/npm-publish.js b/src/npm-publish.js
index cce9723..63a0c1b 100644
--- a/src/npm-publish.js
+++ b/src/npm-publish.js
@@ -17,13 +17,13 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var flagutil = require('./flagutil');
-var repoutil = require('./repoutil');
-var executil = require('./executil');
+const optimist = require('optimist');
+const flagutil = require('./flagutil');
+const repoutil = require('./repoutil');
+const executil = require('./executil');
function * publishTag (options) {
- var opt = flagutil.registerHelpFlag(optimist);
+ let opt = flagutil.registerHelpFlag(optimist);
// argv was passed through another function, set defaults to appease demand.
if (options) {
@@ -62,7 +62,7 @@ function * publishTag (options) {
process.exit(1);
}
- var repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
+ const repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
// npm publish --tag argv.tag
yield repoutil.forEachRepo(repos, function * (repo) {
@@ -74,7 +74,7 @@ module.exports.publishTag = publishTag;
// Gets last nightly tag and unpublishes it
function * unpublishNightly (options) {
- var opt = flagutil.registerHelpFlag(optimist);
+ let opt = flagutil.registerHelpFlag(optimist);
if (options) {
opt = opt
@@ -86,7 +86,7 @@ function * unpublishNightly (options) {
});
}
- var argv = opt
+ const argv = opt
.usage('Unpublishes the nightly version for the cli & lib from npm \n' +
'Usage: $0 npm-unpublish-nightly')
.options('pretend', {
@@ -104,11 +104,11 @@ function * unpublishNightly (options) {
process.exit(1);
}
- var repos = flagutil.computeReposFromFlag(argv.r);
+ const repos = flagutil.computeReposFromFlag(argv.r);
yield repoutil.forEachRepo(repos, function * (repo) {
- var packageId = repo.packageName || repo.repoName;
- var oldNightlyVersion = yield executil.execHelper(executil.ARGS('npm view ' + packageId + ' dist-tags.nightly'));
+ const packageId = repo.packageName || repo.repoName;
+ const oldNightlyVersion = yield executil.execHelper(executil.ARGS('npm view ' + packageId + ' dist-tags.nightly'));
if (oldNightlyVersion && oldNightlyVersion !== 'undefined') {
yield executil.execOrPretend(executil.ARGS('npm unpublish ' + packageId + '@' + oldNightlyVersion), argv.pretend);
diff --git a/src/platform-release.js b/src/platform-release.js
index cf9ce70..9bd59af 100644
--- a/src/platform-release.js
+++ b/src/platform-release.js
@@ -17,27 +17,27 @@ specific language governing permissions and limitations
under the License.
*/
-var path = require('path');
-var fs = require('fs');
-var util = require('util');
-var optimist = require('optimist');
-var shelljs = require('shelljs');
-var apputil = require('./apputil');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
-var repoupdate = require('./repo-update');
-var versionutil = require('./versionutil');
-var print = apputil.print;
+const path = require('path');
+const fs = require('fs');
+const util = require('util');
+const optimist = require('optimist');
+const shelljs = require('shelljs');
+const apputil = require('./apputil');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
+const repoupdate = require('./repo-update');
+const versionutil = require('./versionutil');
+const print = apputil.print;
function createPlatformDevVersion (version) {
// e.g. "3.1.0" -> "3.2.0-dev".
// e.g. "3.1.2-0.8.0-rc2" -> "3.2.0-0.8.0-dev".
version = version.replace(/-rc.*$/, '');
- var parts = version.split('.');
+ const parts = version.split('.');
parts[1] = String(+parts[1] + 1);
- var cliSafeParts = parts[2].split('-');
+ const cliSafeParts = parts[2].split('-');
cliSafeParts[0] = '0';
parts[2] = cliSafeParts.join('-');
return parts.join('.') + '-dev';
@@ -65,14 +65,14 @@ function cpAndLog (src, dest) {
// TODO: if using this method to only retrieve repo version, use the new
// versionutil.getRepoVersion method.
function * handleVersion (repo, ver, validate) {
- var platform = repo.id; // eslint-disable-line no-unused-vars
- var version = ver || undefined;
+ const platform = repo.id; // eslint-disable-line no-unused-vars
+ let version = ver || undefined;
if (version === undefined) {
yield repoutil.forEachRepo([repo], function * () {
// Grabbing version from platformPackageJson
- var platformPackage = path.join(process.cwd(), 'package.json');
- var platformPackageJson = require(platformPackage);
+ const platformPackage = path.join(process.cwd(), 'package.json');
+ const platformPackageJson = require(platformPackage);
if (validate === true) {
version = flagutil.validateVersionString(platformPackageJson.version);
} else {
@@ -84,7 +84,7 @@ function * handleVersion (repo, ver, validate) {
}
function configureReleaseCommandFlags (_opt) {
- var opt = flagutil.registerRepoFlag(_opt);
+ let opt = flagutil.registerRepoFlag(_opt);
opt = opt
.options('version', {
desc: 'The version to use for the branch. Must match the pattern #.#.#[-rc#]'
@@ -101,7 +101,7 @@ function configureReleaseCommandFlags (_opt) {
return argv;
}
-var hasBuiltJs = '';
+let hasBuiltJs = '';
// Adds the version to CDVAvailability.h for iOS or OSX
function * updateCDVAvailabilityFile (version, platform) {
@@ -112,17 +112,17 @@ function * updateCDVAvailabilityFile (version, platform) {
file = path.join(process.cwd(), 'CordovaLib', 'CordovaLib', 'Classes', 'Commands', 'CDVAvailability.h');
}
- var fileContents = fs.readFileSync(file, 'utf8');
+ let fileContents = fs.readFileSync(file, 'utf8');
fileContents = fileContents.split('\n');
- var lineNumberToInsertLine = fileContents.indexOf('/* coho:next-version,insert-before */');
- var lineNumberToReplaceLine = fileContents.indexOf(' /* coho:next-version-min-required,replace-after */') + 2;
+ const lineNumberToInsertLine = fileContents.indexOf('/* coho:next-version,insert-before */');
+ let lineNumberToReplaceLine = fileContents.indexOf(' /* coho:next-version-min-required,replace-after */') + 2;
- var versionNumberUnderscores = version.split('.').join('_');
- var versionNumberZeroes = version.split('.').join('0');
+ const versionNumberUnderscores = version.split('.').join('_');
+ const versionNumberZeroes = version.split('.').join('0');
- var lineToAdd = util.format('#define __CORDOVA_%s %s', versionNumberUnderscores, versionNumberZeroes);
- var lineToReplace = util.format(' #define CORDOVA_VERSION_MIN_REQUIRED __CORDOVA_%s', versionNumberUnderscores);
+ const lineToAdd = util.format('#define __CORDOVA_%s %s', versionNumberUnderscores, versionNumberZeroes);
+ const lineToReplace = util.format(' #define CORDOVA_VERSION_MIN_REQUIRED __CORDOVA_%s', versionNumberUnderscores);
if (fileContents[lineNumberToInsertLine - 1] === lineToAdd) {
print('Version already exists in CDVAvailability.h');
@@ -138,7 +138,7 @@ function * updateCDVAvailabilityFile (version, platform) {
function * updateJsSnapshot (repo, version, commit) {
function * ensureJsIsBuilt () {
- var cordovaJsRepo = repoutil.getRepoById('js');
+ const cordovaJsRepo = repoutil.getRepoById('js');
if (repo.id === 'blackberry') {
repo.id = 'blackberry10';
}
@@ -162,7 +162,7 @@ function * updateJsSnapshot (repo, version, commit) {
if (repo.cordovaJsPaths) {
yield ensureJsIsBuilt();
repo.cordovaJsPaths.forEach(function (jsPath) {
- var src = path.join('..', 'cordova-js', 'pkg', repo.cordovaJsSrcName || ('cordova.' + repo.id + '.js'));
+ const src = path.join('..', 'cordova-js', 'pkg', repo.cordovaJsSrcName || ('cordova.' + repo.id + '.js'));
cpAndLog(src, jsPath);
});
if (commit === true) {
@@ -176,7 +176,7 @@ function * updateJsSnapshot (repo, version, commit) {
}
exports.createAndCopyCordovaJSCommand = function * () {
- var argv = configureReleaseCommandFlags(optimist
+ const argv = configureReleaseCommandFlags(optimist
.usage('Generates and copies an updated cordova.js to the specified platform. It does the following:\n' +
' 1. Generates a new cordova.js.\n' +
' 2. Replaces platform\'s cordova.js file.\n' +
@@ -184,15 +184,15 @@ exports.createAndCopyCordovaJSCommand = function * () {
'Usage: $0 copy-js -r platform')
);
- var repos = flagutil.computeReposFromFlag(argv.r);
+ const repos = flagutil.computeReposFromFlag(argv.r);
yield repoutil.forEachRepo(repos, function * (repo) {
- var version = yield handleVersion(repo, argv.version, false);
+ const version = yield handleVersion(repo, argv.version, false);
yield updateJsSnapshot(repo, version, false);
});
};
exports.prepareReleaseBranchCommand = function * () {
- var argv = configureReleaseCommandFlags(optimist
+ const argv = configureReleaseCommandFlags(optimist
.usage('Prepares release branches but does not create tags. This includes:\n' +
' 1. Creating the branch if it doesn\'t already exist\n' +
' 2. Generates and updates the cordova.js snapshot and VERSION file from master.\n' +
@@ -206,16 +206,16 @@ exports.prepareReleaseBranchCommand = function * () {
'Usage: $0 prepare-release-branch -r platform [--version=3.6.0]')
);
- var repos = flagutil.computeReposFromFlag(argv.r);
- var branchName = null;
+ const repos = flagutil.computeReposFromFlag(argv.r);
+ const branchName = null;
// First - perform precondition checks.
yield repoupdate.updateRepos(repos, [], true);
yield repoutil.forEachRepo(repos, function * (repo) {
- var platform = repo.id;
- var version = yield handleVersion(repo, argv.version, true);
- var branchName = versionutil.getReleaseBranchNameFromVersion(version);
+ const platform = repo.id;
+ const version = yield handleVersion(repo, argv.version, true);
+ const branchName = versionutil.getReleaseBranchNameFromVersion(version);
yield gitutil.stashAndPop(repo, function * () {
// git fetch + update master
@@ -246,7 +246,7 @@ exports.prepareReleaseBranchCommand = function * () {
yield versionutil.updateRepoVersion(repo, version);
yield gitutil.gitCheckout('master');
- var devVersion = createPlatformDevVersion(version);
+ const devVersion = createPlatformDevVersion(version);
print(repo.repoName + ': Setting VERSION to "' + devVersion + '" on branch "master".');
yield versionutil.updateRepoVersion(repo, devVersion);
yield updateJsSnapshot(repo, devVersion, true);
@@ -265,13 +265,13 @@ function * tagJs (repo, version, pretend) {
}
}
// tag cordova.js platform-version
- var cordovaJsRepo = repoutil.getRepoById('js');
+ const cordovaJsRepo = repoutil.getRepoById('js');
yield repoutil.forEachRepo([cordovaJsRepo], function * () {
yield gitutil.stashAndPop(cordovaJsRepo, function * () {
// git fetch
yield repoupdate.updateRepos([cordovaJsRepo], ['master'], false);
- var tagName = repo.id + '-' + version;
+ const tagName = repo.id + '-' + version;
if (yield gitutil.tagExists(tagName)) {
yield execOrPretend(executil.ARGS('git tag ' + tagName + ' --force'));
} else {
@@ -292,10 +292,10 @@ exports.tagReleaseBranchCommand = function * (argv) {
type: 'boolean'
})
);
- var repos = flagutil.computeReposFromFlag(argv.r);
- var version = flagutil.validateVersionString(argv.version);
- var pretend = argv.pretend;
- var branchName = versionutil.getReleaseBranchNameFromVersion(version);
+ const repos = flagutil.computeReposFromFlag(argv.r);
+ const version = flagutil.validateVersionString(argv.version);
+ const pretend = argv.pretend;
+ const branchName = versionutil.getReleaseBranchNameFromVersion(version);
// First - perform precondition checks.
yield repoupdate.updateRepos(repos, [], true);
@@ -323,7 +323,7 @@ exports.tagReleaseBranchCommand = function * (argv) {
yield repoupdate.updateRepos([repo], [branchName], true);
// Create/update the tag.
- var tagName = yield gitutil.retrieveCurrentTagName();
+ const tagName = yield gitutil.retrieveCurrentTagName();
if (tagName !== version) {
if (yield gitutil.tagExists(version)) {
yield execOrPretend(executil.ARGS('git tag ' + version + ' --force'));
diff --git a/src/plugin-release.js b/src/plugin-release.js
index 05c8b7e..a9d3bbf 100644
--- a/src/plugin-release.js
+++ b/src/plugin-release.js
@@ -17,56 +17,56 @@ specific language governing permissions and limitations
under the License.
*/
-var co = require('co');
-var Q = require('q');
-var glob = require('glob');
-var path = require('path');
-var fs = require('fs');
-var shelljs = require('shelljs');
-var apputil = require('./apputil');
-var audit_license = require('./audit-license-headers');
-var update_release_notes = require('./update-release-notes');
-var create_archive = require('./create-verify-archive');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var svnutil = require('./svnutil');
-var repoutil = require('./repoutil');
-var versionutil = require('./versionutil');
-var repoupdate = require('./repo-update');
-var repoclone = require('./repo-clone');
-var reporeset = require('./repo-reset');
-var jira_client = require('jira-client');
-var inquirer = require('inquirer');
-var semver = require('semver');
+const co = require('co');
+const Q = require('q');
+const glob = require('glob');
+const path = require('path');
+const fs = require('fs');
+const shelljs = require('shelljs');
+const apputil = require('./apputil');
+const audit_license = require('./audit-license-headers');
+const update_release_notes = require('./update-release-notes');
+const create_archive = require('./create-verify-archive');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const svnutil = require('./svnutil');
+const repoutil = require('./repoutil');
+const versionutil = require('./versionutil');
+const repoupdate = require('./repo-update');
+const repoclone = require('./repo-clone');
+const reporeset = require('./repo-reset');
+const jira_client = require('jira-client');
+const inquirer = require('inquirer');
+const semver = require('semver');
/*
* Pseudo code for plugin automation:
* 1. Who are you? --> this is the release manager. Can we use JIRA for this?
*/
-var jira; // issues.apache.org jira client object
-var you; // store label for the user here
-var jira_user; // store ref to jira project user
-var cordova_project; // store ref to jira project for Cordova
-var plugins_release_issue; // store ref to jira issue tracking release.
+let jira; // issues.apache.org jira client object
+let you; // store label for the user here
+let jira_user; // store ref to jira project user
+let cordova_project; // store ref to jira project for Cordova
+let plugins_release_issue; // store ref to jira issue tracking release.
/* eslint-disable no-unused-vars */
-var jira_issue_types; // store ref to all issue types supported by our JIRA instance
+let jira_issue_types; // store ref to all issue types supported by our JIRA instance
/* eslint-enable no-unused-vars */
-var all_plugins_component; // store the specific component associated to the plugin issue.
-var jira_task_issue; // store ref to the "task" issue type
-var plugin_base; // parent directory holding all cordova plugins
-var plugin_repos; // which plugins are we messing with? initially gets set to all plugin repos, later on gets filtered to only those we will release. an array of objects in a special coho-accepted format.
-var dist_dev_svn; // cordova dist/dev repo
-var dist_svn; // cordova dist repo
-var svn_repos; // cordova dist and dist/dev svn repos
-var plugin_data = {}; // massive object containing plugin release-relevant information
-var plugins_to_release = []; // array of plugin names that need releasing
-var plugins_ommitted = []; // array of plugin names that DO NOT need releasing
-var plugins_to_merge_manually = []; // array of plugin names that RM will need to merge master into release branch manually.
-var svn_user; // username for apache svn
-var svn_password; // password for apache svn
-var updated_repos; // sentinel variable for if we did repo updates
-var created_distdev_dir; // sentinel var for if a new dir was created in cordova-dist-dev
+let all_plugins_component; // store the specific component associated to the plugin issue.
+let jira_task_issue; // store ref to the "task" issue type
+let plugin_base; // parent directory holding all cordova plugins
+let plugin_repos; // which plugins are we messing with? initially gets set to all plugin repos, later on gets filtered to only those we will release. an array of objects in a special coho-accepted format.
+let dist_dev_svn; // cordova dist/dev repo
+let dist_svn; // cordova dist repo
+let svn_repos; // cordova dist and dist/dev svn repos
+const plugin_data = {}; // massive object containing plugin release-relevant information
+let plugins_to_release = []; // array of plugin names that need releasing
+const plugins_ommitted = []; // array of plugin names that DO NOT need releasing
+const plugins_to_merge_manually = []; // array of plugin names that RM will need to merge master into release branch manually.
+let svn_user; // username for apache svn
+let svn_password; // password for apache svn
+let updated_repos; // sentinel variable for if we did repo updates
+let created_distdev_dir; // sentinel var for if a new dir was created in cordova-dist-dev
function * updateDesiredRepos (repos) {
if (!updated_repos) {
@@ -81,11 +81,11 @@ function * updateDesiredRepos (repos) {
function * findChangesInPluginRepos (repos) {
yield repoutil.forEachRepo(repos, function * (repo) {
if (repo.repoName === 'cordova-plugins') return;
- var last_release = (yield gitutil.findMostRecentTag())[0];
+ const last_release = (yield gitutil.findMostRecentTag())[0];
plugin_data[repo.repoName] = {
last_release: last_release
};
- var changes = yield gitutil.summaryOfChanges(last_release);
+ let changes = yield gitutil.summaryOfChanges(last_release);
changes = changes.split('\n').filter(function (line) {
return (line.toLowerCase().indexOf('incremented plugin version') === -1);
});
@@ -145,9 +145,9 @@ function * interactive_plugins_release () {
}]);
}
}).then(function (answers) {
- var username = answers.username;
+ const username = answers.username;
you = username;
- var password = answers.password;
+ const password = answers.password;
jira = new jira_client({ // eslint-disable-line new-cap
protocol: 'https',
host: 'issues.apache.org',
@@ -166,8 +166,8 @@ function * interactive_plugins_release () {
return jira.listProjects();
}).then(function (projects) {
// Find the Apache Cordova (CB) project in Apache's JIRA
- for (var i = 0; i < projects.length; i++) {
- var project = projects[i];
+ for (let i = 0; i < projects.length; i++) {
+ const project = projects[i];
if (project.key === 'CB') {
cordova_project = project;
break;
@@ -176,8 +176,8 @@ function * interactive_plugins_release () {
return jira.listComponents('CB');
}).then(function (components) {
// Find the ALlPlugins component in Cordova'a JIRA components
- for (var i = 0; i < components.length; i++) {
- var component = components[i];
+ for (let i = 0; i < components.length; i++) {
+ const component = components[i];
if (component.name === 'AllPlugins') {
all_plugins_component = component;
break;
@@ -186,8 +186,8 @@ function * interactive_plugins_release () {
return jira.listIssueTypes();
}).then(function (issue_types) {
jira_issue_types = issue_types;
- for (var i = 0; i < issue_types.length; i++) {
- var it = issue_types[i];
+ for (let i = 0; i < issue_types.length; i++) {
+ const it = issue_types[i];
if (it.name === 'Task') {
jira_task_issue = it;
}
@@ -238,19 +238,19 @@ function * interactive_plugins_release () {
name: 'jira',
message: 'What is the JIRA issue number for your plugins release? Please provide only the numerical part of the issue key (i.e. CB-XXXXX)'
}).then(function (answers) {
- var cb_issue = 'CB-' + answers.jira;
+ const cb_issue = 'CB-' + answers.jira;
console.log('Looking for ' + cb_issue + '...');
return jira.findIssue(cb_issue).then(function (issue) {
return issue;
- }, function (err) { // eslint-disable-line handle-callback-err
+ }, function (err) { // eslint-disable-line node/handle-callback-err
console.error('Error finding issue ' + cb_issue + '!');
process.exit(4);
});
});
} else {
console.warn('OK, no problem. I will create one for you now! Hang tight...');
- var date = (new Date()).toDateString();
- var new_issue = {
+ const date = (new Date()).toDateString();
+ const new_issue = {
fields: {
project: {
id: cordova_project.id
@@ -352,7 +352,7 @@ function * interactive_plugins_release () {
return co.wrap(function * () {
yield updateDesiredRepos(plugin_repos);
// and remove all the data we collected for plugins we no longer care about.
- var data_keys = Object.keys(plugin_data);
+ const data_keys = Object.keys(plugin_data);
data_keys.forEach(function (key) {
if (plugins_to_release.indexOf(key) === -1) {
delete plugin_data[key];
@@ -360,9 +360,9 @@ function * interactive_plugins_release () {
});
/* 7. ensure license headers are present everywhere. */
console.log('Checking license headers for specified plugin repos...');
- var unknown_licenses = [];
+ const unknown_licenses = [];
yield audit_license.scrubRepos(plugin_repos, /* silent */true, /* allowError */false, function (repo, stdout) {
- var unknown = stdout.split('\n').filter(function (line) {
+ const unknown = stdout.split('\n').filter(function (line) {
return line.indexOf('Unknown Licenses') > -1;
})[0];
if (unknown[0] !== '0') {
@@ -410,9 +410,9 @@ function * interactive_plugins_release () {
return co.wrap(function * () {
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
yield gitutil.gitCheckout('master');
- var current_version = yield versionutil.getRepoVersion(repo);
+ const current_version = yield versionutil.getRepoVersion(repo);
console.log(repo.repoName, '\'s current version is', current_version);
- var devless_version = versionutil.removeDev(current_version);
+ const devless_version = versionutil.removeDev(current_version);
plugin_data[repo.repoName].current_release = devless_version;
yield versionutil.updateRepoVersion(repo, devless_version, { commitChanges: false });
});
@@ -422,12 +422,12 @@ function * interactive_plugins_release () {
* - how to determine if patch, minor or major? show changes to each plugin and then prompt Release Manager for a decision?
* - reuse coho 'update release notes' command */
return co.wrap(function * () {
- var plugs = Object.keys(plugin_data);
- var release_note_prompts = [];
+ const plugs = Object.keys(plugin_data);
+ const release_note_prompts = [];
yield plugs.map(function * (plugin) {
- var data = plugin_data[plugin];
- var changes = data.changes;
- var final_notes = yield update_release_notes.createNotes(plugin, data.current_release, changes);
+ const data = plugin_data[plugin];
+ const changes = data.changes;
+ const final_notes = yield update_release_notes.createNotes(plugin, data.current_release, changes);
release_note_prompts.push({
type: 'editor',
name: plugin,
@@ -439,12 +439,12 @@ function * interactive_plugins_release () {
type: 'input',
name: plugin + '-version',
message: function (answers) {
- var new_changes = answers[plugin];
- var first_heading = new_changes.indexOf('###');
- var second_heading = new_changes.indexOf('###', first_heading + 3);
- var first_change = new_changes.indexOf('\n', first_heading + 3);
- var len = second_heading - first_change;
- var change_summary = new_changes.substr(first_change, len);
+ const new_changes = answers[plugin];
+ const first_heading = new_changes.indexOf('###');
+ const second_heading = new_changes.indexOf('###', first_heading + 3);
+ const first_change = new_changes.indexOf('\n', first_heading + 3);
+ const len = second_heading - first_change;
+ const change_summary = new_changes.substr(first_change, len);
return 'Please enter a semver-compatible version number for this release of ' + plugin + ', based on the changes below:\n' + change_summary;
},
default: data.current_release,
@@ -463,16 +463,16 @@ function * interactive_plugins_release () {
return co.wrap(function * () {
console.log('Writing out new release notes and plugin versions (if applicable)...');
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
- var plugin_name = repo.repoName;
+ const plugin_name = repo.repoName;
if (plugin_data[plugin_name].current_release !== release_notes[plugin_name + '-version']) {
// If, after release notes review, RM decided on a different version...
// Overwrite plugin version
- var previous_assumed_version = plugin_data[plugin_name].current_release;
+ const previous_assumed_version = plugin_data[plugin_name].current_release;
plugin_data[plugin_name].current_release = release_notes[plugin_name + '-version'];
yield versionutil.updateRepoVersion(repo, plugin_data[plugin_name].current_release, { commitChanges: false });
// also overwrite the version originally specified in the release notes file, since we changed it now!
- var rn = release_notes[plugin_name];
- var new_rn = rn.replace(new RegExp('### ' + previous_assumed_version, 'g'), '### ' + plugin_data[plugin_name].current_release);
+ const rn = release_notes[plugin_name];
+ const new_rn = rn.replace(new RegExp('### ' + previous_assumed_version, 'g'), '### ' + plugin_data[plugin_name].current_release);
release_notes[plugin_name] = new_rn;
}
fs.writeFileSync(update_release_notes.FILE, release_notes[plugin_name], { encoding: 'utf8' });
@@ -489,11 +489,11 @@ function * interactive_plugins_release () {
}).then(function () {
/* 10. Create release branch. Check if release branch, which would be named in the form "major.minor.x" (i.e. 2.3.x) already exists */
return co.wrap(function * () {
- var repos_with_existing_release_branch = [];
+ const repos_with_existing_release_branch = [];
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
- var plugin_name = repo.repoName;
- var plugin_version = plugin_data[plugin_name].current_release;
- var release_branch_name = versionutil.getReleaseBranchNameFromVersion(plugin_version);
+ const plugin_name = repo.repoName;
+ const plugin_version = plugin_data[plugin_name].current_release;
+ const release_branch_name = versionutil.getReleaseBranchNameFromVersion(plugin_version);
if (yield gitutil.remoteBranchExists(repo, release_branch_name)) {
repos_with_existing_release_branch.push(repo);
// also store HEAD of release branch, so later on we can show a diff of the branch before pushing
@@ -512,10 +512,10 @@ function * interactive_plugins_release () {
// Our mission in this clause, should we choose to accept it, is to merge master back into the branch. But, this can be dangerous!
// Ask the RM if they want us to handle the merge automatically.
// If the RM says no, we will prompt them to handle it manually later.
- var prompts = [];
+ const prompts = [];
repos_with_existing_release_branch.forEach(function (repo) {
- var plugin_name = repo.repoName;
- var rb = versionutil.getReleaseBranchNameFromVersion(plugin_data[plugin_name].current_release);
+ const plugin_name = repo.repoName;
+ const rb = versionutil.getReleaseBranchNameFromVersion(plugin_data[plugin_name].current_release);
prompts.push({
type: 'confirm',
name: 'rb_automerge_proceed_' + plugin_name,
@@ -525,12 +525,12 @@ function * interactive_plugins_release () {
return inquirer.prompt(prompts);
}).then(function (answers) {
return co.wrap(function * () {
- var prompts = [];
+ const prompts = [];
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
- var plugin_name = repo.repoName;
+ const plugin_name = repo.repoName;
if (answers['rb_automerge_proceed_' + plugin_name]) {
// Auto-merge master into the release branch.
- var rb = versionutil.getReleaseBranchNameFromVersion(plugin_data[plugin_name].current_release);
+ const rb = versionutil.getReleaseBranchNameFromVersion(plugin_data[plugin_name].current_release);
console.log('Checking out "' + rb + '" branch of', plugin_name, 'and merging master in...');
yield executil.execHelper(executil.ARGS('git merge -s recursive -X theirs', 'master'), false, false, function () {
console.log('Merge was fine, continuing.');
@@ -546,9 +546,9 @@ function * interactive_plugins_release () {
})();
}).then(function () {
// prompt the RM about the plugins with manual merging work needed here.
- var prompts = [];
+ const prompts = [];
plugins_to_merge_manually.forEach(function (plugin_name) {
- var rb = versionutil.getReleaseBranchNameFromVersion(plugin_data[plugin_name].current_release);
+ const rb = versionutil.getReleaseBranchNameFromVersion(plugin_data[plugin_name].current_release);
prompts.push({
type: 'confirm',
name: 'rb_manualmerge_proceed_' + plugin_name,
@@ -562,8 +562,8 @@ function * interactive_plugins_release () {
// So, check out master branch and do the thing.
return co.wrap(function * () {
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
- var plugin_name = repo.repoName;
- var newest_version = semver.inc(plugin_data[plugin_name].current_release, 'patch') + '-dev';
+ const plugin_name = repo.repoName;
+ const newest_version = semver.inc(plugin_data[plugin_name].current_release, 'patch') + '-dev';
console.log('Checking out master branch of', plugin_name, 'and setting version to', newest_version, ', then committing that change to master branch...');
yield gitutil.gitCheckout('master');
// store previous master HEAD, for later comparison/showing of diff
@@ -575,14 +575,14 @@ function * interactive_plugins_release () {
/* 12. Push tags, release branch, and master branch changes.
* start with pushing tag, then compile diffs for master branch push and ask user if they approve before pushing master */
return co.wrap(function * () {
- var master_prompts = [];
+ const master_prompts = [];
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
- var plugin_name = repo.repoName;
- var tag = plugin_data[plugin_name].current_release;
+ const plugin_name = repo.repoName;
+ const tag = plugin_data[plugin_name].current_release;
console.log(plugin_name, ': pushing tag ', tag);
yield gitutil.pushToOrigin(tag);
/* - show diff of last master commit for user confirmation */
- var diff = yield gitutil.diff(plugin_data[plugin_name].previous_master_head, 'master');
+ const diff = yield gitutil.diff(plugin_data[plugin_name].previous_master_head, 'master');
master_prompts.push({
type: 'confirm',
name: 'master_' + plugin_name,
@@ -595,7 +595,7 @@ function * interactive_plugins_release () {
/* check confirmations and exit if RM bailed */
return co.wrap(function * () {
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
- var plugin_name = repo.repoName;
+ const plugin_name = repo.repoName;
if (!answers['master_' + plugin_name]) {
console.error('Aborting as master branch changes for ' + plugin_name + ' were not approved!');
process.exit(8);
@@ -615,12 +615,12 @@ function * interactive_plugins_release () {
* - if release branch did not exist before, show diff (simple, just master..branch), confirm, then push
* - if release branch did exist before, show diff (last branch commit..HEAD), confirm, then push */
return co.wrap(function * () {
- var rb_prompts = [];
+ const rb_prompts = [];
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
- var plugin_name = repo.repoName;
- var plugin_version = plugin_data[plugin_name].current_release;
- var release_branch_name = versionutil.getReleaseBranchNameFromVersion(plugin_version);
- var previous_release_branch_head = plugin_data[plugin_name].previous_release_branch_head;
+ const plugin_name = repo.repoName;
+ const plugin_version = plugin_data[plugin_name].current_release;
+ const release_branch_name = versionutil.getReleaseBranchNameFromVersion(plugin_version);
+ const previous_release_branch_head = plugin_data[plugin_name].previous_release_branch_head;
yield gitutil.gitCheckout(release_branch_name);
if (previous_release_branch_head) {
// release branch previously existed.
@@ -646,7 +646,7 @@ function * interactive_plugins_release () {
/* check confirmations and exit if RM bailed */
return co.wrap(function * () {
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
- var plugin_name = repo.repoName;
+ const plugin_name = repo.repoName;
if (!answers['rb_' + plugin_name]) {
console.error('Aborting as release branch changes for ' + plugin_name + ' were not approved!');
process.exit(8);
@@ -657,9 +657,9 @@ function * interactive_plugins_release () {
// at this point RM is cool pushing master branch changes up.
return co.wrap(function * () {
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
- var plugin_name = repo.repoName;
- var plugin_version = plugin_data[plugin_name].current_release;
- var release_branch_name = versionutil.getReleaseBranchNameFromVersion(plugin_version);
+ const plugin_name = repo.repoName;
+ const plugin_version = plugin_data[plugin_name].current_release;
+ const release_branch_name = versionutil.getReleaseBranchNameFromVersion(plugin_version);
// at this point have release branch checked out
yield gitutil.pushToOrigin(release_branch_name);
});
@@ -668,8 +668,8 @@ function * interactive_plugins_release () {
// 13. Publish to apache svn:
// - first update dist-dev repo
return co.wrap(function * () {
- var orig_dir = process.cwd();
- var dist_dev_repo = path.join(plugin_base, dist_dev_svn.repoName);
+ const orig_dir = process.cwd();
+ const dist_dev_repo = path.join(plugin_base, dist_dev_svn.repoName);
process.chdir(dist_dev_repo);
console.log('Updating dist-dev svn repo...');
yield svnutil.update();
@@ -679,16 +679,16 @@ function * interactive_plugins_release () {
// - create-archive -r $ACTIVE --dest cordova-dist-dev/$JIRA
return co.wrap(function * () {
// location to store the archives in.
- var dist_dev_dir = path.join(plugin_base, dist_dev_svn.repoName, plugins_release_issue.key);
+ const dist_dev_dir = path.join(plugin_base, dist_dev_svn.repoName, plugins_release_issue.key);
if (!(fs.existsSync(dist_dev_dir))) {
shelljs.mkdir('-p', dist_dev_dir);
created_distdev_dir = true;
}
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
- var plugin_name = repo.repoName;
- var tag = plugin_data[plugin_name].current_release;
+ const plugin_name = repo.repoName;
+ const tag = plugin_data[plugin_name].current_release;
yield gitutil.gitCheckout(tag);
- var archive = yield create_archive.createArchive(repo, tag, dist_dev_dir, true/* sign */);
+ const archive = yield create_archive.createArchive(repo, tag, dist_dev_dir, true/* sign */);
// - verify-archive cordova-dist-dev/$JIRA/*.tgz
yield create_archive.verifyArchive(archive);
yield gitutil.gitCheckout('master');
@@ -718,8 +718,8 @@ function * interactive_plugins_release () {
svn_password = answers.password;
// - upload by running `svn` add and commit commands.
return co.wrap(function * () {
- var orig_dir = process.cwd();
- var dist_dev_repo = path.join(plugin_base, dist_dev_svn.repoName);
+ const orig_dir = process.cwd();
+ const dist_dev_repo = path.join(plugin_base, dist_dev_svn.repoName);
if (created_distdev_dir) {
// if we created the dir containing the archives, then we can
// just svn add the entire dir.
@@ -729,15 +729,15 @@ function * interactive_plugins_release () {
} else {
// if it already existed, then we need to painstakingly add
// each individual archive file cause svn is cool
- var archives_for_plugins = [];
+ const archives_for_plugins = [];
yield repoutil.forEachRepo(plugin_repos, function * (repo) {
process.chdir(dist_dev_repo);
- var plugin_name = repo.repoName;
- var tag = plugin_data[plugin_name].current_release;
- var fileref = plugin_name + '-' + tag;
+ const plugin_name = repo.repoName;
+ const tag = plugin_data[plugin_name].current_release;
+ const fileref = plugin_name + '-' + tag;
archives_for_plugins.push(fileref);
- var files_to_add = glob.sync(path.join(plugins_release_issue.key, fileref + '*'));
- for (var i = 0; i < files_to_add.length; i++) {
+ const files_to_add = glob.sync(path.join(plugins_release_issue.key, fileref + '*'));
+ for (let i = 0; i < files_to_add.length; i++) {
yield svnutil.add(files_to_add[i]);
}
});
@@ -757,7 +757,7 @@ function * interactive_plugins_release () {
process.exit(0);
});
}, function (auth_err) {
- var keys = Object.keys(auth_err); // eslint-disable-line no-unused-vars
+ const keys = Object.keys(auth_err); // eslint-disable-line no-unused-vars
console.error('ERROR! There was a problem connecting to JIRA, received a', auth_err.statusCode, 'status code.');
process.exit(1);
});
@@ -791,14 +791,14 @@ module.exports.interactive = interactive_plugins_release;
// TODO: if using this function only to retrieve repo version, use the new
// versionutil.getRepoVersion method instead.
function * handleVersion (repo, ver, validate) { // eslint-disable-line no-unused-vars
- var platform = repo.id; // eslint-disable-line no-unused-vars
- var version = ver || undefined;
+ const platform = repo.id; // eslint-disable-line no-unused-vars
+ let version = ver || undefined;
if (version === undefined) {
yield repoutil.forEachRepo([repo], function * () {
// Grabbing version from platformPackageJson
- var platformPackage = path.join(process.cwd(), 'package.json');
- var platformPackageJson = require(platformPackage);
+ const platformPackage = path.join(process.cwd(), 'package.json');
+ const platformPackageJson = require(platformPackage);
if (validate === true) {
version = flagutil.validateVersionString(platformPackageJson.version);
} else {
diff --git a/src/print-tags.js b/src/print-tags.js
index 723bf05..1d7961f 100644
--- a/src/print-tags.js
+++ b/src/print-tags.js
@@ -17,14 +17,14 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
+const optimist = require('optimist');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
module.exports = function * (argv) {
- var opt = flagutil.registerRepoFlag(optimist);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = flagutil.registerHelpFlag(opt);
argv = opt
.usage('Prints out tags & hashes for the given repos. Used in VOTE emails.\n' +
@@ -37,9 +37,9 @@ module.exports = function * (argv) {
optimist.showHelp();
process.exit(1);
}
- var repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
+ const repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
- var tag;
+ let tag;
yield repoutil.forEachRepo(repos, function * (repo) {
if (argv.tag) {
tag = argv.tag;
@@ -50,7 +50,7 @@ module.exports = function * (argv) {
console.log(' ' + repo.repoName + ': NO TAGS');
return;
}
- var ref = yield executil.execHelper(executil.ARGS('git show-ref ' + tag), true);
+ const ref = yield executil.execHelper(executil.ARGS('git show-ref ' + tag), true);
console.log(' ' + repo.repoName + ': ' + tag.replace(/^r/, '') + ' (' + ref.slice(0, 10) + ')');
});
};
diff --git a/src/remote-update.js b/src/remote-update.js
index da190b2..ba31441 100644
--- a/src/remote-update.js
+++ b/src/remote-update.js
@@ -17,13 +17,13 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var repoutil = require('./repoutil');
+const optimist = require('optimist');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const repoutil = require('./repoutil');
module.exports = function * (_argv) {
- var opt = flagutil.registerRepoFlag(optimist);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = flagutil.registerDepthFlag(opt);
opt = opt.options('remote', {
@@ -32,7 +32,7 @@ module.exports = function * (_argv) {
});
opt = flagutil.registerHelpFlag(opt);
- var argv = opt
+ const argv = opt
.usage('Updates specified git remotes to apache github repos by performing the following command:\n' +
' for each specified repo:\n' +
' git remote set-url $REMOTE APACHE_GITHUB_URL' +
@@ -46,8 +46,8 @@ module.exports = function * (_argv) {
process.exit(1);
}
- var remote = argv.remote;
- var repos = flagutil.computeReposFromFlag(argv.r, true);
+ const remote = argv.remote;
+ const repos = flagutil.computeReposFromFlag(argv.r, true);
// ensure that any missing repos are cloned
// yield require('./repo-clone').cloneRepos(repos, true, depth);
diff --git a/src/repo-clone.js b/src/repo-clone.js
index 248af1b..ec2f7fd 100644
--- a/src/repo-clone.js
+++ b/src/repo-clone.js
@@ -17,18 +17,18 @@ specific language governing permissions and limitations
under the License.
*/
-var fs = require('fs');
-var optimist = require('optimist');
-var apputil = require('./apputil');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var print = apputil.print;
+const fs = require('fs');
+const optimist = require('optimist');
+const apputil = require('./apputil');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const print = apputil.print;
module.exports = function * (_argv) {
- var opt = flagutil.registerRepoFlag(optimist);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = flagutil.registerHelpFlag(opt);
opt = flagutil.registerDepthFlag(opt);
- var argv = opt
+ const argv = opt
.usage('Clones git repositories as siblings of cordova-coho (unless --no-chdir or --global is used). If the repositories are already cloned, then this is a no-op.\n\n' +
'Usage: $0 repo-clone [--depth 1] --repo=name [-r repos]')
.argv;
@@ -38,9 +38,9 @@ module.exports = function * (_argv) {
process.exit(1);
}
- var depth = argv.depth ? argv.depth : null;
+ const depth = argv.depth ? argv.depth : null;
- var repos = flagutil.computeReposFromFlag(argv.r, { includeSvn: true });
+ const repos = flagutil.computeReposFromFlag(argv.r, { includeSvn: true });
yield cloneRepos(repos, false, depth);
};
@@ -49,19 +49,19 @@ function createRepoUrl (repo) {
}
function * cloneRepos (repos, quiet, depth) {
- var failures = []; // eslint-disable-line no-unused-vars
- var numSkipped = 0;
+ const failures = []; // eslint-disable-line no-unused-vars
+ let numSkipped = 0;
- var clonePromises = [];
- for (var i = 0; i < repos.length; ++i) {
- var repo = repos[i];
+ const clonePromises = [];
+ for (let i = 0; i < repos.length; ++i) {
+ const repo = repos[i];
if (fs.existsSync(repo.repoName)) {
if (!quiet) print('Repo already cloned: ' + repo.repoName);
numSkipped += 1;
} else if (repo.svn) {
clonePromises.push(executil.execHelper(executil.ARGS('svn checkout ' + repo.svn + ' ' + repo.repoName + ' ' + '--trust-server-cert --non-interactive')));
} else {
- var depthArg = depth == null ? '' : '--depth ' + depth + ' ';
+ const depthArg = depth == null ? '' : '--depth ' + depth + ' ';
clonePromises.push(executil.execHelper(executil.ARGS('git clone ' + depthArg + createRepoUrl(repo))));
}
}
@@ -71,7 +71,7 @@ function * cloneRepos (repos, quiet, depth) {
}
yield clonePromises;
- var numCloned = repos.length - numSkipped;
+ const numCloned = repos.length - numSkipped;
if (numCloned) {
print('Successfully cloned ' + numCloned + ' repositories.');
}
diff --git a/src/repo-push.js b/src/repo-push.js
index 01eef8e..03dd304 100644
--- a/src/repo-push.js
+++ b/src/repo-push.js
@@ -17,25 +17,24 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var apputil = require('./apputil');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
-var repoupdate = require('./repo-update');
-var print = apputil.print;
+const optimist = require('optimist');
+const apputil = require('./apputil');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
+const repoupdate = require('./repo-update');
+const print = apputil.print;
module.exports = function * (argv) {
- var opt = flagutil.registerRepoFlag(optimist);
- var opt = optimist // eslint-disable-line
+ let opt = flagutil.registerRepoFlag(optimist)
.options('b', {
alias: 'branch',
desc: 'The name of the branch to push. Can be specified multiple times to specify multiple branches.',
default: ['master']
});
opt = flagutil.registerHelpFlag(opt);
- var argv = opt // eslint-disable-line
+ argv = opt
.usage('Pushes changes to the remote repository.\n' +
'\n' +
'Usage: $0 repo-push -r auto -b master -b 2.9.x')
@@ -45,25 +44,25 @@ module.exports = function * (argv) {
optimist.showHelp();
process.exit(1);
}
- var branches = Array.isArray(argv.b) ? argv.b : [argv.b];
- var repos = flagutil.computeReposFromFlag(argv.r);
+ const branches = Array.isArray(argv.b) ? argv.b : [argv.b];
+ const repos = flagutil.computeReposFromFlag(argv.r);
yield repoutil.forEachRepo(repos, function * (repo) {
// Update first.
yield repoupdate.updateRepos([repo], branches, false);
- for (var i = 0; i < branches.length; ++i) {
- var branchName = branches[i];
+ for (let i = 0; i < branches.length; ++i) {
+ const branchName = branches[i];
if (!(yield gitutil.localBranchExists(branchName))) {
continue;
}
- var isNewBranch = !(yield gitutil.remoteBranchExists(repo, branchName));
+ const isNewBranch = !(yield gitutil.remoteBranchExists(repo, branchName));
yield gitutil.gitCheckout(branchName);
if (isNewBranch) {
yield executil.execHelper(executil.ARGS('git push --set-upstream ' + repo.remoteName + ' ' + branchName));
} else {
- var changes = yield executil.execHelper(executil.ARGS('git log --oneline ' + repo.remoteName + '/' + branchName + '..' + branchName), true);
+ const changes = yield executil.execHelper(executil.ARGS('git log --oneline ' + repo.remoteName + '/' + branchName + '..' + branchName), true);
if (changes) {
yield executil.execHelper(executil.ARGS('git push ' + repo.remoteName + ' ' + branchName));
} else {
diff --git a/src/repo-reset.js b/src/repo-reset.js
index 80aff99..9280fef 100644
--- a/src/repo-reset.js
+++ b/src/repo-reset.js
@@ -17,17 +17,17 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var apputil = require('./apputil');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
-var repoupdate = require('./repo-update');
-var print = apputil.print;
+const optimist = require('optimist');
+const apputil = require('./apputil');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
+const repoupdate = require('./repo-update');
+const print = apputil.print;
module.exports = function * (_argv) {
- var opt = flagutil.registerRepoFlag(optimist);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = optimist
.options('b', {
alias: 'branch',
@@ -35,7 +35,7 @@ module.exports = function * (_argv) {
default: 'master'
});
opt = flagutil.registerHelpFlag(opt);
- var argv = opt
+ const argv = opt
.usage('Resets repository branches to match their upstream state.\n' +
'Performs the following commands on each:\n' +
' git commit (commit any pending changes)\n' +
@@ -53,8 +53,8 @@ module.exports = function * (_argv) {
if (argv.r === 'auto') {
apputil.fatal('"-r auto" is not allowed for repo-reset. Please enumerate repos explicitly');
}
- var branches = Array.isArray(argv.b) ? argv.b : [argv.b];
- var repos = flagutil.computeReposFromFlag(argv.r);
+ const branches = Array.isArray(argv.b) ? argv.b : [argv.b];
+ const repos = flagutil.computeReposFromFlag(argv.r);
yield module.exports.resetRepos(repos, branches);
};
@@ -62,7 +62,7 @@ module.exports.resetRepos = function * (repos, branches) {
yield repoutil.forEachRepo(repos, function * (repo) {
// Determine remote name.
yield repoupdate.updateRepos([repo], [], true);
- var branchName = yield gitutil.retrieveCurrentBranchName();
+ const branchName = yield gitutil.retrieveCurrentBranchName();
if (branches.indexOf(branchName) === -1) {
yield gitutil.stashAndPop(repo, function * () {
yield cleanRepo(repo, branches);
@@ -74,8 +74,8 @@ module.exports.resetRepos = function * (repos, branches) {
};
function * cleanRepo (repo, branches) {
- for (var i = 0; i < branches.length; ++i) {
- var branchName = branches[i];
+ for (let i = 0; i < branches.length; ++i) {
+ const branchName = branches[i];
if (!(yield gitutil.localBranchExists(branchName))) {
continue;
}
@@ -88,7 +88,7 @@ function * cleanRepo (repo, branches) {
if (yield gitutil.remoteBranchExists(repo, branchName)) {
yield gitutil.gitCheckout(branchName);
- var changes = yield executil.execHelper(executil.ARGS('git log --oneline ' + repo.remoteName + '/' + branchName + '..' + branchName));
+ const changes = yield executil.execHelper(executil.ARGS('git log --oneline ' + repo.remoteName + '/' + branchName + '..' + branchName));
if (changes) {
print(repo.repoName + ' on branch ' + branchName + ': Local commits exist. Resetting.');
yield executil.execHelper(executil.ARGS('git reset --hard ' + repo.remoteName + '/' + branchName));
diff --git a/src/repo-status.js b/src/repo-status.js
index 395da82..0842d9e 100644
--- a/src/repo-status.js
+++ b/src/repo-status.js
@@ -17,17 +17,17 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var apputil = require('./apputil');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
-var repoupdate = require('./repo-update');
-var print = apputil.print;
+const optimist = require('optimist');
+const apputil = require('./apputil');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
+const repoupdate = require('./repo-update');
+const print = apputil.print;
module.exports = function * (_argv) {
- var opt = flagutil.registerRepoFlag(optimist);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = optimist
.options('b', {
alias: 'branch',
@@ -41,7 +41,7 @@ module.exports = function * (_argv) {
default: false
});
opt = flagutil.registerHelpFlag(opt);
- var argv = opt
+ const argv = opt
.usage('Reports what changes exist locally that are not yet pushed.\n' +
'\n' +
'Example usage: $0 repo-status -r auto -b master -b 2.9.x\n' +
@@ -52,9 +52,9 @@ module.exports = function * (_argv) {
optimist.showHelp();
process.exit(1);
}
- var branches = argv.b && (Array.isArray(argv.b) ? argv.b : [argv.b]);
- var branches2 = branches && argv.branch2 && (Array.isArray(argv.branch2) ? argv.branch2 : [argv.branch2]);
- var repos = flagutil.computeReposFromFlag(argv.r);
+ const branches = argv.b && (Array.isArray(argv.b) ? argv.b : [argv.b]);
+ const branches2 = branches && argv.branch2 && (Array.isArray(argv.branch2) ? argv.branch2 : [argv.branch2]);
+ const repos = flagutil.computeReposFromFlag(argv.r);
if (branches2 && branches && branches.length !== branches2.length) {
apputil.fatal('Must specify the same number of --branch and --branch2 flags');
@@ -67,20 +67,20 @@ module.exports = function * (_argv) {
}
// Determine remote name.
yield repoupdate.updateRepos([repo], [], true);
- var actualBranches = branches || ['master'];
- for (var i = 0; i < actualBranches.length; ++i) {
- var branchName = actualBranches[i];
+ const actualBranches = branches || ['master'];
+ for (let i = 0; i < actualBranches.length; ++i) {
+ const branchName = actualBranches[i];
if (!(yield gitutil.localBranchExists(branchName))) {
continue;
}
- var targetBranch = branches2 ? branches2[i] : ((yield gitutil.remoteBranchExists(repo, branchName)) ? repo.remoteName + '/' + branchName : 'master');
- var changes = yield executil.execHelper(executil.ARGS('git log --no-merges --oneline ' + targetBranch + '..' + branchName), true);
+ const targetBranch = branches2 ? branches2[i] : ((yield gitutil.remoteBranchExists(repo, branchName)) ? repo.remoteName + '/' + branchName : 'master');
+ const changes = yield executil.execHelper(executil.ARGS('git log --no-merges --oneline ' + targetBranch + '..' + branchName), true);
if (changes) {
print('Local commits exist on ' + branchName + ':');
console.log(changes);
}
}
- var gitStatus = yield executil.execHelper(executil.ARGS('git status --short'), true);
+ const gitStatus = yield executil.execHelper(executil.ARGS('git status --short'), true);
if (gitStatus) {
print('Uncommitted changes:');
console.log(gitStatus);
@@ -88,14 +88,14 @@ module.exports = function * (_argv) {
});
if (argv.diff) {
yield repoutil.forEachRepo(repos, function * (repo) {
- var actualBranches = branches || ['master'];
- for (var i = 0; i < actualBranches.length; ++i) {
- var branchName = actualBranches[i];
+ const actualBranches = branches || ['master'];
+ for (let i = 0; i < actualBranches.length; ++i) {
+ const branchName = actualBranches[i];
if (!(yield gitutil.localBranchExists(branchName))) {
return;
}
- var targetBranch = branches2 ? branches2[i] : ((yield gitutil.remoteBranchExists(repo, branchName)) ? repo.remoteName + '/' + branchName : 'master');
- var diff = yield executil.execHelper(executil.ARGS('git diff ' + targetBranch + '...' + branchName), true);
+ const targetBranch = branches2 ? branches2[i] : ((yield gitutil.remoteBranchExists(repo, branchName)) ? repo.remoteName + '/' + branchName : 'master');
+ const diff = yield executil.execHelper(executil.ARGS('git diff ' + targetBranch + '...' + branchName), true);
if (diff) {
print('------------------------------------------------------------------------------');
print('Diff for ' + repo.repoName + ' on branch ' + branchName + ' (vs ' + targetBranch + ')');
diff --git a/src/repo-update.js b/src/repo-update.js
index 9e678b1..501a17b 100644
--- a/src/repo-update.js
+++ b/src/repo-update.js
@@ -17,16 +17,16 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var apputil = require('./apputil');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
-var print = apputil.print;
+const optimist = require('optimist');
+const apputil = require('./apputil');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
+const print = apputil.print;
module.exports = function * (_argv) {
- var opt = flagutil.registerRepoFlag(optimist);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = flagutil.registerDepthFlag(opt);
opt = opt
.options('b', {
@@ -40,7 +40,7 @@ module.exports = function * (_argv) {
default: true
});
opt = flagutil.registerHelpFlag(opt);
- var argv = opt
+ const argv = opt
.usage('Updates git repositories by performing the following commands:\n' +
' save active branch\n' +
' git fetch $REMOTE \n' +
@@ -60,10 +60,10 @@ module.exports = function * (_argv) {
process.exit(1);
}
- var depth = argv.depth ? argv.depth : null;
+ const depth = argv.depth ? argv.depth : null;
- var branches = Array.isArray(argv.b) ? argv.b : [argv.b];
- var repos = flagutil.computeReposFromFlag(argv.r, true);
+ const branches = Array.isArray(argv.b) ? argv.b : [argv.b];
+ const repos = flagutil.computeReposFromFlag(argv.r, true);
apputil.prefixLength = Math.max.apply(null,
[apputil.prefixLength].concat(
repos.map(function (r) { return r.repoName.length + 2; }))
@@ -89,7 +89,7 @@ function * updateRepos (repos, branches, noFetch) {
});
if (!noFetch) {
- var fetchPromises = [];
+ const fetchPromises = [];
yield repoutil.forEachRepo(repos, function * (repo) {
if (repo.svn) {
return;
@@ -104,7 +104,7 @@ function * updateRepos (repos, branches, noFetch) {
}
if (branches && branches.length) {
- var errors = '';
+ let errors = '';
yield repoutil.forEachRepo(repos, function * (repo) {
if (repo.id === 'firefoxos' && process.platform === 'win32') {
console.log('Skipping firefox OS repo on Windows as it fails due to max path length issues');
@@ -121,12 +121,12 @@ function * updateRepos (repos, branches, noFetch) {
}
return;
}
- var staleBranches = {};
- for (var i = 0; i < branches.length; ++i) {
- var branchName = branches[i];
+ let staleBranches = {};
+ for (let i = 0; i < branches.length; ++i) {
+ const branchName = branches[i];
if (yield gitutil.localBranchExists(branchName)) {
if (yield gitutil.remoteBranchExists(repo, branchName)) {
- var changes = yield executil.execHelper(executil.ARGS('git log --oneline ' + branchName + '..' + repo.remoteName + '/' + branchName),
+ const changes = yield executil.execHelper(executil.ARGS('git log --oneline ' + branchName + '..' + repo.remoteName + '/' + branchName),
/* silent */ true, /* allowError */ true);
staleBranches[branchName] = !!changes;
}
@@ -142,11 +142,11 @@ function * updateRepos (repos, branches, noFetch) {
print('Already up-to-date: ' + repo.repoName);
} else {
yield gitutil.stashAndPop(repo, function * () {
- for (var i = 0; i < staleBranches.length; ++i) {
- var branchName = staleBranches[i];
+ for (let i = 0; i < staleBranches.length; ++i) {
+ const branchName = staleBranches[i];
yield gitutil.gitCheckout(branchName);
try {
- var ret = yield executil.execHelper(executil.ARGS('git merge --ff-only', repo.remoteName + '/' + branchName),
+ let ret = yield executil.execHelper(executil.ARGS('git merge --ff-only', repo.remoteName + '/' + branchName),
/* silent */ false, /* allowError */ true);
if (ret === null) {
try {
@@ -174,9 +174,9 @@ function * updateRepos (repos, branches, noFetch) {
module.exports.updateRepos = updateRepos;
function * determineApacheRemote (repo) {
- var fields = (yield executil.execHelper(executil.ARGS('git remote -v'), true)).split(/\s+/);
+ const fields = (yield executil.execHelper(executil.ARGS('git remote -v'), true)).split(/\s+/);
- var ret = null;
+ let ret = null;
// prefer github - in particular, ASF remote does not respond well to repo-update command.
[
@@ -185,7 +185,7 @@ function * determineApacheRemote (repo) {
'git-wip-us.apache.org/repos/asf/',
'git.apache.org/'
].forEach(function (validRepo) {
- for (var i = 1; i < fields.length; i += 3) {
+ for (let i = 1; i < fields.length; i += 3) {
if (!ret && fields[i].indexOf(validRepo + repo.repoName) !== -1) {
ret = fields[i - 1];
}
diff --git a/src/repoutil.js b/src/repoutil.js
index 50c9db1..bf0bd60 100644
--- a/src/repoutil.js
+++ b/src/repoutil.js
@@ -17,12 +17,12 @@ specific language governing permissions and limitations
under the License.
*/
-var fs = require('fs');
-var path = require('path');
-var shelljs = require('shelljs');
-var apputil = require('./apputil');
+const fs = require('fs');
+const path = require('path');
+const shelljs = require('shelljs');
+const apputil = require('./apputil');
-var platformRepos = [
+const platformRepos = [
{
title: 'Android',
versions: ['4.4', '5.0', '5.1', '6.0', '7.0', '7.1'],
@@ -144,7 +144,7 @@ var platformRepos = [
}
];
-var nonPlatformRepos = [
+const nonPlatformRepos = [
{
title: 'Docs',
id: 'docs',
@@ -168,7 +168,7 @@ var nonPlatformRepos = [
}
];
-var pluginRepos = [
+const pluginRepos = [
{
title: 'Plugin - Battery Status',
id: 'plugin-battery-status',
@@ -310,7 +310,7 @@ var pluginRepos = [
}
];
-var toolRepos = [
+const toolRepos = [
{
title: 'Cordova CLI',
id: 'cli',
@@ -370,7 +370,7 @@ var toolRepos = [
}
];
-var otherRepos = [
+const otherRepos = [
{
title: 'Cordova Medic',
id: 'medic',
@@ -435,12 +435,12 @@ var otherRepos = [
}
];
-var allRepos = platformRepos.concat(nonPlatformRepos,
+const allRepos = platformRepos.concat(nonPlatformRepos,
pluginRepos,
toolRepos,
otherRepos);
-var repoGroups = {
+const repoGroups = {
all: allRepos,
platform: platformRepos,
platforms: platformRepos,
@@ -464,7 +464,7 @@ repoGroups.__defineGetter__('auto', function () {
exports.repoGroups = repoGroups;
function isInRepoGroup (repoToCheck, groupName) {
- var repos = repoGroups[groupName];
+ const repos = repoGroups[groupName];
if (!repos) return false;
return repos.some(function (repo) {
return repo.id === repoToCheck.id;
@@ -474,8 +474,8 @@ exports.isInRepoGroup = isInRepoGroup;
function getRepoById (id, opt_repos) {
// Strip cordova- prefix if it exists.
- var repos = opt_repos || allRepos;
- for (var i = 0; i < repos.length; ++i) {
+ const repos = opt_repos || allRepos;
+ for (let i = 0; i < repos.length; ++i) {
if (repos[i].id === id || repos[i].packageName === id || repos[i].repoName === id) {
return repos[i];
}
@@ -484,12 +484,12 @@ function getRepoById (id, opt_repos) {
}
exports.getRepoById = getRepoById;
-var isInForEachRepoFunction = false;
+let isInForEachRepoFunction = false;
exports.forEachRepo = function * (repos, func) {
- for (var i = 0; i < repos.length; ++i) {
- var repo = repos[i];
- var origPath = isInForEachRepoFunction ? process.cwd() : '..';
+ for (let i = 0; i < repos.length; ++i) {
+ const repo = repos[i];
+ let origPath = isInForEachRepoFunction ? process.cwd() : '..';
// The crazy dance with isInForEachRepoFunction and origPath is needed
// for nested forEachRepo calls to work. E.g repo-reset calls
@@ -501,7 +501,7 @@ exports.forEachRepo = function * (repos, func) {
if (repo.id === 'lib') {
origPath = origPath + '/..';
}
- var repoDir = getRepoDir(repo);
+ const repoDir = getRepoDir(repo);
shelljs.cd(repoDir);
if (shelljs.error()) {
@@ -516,10 +516,10 @@ exports.forEachRepo = function * (repos, func) {
};
function resolveCwdRepo () {
- var curPath = apputil.resolveUserSpecifiedPath('.');
- var prevPath;
+ let curPath = apputil.resolveUserSpecifiedPath('.');
+ let prevPath;
for (;;) {
- var value = path.basename(curPath);
+ const value = path.basename(curPath);
if (getRepoById(value)) {
return value;
}
@@ -533,8 +533,8 @@ function resolveCwdRepo () {
exports.resolveCwdRepo = resolveCwdRepo;
function getRepoDir (repo) {
- var baseWorkingDir = apputil.getBaseDir();
- var repoDir = path.join(baseWorkingDir, repo.repoName);
+ const baseWorkingDir = apputil.getBaseDir();
+ let repoDir = path.join(baseWorkingDir, repo.repoName);
if (repo.path) {
repoDir = path.join(repoDir, repo.path);
}
@@ -543,7 +543,7 @@ function getRepoDir (repo) {
exports.getRepoDir = getRepoDir;
function getRepoIncludePath (repo) {
- var repoPath = repo.path;
+ const repoPath = repo.path;
if (!repoPath) {
return [];
}
@@ -556,7 +556,7 @@ function getRepoIncludePath (repo) {
// The harder case - this is the main repo. We want to include the repo root folder and the folder pointed to by
// repo.path, but exclude all module folders.
- var matchingRepos = allRepos.filter(function (testRepo) {
+ const matchingRepos = allRepos.filter(function (testRepo) {
return testRepo.isModule && testRepo.repoName === repo.repoName;
});
diff --git a/src/retrieve-sha.js b/src/retrieve-sha.js
index 7024baa..6a6bcc0 100644
--- a/src/retrieve-sha.js
+++ b/src/retrieve-sha.js
@@ -16,11 +16,11 @@ KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/
-var repoutil = require('./repoutil');
-var executil = require('./executil');
+const repoutil = require('./repoutil');
+const executil = require('./executil');
module.exports = function * (repos) {
- var shas = {};
+ const shas = {};
yield repoutil.forEachRepo(repos, function * (repo) {
shas[repo.id] = yield executil.execHelper(executil.ARGS('git rev-parse --short=8 HEAD'), true, true);
});
diff --git a/src/shortlog.js b/src/shortlog.js
index c1fb5b5..a4d73c1 100644
--- a/src/shortlog.js
+++ b/src/shortlog.js
@@ -17,13 +17,13 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var repoutil = require('./repoutil');
+const optimist = require('optimist');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const repoutil = require('./repoutil');
module.exports = function * () {
- var opt = flagutil.registerRepoFlag(optimist);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = flagutil.registerHelpFlag(opt);
opt.usage('A version of `git shortlog -s` aggregated across multiple repos.\n' +
'\n' +
@@ -37,27 +37,27 @@ module.exports = function * () {
optimist.showHelp();
process.exit(1);
}
- var repos = flagutil.computeReposFromFlag(argv.r);
- var emailFilter = argv.filter && new RegExp(argv.filter);
- var days = argv.days || 7;
- var resultsByAuthor = {};
+ const repos = flagutil.computeReposFromFlag(argv.r);
+ const emailFilter = argv.filter && new RegExp(argv.filter);
+ const days = argv.days || 7;
+ const resultsByAuthor = {};
yield repoutil.forEachRepo(repos, function * (repo) {
- var cmd = executil.ARGS('git shortlog -s -e --no-merges ', '--since=' + days + ' days ago');
- var output = yield executil.execHelper(cmd, true);
+ const cmd = executil.ARGS('git shortlog -s -e --no-merges ', '--since=' + days + ' days ago');
+ const output = yield executil.execHelper(cmd, true);
if (output) {
output.split(/\n/).forEach(function (line) {
- var m = /\s*(\d+).*?<(.*?)>/.exec(line);
- var author = m[2];
- var count = +m[1];
+ const m = /\s*(\d+).*?<(.*?)>/.exec(line);
+ const author = m[2];
+ const count = +m[1];
resultsByAuthor[author] = +(resultsByAuthor[author] || 0) + count;
});
}
});
- var total = 0;
- var filterTotal = 0;
- var records = Object.keys(resultsByAuthor).map(function (author) {
- var count = resultsByAuthor[author];
+ let total = 0;
+ let filterTotal = 0;
+ const records = Object.keys(resultsByAuthor).map(function (author) {
+ const count = resultsByAuthor[author];
total += count;
if (emailFilter && emailFilter.exec(author)) {
filterTotal += count;
diff --git a/src/superspawn.js b/src/superspawn.js
index de35505..9aa6694 100644
--- a/src/superspawn.js
+++ b/src/superspawn.js
@@ -17,15 +17,15 @@
under the License.
*/
-var child_process = require('child_process');
-var fs = require('fs');
-var path = require('path');
-var Q = require('q');
-var shell = require('shelljs');
-var iswin32 = process.platform === 'win32';
+const child_process = require('child_process');
+const fs = require('fs');
+const path = require('path');
+const Q = require('q');
+const shell = require('shelljs');
+const iswin32 = process.platform === 'win32';
function extend (dst, src) {
- for (var k in src) {
+ for (const k in src) {
dst[k] = src[k];
}
return dst;
@@ -33,7 +33,7 @@ function extend (dst, src) {
// On Windows, spawn() for batch files requires absolute path & having the extension.
function resolveWindowsExe (cmd) {
- var winExtensions = ['.exe', '.cmd', '.bat', '.js', '.vbs'];
+ const winExtensions = ['.exe', '.cmd', '.bat', '.js', '.vbs'];
function isValidExe (c) {
return winExtensions.indexOf(path.extname(c)) !== -1 && fs.existsSync(c);
}
@@ -42,6 +42,7 @@ function resolveWindowsExe (cmd) {
}
cmd = shell.which(cmd) || cmd;
if (!isValidExe(cmd)) {
+ // eslint-disable-next-line array-callback-return
winExtensions.some(function (ext) {
if (fs.existsSync(cmd + ext)) {
cmd = cmd + ext;
@@ -70,8 +71,8 @@ function maybeQuote (a) {
exports.spawn = function (cmd, args, opts) {
args = args || [];
opts = opts || {};
- var spawnOpts = {};
- var d = Q.defer();
+ const spawnOpts = {};
+ const d = Q.defer();
if (iswin32) {
cmd = resolveWindowsExe(cmd);
@@ -88,7 +89,7 @@ exports.spawn = function (cmd, args, opts) {
}
}
- var pipeOutput = opts.stdio === 'inherit';
+ const pipeOutput = opts.stdio === 'inherit';
if (opts.stdio === 'ignore') {
spawnOpts.stdio = 'ignore';
} else if (pipeOutput) {
@@ -107,9 +108,9 @@ exports.spawn = function (cmd, args, opts) {
console.log('Running command: ' + maybeQuote(cmd) + ' ' + args.map(maybeQuote).join(' '));
}
- var child = child_process.spawn(cmd, args, spawnOpts);
- var capturedOut = '';
- var capturedErr = '';
+ const child = child_process.spawn(cmd, args, spawnOpts);
+ let capturedOut = '';
+ let capturedErr = '';
if (child.stdout) {
child.stdout.setEncoding('utf8');
@@ -132,16 +133,16 @@ exports.spawn = function (cmd, args, opts) {
function whenDone (arg) {
child.removeListener('close', whenDone);
child.removeListener('error', whenDone);
- var code = typeof arg === 'number' ? arg : arg && arg.code;
+ const code = typeof arg === 'number' ? arg : arg && arg.code;
if (code === 0) {
d.resolve(capturedOut.trim());
} else {
- var errMsg = cmd + ': Command failed with exit code ' + code;
+ let errMsg = cmd + ': Command failed with exit code ' + code;
if (capturedErr) {
errMsg += ' Error output:\n' + capturedErr.trim();
}
- var err = new Error(errMsg);
+ const err = new Error(errMsg);
err.code = code;
err.output = capturedOut.trim();
d.reject(err);
diff --git a/src/svnutil.js b/src/svnutil.js
index 28d0ffb..c14983c 100644
--- a/src/svnutil.js
+++ b/src/svnutil.js
@@ -17,7 +17,7 @@ specific language governing permissions and limitations
under the License.
*/
-var executil = require('./executil');
+const executil = require('./executil');
exports.update = function * () {
yield executil.execHelper(executil.ARGS('svn update'), false, false);
diff --git a/src/update-release-notes.js b/src/update-release-notes.js
index 6fe8c5c..4098497 100644
--- a/src/update-release-notes.js
+++ b/src/update-release-notes.js
@@ -17,21 +17,21 @@
under the License.
*/
-var fs = require('fs');
-var path = require('path');
-var stream = require('stream');
-var optimist = require('optimist');
-var executil = require('./executil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
-var linkify = require('jira-linkify');
-var co_stream = require('co-stream');
+const fs = require('fs');
+const path = require('path');
+const stream = require('stream');
+const optimist = require('optimist');
+const executil = require('./executil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
+const linkify = require('jira-linkify');
+const co_stream = require('co-stream');
-var relNotesFile = 'RELEASENOTES.md';
+const relNotesFile = 'RELEASENOTES.md';
module.exports = function * () {
- var opt = flagutil.registerRepoFlag(optimist);
+ let opt = flagutil.registerRepoFlag(optimist);
opt = flagutil.registerHelpFlag(opt)
.usage('Updates release notes with commits since the most recent tag.\n' +
'\n' +
@@ -48,16 +48,16 @@ module.exports = function * () {
process.exit(1);
}
- var repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
+ const repos = flagutil.computeReposFromFlag(argv.r, { includeModules: true });
yield repoutil.forEachRepo(repos, function * (repo) {
// TODO: we should use gitutil.summaryOfChanges here.
- var cmd = executil.ARGS('git log --topo-order --no-merges');
+ const cmd = executil.ARGS('git log --topo-order --no-merges');
cmd.push(['--pretty=format:* %s']);
- var fromTag, toTag, hasOneTag;
+ let fromTag, toTag, hasOneTag;
hasOneTag = false;
if (argv['last-two-tags']) {
- var last_two = (yield gitutil.findMostRecentTag(repo.versionPrefix));
+ const last_two = (yield gitutil.findMostRecentTag(repo.versionPrefix));
if (last_two) {
toTag = last_two[0];
if (last_two.length > 1) {
@@ -88,21 +88,21 @@ module.exports = function * () {
if (!hasOneTag) {
cmd.push(fromTag + '..' + toTag);
}
- var repoDesc = repo.repoName;
+ let repoDesc = repo.repoName;
if (repo.path) {
repoDesc += '/' + repo.path;
}
console.log('Finding commits in ' + repoDesc + ' from tag ' + fromTag + ' to tag ' + toTag);
- var output = yield executil.execHelper(cmd.concat(repoutil.getRepoIncludePath(repo)), true);
+ const output = yield executil.execHelper(cmd.concat(repoutil.getRepoIncludePath(repo)), true);
if (output) {
- var newVersion;
+ let newVersion;
if (toTag === 'master') {
delete require.cache[path.join(process.cwd(), 'package.json')];
newVersion = require(path.join(process.cwd(), 'package.json')).version;
} else {
newVersion = toTag;
}
- var final_notes = yield createNotes(repo, newVersion, output, argv['override-date']);
+ const final_notes = yield createNotes(repo, newVersion, output, argv['override-date']);
fs.writeFileSync(relNotesFile, final_notes, { encoding: 'utf8' });
return linkify.file(relNotesFile);
}
@@ -117,18 +117,18 @@ function bold (text, token) {
return text.replace(new RegExp(' ' + token, 'gi'), ' **' + token + '**');
}
-var GITHUB_CLOSE_COMMIT_MSG = /^\*\s+Closes?\s+\#\d+$/gi; // eslint-disable-line no-useless-escape
-var VIA_COHO_COMMIT_MSG = /\(via coho\)/gi;
+const GITHUB_CLOSE_COMMIT_MSG = /^\*\s+Closes?\s+\#\d+$/gi; // eslint-disable-line no-useless-escape
+const VIA_COHO_COMMIT_MSG = /\(via coho\)/gi;
function * createNotes (repo, newVersion, changes, overrideDate) {
// pump changes through JIRA linkifier first through a stream pipe
- var transformer = linkify.stream('CB');
- var read = new stream.Readable();
+ const transformer = linkify.stream('CB');
+ const read = new stream.Readable();
read._read = function () {};// noop
read.push(changes);
read.push(null);
- var write = new stream.Writable();
- var data = '';
+ const write = new stream.Writable();
+ let data = '';
write._write = function (chunk, encoding, done) {
data += chunk.toString();
done();
@@ -136,7 +136,7 @@ function * createNotes (repo, newVersion, changes, overrideDate) {
read.pipe(transformer).pipe(write);
yield co_stream.wait(write); // wait for the writable stream to finish/end
// remove any commit logs in the form "Close #xxx", used for closing github pull requests.
- var lines = data.split('\n');
+ const lines = data.split('\n');
data = lines.filter(function (line) {
return !(
line.match(GITHUB_CLOSE_COMMIT_MSG) ||
@@ -152,7 +152,7 @@ function * createNotes (repo, newVersion, changes, overrideDate) {
data = backtick(data, platform_name);
});
// bold platform labels (with optional version numbers, too)
- var version_labels = [];
+ const version_labels = [];
repoutil.repoGroups.platforms.filter(function (p) {
// first only pull out the platform repos that we have explicitly labeled with nice version strings
return p.versions && p.versions.length;
@@ -169,7 +169,7 @@ function * createNotes (repo, newVersion, changes, overrideDate) {
data = bold(data, platform);
});
// then interpolate linkified changes into existing release notes and compose the final release notes string
- var relNotesData;
+ let relNotesData;
// if being run in cordova directy, cd into repo
if (path.basename(process.cwd()) === 'cordova') {
relNotesData = fs.readFileSync(path.join(process.cwd(), repo, relNotesFile), { encoding: 'utf8' });
@@ -177,8 +177,8 @@ function * createNotes (repo, newVersion, changes, overrideDate) {
// being run in repo directory (Eg cordova/cordova-plugin-device)
relNotesData = fs.readFileSync(path.join(process.cwd(), relNotesFile), { encoding: 'utf8' });
}
- var headerPos = relNotesData.indexOf('### ');
- var date;
+ const headerPos = relNotesData.indexOf('### ');
+ let date;
if (overrideDate) {
date = new Date(overrideDate).toDateString().split(' ');
} else {
diff --git a/src/verify-tags.js b/src/verify-tags.js
index 003aa2d..20e80ef 100644
--- a/src/verify-tags.js
+++ b/src/verify-tags.js
@@ -17,23 +17,23 @@ specific language governing permissions and limitations
under the License.
*/
-var optimist = require('optimist');
-var apputil = require('./apputil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
-var chalk = require('chalk');
-var Q = require('q');
-var readline = require('readline');
+const optimist = require('optimist');
+const apputil = require('./apputil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
+const chalk = require('chalk');
+const Q = require('q');
+const readline = require('readline');
function readInput () {
- var ret = Q.defer();
+ const ret = Q.defer();
- var rl = readline.createInterface({
+ const rl = readline.createInterface({
input: process.stdin
});
- var data = '';
+ let data = '';
rl.on('line', function (line) {
if (line) {
data += line + '\n';
@@ -49,8 +49,8 @@ function readInput () {
}
exports.createCommand = function * (argv) {
- var opt = flagutil.registerHelpFlag(optimist);
- var argv = opt // eslint-disable-line
+ const opt = flagutil.registerHelpFlag(optimist);
+ argv = opt // eslint-disable-line
.usage('Makes sure the given hashs match the tags.\n' +
'Paste the output of the `print-tags` into this command to verify.\n' +
'e.g.: cordova-plugin-camera: 0.3.0 (4fa934e06f)\n' +
@@ -66,20 +66,20 @@ exports.createCommand = function * (argv) {
console.log('Paste in print-tags output then hit Enter');
}
- var input = yield readInput();
- var pattern = /\s*(cordova-.+?):\s*(.*?)\s+\((.*?)\)/g;
- var m;
- var results = [];
+ const input = yield readInput();
+ const pattern = /\s*(cordova-.+?):\s*(.*?)\s+\((.*?)\)/g;
+ let m;
+ const results = [];
while (m = pattern.exec(input)) { // eslint-disable-line no-cond-assign
results.push({ repoId: m[1], tagName: m[2], hash: m[3] });
}
if (results.length === 0) {
apputil.fatal('Error processing input.');
}
- var hadErrors = false;
- for (var i = 0, entry; entry = results[i]; ++i) { // eslint-disable-line no-cond-assign
+ let hadErrors = false;
+ for (let i = 0, entry; entry = results[i]; ++i) { // eslint-disable-line no-cond-assign
yield repoutil.forEachRepo([repoutil.getRepoById(entry.repoId)], function * (repo) {
- var foundHash = yield gitutil.hashForRef(entry.tagName);
+ let foundHash = yield gitutil.hashForRef(entry.tagName);
if (!foundHash) {
// Plugins have a prefixed 'r'
foundHash = yield gitutil.hashForRef('r' + entry.tagName);
diff --git a/src/versionutil.js b/src/versionutil.js
index 2b62e09..05bddd5 100644
--- a/src/versionutil.js
+++ b/src/versionutil.js
@@ -17,21 +17,21 @@ specific language governing permissions and limitations
under the License.
*/
-var fs = require('fs');
-var path = require('path');
-var glob = require('glob');
-var shelljs = require('shelljs');
-var xml2js = require('xml2js');
-var apputil = require('./apputil');
-var flagutil = require('./flagutil');
-var gitutil = require('./gitutil');
-var repoutil = require('./repoutil');
+const fs = require('fs');
+const path = require('path');
+const glob = require('glob');
+const shelljs = require('shelljs');
+const xml2js = require('xml2js');
+const apputil = require('./apputil');
+const flagutil = require('./flagutil');
+const gitutil = require('./gitutil');
+const repoutil = require('./repoutil');
function * getRepoVersion (repo) {
- var version;
+ let version;
yield repoutil.forEachRepo([repo], function * () {
- var platformPackage = path.join(process.cwd(), 'package.json');
- var platformPackageJson = require(platformPackage);
+ const platformPackage = path.join(process.cwd(), 'package.json');
+ const platformPackageJson = require(platformPackage);
version = platformPackageJson.version;
});
return version;
@@ -40,7 +40,7 @@ function * getRepoVersion (repo) {
exports.getRepoVersion = getRepoVersion;
function removeDev (version) {
- var newVersion = version.replace('-dev', '');
+ const newVersion = version.replace('-dev', '');
return newVersion;
}
exports.removeDev = removeDev;
@@ -50,15 +50,15 @@ exports.removeDev = removeDev;
// and the new version as value
// ex {android:4.0.0}
function updatePlatformsConfig (newValues) {
- var platformsConfig = path.join(repoutil.getRepoDir(repoutil.getRepoById('lib')),
+ const platformsConfig = path.join(repoutil.getRepoDir(repoutil.getRepoById('lib')),
'src/platforms/platformsConfig.json');
- var platformsJS = require(platformsConfig);
+ const platformsJS = require(platformsConfig);
flagutil.computeReposFromFlag('active-platform')
.forEach(function (repo) {
if (newValues[repo.id]) {
// For blackberry platformsConfig.json uses 'blackberry10' key
- var correctRepoId = (repo.id === 'blackberry') ? 'blackberry10' : repo.id;
+ const correctRepoId = (repo.id === 'blackberry') ? 'blackberry10' : repo.id;
platformsJS[correctRepoId].version = newValues[repo.id];
}
});
@@ -91,8 +91,8 @@ exports.updateRepoVersion = function * updateRepoVersion (repo, version, opts) {
// Update the VERSION files.
// TODO: why do we read files asynchronously in this function, but write
// and check for existence synchronously?
- var versionFilePaths = repo.versionFilePaths || ['VERSION'];
- var isPlatformRepo = !!repoutil.isInRepoGroup(repo, 'platform');
+ const versionFilePaths = repo.versionFilePaths || ['VERSION'];
+ const isPlatformRepo = !!repoutil.isInRepoGroup(repo, 'platform');
if (isPlatformRepo && fs.existsSync(versionFilePaths[0])) {
versionFilePaths.forEach(function (versionFilePath) {
fs.writeFileSync(versionFilePath, version + '\n');
@@ -128,10 +128,10 @@ exports.updateRepoVersion = function * updateRepoVersion (repo, version, opts) {
}
// Update the package.json VERSION.
- var packageFilePaths = repo.packageFilePaths || ['package.json'];
+ const packageFilePaths = repo.packageFilePaths || ['package.json'];
if (fs.existsSync(packageFilePaths[0])) {
- var data = fs.readFileSync(packageFilePaths[0], { encoding: 'utf-8' });
- var packageJSON = JSON.parse(data);
+ const data = fs.readFileSync(packageFilePaths[0], { encoding: 'utf-8' });
+ const packageJSON = JSON.parse(data);
packageJSON.version = version;
// use 2 spaces indent similar to npm
fs.writeFileSync(packageFilePaths[0], JSON.stringify(packageJSON, null, 2) + '\n');
@@ -143,15 +143,15 @@ exports.updateRepoVersion = function * updateRepoVersion (repo, version, opts) {
}
// Update the plugin.xml(s)
- var isPluginRepo = !!repoutil.isInRepoGroup(repo, 'plugins');
+ const isPluginRepo = !!repoutil.isInRepoGroup(repo, 'plugins');
if (isPluginRepo) {
- var xmlFilePaths = repo.xmlFilePaths || ['plugin.xml', 'tests/plugin.xml'];
+ const xmlFilePaths = repo.xmlFilePaths || ['plugin.xml', 'tests/plugin.xml'];
xmlFilePaths.forEach(function (xmlFile) {
if (fs.existsSync(xmlFile)) {
- var data = fs.readFileSync(xmlFile, { encoding: 'utf-8' });
+ const data = fs.readFileSync(xmlFile, { encoding: 'utf-8' });
xml2js.parseString(data, { async: false }, function (err, xml) {
if (err) throw err;
- var prev_version = xml.plugin.$.version;
+ const prev_version = xml.plugin.$.version;
shelljs.sed('-i', new RegExp('version="' + prev_version + '"', 'i'), 'version="' + version + '"', xmlFile);
});
} else {
@@ -163,7 +163,7 @@ exports.updateRepoVersion = function * updateRepoVersion (repo, version, opts) {
}
}
- var commitChanges = !!(opts ? opts.commitChanges : true);
+ const commitChanges = !!(opts ? opts.commitChanges : true);
if (commitChanges && (yield gitutil.pendingChangesExist())) {
yield gitutil.commitChanges('Set VERSION to ' + version + ' (via coho)');
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org