Skip to content

Commit 307f6a7

Browse files
fix(prefer-importing-jest-globals): support typescript-eslint parser (#1639)
* fix(prefer-importing-jest-globals): support new config * fix(prefer-importing-jest-globals): tests, broken due to types * fix(prefer-importing-jest-globals): update tests * fix(prefer-importing-jest-globals): include valid tests * fix(prefer-importing-jest-globals): split typescript tests --------- Co-authored-by: Erin Zimmer <[email protected]>
1 parent 267702d commit 307f6a7

File tree

2 files changed

+61
-1
lines changed

2 files changed

+61
-1
lines changed

src/rules/__tests__/prefer-importing-jest-globals.test.ts

+58
Original file line numberDiff line numberDiff line change
@@ -548,3 +548,61 @@ ruleTester.run('prefer-importing-jest-globals', rule, {
548548
},
549549
],
550550
});
551+
552+
new RuleTester({
553+
parser: require.resolve('@typescript-eslint/parser'),
554+
}).run('prefer-importing-jest-globals: typescript edition', rule, {
555+
valid: [],
556+
invalid: [
557+
{
558+
code: dedent`
559+
import describe from '@jest/globals';
560+
describe("suite", () => {
561+
test("foo");
562+
expect(true).toBeDefined();
563+
})
564+
`,
565+
output: dedent`
566+
import { describe, expect, test } from '@jest/globals';
567+
describe("suite", () => {
568+
test("foo");
569+
expect(true).toBeDefined();
570+
})
571+
`,
572+
parserOptions: { sourceType: 'module' },
573+
errors: [
574+
{
575+
endColumn: 7,
576+
column: 3,
577+
line: 3,
578+
messageId: 'preferImportingJestGlobal',
579+
},
580+
],
581+
},
582+
{
583+
code: dedent`
584+
const {describe} = require('@jest/globals');
585+
describe("suite", () => {
586+
test("foo");
587+
expect(true).toBeDefined();
588+
})
589+
`,
590+
output: dedent`
591+
const { describe, expect, test } = require('@jest/globals');
592+
describe("suite", () => {
593+
test("foo");
594+
expect(true).toBeDefined();
595+
})
596+
`,
597+
parserOptions: { sourceType: 'script' },
598+
errors: [
599+
{
600+
endColumn: 7,
601+
column: 3,
602+
line: 3,
603+
messageId: 'preferImportingJestGlobal',
604+
},
605+
],
606+
},
607+
],
608+
});

src/rules/prefer-importing-jest-globals.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@ export default createRule({
9494
return;
9595
}
9696

97-
const isModule = context.parserOptions.sourceType === 'module';
97+
const isModule =
98+
context.parserOptions.sourceType === 'module' ||
99+
context.languageOptions?.sourceType === 'module';
98100

99101
context.report({
100102
node: reportingNode,

0 commit comments

Comments
 (0)