dillon1000/react

Commit

[compiler:eslint] Fix false positive with TS type param syntax

Previously we would attempt to parse code in the eslint plugin with the
HermesParser first as it can handle some TS syntax. However, this was
leading to a mis-parse of React hook calls with type params (eg,
`useRef<null>()` as a BinaryExpression rather than a CallExpression with
a type param. This triggered our validation that Hooks should not be
used as normal values.

To fix this, we now try to parse with the babel parser (with TS support)
for filenames that end with ts/tsx, and fallback to HermesParser for
regular JS files.

ghstack-source-id: 5b7231031cace749a6e689412b3e8b5c9d03ed4b
Pull Request resolved: https://github.com/facebook/react/pull/29081
Browse files
Changed paths2 files
First-parent comparison
M compiler/packages/eslint-plugin-react-compiler/__tests__/ReactCompilerRuleTypescript-test.ts ModifiedM compiler/packages/eslint-plugin-react-compiler/src/rules/ReactCompilerRule.ts Modified
Patch

Files changed

Rendering syntax-highlighted changes…