UNPKG

@atlaskit/eslint-plugin-design-system

Version:

The essential plugin for use with the Atlassian Design System.

14 lines 968 B
import { isNodeOfType } from 'eslint-codemod-utils'; import { isDecendantOfGlobalToken } from '../utils/is-decendant-of-global-token'; const filterSuggestion = ({ shouldReturnSuggestion }) => shouldReturnSuggestion; export const getTokenSuggestion = (node, reference, config) => [{ shouldReturnSuggestion: !isDecendantOfGlobalToken(node) && config.shouldEnforceFallbacks === false, desc: `Convert to token`, fix: fixer => fixer.replaceText(isNodeOfType(node.parent, 'MemberExpression') ? node.parent : node, isNodeOfType(node.parent, 'JSXAttribute') ? `{token('')}` : `token('')`) }, { shouldReturnSuggestion: !isDecendantOfGlobalToken(node) && config.shouldEnforceFallbacks === true, desc: `Convert to token with fallback`, fix: fixer => fixer.replaceText(isNodeOfType(node.parent, 'MemberExpression') ? node.parent : node, isNodeOfType(node.parent, 'JSXAttribute') ? `{token('', ${reference})}` : `token('', ${reference})`) }].filter(filterSuggestion);