From 30c41492d93c2fff0752f0f256464db2d89d652c Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 23 Jul 2018 17:11:30 -0700 Subject: [PATCH] moduleSpecifiers: Allow "*" as a path mapping (#25881) --- src/compiler/moduleSpecifiers.ts | 5 +--- .../importNameCodeFix_fromPathMapping.ts | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 tests/cases/fourslash/importNameCodeFix_fromPathMapping.ts diff --git a/src/compiler/moduleSpecifiers.ts b/src/compiler/moduleSpecifiers.ts index 11559815412..9b64b5d330e 100644 --- a/src/compiler/moduleSpecifiers.ts +++ b/src/compiler/moduleSpecifiers.ts @@ -218,10 +218,7 @@ namespace ts.moduleSpecifiers { for (const patternText of paths[key]) { const pattern = removeFileExtension(normalizePath(patternText)); const indexOfStar = pattern.indexOf("*"); - if (indexOfStar === 0 && pattern.length === 1) { - continue; - } - else if (indexOfStar !== -1) { + if (indexOfStar !== -1) { const prefix = pattern.substr(0, indexOfStar); const suffix = pattern.substr(indexOfStar + 1); if (relativeToBaseUrl.length >= prefix.length + suffix.length && diff --git a/tests/cases/fourslash/importNameCodeFix_fromPathMapping.ts b/tests/cases/fourslash/importNameCodeFix_fromPathMapping.ts new file mode 100644 index 00000000000..dda8b855123 --- /dev/null +++ b/tests/cases/fourslash/importNameCodeFix_fromPathMapping.ts @@ -0,0 +1,24 @@ +/// + +// @Filename: /a.ts +////export const foo = 0; + +// @Filename: /b.ts +////foo; + +// @Filename: /tsconfig.json +////{ +//// "compilerOptions": { +//// "baseUrl": ".", +//// "paths": { +//// "@root/*": ["*"], +//// } +//// } +////} + +goTo.file("/b.ts"); +verify.importFixAtPosition([ +`import { foo } from "@root/a"; + +foo;`, +]);