jsx-eslint/eslint-plugin-react
Ver no GitHub`display-name` `ignoreTranspilerName` is too strict
Open
#1.165 aberto em 1 de mai. de 2017
help wantednew rulequestion
Métricas do repositório
- Stars
- (8.630 stars)
- Métricas de merge de PR
- (Nenhuma PRs mesclada em 30d)
Description
The purpose of ignoreTranspilerName is to ignore inferred names:
const SFC = () => <div />; // inferred name
const Foo = class extends React.Component {} // inferred name
It should not, however, ignore explicit names:
function SFC() { return <div />; } // explicit name
class Foo extends React.Component {} // explicit name
I think that the ignoreTranspilerName option should be deprecated, and replaced with new options that cover the current use cases:
- always require an explicit
displayName(ignoreTranspilerName: true) - only require an explicit
displayNameonReact.createClasses (ignoreTranspilerName: false)
As well as cover these additional use cases:
- always require an explicit name - ie, an explicit displayName or a named function or named `class
- always require a name - either explicit, or ES6-inferred
- Never allow an explicit
displayName? (i don't really care about this one, but it seems useful for consistency)