diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index 1d912faa116..ad4334487b7 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -381,8 +381,13 @@ namespace ts { // tslint:disable-next-line:no-null-keyword const isNotNeededPackage = host.fileExists(packageJsonPath) && (readJson(packageJsonPath, host) as PackageJson).typings === null; if (!isNotNeededPackage) { - // Return just the type directive names - result.push(getBaseFileName(normalized)); + const baseFileName = getBaseFileName(normalized); + + // At this stage, skip results with leading dot. + if (baseFileName.charCodeAt(0) !== CharacterCodes.dot) { + // Return just the type directive names + result.push(baseFileName); + } } } } diff --git a/tests/baselines/reference/moduleResolution_automaticTypeDirectiveNames.js b/tests/baselines/reference/moduleResolution_automaticTypeDirectiveNames.js new file mode 100644 index 00000000000..14e34f6d7ed --- /dev/null +++ b/tests/baselines/reference/moduleResolution_automaticTypeDirectiveNames.js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/moduleResolution_automaticTypeDirectiveNames.ts] //// + +//// [index.d.ts] +declare const a: number; + +//// [index.d.ts] +declare const a: string; + +//// [a.ts] +a; + + +//// [a.js] +a; diff --git a/tests/baselines/reference/moduleResolution_automaticTypeDirectiveNames.symbols b/tests/baselines/reference/moduleResolution_automaticTypeDirectiveNames.symbols new file mode 100644 index 00000000000..83074ddb6b5 --- /dev/null +++ b/tests/baselines/reference/moduleResolution_automaticTypeDirectiveNames.symbols @@ -0,0 +1,8 @@ +=== /a.ts === +a; +>a : Symbol(a, Decl(index.d.ts, 0, 13)) + +=== /node_modules/@types/a/index.d.ts === +declare const a: string; +>a : Symbol(a, Decl(index.d.ts, 0, 13)) + diff --git a/tests/baselines/reference/moduleResolution_automaticTypeDirectiveNames.types b/tests/baselines/reference/moduleResolution_automaticTypeDirectiveNames.types new file mode 100644 index 00000000000..fee11fb8b06 --- /dev/null +++ b/tests/baselines/reference/moduleResolution_automaticTypeDirectiveNames.types @@ -0,0 +1,8 @@ +=== /a.ts === +a; +>a : string + +=== /node_modules/@types/a/index.d.ts === +declare const a: string; +>a : string + diff --git a/tests/baselines/reference/moduleResolution_noLeadingDot.js b/tests/baselines/reference/moduleResolution_noLeadingDot.js new file mode 100644 index 00000000000..9e2cbaa736e --- /dev/null +++ b/tests/baselines/reference/moduleResolution_noLeadingDot.js @@ -0,0 +1,11 @@ +//// [tests/cases/compiler/moduleResolution_noLeadingDot.ts] //// + +//// [README.md] +This is a test. + +//// [a.ts] +true; + + +//// [a.js] +true; diff --git a/tests/baselines/reference/moduleResolution_noLeadingDot.symbols b/tests/baselines/reference/moduleResolution_noLeadingDot.symbols new file mode 100644 index 00000000000..a7ee88bd3ff --- /dev/null +++ b/tests/baselines/reference/moduleResolution_noLeadingDot.symbols @@ -0,0 +1,4 @@ +=== /a.ts === +true; +No type information for this code. +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolution_noLeadingDot.types b/tests/baselines/reference/moduleResolution_noLeadingDot.types new file mode 100644 index 00000000000..829e8be6f64 --- /dev/null +++ b/tests/baselines/reference/moduleResolution_noLeadingDot.types @@ -0,0 +1,4 @@ +=== /a.ts === +true; +>true : true + diff --git a/tests/cases/compiler/moduleResolution_automaticTypeDirectiveNames.ts b/tests/cases/compiler/moduleResolution_automaticTypeDirectiveNames.ts new file mode 100644 index 00000000000..b5baa1bbe16 --- /dev/null +++ b/tests/cases/compiler/moduleResolution_automaticTypeDirectiveNames.ts @@ -0,0 +1,10 @@ +// @noImplicitReferences: true + +// @Filename: /node_modules/@types/.a/index.d.ts +declare const a: number; + +// @Filename: /node_modules/@types/a/index.d.ts +declare const a: string; + +// @Filename: /a.ts +a; diff --git a/tests/cases/compiler/moduleResolution_noLeadingDot.ts b/tests/cases/compiler/moduleResolution_noLeadingDot.ts new file mode 100644 index 00000000000..eee17136b11 --- /dev/null +++ b/tests/cases/compiler/moduleResolution_noLeadingDot.ts @@ -0,0 +1,7 @@ +// @noImplicitReferences: true + +// @Filename: /node_modules/@types/.svn/README.md +This is a test. + +// @Filename: /a.ts +true;