Skip to content

Commit 68a4dee

Browse files
committed
Merge pull request microsoft#3144 from Microsoft/fixRootPrefix
handle triple slashes in url schema 'file' correctly
2 parents 28c9ff1 + 8582d80 commit 68a4dee

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/compiler/core.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,8 +459,18 @@ module ts {
459459
if (path.charCodeAt(2) === CharacterCodes.slash) return 3;
460460
return 2;
461461
}
462+
// Per RFC 1738 'file' URI schema has the shape file://<host>/<path>
463+
// if <host> is omitted then it is assumed that host value is 'localhost',
464+
// however slash after the omitted <host> is not removed.
465+
// file:///folder1/file1 - this is a correct URI
466+
// file://folder2/file2 - this is an incorrect URI
467+
if (path.lastIndexOf("file:///", 0) === 0) {
468+
return "file:///".length;
469+
}
462470
let idx = path.indexOf('://');
463-
if (idx !== -1) return idx + 3
471+
if (idx !== -1) {
472+
return idx + "://".length;
473+
}
464474
return 0;
465475
}
466476

0 commit comments

Comments
 (0)