@atlaskit/eslint-plugin-design-system
Version:
The essential plugin for use with the Atlassian Design System.
22 lines • 893 B
JavaScript
import { node as generate, isNodeOfType } from 'eslint-codemod-utils';
import { isLegacyColor } from '../utils/is-legacy-color';
import { isLegacyNamedColor } from '../utils/is-legacy-named-color';
import { getTokenSuggestion } from './get-token-suggestion';
// JSXExpressionContainer > MemberExpression
export var lintJSXMemberForColor = function lintJSXMemberForColor(node, context, config) {
// To force the correct node type
if (node.type !== 'MemberExpression') {
return;
}
if (!isNodeOfType(node.property, 'Identifier')) {
return;
}
if (isLegacyColor(node.property.name) || isNodeOfType(node.object, 'Identifier') && node.object.name === 'colors' && isLegacyNamedColor(node.property.name)) {
context.report({
messageId: 'hardCodedColor',
node: node,
suggest: getTokenSuggestion(node, generate(node).toString(), config)
});
return;
}
};