UNPKG

@atlaskit/eslint-plugin-design-system

Version:

The essential plugin for use with the Atlassian Design System.

35 lines 1.36 kB
import { createLintRule } from '../utils/create-lint-rule'; import { JSXElement as _JSXElement } from './node-types/jsx-element'; import { StyledComponent } from './node-types/styled-component'; var rule = createLintRule({ meta: { name: 'no-html-anchor', type: 'suggestion', hasSuggestions: true, docs: { description: 'Discourage direct usage of HTML anchor elements in favor of Atlassian Design System link components.', recommended: true, severity: 'warn' }, messages: { noHtmlAnchor: "This <{{ name }}> should be replaced with a link component from the Atlassian Design System, such as the \"Link\" or \"LinkButton\" component when suitable. For custom links use the \"Anchor\" primitive. ADS links include event tracking, automatic router configuration, ensure accessible implementations, and provide access to ADS styling features like design tokens." } }, create: function create(context) { return { // transforms styled.<anchor>(...) usages CallExpression: function CallExpression(node) { StyledComponent.lint(node, { context: context }); }, // transforms <anchor css={...}> usages JSXElement: function JSXElement(node) { _JSXElement.lint(node, { context: context }); } }; } }); export default rule;