@atlaskit/eslint-plugin-design-system
Version:
The essential plugin for use with the Atlassian Design System.
41 lines (40 loc) • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _createLintRule = require("../utils/create-lint-rule");
var _jsxElement = require("./node-types/jsx-element");
var _styledComponent = require("./node-types/styled-component");
var rule = (0, _createLintRule.createLintRule)({
meta: {
name: 'no-html-textarea',
type: 'suggestion',
hasSuggestions: true,
docs: {
description: 'Discourage direct usage of HTML textarea elements in favor of the Atlassian Design System textarea component.',
recommended: true,
severity: 'warn'
},
messages: {
noHtmlTextarea: "This <{{ name }}> should be replaced with a textarea component from the Atlassian Design System. ADS components include event tracking, ensure accessible implementations, and provide access to ADS styling features like design tokens."
}
},
create: function create(context) {
return {
// transforms styled.<textarea>(...) usages
CallExpression: function CallExpression(node) {
_styledComponent.StyledComponent.lint(node, {
context: context
});
},
// transforms <textarea css={...}> usages
JSXElement: function JSXElement(node) {
_jsxElement.JSXElement.lint(node, {
context: context
});
}
};
}
});
var _default = exports.default = rule;