From 971205bfabf26744fdca4441696181b728ccc57f Mon Sep 17 00:00:00 2001 From: Collin Betori Date: Sun, 24 Sep 2023 17:57:06 -0700 Subject: [PATCH] Remove preexisting extensions when trying extensions --- src/loaders.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/loaders.ts b/src/loaders.ts index 8891b99..c3ba2d8 100644 --- a/src/loaders.ts +++ b/src/loaders.ts @@ -96,12 +96,17 @@ async function tryExtensions( defaultResolve: NextResolve, ) { const [specifierWithoutQuery, query] = specifier.split('?'); + let specifierWithoutExtension = specifierWithoutQuery; + const fileExtension = path.extname(specifierWithoutQuery); + if (extensions.find(e => e === fileExtension)) { + specifierWithoutExtension = specifierWithoutQuery.slice(0, fileExtension.length * -1); + } let throwError: Error | undefined; for (const extension of extensions) { try { return await resolveExplicitPath( defaultResolve, - specifierWithoutQuery + extension + (query ? `?${query}` : ''), + specifierWithoutExtension + extension + (query ? `?${query}` : ''), context, ); } catch (_error) {