diff --git a/bin/semantic-release.js b/bin/semantic-release.js index 8019452c..58d62174 100755 --- a/bin/semantic-release.js +++ b/bin/semantic-release.js @@ -30,9 +30,9 @@ execa process.exit(1); } }) - .catch(err => { + .catch(error => { console.error(`[semantic-release]: Git version ${MIN_GIT_VERSION} is required. No git binary found.`); - console.error(err); + console.error(error); process.exit(1); }); diff --git a/cli.js b/cli.js index 8bd89f03..7ab6e0c4 100755 --- a/cli.js +++ b/cli.js @@ -57,9 +57,9 @@ Usage: } await require('.')(opts); return 0; - } catch (err) { - if (err.name !== 'YError') { - stderr.write(hideSensitive(env)(util.inspect(err, {colors: true}))); + } catch (error) { + if (error.name !== 'YError') { + stderr.write(hideSensitive(env)(util.inspect(error, {colors: true}))); } return 1; } diff --git a/index.js b/index.js index e148c98d..120aecd9 100644 --- a/index.js +++ b/index.js @@ -60,14 +60,14 @@ async function run(context, plugins) { try { await verifyAuth(options.repositoryUrl, options.branch, {cwd, env}); - } catch (err) { + } catch (error) { if (!(await isBranchUpToDate(options.branch, {cwd, env}))) { logger.log( `The local branch ${options.branch} is behind the remote one, therefore a new version won't be published.` ); return false; } - logger.error(`The command "${err.cmd}" failed with the error message ${err.stderr}.`); + logger.error(`The command "${error.cmd}" failed with the error message ${error.stderr}.`); throw getError('EGITNOPERMISSION', {options}); } @@ -131,13 +131,13 @@ function logErrors({logger, stderr}, err) { } } -async function callFail(context, plugins, error) { - const errors = extractErrors(error).filter(error => error.semanticRelease); +async function callFail(context, plugins, err) { + const errors = extractErrors(err).filter(err => err.semanticRelease); if (errors.length > 0) { try { await plugins.fail({...context, errors}); - } catch (err) { - logErrors(context, err); + } catch (error) { + logErrors(context, error); } } } @@ -157,15 +157,15 @@ module.exports = async (opts = {}, {cwd = process.cwd(), env = process.env, stdo const result = await run(context, plugins); unhook(); return result; - } catch (err) { + } catch (error) { if (!options.dryRun) { - await callFail(context, plugins, err); + await callFail(context, plugins, error); } - throw err; + throw error; } - } catch (err) { - logErrors(context, err); + } catch (error) { + logErrors(context, error); unhook(); - throw err; + throw error; } }; diff --git a/lib/get-git-auth-url.js b/lib/get-git-auth-url.js index 863879ba..e19e366a 100644 --- a/lib/get-git-auth-url.js +++ b/lib/get-git-auth-url.js @@ -43,7 +43,7 @@ module.exports = async ({cwd, env, options: {repositoryUrl, branch}}) => { // Test if push is allowed without transforming the URL (e.g. is ssh keys are set up) try { await verifyAuth(repositoryUrl, branch, {cwd, env}); - } catch (err) { + } catch (error) { const envVar = Object.keys(GIT_TOKENS).find(envVar => !isUndefined(env[envVar])); const gitCredentials = `${GIT_TOKENS[envVar] || ''}${env[envVar] || ''}`; const {protocols, ...parsed} = gitUrlParse(repositoryUrl); diff --git a/lib/git.js b/lib/git.js index 98bd0305..b03d8f49 100644 --- a/lib/git.js +++ b/lib/git.js @@ -12,8 +12,8 @@ const debug = require('debug')('semantic-release:git'); async function gitTagHead(tagName, execaOpts) { try { return await execa.stdout('git', ['rev-list', '-1', tagName], execaOpts); - } catch (err) { - debug(err); + } catch (error) { + debug(error); } } @@ -44,13 +44,13 @@ async function isRefInHistory(ref, execaOpts) { try { await execa('git', ['merge-base', '--is-ancestor', ref, 'HEAD'], execaOpts); return true; - } catch (err) { - if (err.code === 1) { + } catch (error) { + if (error.code === 1) { return false; } - debug(err); - throw err; + debug(error); + throw error; } } @@ -63,7 +63,7 @@ async function isRefInHistory(ref, execaOpts) { async function fetch(repositoryUrl, execaOpts) { try { await execa('git', ['fetch', '--unshallow', '--tags', repositoryUrl], execaOpts); - } catch (err) { + } catch (error) { await execa('git', ['fetch', '--tags', repositoryUrl], execaOpts); } } @@ -75,7 +75,7 @@ async function fetch(repositoryUrl, execaOpts) { * * @return {string} the sha of the HEAD commit. */ -async function gitHead(execaOpts) { +function gitHead(execaOpts) { return execa.stdout('git', ['rev-parse', 'HEAD'], execaOpts); } @@ -89,8 +89,8 @@ async function gitHead(execaOpts) { async function repoUrl(execaOpts) { try { return await execa.stdout('git', ['config', '--get', 'remote.origin.url'], execaOpts); - } catch (err) { - debug(err); + } catch (error) { + debug(error); } } @@ -104,8 +104,8 @@ async function repoUrl(execaOpts) { async function isGitRepo(execaOpts) { try { return (await execa('git', ['rev-parse', '--git-dir'], execaOpts)).code === 0; - } catch (err) { - debug(err); + } catch (error) { + debug(error); } } @@ -121,9 +121,9 @@ async function isGitRepo(execaOpts) { async function verifyAuth(repositoryUrl, branch, execaOpts) { try { await execa('git', ['push', '--dry-run', repositoryUrl, `HEAD:${branch}`], execaOpts); - } catch (err) { - debug(err); - throw err; + } catch (error) { + debug(error); + throw error; } } @@ -163,8 +163,8 @@ async function push(repositoryUrl, branch, execaOpts) { async function verifyTagName(tagName, execaOpts) { try { return (await execa('git', ['check-ref-format', `refs/tags/${tagName}`], execaOpts)).code === 0; - } catch (err) { - debug(err); + } catch (error) { + debug(error); } } @@ -182,8 +182,8 @@ async function isBranchUpToDate(branch, execaOpts) { (await execa.stdout('git', ['ls-remote', '--heads', 'origin', branch], execaOpts)).match(/^(\w+)?/)[1], execaOpts ); - } catch (err) { - debug(err); + } catch (error) { + debug(error); } } diff --git a/lib/plugins/normalize.js b/lib/plugins/normalize.js index 45b7be2a..d71bd840 100644 --- a/lib/plugins/normalize.js +++ b/lib/plugins/normalize.js @@ -42,10 +42,10 @@ module.exports = ({cwd, stdout, stderr, options, logger}, type, pluginOpt, plugi } logger.success(`Completed step "${type}" of plugin "${pluginName}"`); return result; - } catch (err) { + } catch (error) { logger.error(`Failed step "${type}" of plugin "${pluginName}"`); - extractErrors(err).forEach(err => Object.assign(err, {pluginName})); - throw err; + extractErrors(error).forEach(err => Object.assign(err, {pluginName})); + throw error; } }; diff --git a/lib/plugins/pipeline.js b/lib/plugins/pipeline.js index 6364c058..4ed7f0cf 100644 --- a/lib/plugins/pipeline.js +++ b/lib/plugins/pipeline.js @@ -36,12 +36,12 @@ module.exports = (steps, {settleAll = false, getNextInput = identity, transform // Call the step with the input computed at the end of the previous iteration and save intermediary result result = await transform(await step(lastInput), step, lastInput); results.push(result); - } catch (err) { + } catch (error) { if (settleAll) { - errors.push(...extractErrors(err)); - result = err; + errors.push(...extractErrors(error)); + result = error; } else { - throw err; + throw error; } } // Prepare input for the next step, passing the input of the last iteration (or initial parameter for the first iteration) and the result of the current one diff --git a/package.json b/package.json index b57aa2d9..35de4184 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "sinon": "^6.0.0", "stream-buffers": "^3.0.2", "tempy": "^0.2.1", - "xo": "^0.22.0" + "xo": "^0.23.0" }, "engines": { "node": ">=8.3" diff --git a/test/helpers/git-utils.js b/test/helpers/git-utils.js index c0dac407..fedbb6a0 100644 --- a/test/helpers/git-utils.js +++ b/test/helpers/git-utils.js @@ -69,7 +69,7 @@ export async function initBareRepo(repositoryUrl, branch = 'master') { * @returns {Array} The created commits, in reverse order (to match `git log` order). */ export async function gitCommits(messages, execaOpts) { - await pReduce(messages, async (_, message) => + await pReduce(messages, (_, message) => execa.stdout('git', ['commit', '-m', message, '--allow-empty', '--no-gpg-sign'], execaOpts) ); return (await gitGetCommits(undefined, execaOpts)).slice(0, messages.length); @@ -112,7 +112,7 @@ export async function gitCheckout(branch, create = true, execaOpts) { * * @return {String} The sha of the head commit in the current git repository. */ -export async function gitHead(execaOpts) { +export function gitHead(execaOpts) { return execa.stdout('git', ['rev-parse', 'HEAD'], execaOpts); } @@ -181,7 +181,7 @@ export async function gitAddConfig(name, value, execaOpts) { * * @return {String} The sha of the commit associated with `tagName` on the local repository. */ -export async function gitTagHead(tagName, execaOpts) { +export function gitTagHead(tagName, execaOpts) { return execa.stdout('git', ['rev-list', '-1', tagName], execaOpts); } @@ -209,7 +209,7 @@ export async function gitRemoteTagHead(repositoryUrl, tagName, execaOpts) { * * @return {String} The tag associatedwith the sha in parameter or `null`. */ -export async function gitCommitTag(gitHead, execaOpts) { +export function gitCommitTag(gitHead, execaOpts) { return execa.stdout('git', ['describe', '--tags', '--exact-match', gitHead], execaOpts); } diff --git a/test/helpers/mockserver.js b/test/helpers/mockserver.js index d9c28e96..f7a6aaca 100644 --- a/test/helpers/mockserver.js +++ b/test/helpers/mockserver.js @@ -30,7 +30,7 @@ async function start() { minTimeout: 1000, factor: 2, }); - } catch (err) { + } catch (error) { throw new Error(`Couldn't start mock-server after 2 min`); } } @@ -96,7 +96,7 @@ async function mock( * @param {Object} expectation The expectation created with `mock` function. * @return {Promise} A Promise that resolves if the expectation is met or reject otherwise. */ -async function verify(expectation) { +function verify(expectation) { return client.verify(expectation); } diff --git a/test/helpers/npm-registry.js b/test/helpers/npm-registry.js index 64c5f750..e01fcc3e 100644 --- a/test/helpers/npm-registry.js +++ b/test/helpers/npm-registry.js @@ -39,7 +39,7 @@ async function start() { minTimeout: 1000, factor: 2, }); - } catch (err) { + } catch (error) { throw new Error(`Couldn't start npm-registry-docker after 2 min`); }