Skip to content

Commit

Permalink
Merge remote-tracking branch 'Senderek/ws-patch-1'
Browse files Browse the repository at this point in the history
  • Loading branch information
bdukes committed Nov 15, 2022
2 parents 7d41d22 + 7f1f5b0 commit a3f4684
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 1,973 deletions.
64 changes: 36 additions & 28 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,39 +1,47 @@
/*eslint-env node*/

const _ = require("lodash");

const ERROR_SEVERITY = 2;

function logIssue(issue) {
const attributes = _.chain(_.toPairs(issue))
.map(pair => ({ key: pair[0], value: pair[1] }))
.filter(pair => pair.key !== "message")
.filter(pair => pair.value !== undefined)
.map(pair => `${pair.key}=${pair.value};`)
.value();
const attributes = Object.entries(issue)
.filter((pair) => pair[0] !== "message" && pair[1] !== undefined)
.map((pair) => `${pair[0]}=${pair[1]};`);

return `##vso[task.logissue ${attributes.join("")}]${issue.message}`;
}

module.exports = results =>
_.chain(results)
.filter(result => result.messages.length > 0)
.flatMap(result =>
_.chain(result.messages)
.map(message =>
logIssue({
type:
message.fatal || message.severity === ERROR_SEVERITY
? "error"
: "warning",
sourcepath: result.filePath,
linenumber: message.line,
columnnumber: message.column,
code: message.ruleId,
message: message.message
})
)
.value()
module.exports = (results, resultsMeta) => {
const resultsAsString = results
.filter((result) => result.messages.length > 0)
.map((result) =>
result.messages.map((message) =>
logIssue({
type:
message.fatal || message.severity === ERROR_SEVERITY
? "error"
: "warning",
sourcepath: result.filePath,
linenumber: message.line,
columnnumber: message.column,
code: message.ruleId,
message: message.message,
})
)
)
.value()
.reduce((previousValue, currentValue) => {
if (currentValue != null && currentValue.length > 0) {
return previousValue.concat(currentValue);
}
return previousValue;
}, [])
.join("\n");

return resultsMeta?.maxWarningsExceeded != null &&
resultsMeta.maxWarningsExceeded.maxWarnings <
resultsMeta.maxWarningsExceeded.foundWarnings
? `${resultsAsString}\n${logIssue({
type: "error",
message: `ESLint found too many warnings (maximum: ${resultsMeta.maxWarningsExceeded.maxWarnings}, found: ${resultsMeta.maxWarningsExceeded.foundWarnings}).`,
})}\n`
: resultsAsString;
};
Loading

0 comments on commit a3f4684

Please sign in to comment.