Skip to content

Commit 1bcc350

Browse files
committed
1 parent 7da2a63 commit 1bcc350

1 file changed

Lines changed: 9 additions & 8 deletions

File tree

extensions/extension-editing/src/extensionLinter.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import * as path from 'path';
77
import * as fs from 'fs';
8-
8+
import { URL } from 'url';
99
import * as nls from 'vscode-nls';
1010
const localize = nls.loadMessageBundle();
1111

@@ -289,7 +289,7 @@ export class ExtensionLinter {
289289
}
290290

291291
private addDiagnostics(diagnostics: Diagnostic[], document: TextDocument, begin: number, end: number, src: string, context: Context, info: PackageJsonInfo) {
292-
const uri = parseUri(src);
292+
const uri = parseUri(src, document.uri.toString());
293293
if (!uri) {
294294
return;
295295
}
@@ -345,14 +345,15 @@ function endsWith(haystack: string, needle: string): boolean {
345345
}
346346
}
347347

348-
function parseUri(src: string) {
348+
function parseUri(src: string, base?: string, retry: boolean = true) {
349349
try {
350-
return Uri.parse(src);
350+
let url = new URL(src, base);
351+
return Uri.parse(url.toString());
351352
} catch (err) {
352-
try {
353-
return Uri.parse(encodeURI(src));
354-
} catch (err) {
353+
if (retry) {
354+
return parseUri(encodeURI(src), base, false);
355+
} else {
355356
return null;
356357
}
357358
}
358-
}
359+
}

0 commit comments

Comments
 (0)