feat: allow plugins to throw an iterable list of errors

This commit is contained in:
Pierre Vanduynslager
2018-02-11 19:53:41 -05:00
parent 9360caf253
commit 9b2f6bfed2
4 changed files with 43 additions and 6 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
const {template} = require('lodash');
const {template, isFunction} = require('lodash');
const marked = require('marked');
const TerminalRenderer = require('marked-terminal');
const envCi = require('env-ci');
@@ -108,7 +108,7 @@ module.exports = async opts => {
unhook();
return result;
} catch (err) {
const errors = err.name === 'AggregateError' ? Array.from(err).sort(error => !error.semanticRelease) : [err];
const errors = err && isFunction(err[Symbol.iterator]) ? [...err].sort(error => !error.semanticRelease) : [err];
for (const error of errors) {
if (error.semanticRelease) {
logger.log(`%s ${error.message}`, error.code);