Skip to content

Commit

Permalink
remove lodash
Browse files Browse the repository at this point in the history
  • Loading branch information
Senderek committed Nov 15, 2022
1 parent 0583b58 commit 8960b08
Show file tree
Hide file tree
Showing 4 changed files with 430 additions and 447 deletions.
69 changes: 33 additions & 36 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,50 +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, resultsMeta) => {
let shouldPrintMaxWarningsExceeded = false;
let maxWarningsExceededMessage;
if (resultsMeta?.maxWarningsExceeded != null && resultsMeta.maxWarningsExceeded.maxWarnings <= resultsMeta.maxWarningsExceeded.foundWarnings) {
shouldPrintMaxWarningsExceeded = true;
maxWarningsExceededMessage = logIssue({
type: "error",
// eslint-disable-next-line max-len
message: `ESLint found too many warnings (maximum: ${resultsMeta.maxWarningsExceeded.maxWarnings}, found: ${resultsMeta.maxWarningsExceeded.foundWarnings}).`,
});
}

const r = _.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()
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 shouldPrintMaxWarningsExceeded ? `${r}\n${maxWarningsExceededMessage}\n` : r;
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 8960b08

Please sign in to comment.