File tree Expand file tree Collapse file tree 2 files changed +15
-1
lines changed
recipes/correct-ts-specifiers/src Expand file tree Collapse file tree 2 files changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -137,5 +137,13 @@ describe('fexists', () => {
137
137
assert . equal ( await fexists ( parentPath , specifier ) , false ) ;
138
138
assert . equal ( mock__access . calls [ 0 ] . arguments [ 0 ] , specifier , RESOLVED_SPECIFIER_ERR ) ;
139
139
} ) ;
140
+
141
+ it ( 'should return `false` when the specifier can’t be resolved' , async ( ) => {
142
+ mock__resolveSpecifier . mockImplementationOnce ( function MOCK__resolveSpecifier ( _pp , _specifier ) {
143
+ throw Object . assign ( new Error ( 'ERR_MODULE_NOT_FOUND' ) , { code : 'ERR_MODULE_NOT_FOUND' } ) ;
144
+ } ) ;
145
+
146
+ assert . equal ( await fexists ( parentPath , 'noexists' ) , false ) ;
147
+ } ) ;
140
148
} ) ;
141
149
} ) ;
Original file line number Diff line number Diff line change @@ -11,7 +11,13 @@ export function fexists(
11
11
parentPath : FSAbsolutePath | ResolvedSpecifier ,
12
12
specifier : Specifier ,
13
13
) {
14
- const resolvedSpecifier = resolveSpecifier ( parentPath , specifier ) as FSAbsolutePath ;
14
+ let resolvedSpecifier : FSAbsolutePath ;
15
+ try {
16
+ resolvedSpecifier = resolveSpecifier ( parentPath , specifier ) as FSAbsolutePath ;
17
+ } catch ( err ) {
18
+ if ( ( err as NodeJS . ErrnoException ) . code !== 'ERR_MODULE_NOT_FOUND' ) throw err ;
19
+ return false ;
20
+ }
15
21
16
22
return fexistsResolved ( resolvedSpecifier ) ;
17
23
}
You can’t perform that action at this time.
0 commit comments