7
7
8
8
const { aliasResolveHandler } = require ( "./AliasUtils" ) ;
9
9
const { modulesResolveHandler } = require ( "./ModulesUtils" ) ;
10
+
10
11
const TsconfigPathsUtils = require ( "./TsconfigPathsUtils" ) ;
11
12
12
13
/** @typedef {import("./Resolver") } Resolver */
13
14
/** @typedef {import("./Resolver").ResolveStepHook } ResolveStepHook */
14
15
/** @typedef {import("./AliasUtils").AliasOption } AliasOption */
15
16
/** @typedef {import("./Resolver").ResolveRequest } ResolveRequest */
16
17
/** @typedef {import("./Resolver").ResolveContext } ResolveContext */
17
- /** @typedef {import("./Resolver").TsconfigFileData } TsconfigFileData */
18
+ /** @typedef {import("./Resolver").TsconfigPathsData } TsconfigPathsData */
18
19
19
20
const DEFAULT_CONFIG_FILE = "tsconfig.json" ;
20
21
@@ -40,17 +41,17 @@ module.exports = class TsconfigPathsPlugin {
40
41
"TsconfigPathsPlugin" ,
41
42
async ( request , resolveContext , callback ) => {
42
43
try {
43
- const tsconfigFileData = await this . loadTsconfigFile (
44
+ const tsconfigPathsData = await this . loadTsconfigPathsData (
44
45
resolver ,
45
46
request ,
46
47
resolveContext ,
47
48
) ;
48
49
49
- if ( ! tsconfigFileData ) return callback ( ) ;
50
+ if ( ! tsconfigPathsData ) return callback ( ) ;
50
51
51
52
aliasResolveHandler (
52
53
resolver ,
53
- tsconfigFileData . alias ,
54
+ tsconfigPathsData . alias ,
54
55
aliasTarget ,
55
56
request ,
56
57
resolveContext ,
@@ -68,17 +69,17 @@ module.exports = class TsconfigPathsPlugin {
68
69
"TsconfigPathsPlugin" ,
69
70
async ( request , resolveContext , callback ) => {
70
71
try {
71
- const tsconfigFileData = await this . loadTsconfigFile (
72
+ const tsconfigPathsData = await this . loadTsconfigPathsData (
72
73
resolver ,
73
74
request ,
74
75
resolveContext ,
75
76
) ;
76
77
77
- if ( ! tsconfigFileData ) return callback ( ) ;
78
+ if ( ! tsconfigPathsData ) return callback ( ) ;
78
79
79
80
modulesResolveHandler (
80
81
resolver ,
81
- tsconfigFileData . modules ,
82
+ tsconfigPathsData . modules ,
82
83
moduleTarget ,
83
84
request ,
84
85
resolveContext ,
@@ -96,27 +97,29 @@ module.exports = class TsconfigPathsPlugin {
96
97
* @param {Resolver } resolver the resolver
97
98
* @param {ResolveRequest } request the request
98
99
* @param {ResolveContext } resolveContext the resolve context
99
- * @returns {Promise<TsconfigFileData | null> } the pre-processed request
100
+ * @returns {Promise<TsconfigPathsData | null> } the pre-processed request
100
101
*/
101
- async loadTsconfigFile ( resolver , request , resolveContext ) {
102
- if ( typeof request . tsconfigFileData === "undefined" ) {
103
- request . tsconfigFileData = await TsconfigPathsUtils . loadTsconfigFile (
104
- resolver . fileSystem ,
105
- this . configFile ,
106
- ) ;
102
+ async loadTsconfigPathsData ( resolver , request , resolveContext ) {
103
+ if ( typeof request . tsconfigPathsData === "undefined" ) {
104
+ request . tsconfigPathsData =
105
+ await TsconfigPathsUtils . loadTsconfigPathsData (
106
+ resolver . fileSystem ,
107
+ this . configFile ,
108
+ request . path || undefined ,
109
+ ) ;
107
110
}
108
111
109
- const { tsconfigFileData } = request ;
112
+ const { tsconfigPathsData } = request ;
110
113
111
- if ( ! tsconfigFileData ) {
114
+ if ( ! tsconfigPathsData ) {
112
115
return null ;
113
116
}
114
117
115
- for ( const fileDependency of tsconfigFileData . fileDependencies ) {
118
+ for ( const fileDependency of tsconfigPathsData . fileDependencies ) {
116
119
if ( resolveContext . fileDependencies ) {
117
120
resolveContext . fileDependencies . add ( fileDependency ) ;
118
121
}
119
122
}
120
- return tsconfigFileData ;
123
+ return tsconfigPathsData ;
121
124
}
122
125
} ;
0 commit comments