1- import { ResolveOptions } from "webpack" ;
1+ import type { ResolveOptions } from "webpack" ;
22
33type Resolver = NonNullable < ResolveOptions [ "resolver" ] > ;
44
@@ -13,11 +13,11 @@ class ResolveTypescriptPlugin {
1313 * Will be removed in v2.0. */
1414 public static default = ResolveTypescriptPlugin ;
1515
16- private static defaultOptions : ResolveTypescriptPluginOptions = {
16+ private static readonly defaultOptions : ResolveTypescriptPluginOptions = {
1717 includeNodeModules : false
1818 } ;
1919
20- private options : ResolveTypescriptPluginOptions ;
20+ private readonly options : ResolveTypescriptPluginOptions ;
2121
2222 public constructor ( options : ResolveTypescriptPluginOptions = { } ) {
2323 this . options = { ...ResolveTypescriptPlugin . defaultOptions , ...options } ;
@@ -30,14 +30,15 @@ class ResolveTypescriptPlugin {
3030 . getHook ( "raw-file" )
3131 . tapAsync ( pluginName , ( request , resolveContext , callback ) => {
3232 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 )
3636 ) {
37- return callback ( ) ;
37+ callback ( ) ;
38+ return ;
3839 }
3940
40- const path = request . path . replace ( / \. j s x ? $ / , extension ) ;
41+ const path = request . path . replace ( / \. j s x ? $ / u , extension ) ;
4142 if ( path === request . path ) {
4243 callback ( ) ;
4344 } else {
@@ -46,9 +47,7 @@ class ResolveTypescriptPlugin {
4647 {
4748 ...request ,
4849 path,
49- relativePath :
50- request . relativePath &&
51- request . relativePath . replace ( / \. j s x ? $ / , extension )
50+ relativePath : request . relativePath ?. replace ( / \. j s x ? $ / u, extension )
5251 } ,
5352 `using path: ${ path } ` ,
5453 resolveContext ,
0 commit comments