From a33c96a845215dfd770cf1aa0c399a69ca01ea20 Mon Sep 17 00:00:00 2001 From: Hiroki Osame Date: Tue, 4 Jun 2024 13:36:33 +0900 Subject: [PATCH] refactor(cjs): resolveTsFilename --- src/cjs/api/module-resolve-filename.ts | 50 +++++++++++++------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/src/cjs/api/module-resolve-filename.ts b/src/cjs/api/module-resolve-filename.ts index 1490c5260..1de1939b1 100644 --- a/src/cjs/api/module-resolve-filename.ts +++ b/src/cjs/api/module-resolve-filename.ts @@ -21,32 +21,33 @@ const resolveTsFilename = ( isMain: boolean, options?: Record, ) => { - const tsPath = resolveTsPath(request); - if ( - parent?.filename - && ( - tsExtensionsPattern.test(parent.filename) - || allowJs - ) - && tsPath + !(parent?.filename && tsExtensionsPattern.test(parent.filename)) + && !allowJs ) { - for (const tryTsPath of tsPath) { - try { - return defaultResolver( - tryTsPath, - parent, - isMain, - options, - ); - } catch (error) { - const { code } = error as NodeError; - if ( - code !== 'MODULE_NOT_FOUND' - && code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED' - ) { - throw error; - } + return; + } + + const tsPath = resolveTsPath(request); + if (!tsPath) { + return; + } + + for (const tryTsPath of tsPath) { + try { + return defaultResolver( + tryTsPath, + parent, + isMain, + options, + ); + } catch (error) { + const { code } = error as NodeError; + if ( + code !== 'MODULE_NOT_FOUND' + && code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED' + ) { + throw error; } } } @@ -69,6 +70,7 @@ export const resolveFilename: ResolveFilename = ( request = fileURLToPath(request); } + // Resolve TS path alias if ( tsconfigPathsMatcher