Skip to content

Commit 8ad44b6

Browse files
author
Andy Hanson
committed
Don't unconditonally use a path mapping
1 parent 66b3cfa commit 8ad44b6

10 files changed

+56
-37
lines changed

src/compiler/moduleSpecifiers.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,9 @@ namespace ts.moduleSpecifiers {
8787
function getLocalModuleSpecifiers(
8888
moduleFileName: string,
8989
{ moduleResolutionKind, addJsExtension, getCanonicalFileName, sourceDirectory }: Info,
90-
compilerOptions: CompilerOptions,
90+
{ baseUrl, paths, rootDirs }: CompilerOptions,
9191
preferences: ModuleSpecifierPreferences,
9292
): ReadonlyArray<string> {
93-
const { baseUrl, paths, rootDirs } = compilerOptions;
94-
9593
const relativePath = rootDirs && tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName) ||
9694
removeExtensionAndIndexPostFix(ensurePathIsNonModuleName(getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), moduleResolutionKind, addJsExtension);
9795
if (!baseUrl || preferences.importModuleSpecifierPreference === "relative") {
@@ -113,7 +111,7 @@ namespace ts.moduleSpecifiers {
113111

114112
if (preferences.importModuleSpecifierPreference !== undefined) Debug.assertNever(preferences.importModuleSpecifierPreference);
115113

116-
if (isPathRelativeToParent(relativeToBaseUrl)) {
114+
if (isPathRelativeToParent(nonRelative)) {
117115
return [relativePath];
118116
}
119117

tests/cases/fourslash/importNameCodeFixNewImportPaths0.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,8 @@
1818
verify.importFixAtPosition([
1919
`import { foo } from "a";
2020
21-
foo();`
21+
foo();`,
22+
`import { foo } from "./folder_a/f2";
23+
24+
foo();`,
2225
]);

tests/cases/fourslash/importNameCodeFixNewImportPaths1.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,8 @@
1818
verify.importFixAtPosition([
1919
`import { foo } from "b/f2";
2020
21-
foo();`
21+
foo();`,
22+
`import { foo } from "./folder_b/f2";
23+
24+
foo();`,
2225
]);

tests/cases/fourslash/importNameCodeFixNewImportPaths2.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,8 @@
2424
verify.importFixAtPosition([
2525
`import { foo } from "b";
2626
27-
foo();`
27+
foo();`,
28+
`import { foo } from "./folder_b";
29+
30+
foo();`,
2831
]);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/// <reference path="fourslash.ts" />
2+
3+
// @Filename: /tsconfig.json
4+
////{
5+
//// "compilerOptions": {
6+
//// "baseUrl": ".",
7+
//// "paths": {
8+
//// "mapped/*": ["mapped/*"]
9+
//// }
10+
//// }
11+
////}
12+
13+
// @Filename: /mapped/a.ts
14+
////foo;
15+
16+
// @Filename: /mapped/b.ts
17+
////export const foo = 0;
18+
19+
goTo.file("/mapped/a.ts");
20+
verify.importFixAtPosition([
21+
`import { foo } from "./b";
22+
23+
foo;`,
24+
`import { foo } from "mapped/b";
25+
26+
foo;`,
27+
]);

tests/cases/fourslash/importNameCodeFixNewImportPaths_withExtension.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,8 @@
1919
verify.importFixAtPosition([
2020
`import { foo } from "foo";
2121
22-
foo`
22+
foo`,
23+
`import { foo } from "./thisHasPathMapping";
24+
25+
foo`,
2326
]);

tests/cases/fourslash/importNameCodeFixNewImportPaths_withLeadingDotSlash.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,8 @@
1919
verify.importFixAtPosition([
2020
`import { foo } from "foo";
2121
22-
foo`
22+
foo`,
23+
`import { foo } from "./thisHasPathMapping";
24+
25+
foo`,
2326
]);

tests/cases/fourslash/importNameCodeFixNewImportPaths_withParentRelativePath.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,8 @@
1919
verify.importFixAtPosition([
2020
`import { foo } from "foo";
2121
22-
foo`
22+
foo`,
23+
`import { foo } from "../thisHasPathMapping";
24+
25+
foo`,
2326
]);

tests/cases/fourslash/importNameCodeFix_fromPathMapping.ts

+3
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,8 @@ goTo.file("/b.ts");
2020
verify.importFixAtPosition([
2121
`import { foo } from "@root/a";
2222
23+
foo;`,
24+
`import { foo } from "./a";
25+
2326
foo;`,
2427
]);

tests/cases/fourslash/importNameCodeFix_preferRelativePathOverPathMapping.ts

-27
This file was deleted.

0 commit comments

Comments
 (0)