Skip to content

Commit df1f80f

Browse files
committed
fix(no-extranaeous-dependencies): check if node.parent.importKind is 'type'
to ignore typescript `import type`
1 parent 54eb51b commit df1f80f

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

Diff for: src/rules/no-extraneous-dependencies.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ function optDepErrorMessage(packageName) {
111111

112112
function reportIfMissing(context, deps, depsOptions, node, name) {
113113
// Do not report when importing types
114-
if (node.importKind === 'type') {
114+
if (node.importKind || node.parent.importKind === 'type') {
115115
return
116116
}
117117

Diff for: tests/src/rules/no-extraneous-dependencies.js

+20-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
import { test } from '../utils'
1+
import { test, testFilePath } from '../utils'
2+
import typescriptConfig from '../../../config/typescript'
23
import * as path from 'path'
34
import * as fs from 'fs'
45

56
import { RuleTester } from 'eslint'
67
import flatMap from 'array.prototype.flatmap'
78

89
const ruleTester = new RuleTester()
10+
const typescriptRuleTester = new RuleTester(typescriptConfig)
911
const rule = require('rules/no-extraneous-dependencies')
1012

1113
const packageDirWithSyntaxError = path.join(__dirname, '../../files/with-syntax-error')
@@ -312,3 +314,20 @@ ruleTester.run('no-extraneous-dependencies', rule, {
312314
}),
313315
],
314316
})
317+
318+
typescriptRuleTester.run('no-extraneous-dependencies typescript type imports', rule, {
319+
valid: [
320+
test({
321+
code: 'import type MyType from "not-a-dependency";',
322+
filename: testFilePath('./no-unused-modules/typescript/file-ts-a.ts'),
323+
parser: require.resolve('babel-eslint'),
324+
}),
325+
test({
326+
code: 'import type { MyType } from "not-a-dependency";',
327+
filename: testFilePath('./no-unused-modules/typescript/file-ts-a.ts'),
328+
parser: require.resolve('babel-eslint'),
329+
}),
330+
],
331+
invalid: [
332+
],
333+
})

0 commit comments

Comments
 (0)