UNPKG

@atlaskit/eslint-plugin-design-system

Version:

The essential plugin for use with the Atlassian Design System.

48 lines 1.86 kB
import { createLintRule } from '../utils/create-lint-rule'; import { StyleProperty } from './transformers'; var rule = createLintRule({ meta: { name: 'use-tokens-shape', type: 'problem', fixable: 'code', hasSuggestions: true, docs: { description: 'Enforces usage of shape design tokens rather than hard-coded values.', recommended: false, severity: 'error' }, messages: { noRawShapeValues: 'The use of shape tokens is preferred over the direct application of border radius and border width properties.' } }, create: function create(context) { return { 'CallExpression[callee.name="css"] ObjectExpression Property': function CallExpressionCalleeNameCss_ObjectExpression_Property(node) { return StyleProperty.lint(node, { context: context }); }, 'CallExpression[callee.name="keyframes"] ObjectExpression Property': function CallExpressionCalleeNameKeyframes_ObjectExpression_Property(node) { return StyleProperty.lint(node, { context: context }); }, 'CallExpression[callee.name="cssMap"] ObjectExpression Property': function CallExpressionCalleeNameCssMap_ObjectExpression_Property(node) { return StyleProperty.lint(node, { context: context }); }, 'CallExpression[callee.object.name=styled] ObjectExpression Property': function CallExpressionCalleeObjectNameStyled_ObjectExpression_Property(node) { return StyleProperty.lint(node, { context: context }); }, 'CallExpression[callee.object.name=styled2] ObjectExpression Property': function CallExpressionCalleeObjectNameStyled2_ObjectExpression_Property(node) { return StyleProperty.lint(node, { context: context }); } }; } }); export default rule;