@raycast/eslint-plugin
Version:
ESLint plugin designed to help Raycast's extensions authors follow best practices
36 lines (35 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../utils");
exports.default = (0, utils_1.createRule)({
create: (context) => {
return {
JSXOpeningElement: (node) => {
if ((0, utils_1.isTextField)(node.name)) {
const placeholderAttribute = node.attributes.find((attribute) => {
return (attribute.type === "JSXAttribute" &&
attribute.name.name === "placeholder");
});
if (!placeholderAttribute) {
context.report({
node,
messageId: "hasNoPlaceholder",
});
}
}
},
};
},
name: "prefer-placeholders",
meta: {
messages: {
hasNoPlaceholder: "For a better visual experience, please add placeholders in text field and text area components.",
},
type: "suggestion",
docs: {
description: "Prefer Placeholders for Text Fields",
},
schema: [],
},
defaultOptions: [],
});