@atlaskit/eslint-plugin-design-system
Version:
The essential plugin for use with the Atlassian Design System.
14 lines • 968 B
JavaScript
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);