Skip to content

Commit ed4fdfc

Browse files
authored
test(eslint-plugin-react-hooks): Run with TS parsers >= 2.x (#19792)
* test(eslint-plugin-react-hooks): Run with TS parsers >= 2.x * name test suites for each parser
1 parent cd75f93 commit ed4fdfc

File tree

3 files changed

+244
-36
lines changed

3 files changed

+244
-36
lines changed

packages/eslint-plugin-react-hooks/__tests__/ESLintRuleExhaustiveDeps-test.js

+42-18
Original file line numberDiff line numberDiff line change
@@ -7962,22 +7962,46 @@ if (!process.env.CI) {
79627962
testsTypescript.invalid = testsTypescript.invalid.filter(predicate);
79637963
}
79647964

7965-
const parserOptions = {
7966-
ecmaVersion: 6,
7967-
sourceType: 'module',
7968-
};
7969-
7970-
new ESLintTester({
7971-
parser: require.resolve('babel-eslint'),
7972-
parserOptions,
7973-
}).run('react-hooks', ReactHooksESLintRule, tests);
7974-
7975-
new ESLintTester({
7976-
parser: require.resolve('@babel/eslint-parser'),
7977-
parserOptions,
7978-
}).run('react-hooks', ReactHooksESLintRule, tests);
7965+
describe('react-hooks', () => {
7966+
const parserOptions = {
7967+
ecmaVersion: 6,
7968+
sourceType: 'module',
7969+
};
79797970

7980-
new ESLintTester({
7981-
parser: require.resolve('@typescript-eslint/parser'),
7982-
parserOptions,
7983-
}).run('react-hooks', ReactHooksESLintRule, testsTypescript);
7971+
new ESLintTester({
7972+
parser: require.resolve('babel-eslint'),
7973+
parserOptions,
7974+
}).run('parser: babel-eslint', ReactHooksESLintRule, tests);
7975+
7976+
new ESLintTester({
7977+
parser: require.resolve('@babel/eslint-parser'),
7978+
parserOptions,
7979+
}).run('parser: @babel/eslint-parser', ReactHooksESLintRule, tests);
7980+
7981+
new ESLintTester({
7982+
parser: require.resolve('@typescript-eslint/parser-v2'),
7983+
parserOptions,
7984+
}).run(
7985+
'parser: @typescript-eslint/parser@2.x',
7986+
ReactHooksESLintRule,
7987+
testsTypescript
7988+
);
7989+
7990+
new ESLintTester({
7991+
parser: require.resolve('@typescript-eslint/parser-v3'),
7992+
parserOptions,
7993+
}).run(
7994+
'parser: @typescript-eslint/parser@3.x',
7995+
ReactHooksESLintRule,
7996+
testsTypescript
7997+
);
7998+
7999+
new ESLintTester({
8000+
parser: require.resolve('@typescript-eslint/parser-v4'),
8001+
parserOptions,
8002+
}).run(
8003+
'parser: @typescript-eslint/parser@4.x',
8004+
ReactHooksESLintRule,
8005+
testsTypescript
8006+
);
8007+
});

packages/eslint-plugin-react-hooks/package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
"eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
3333
},
3434
"devDependencies": {
35-
"@typescript-eslint/parser": "^2.26.0"
35+
"@typescript-eslint/parser-v2": "npm:@typescript-eslint/parser@^2.26.0",
36+
"@typescript-eslint/parser-v3": "npm:@typescript-eslint/parser@^3.10.0",
37+
"@typescript-eslint/parser-v4": "npm:@typescript-eslint/parser@^4.1.0"
3638
}
3739
}

0 commit comments

Comments
 (0)