Skip to content

Commit 69f7163

Browse files
committed
feat: resolve .tsx as well as .ts
1 parent 2d8f595 commit 69f7163

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

index.ts

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,29 @@ export default class ResolveTypescriptPlugin {
88
public apply(resolver: Resolver): void {
99
const target = resolver.ensureHook("file");
1010
resolver.getHook("raw-file").tapAsync(pluginName, (request, resolveContext, callback) => {
11-
if (!request.path || request.path.split(/[\\/]/).indexOf("node_modules") >= 0) {
11+
if (!request.path || request.path.match(/(^|[\\/])node_modules($|[\\/])/)) {
1212
return callback();
1313
}
1414

15-
const path = request.path.replace(/\.js$/, ".ts");
15+
const path = request.path.replace(/\.js$/, "");
1616
if (path === request.path) {
1717
callback();
1818
} else {
19-
resolver.doResolve(
20-
target,
21-
{
22-
...request,
23-
path,
24-
relativePath:
25-
request.relativePath && request.relativePath.replace(/\.js$/, ".ts")
26-
},
27-
`using path: ${path}`,
28-
resolveContext,
29-
callback
30-
);
19+
for (const extension of [".ts", ".tsx"]) {
20+
resolver.doResolve(
21+
target,
22+
{
23+
...request,
24+
path: `${path}${extension}`,
25+
relativePath:
26+
request.relativePath &&
27+
request.relativePath.replace(/\.js$/, extension)
28+
},
29+
`using path: ${path}`,
30+
resolveContext,
31+
callback
32+
);
33+
}
3134
}
3235
});
3336
}

0 commit comments

Comments
 (0)