File tree 1 file changed +24
-17
lines changed
1 file changed +24
-17
lines changed Original file line number Diff line number Diff line change @@ -137,23 +137,30 @@ export function createResolverFunctions(kwargs: {
137
137
) ;
138
138
if ( typeDirectiveName === 'node' && ! resolvedTypeReferenceDirective ) {
139
139
// Resolve @types /node relative to project first, then __dirname (copy logic from elsewhere / refactor into reusable function)
140
- const typesNodePackageJsonPath = require . resolve (
141
- '@types/node/package.json' ,
142
- {
143
- paths : [ configFilePath ?? cwd , __dirname ] ,
144
- }
145
- ) ;
146
- const typeRoots = [ resolve ( typesNodePackageJsonPath , '../..' ) ] ;
147
- ( { resolvedTypeReferenceDirective } = ts . resolveTypeReferenceDirective (
148
- typeDirectiveName ,
149
- containingFile ,
150
- {
151
- ...config . options ,
152
- typeRoots,
153
- } ,
154
- serviceHost ,
155
- redirectedReference
156
- ) ) ;
140
+ let typesNodePackageJsonPath : string | undefined ;
141
+ try {
142
+ typesNodePackageJsonPath = require . resolve (
143
+ '@types/node/package.json' ,
144
+ {
145
+ paths : [ configFilePath ?? cwd , __dirname ] ,
146
+ }
147
+ ) ;
148
+ } catch { } // gracefully do nothing when @types /node is not installed for any reason
149
+ if ( typesNodePackageJsonPath ) {
150
+ const typeRoots = [ resolve ( typesNodePackageJsonPath , '../..' ) ] ;
151
+ ( {
152
+ resolvedTypeReferenceDirective,
153
+ } = ts . resolveTypeReferenceDirective (
154
+ typeDirectiveName ,
155
+ containingFile ,
156
+ {
157
+ ...config . options ,
158
+ typeRoots,
159
+ } ,
160
+ serviceHost ,
161
+ redirectedReference
162
+ ) ) ;
163
+ }
157
164
}
158
165
if ( resolvedTypeReferenceDirective ) {
159
166
fixupResolvedModule ( resolvedTypeReferenceDirective ) ;
You can’t perform that action at this time.
0 commit comments