From 5dccdfb4540c3264807e6fe1becfa4ccc083093b Mon Sep 17 00:00:00 2001 From: David Ensinger Date: Thu, 20 Jun 2024 14:56:31 -0400 Subject: [PATCH 1/3] fix: add support for tsconfig.json paths imports with .js extension for tsx importee --- src/index.ts | 23 +++++++++++++++-------- tests/withPaths/index.ts | 4 ++++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/index.ts b/src/index.ts index b774b3ce..c5a8822d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -362,18 +362,25 @@ function getMappedPaths( const isJs = JS_EXT_PATTERN.test(source) if (isJs) { const jsExt = path.extname(source) + // cjs -> cts, js -> ts, jsx -> tsx, mjs -> mts const tsExt = jsExt.replace('js', 'ts') + const basename = source.replace(JS_EXT_PATTERN, '') - const mappedPaths = getMappedPaths(basename + tsExt, file) + let resolved = getMappedPaths(basename + tsExt, file) - const resolved = - mappedPaths.length > 0 - ? mappedPaths - : getMappedPaths( - basename + '.d' + (tsExt === '.tsx' ? '.ts' : tsExt), - file, - ) + if (resolved.length === 0 && jsExt === '.js') { + // js -> tsx + const tsxExt = jsExt.replace('js', 'tsx') + resolved = getMappedPaths(basename + tsxExt, file) + } + + if (resolved.length === 0) { + resolved = getMappedPaths( + basename + '.d' + (tsExt === '.tsx' ? '.ts' : tsExt), + file, + ) + } if (resolved.length > 0) { return resolved diff --git a/tests/withPaths/index.ts b/tests/withPaths/index.ts index 594e79d4..696bf409 100644 --- a/tests/withPaths/index.ts +++ b/tests/withPaths/index.ts @@ -6,9 +6,13 @@ import './subfolder/tsxImportee' // import using tsconfig.json path mapping import 'folder/tsImportee' +import 'folder/tsImportee.js' import 'folder/tsxImportee' +import 'folder/tsxImportee.js' import 'folder/subfolder/tsImportee' +import 'folder/subfolder/tsImportee.js' import 'folder/subfolder/tsxImportee' +import 'folder/subfolder/tsxImportee.js' // import module with typings set in package.json import 'folder/module' From 62e0ed491f9a6086235ba713a2d4c98d13657ec8 Mon Sep 17 00:00:00 2001 From: JounQin Date: Thu, 13 Mar 2025 02:15:29 +0800 Subject: [PATCH 2/3] Create loud-avocados-bake.md --- .changeset/loud-avocados-bake.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/loud-avocados-bake.md diff --git a/.changeset/loud-avocados-bake.md b/.changeset/loud-avocados-bake.md new file mode 100644 index 00000000..fdbe2ff2 --- /dev/null +++ b/.changeset/loud-avocados-bake.md @@ -0,0 +1,5 @@ +--- +"eslint-import-resolver-typescript": patch +--- + +fix: add support for importing with .js extension as tsx importee From a5324473c618646697db6dd8e2ec89e98a759a8e Mon Sep 17 00:00:00 2001 From: JounQin Date: Thu, 13 Mar 2025 02:19:22 +0800 Subject: [PATCH 3/3] chore: increase size limit --- .size-limit.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.size-limit.json b/.size-limit.json index 648747e9..bdf75734 100644 --- a/.size-limit.json +++ b/.size-limit.json @@ -1,6 +1,6 @@ [ { "path": "./lib/index.js", - "limit": "3.1kB" + "limit": "3.2kB" } ]