danger
Version:
Unit tests for Team Culture
63 lines • 4.07 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.inlineTemplate = exports.template = exports.dangerSignaturePostfix = exports.fileLineToString = exports.dangerIDToString = exports.messageForResultWithIssues = exports.dangerSignature = void 0;
var DangerUtils_1 = require("../DangerUtils");
// BitBucket Cloud supports these emojis 🎉
var noEntryEmoji = ":x:";
var warningEmoji = ":warning:";
var messageEmoji = ":sparkles:";
var signatureEmoji = ":no_entry_sign:";
var successEmoji = ":tada:";
var dangerSignature = function (results) {
var meta = results.meta || { runtimeName: "dangerJS", runtimeHref: "https://danger.systems/js" };
return "Generated by ".concat(signatureEmoji, " [").concat(meta.runtimeName, "](").concat(meta.runtimeHref, ")");
};
exports.dangerSignature = dangerSignature;
exports.messageForResultWithIssues = "".concat(warningEmoji, " Danger found some issues. Don't worry, everything is fixable.");
var dangerIDToString = function (id) { return "danger-id-".concat(id, ";"); };
exports.dangerIDToString = dangerIDToString;
var fileLineToString = function (file, line) { return " File: ".concat(file, ";Line: ").concat(line, ";"); };
exports.fileLineToString = fileLineToString;
/**
* Postfix signature to be attached comment generated / updated by danger.
*/
var dangerSignaturePostfix = function (results, commitID) {
var signature = (0, exports.dangerSignature)(results);
if (commitID !== undefined) {
signature = "".concat(signature, " against ").concat(commitID);
}
return "\n\n ".concat(signature, "\n ");
};
exports.dangerSignaturePostfix = dangerSignaturePostfix;
function buildMarkdownTable(header, defaultEmoji, violations) {
if (violations.length === 0 || violations.every(function (violation) { return !violation.message; })) {
return "";
}
return "\n\n | ".concat(violations.length, " ").concat(header, " |\n | --- |\n").concat(violations.map(function (v) { return " | ".concat(v.icon || defaultEmoji, " - ").concat(v.message, " |"); }).join("\n"), "\n\n ");
}
/**
* A template function for creating a GitHub issue comment from Danger Results
* @param {string} dangerID A string that represents a unique build
* @param {string} commitID The hash that represents the latest commit
* @param {DangerResults} results Data to work with
* @returns {string} HTML
*/
function template(dangerID, results, commitID) {
var summaryMessage;
if (!results.fails.length && !results.warnings.length) {
summaryMessage = "".concat(successEmoji, " All green. ").concat((0, DangerUtils_1.compliment)());
}
else {
summaryMessage = exports.messageForResultWithIssues;
}
return "\n ".concat(summaryMessage, "\n\n ").concat(buildMarkdownTable("Fails", noEntryEmoji, results.fails), "\n ").concat(buildMarkdownTable("Warnings", warningEmoji, results.warnings), "\n ").concat(buildMarkdownTable("Messages", messageEmoji, results.messages), "\n\n ").concat(results.markdowns.map(function (v) { return v.message; }).join("\n\n"), "\n\n ").concat((0, exports.dangerSignaturePostfix)(results, commitID), "\n\n [](http://").concat((0, exports.dangerIDToString)(dangerID), ")\n ");
}
exports.template = template;
function inlineTemplate(dangerID, results, file, line) {
var printViolation = function (defaultEmoji) { return function (violation) {
return "- ".concat(violation.icon || defaultEmoji, " ").concat(violation.message);
}; };
return "\n[//]: # (".concat((0, exports.dangerIDToString)(dangerID), ")\n[//]: # (").concat((0, exports.fileLineToString)(file, line), ")\n").concat(results.fails.map(printViolation(noEntryEmoji)).join("\n"), "\n").concat(results.warnings.map(printViolation(warningEmoji)).join("\n"), "\n").concat(results.messages.map(printViolation(messageEmoji)).join("\n"), "\n").concat(results.markdowns.map(function (v) { return v.message; }).join("\n\n"), "\n ");
}
exports.inlineTemplate = inlineTemplate;
//# sourceMappingURL=bitbucketCloudTemplate.js.map
;