commitlint-plugin-gitmoji
Version:
shareable commitlint plugin enforcing gitmoji commit rules
47 lines (44 loc) • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _gitmojiRegex = require("@gitmoji/gitmoji-regex");
var _gitmojiCode = require("./gitmojiCode");
var emoji = function emoji(parsed) {
var raw = parsed.raw;
// code regex test url: https://regex101.com/r/fSdOvB/1
var gitmojiCodeResult = new RegExp("(".concat(_gitmojiRegex.gitmojiCodeRegex.source, ")\\s.*"), 'gm').exec(raw);
// unicode regex test url: https://regex101.com/r/shBTBg/2
var gitmojiUnicodeResult = new RegExp("(".concat(_gitmojiRegex.gitmojiUnicodeRegex.source, ")\\s.*"), 'gm').exec(raw);
var emojiResult = new RegExp("(".concat(_gitmojiRegex.emojiRegex.source, ")\\s.*"), 'gm').exec(raw);
var pass;
var errorMsg = 'passed';
// if gitmoji code is valid
if (gitmojiCodeResult) {
var emojiCode = gitmojiCodeResult[1];
pass = _gitmojiCode.gitmojiCodes.includes(emojiCode);
if (!pass) {
errorMsg = "".concat(emojiCode, " is not in the correct gitmoji list, please check the emoji code on https://gitmoji.dev/.");
}
}
// if gitmoji unicode is valid
else if (gitmojiUnicodeResult) {
var unicode = gitmojiUnicodeResult[1];
pass = _gitmojiCode.gitmojiUnicode.includes(unicode);
}
// is emoji,but isn't included in gitmoji list
else if (emojiResult) {
var _unicode = emojiResult[1];
pass = false;
errorMsg = "".concat(_unicode, " is not in the correct gitmoji list, please check the emoji code on https://gitmoji.dev/.");
} else {
// if don't has gitmoji code or emoji unicode
pass = false;
errorMsg = 'Your commit should start with gitmoji code. Please check the emoji code on https://gitmoji.dev/.';
}
return [pass, errorMsg];
};
var _default = emoji;
exports.default = _default;
module.exports = exports.default;