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"]);