Skip to content

Commit 4c46745

Browse files
committed
Add tsOnlyTest to ruleTester.ts to allow testing TS only syntax.
1 parent ed22f30 commit 4c46745

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

test/ruleTester.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ const jsxTester = new RuleTester({
2020
},
2121
});
2222

23-
// TypeScript's ESLint parser
24-
const tsTester = new RuleTester({
23+
// spread ...tsOnlyTest into a test case to enforce it always runs with the TS parser
24+
export const tsOnlyTest: Pick<TSESLint.RuleTesterConfig, "parser" | "parserOptions"> = {
2525
parser: require.resolve("@typescript-eslint/parser"),
2626
parserOptions: {
2727
ecmaVersion: 2018,
@@ -30,7 +30,11 @@ const tsTester = new RuleTester({
3030
jsx: true,
3131
},
3232
},
33-
});
33+
};
34+
35+
// TypeScript's ESLint parser
36+
const tsTester = new RuleTester(tsOnlyTest);
37+
3438
// Babel's ESLint parser
3539
const babelTester = new RuleTester({
3640
parser: require.resolve("@babel/eslint-parser"),

test/rules/imports.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { run } from "../ruleTester";
1+
import { run, tsOnlyTest } from "../ruleTester";
22
import rule from "../../src/rules/imports";
33

44
export const cases = run("imports", rule, {
@@ -15,7 +15,7 @@ export const cases = run("imports", rule, {
1515
{
1616
code: `import type { Component, JSX } from "solid-js";
1717
import type { Store } from "solid-js/store";`,
18-
parser: require.resolve("@typescript-eslint/parser"),
18+
...tsOnlyTest,
1919
},
2020
],
2121
invalid: [
@@ -56,7 +56,7 @@ console.log('hi');`,
5656
output: `
5757
import { createSignal, Component } from "solid-js";
5858
console.log('hi');`,
59-
parser: require.resolve("@typescript-eslint/parser"),
59+
...tsOnlyTest,
6060
},
6161
{
6262
code: `import { createSignal } from "solid-js/web";

test/rules/no-destructure.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { run } from "../ruleTester";
1+
import { run, tsOnlyTest } from "../ruleTester";
22
import rule from "../../src/rules/no-destructure";
33

44
export const cases = run("no-destructure", rule, {
@@ -37,7 +37,7 @@ export const cases = run("no-destructure", rule, {
3737
`let element = <div />`, // parse top level JSX
3838
{
3939
code: `let Component = (props: Props) => <div />;`,
40-
parser: require.resolve("@typescript-eslint/parser"),
40+
...tsOnlyTest,
4141
},
4242
],
4343
invalid: [
@@ -246,9 +246,9 @@ various();
246246
},
247247
{
248248
code: `let Component = ({ prop1, prop2 }: Props) => <div p1={prop1} p2={prop2} />;`,
249-
parser: require.resolve("@typescript-eslint/parser"),
250249
errors: [{ messageId: "noDestructure" }],
251250
output: `let Component = (props: Props) => <div p1={props.prop1} p2={props.prop2} />;`,
251+
...tsOnlyTest,
252252
},
253253
],
254254
});

0 commit comments

Comments
 (0)