1
- import { ResolveOptions } from "webpack" ;
1
+ import type { ResolveOptions } from "webpack" ;
2
2
3
3
type Resolver = NonNullable < ResolveOptions [ "resolver" ] > ;
4
4
@@ -13,11 +13,11 @@ class ResolveTypescriptPlugin {
13
13
* Will be removed in v2.0. */
14
14
public static default = ResolveTypescriptPlugin ;
15
15
16
- private static defaultOptions : ResolveTypescriptPluginOptions = {
16
+ private static readonly defaultOptions : ResolveTypescriptPluginOptions = {
17
17
includeNodeModules : false
18
18
} ;
19
19
20
- private options : ResolveTypescriptPluginOptions ;
20
+ private readonly options : ResolveTypescriptPluginOptions ;
21
21
22
22
public constructor ( options : ResolveTypescriptPluginOptions = { } ) {
23
23
this . options = { ...ResolveTypescriptPlugin . defaultOptions , ...options } ;
@@ -30,14 +30,15 @@ class ResolveTypescriptPlugin {
30
30
. getHook ( "raw-file" )
31
31
. tapAsync ( pluginName , ( request , resolveContext , callback ) => {
32
32
if (
33
- ! request . path ||
34
- ( ! this . options . includeNodeModules &&
35
- request . path . match ( / ( ^ | [ \\ / ] ) n o d e _ m o d u l e s ( $ | [ \\ / ] ) / ) )
33
+ typeof request . path !== "string" ||
34
+ ( ! ( this . options . includeNodeModules ?? false ) &&
35
+ request . path . match ( / ( ^ | [ \\ / ] ) n o d e _ m o d u l e s ( $ | [ \\ / ] ) / u ) != null )
36
36
) {
37
- return callback ( ) ;
37
+ callback ( ) ;
38
+ return ;
38
39
}
39
40
40
- const path = request . path . replace ( / \. j s x ? $ / , extension ) ;
41
+ const path = request . path . replace ( / \. j s x ? $ / u , extension ) ;
41
42
if ( path === request . path ) {
42
43
callback ( ) ;
43
44
} else {
@@ -46,9 +47,7 @@ class ResolveTypescriptPlugin {
46
47
{
47
48
...request ,
48
49
path,
49
- relativePath :
50
- request . relativePath &&
51
- request . relativePath . replace ( / \. j s x ? $ / , extension )
50
+ relativePath : request . relativePath ?. replace ( / \. j s x ? $ / u, extension )
52
51
} ,
53
52
`using path: ${ path } ` ,
54
53
resolveContext ,
0 commit comments