@samitouri / QOS-React-1 / commits / a030d05d95

[eslint] Add test for component syntax

Lauren Tan committed Nov 3, 2023 at 15:22 UTC a030d05d95db4c919c36e8f5ecfff7b6d6cefac2
2 files changed +15 -2
compiler/packages/eslint-plugin-react-forget/__tests__/ReactForgetDiagnostics-test.ts
+14 -2
@@ -6,7 +6,6 @@
6 */
7
8 import { RuleTester as ESLintTester } from "eslint";
9 -import * as HermesEslintParser from "hermes-eslint";
9 import ReactForgetDiagnostics from "../src/rules/ReactForgetDiagnostics";
10
11 /**
@@ -38,6 +37,18 @@ const tests: ForgetTestCases = {
37 }
38 `,
39 },
40 + {
41 + name: "Basic example with component syntax",
42 + code: normalizeIndent`
43 + export default component HelloWorld(
44 + text: string = 'Hello!',
45 + onClick: () => void,
46 + ) {
47 + 'use forget';
48 + return <div onClick={onClick}>{text}</div>;
49 + }
50 + `,
51 + },
52 {
53 name: "Unsupported syntax",
54 code: normalizeIndent`
@@ -121,10 +132,11 @@ const tests: ForgetTestCases = {
132 };
133
134 const eslintTester = new ESLintTester({
124 - parser: HermesEslintParser,
135 + parser: require.resolve("hermes-eslint"),
136 parserOptions: {
137 ecmaVersion: 2015,
138 sourceType: "module",
139 + enableExperimentalComponentSyntax: true,
140 },
141 });
142 eslintTester.run("react-forget-diagnostics", ReactForgetDiagnostics, tests);
compiler/packages/eslint-plugin-react-forget/src/rules/ReactForgetDiagnostics.ts
+1
@@ -83,6 +83,7 @@ const rule: Rule.RuleModule = {
83
84 const babelAST = HermesParser.parse(sourceCode, {
85 babel: true,
86 + enableExperimentalComponentSyntax: true,
87 sourceFilename: filename,
88 sourceType: "module",
89 });