-
Notifications
You must be signed in to change notification settings - Fork 12.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #27980 from EECOLOR/leading-slash-imports
match leading slash imports with path mappings - fixes #13730
- Loading branch information
Showing
40 changed files
with
1,276 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
26 changes: 26 additions & 0 deletions
26
tests/baselines/reference/pathMappingBasedModuleResolution_rootImport_aliasWithRoot.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
//// [tests/cases/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot.ts] //// | ||
|
||
//// [foo.ts] | ||
export function foo() {} | ||
|
||
//// [bar.js] | ||
export function bar() {} | ||
|
||
//// [a.ts] | ||
import { foo } from "/foo"; | ||
import { bar } from "/bar"; | ||
|
||
|
||
//// [foo.js] | ||
"use strict"; | ||
exports.__esModule = true; | ||
function foo() { } | ||
exports.foo = foo; | ||
//// [bar.js] | ||
"use strict"; | ||
exports.__esModule = true; | ||
function bar() { } | ||
exports.bar = bar; | ||
//// [a.js] | ||
"use strict"; | ||
exports.__esModule = true; |
15 changes: 15 additions & 0 deletions
15
tests/baselines/reference/pathMappingBasedModuleResolution_rootImport_aliasWithRoot.symbols
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
=== /root/a.ts === | ||
import { foo } from "/foo"; | ||
>foo : Symbol(foo, Decl(a.ts, 0, 8)) | ||
|
||
import { bar } from "/bar"; | ||
>bar : Symbol(bar, Decl(a.ts, 1, 8)) | ||
|
||
=== /root/src/foo.ts === | ||
export function foo() {} | ||
>foo : Symbol(foo, Decl(foo.ts, 0, 0)) | ||
|
||
=== /root/src/bar.js === | ||
export function bar() {} | ||
>bar : Symbol(bar, Decl(bar.js, 0, 0)) | ||
|
34 changes: 34 additions & 0 deletions
34
.../baselines/reference/pathMappingBasedModuleResolution_rootImport_aliasWithRoot.trace.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
[ | ||
"======== Resolving module '/foo' from '/root/a.ts'. ========", | ||
"Module resolution kind is not specified, using 'NodeJs'.", | ||
"'baseUrl' option is set to '/root', using this value to resolve non-relative module name '/foo'.", | ||
"'paths' option is specified, looking for a pattern to match module name '/foo'.", | ||
"Module name '/foo', matched pattern '/*'.", | ||
"Trying substitution './src/*', candidate module location: './src/foo'.", | ||
"Loading module as file / folder, candidate module location '/root/src/foo', target file type 'TypeScript'.", | ||
"File '/root/src/foo.ts' exist - use it as a name resolution result.", | ||
"======== Module name '/foo' was successfully resolved to '/root/src/foo.ts'. ========", | ||
"======== Resolving module '/bar' from '/root/a.ts'. ========", | ||
"Module resolution kind is not specified, using 'NodeJs'.", | ||
"'baseUrl' option is set to '/root', using this value to resolve non-relative module name '/bar'.", | ||
"'paths' option is specified, looking for a pattern to match module name '/bar'.", | ||
"Module name '/bar', matched pattern '/*'.", | ||
"Trying substitution './src/*', candidate module location: './src/bar'.", | ||
"Loading module as file / folder, candidate module location '/root/src/bar', target file type 'TypeScript'.", | ||
"File '/root/src/bar.ts' does not exist.", | ||
"File '/root/src/bar.tsx' does not exist.", | ||
"File '/root/src/bar.d.ts' does not exist.", | ||
"Directory '/root/src/bar' does not exist, skipping all lookups in it.", | ||
"Loading module as file / folder, candidate module location '/bar', target file type 'TypeScript'.", | ||
"File '/bar.ts' does not exist.", | ||
"File '/bar.tsx' does not exist.", | ||
"File '/bar.d.ts' does not exist.", | ||
"Directory '/bar' does not exist, skipping all lookups in it.", | ||
"'baseUrl' option is set to '/root', using this value to resolve non-relative module name '/bar'.", | ||
"'paths' option is specified, looking for a pattern to match module name '/bar'.", | ||
"Module name '/bar', matched pattern '/*'.", | ||
"Trying substitution './src/*', candidate module location: './src/bar'.", | ||
"Loading module as file / folder, candidate module location '/root/src/bar', target file type 'JavaScript'.", | ||
"File '/root/src/bar.js' exist - use it as a name resolution result.", | ||
"======== Module name '/bar' was successfully resolved to '/root/src/bar.js'. ========" | ||
] |
15 changes: 15 additions & 0 deletions
15
tests/baselines/reference/pathMappingBasedModuleResolution_rootImport_aliasWithRoot.types
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
=== /root/a.ts === | ||
import { foo } from "/foo"; | ||
>foo : () => void | ||
|
||
import { bar } from "/bar"; | ||
>bar : () => void | ||
|
||
=== /root/src/foo.ts === | ||
export function foo() {} | ||
>foo : () => void | ||
|
||
=== /root/src/bar.js === | ||
export function bar() {} | ||
>bar : () => void | ||
|
42 changes: 42 additions & 0 deletions
42
...reference/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_differentRootTypes.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
//// [tests/cases/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_differentRootTypes.ts] //// | ||
|
||
//// [foo.ts] | ||
export function foo() {} | ||
|
||
//// [bar.js] | ||
export function bar() {} | ||
|
||
//// [a.ts] | ||
import { foo as foo1 } from "/foo"; | ||
import { bar as bar1 } from "/bar"; | ||
import { foo as foo2 } from "c:/foo"; | ||
import { bar as bar2 } from "c:/bar"; | ||
import { foo as foo3 } from "c:\\foo"; | ||
import { bar as bar3 } from "c:\\bar"; | ||
import { foo as foo4 } from "//server/foo"; | ||
import { bar as bar4 } from "//server/bar"; | ||
import { foo as foo5 } from "\\\\server\\foo"; | ||
import { bar as bar5 } from "\\\\server\\bar"; | ||
import { foo as foo6 } from "file:///foo"; | ||
import { bar as bar6 } from "file:///bar"; | ||
import { foo as foo7 } from "file://c:/foo"; | ||
import { bar as bar7 } from "file://c:/bar"; | ||
import { foo as foo8 } from "file://server/foo"; | ||
import { bar as bar8 } from "file://server/bar"; | ||
import { foo as foo9 } from "http://server/foo"; | ||
import { bar as bar9 } from "http://server/bar"; | ||
|
||
|
||
//// [foo.js] | ||
"use strict"; | ||
exports.__esModule = true; | ||
function foo() { } | ||
exports.foo = foo; | ||
//// [bar.js] | ||
"use strict"; | ||
exports.__esModule = true; | ||
function bar() { } | ||
exports.bar = bar; | ||
//// [a.js] | ||
"use strict"; | ||
exports.__esModule = true; |
81 changes: 81 additions & 0 deletions
81
...ence/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_differentRootTypes.symbols
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
=== /root/a.ts === | ||
import { foo as foo1 } from "/foo"; | ||
>foo : Symbol(foo1, Decl(a.ts, 0, 8)) | ||
>foo1 : Symbol(foo1, Decl(a.ts, 0, 8)) | ||
|
||
import { bar as bar1 } from "/bar"; | ||
>bar : Symbol(bar1, Decl(a.ts, 1, 8)) | ||
>bar1 : Symbol(bar1, Decl(a.ts, 1, 8)) | ||
|
||
import { foo as foo2 } from "c:/foo"; | ||
>foo : Symbol(foo2, Decl(a.ts, 2, 8)) | ||
>foo2 : Symbol(foo2, Decl(a.ts, 2, 8)) | ||
|
||
import { bar as bar2 } from "c:/bar"; | ||
>bar : Symbol(bar2, Decl(a.ts, 3, 8)) | ||
>bar2 : Symbol(bar2, Decl(a.ts, 3, 8)) | ||
|
||
import { foo as foo3 } from "c:\\foo"; | ||
>foo : Symbol(foo3, Decl(a.ts, 4, 8)) | ||
>foo3 : Symbol(foo3, Decl(a.ts, 4, 8)) | ||
|
||
import { bar as bar3 } from "c:\\bar"; | ||
>bar : Symbol(bar3, Decl(a.ts, 5, 8)) | ||
>bar3 : Symbol(bar3, Decl(a.ts, 5, 8)) | ||
|
||
import { foo as foo4 } from "//server/foo"; | ||
>foo : Symbol(foo4, Decl(a.ts, 6, 8)) | ||
>foo4 : Symbol(foo4, Decl(a.ts, 6, 8)) | ||
|
||
import { bar as bar4 } from "//server/bar"; | ||
>bar : Symbol(bar4, Decl(a.ts, 7, 8)) | ||
>bar4 : Symbol(bar4, Decl(a.ts, 7, 8)) | ||
|
||
import { foo as foo5 } from "\\\\server\\foo"; | ||
>foo : Symbol(foo5, Decl(a.ts, 8, 8)) | ||
>foo5 : Symbol(foo5, Decl(a.ts, 8, 8)) | ||
|
||
import { bar as bar5 } from "\\\\server\\bar"; | ||
>bar : Symbol(bar5, Decl(a.ts, 9, 8)) | ||
>bar5 : Symbol(bar5, Decl(a.ts, 9, 8)) | ||
|
||
import { foo as foo6 } from "file:///foo"; | ||
>foo : Symbol(foo6, Decl(a.ts, 10, 8)) | ||
>foo6 : Symbol(foo6, Decl(a.ts, 10, 8)) | ||
|
||
import { bar as bar6 } from "file:///bar"; | ||
>bar : Symbol(bar6, Decl(a.ts, 11, 8)) | ||
>bar6 : Symbol(bar6, Decl(a.ts, 11, 8)) | ||
|
||
import { foo as foo7 } from "file://c:/foo"; | ||
>foo : Symbol(foo7, Decl(a.ts, 12, 8)) | ||
>foo7 : Symbol(foo7, Decl(a.ts, 12, 8)) | ||
|
||
import { bar as bar7 } from "file://c:/bar"; | ||
>bar : Symbol(bar7, Decl(a.ts, 13, 8)) | ||
>bar7 : Symbol(bar7, Decl(a.ts, 13, 8)) | ||
|
||
import { foo as foo8 } from "file://server/foo"; | ||
>foo : Symbol(foo8, Decl(a.ts, 14, 8)) | ||
>foo8 : Symbol(foo8, Decl(a.ts, 14, 8)) | ||
|
||
import { bar as bar8 } from "file://server/bar"; | ||
>bar : Symbol(bar8, Decl(a.ts, 15, 8)) | ||
>bar8 : Symbol(bar8, Decl(a.ts, 15, 8)) | ||
|
||
import { foo as foo9 } from "http://server/foo"; | ||
>foo : Symbol(foo9, Decl(a.ts, 16, 8)) | ||
>foo9 : Symbol(foo9, Decl(a.ts, 16, 8)) | ||
|
||
import { bar as bar9 } from "http://server/bar"; | ||
>bar : Symbol(bar9, Decl(a.ts, 17, 8)) | ||
>bar9 : Symbol(bar9, Decl(a.ts, 17, 8)) | ||
|
||
=== /root/src/foo.ts === | ||
export function foo() {} | ||
>foo : Symbol(foo, Decl(foo.ts, 0, 0)) | ||
|
||
=== /root/src/bar.js === | ||
export function bar() {} | ||
>bar : Symbol(bar, Decl(bar.js, 0, 0)) | ||
|
Oops, something went wrong.