eslint-plugin-react-native-a11y icon indicating copy to clipboard operation
eslint-plugin-react-native-a11y copied to clipboard

Error with any custom components aliased as Image

Open FrederickEngelhardt opened this issue 6 years ago • 2 comments

When importing the component under an alias of Image or a named export { Image } I get the following error. Looks like the Eslint rule is looking for any component named Image and applying this rule. Is it possible to get the eslint rule to only apply to Images imported directly from react-native?

Found an element which will be inverted. Add the accessibilityIgnoresInvertColors propeslint(react-native-a11y/has-valid-accessibility-ignores-invert-colors)

Code: Image.tsx

import React from 'react'
import { Image as RNImage, ImageProps } from 'react-native'

const Image = (props: ImageProps) => (
  <RNImage accessibilityIgnoresInvertColors source={props.source} />
)

export default Image

And example area you would have an error App.tsx

import Image from 'components/Image'
const App = () => <Image source={FILE} /> // this will error saying you are not providing accessibilityIgnoresInvertColors for the image.

FrederickEngelhardt avatar Apr 17 '20 19:04 FrederickEngelhardt

PR incoming to add a filter to imports to verify that Image comes from react-native.

FrederickEngelhardt avatar Apr 17 '20 22:04 FrederickEngelhardt

Hey, thank you for your work! Is there any chance this could still be merged/fixed? We were thinking of adding these rules to our linting, but as we are using styled-components, the rules don't really work as they should :/ Thank you!

steffenkleinle avatar Sep 04 '24 11:09 steffenkleinle