diff --git a/compiler/packages/eslint-plugin-react-forget/__tests__/ReactForgetDiagnostics-test.ts b/compiler/packages/eslint-plugin-react-forget/__tests__/ReactForgetDiagnostics-test.ts
index 1a5b44b93b..af89c76465 100644
--- a/compiler/packages/eslint-plugin-react-forget/__tests__/ReactForgetDiagnostics-test.ts
+++ b/compiler/packages/eslint-plugin-react-forget/__tests__/ReactForgetDiagnostics-test.ts
@@ -6,7 +6,6 @@
*/
import { RuleTester as ESLintTester } from "eslint";
-import * as HermesEslintParser from "hermes-eslint";
import ReactForgetDiagnostics from "../src/rules/ReactForgetDiagnostics";
/**
@@ -38,6 +37,18 @@ const tests: ForgetTestCases = {
}
`,
},
+ {
+ name: "Basic example with component syntax",
+ code: normalizeIndent`
+ export default component HelloWorld(
+ text: string = 'Hello!',
+ onClick: () => void,
+ ) {
+ 'use forget';
+ return
{text}
;
+ }
+ `,
+ },
{
name: "Unsupported syntax",
code: normalizeIndent`
@@ -121,10 +132,11 @@ const tests: ForgetTestCases = {
};
const eslintTester = new ESLintTester({
- parser: HermesEslintParser,
+ parser: require.resolve("hermes-eslint"),
parserOptions: {
ecmaVersion: 2015,
sourceType: "module",
+ enableExperimentalComponentSyntax: true,
},
});
eslintTester.run("react-forget-diagnostics", ReactForgetDiagnostics, tests);
diff --git a/compiler/packages/eslint-plugin-react-forget/src/rules/ReactForgetDiagnostics.ts b/compiler/packages/eslint-plugin-react-forget/src/rules/ReactForgetDiagnostics.ts
index c045085a1a..a493da9e9a 100644
--- a/compiler/packages/eslint-plugin-react-forget/src/rules/ReactForgetDiagnostics.ts
+++ b/compiler/packages/eslint-plugin-react-forget/src/rules/ReactForgetDiagnostics.ts
@@ -83,6 +83,7 @@ const rule: Rule.RuleModule = {
const babelAST = HermesParser.parse(sourceCode, {
babel: true,
+ enableExperimentalComponentSyntax: true,
sourceFilename: filename,
sourceType: "module",
});