UNPKG

@atlaskit/eslint-plugin-design-system

Version:

The essential plugin for use with the Atlassian Design System.

35 lines 1.15 kB
import { createLintRule } from '../utils/create-lint-rule'; import { JSXElement } from './node-types/jsx-element'; import { StyledComponent } from './node-types/styled-component'; const rule = 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(context) { return { // transforms styled.<textarea>(...) usages CallExpression(node) { StyledComponent.lint(node, { context }); }, // transforms <textarea css={...}> usages JSXElement(node) { JSXElement.lint(node, { context }); } }; } }); export default rule;