@wordpress/eslint-plugin
Version:
ESLint plugin for WordPress development.
30 lines (29 loc) • 642 B
JavaScript
module.exports = {
meta: {
type: 'problem',
schema: [],
},
create( context ) {
return {
"JSXOpeningElement[name.name='BaseControl']": ( node ) => {
const containsAttribute = ( attrName ) => {
return node.attributes.some( ( attribute ) => {
return (
attribute.name && attribute.name.name === attrName
);
} );
};
if (
containsAttribute( 'label' ) &&
! containsAttribute( 'id' )
) {
context.report( {
node,
message:
'When using BaseControl component if a label property is passed an id property should also be passed.',
} );
}
},
};
},
};