@admc.com/eslint-plugin-sn
Version:
ESLint plugin for ServiceNow scriptlets
26 lines (23 loc) • 839 B
JavaScript
;
const message = "Don't use empty string to indicate 'unset'. That's what undefined is for.";
const messageId = // eslint-disable-next-line prefer-template
(require("path").basename(__filename).replace(/[.]js$/, "") + "_msg").toUpperCase();
const esLintObj = {
meta: {
type: "suggestion",
docs: {
description: "Init to empty string is usually (but not always) a mistake",
category: "Suggestions",
},
messages: { },
},
create: context => { return {
Literal(node) {
if (node.value === "" && node.parent.type === "VariableDeclarator"
&& node.parent.parent.kind !== "const")
context.report({node, messageId});
}
}; }
};
esLintObj.meta.messages[messageId] = message;
module.exports = esLintObj;