Skip to content

Commit 70e05a5

Browse files
committed
fix: use typescript parser for depchecking tsx files
1 parent b80a071 commit 70e05a5

File tree

3 files changed

+27
-16
lines changed

3 files changed

+27
-16
lines changed

src/dependency-check.js

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@ const ignoredDevDependencies = [
1818
'@semantic-release/*'
1919
]
2020

21+
const parsers = {
22+
'**/*.js': depcheck.parser.es6,
23+
'**/*.jsx': depcheck.parser.jsx,
24+
'**/*.ts': depcheck.parser.typescript,
25+
'**/*.tsx': depcheck.parser.typescript,
26+
'**/*.cjs': depcheck.parser.es6,
27+
'**/*.mjs': depcheck.parser.es6
28+
}
29+
2130
/**
2231
* @typedef {import("listr").ListrTaskWrapper} Task
2332
* @typedef {import('./types.js').GlobalOptions} GlobalOptions
@@ -39,15 +48,10 @@ const tasks = new Listr(
3948
const manifest = JSON.parse(fs.readFileSync(path.join(cwd(), 'package.json'), 'utf-8'))
4049

4150
const productionOnlyResult = await depcheck(cwd(), {
42-
parsers: {
43-
'**/*.js': depcheck.parser.es6,
44-
'**/*.jsx': depcheck.parser.jsx,
45-
'**/*.ts': depcheck.parser.typescript,
46-
'**/*.tsx': depcheck.parser.jsx,
47-
'**/*.cjs': depcheck.parser.es6,
48-
'**/*.mjs': depcheck.parser.es6
49-
},
50-
ignoreMatches: ignoredDevDependencies.concat(ctx.fileConfig.dependencyCheck.ignore).concat(ctx.ignore),
51+
parsers,
52+
ignoreMatches: ignoredDevDependencies
53+
.concat(ctx.fileConfig.dependencyCheck.ignore)
54+
.concat(ctx.ignore),
5155
ignorePatterns: ctx.productionIgnorePatterns,
5256
package: {
5357
...manifest,
@@ -84,13 +88,10 @@ const tasks = new Listr(
8488

8589
// check dev dependencies
8690
const developmentOnlyResult = await depcheck(cwd(), {
87-
parsers: {
88-
'**/*.js': depcheck.parser.es6,
89-
'**/*.ts': depcheck.parser.typescript,
90-
'**/*.cjs': depcheck.parser.es6,
91-
'**/*.mjs': depcheck.parser.es6
92-
},
93-
ignoreMatches: ignoredDevDependencies.concat(ctx.fileConfig.dependencyCheck.ignore).concat(ctx.ignore),
91+
parsers,
92+
ignoreMatches: ignoredDevDependencies
93+
.concat(ctx.fileConfig.dependencyCheck.ignore)
94+
.concat(ctx.ignore),
9495
ignorePatterns: ctx.developmentIgnorePatterns
9596
})
9697

test/fixtures/dependency-check/tsx-fail/src/index.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
// @ts-expect-error - not installed
22
import React from 'react'
33

4+
// use some ts-only syntax
5+
export interface MyInterface {
6+
hello: 'world'
7+
}
8+
49
// @ts-expect-error - not installed
510
const Component: React.FC = () => (<div>Hello, world!</div>)
611
const App: React.FC = () => (<Component />)

test/fixtures/dependency-check/tsx-pass/src/index.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
// @ts-expect-error - not installed
22
import React from 'react'
33

4+
// use some ts-only syntax
5+
export interface MyInterface {
6+
hello: 'world'
7+
}
8+
49
// @ts-expect-error - not installed
510
const Component: React.FC = () => (<div>Hello, world!</div>)
611
const App: React.FC = () => (<Component />)

0 commit comments

Comments
 (0)