diff --git a/src/resolve-ts-path.ts b/src/resolve-ts-path.ts index a5f3e33..af4797d 100644 --- a/src/resolve-ts-path.ts +++ b/src/resolve-ts-path.ts @@ -1,22 +1,26 @@ import path from 'path'; -const tsExtensions: Record = Object.create(null); -tsExtensions['.js'] = '.ts'; -tsExtensions['.cjs'] = '.cts'; -tsExtensions['.mjs'] = '.mts'; +const tsExtensions: Record = Object.create(null); +tsExtensions['.js'] = ['.ts', '.tsx', '.js', '.jsx']; +tsExtensions['.jsx'] = ['.tsx', '.ts', '.jsx', '.js']; +tsExtensions['.cjs'] = ['.cts']; +tsExtensions['.mjs'] = ['.mts']; export const resolveTsPath = ( filePath: string, ) => { const extension = path.extname(filePath); const [extensionNoQuery, query] = path.extname(filePath).split('?'); - const tsExtension = tsExtensions[extensionNoQuery]; + const possibleExtensions = tsExtensions[extensionNoQuery]; - if (tsExtension) { - return ( - filePath.slice(0, -extension.length) - + tsExtension - + (query ? `?${query}` : '') + if (possibleExtensions) { + const extensionlessPath = filePath.slice(0, -extension.length); + return possibleExtensions.map( + tsExtension => ( + extensionlessPath + + tsExtension + + (query ? `?${query}` : '') + ), ); } };