From 96f259ddcc1e2b3767fa0789f3a201dcb62a1ec7 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 30 Sep 2021 13:42:06 -0700 Subject: [PATCH] Minimal fix for auto-importing node_modules in node12/nodenext (#46148) --- src/compiler/moduleSpecifiers.ts | 2 +- .../fourslash/autoImport_node12_node_modules1.ts | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/autoImport_node12_node_modules1.ts diff --git a/src/compiler/moduleSpecifiers.ts b/src/compiler/moduleSpecifiers.ts index 620e28c984b..cb8d33dd7b8 100644 --- a/src/compiler/moduleSpecifiers.ts +++ b/src/compiler/moduleSpecifiers.ts @@ -619,7 +619,7 @@ namespace ts.moduleSpecifiers { const nodeModulesDirectoryName = moduleSpecifier.substring(parts.topLevelPackageNameIndex + 1); const packageName = getPackageNameFromTypesPackageName(nodeModulesDirectoryName); // For classic resolution, only allow importing from node_modules/@types, not other node_modules - return getEmitModuleResolutionKind(options) !== ModuleResolutionKind.NodeJs && packageName === nodeModulesDirectoryName ? undefined : packageName; + return getEmitModuleResolutionKind(options) === ModuleResolutionKind.Classic && packageName === nodeModulesDirectoryName ? undefined : packageName; function tryDirectoryWithPackageJson(packageRootIndex: number) { const packageRootPath = path.substring(0, packageRootIndex); diff --git a/tests/cases/fourslash/autoImport_node12_node_modules1.ts b/tests/cases/fourslash/autoImport_node12_node_modules1.ts new file mode 100644 index 00000000000..5020f5809b4 --- /dev/null +++ b/tests/cases/fourslash/autoImport_node12_node_modules1.ts @@ -0,0 +1,11 @@ +/// + +// @module: node12 + +// @Filename: /node_modules/undici/index.d.ts +//// export function request(): any; + +// @Filename: /index.mts +//// request/**/ + +verify.importFixModuleSpecifiers("", ["undici"]);