Skip to content

Commit 839a40e

Browse files
committed
Avoid Uri.parse('')
1 parent 4c71656 commit 839a40e

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

extensions/extension-editing/src/extensionLinter.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,9 +249,10 @@ export class ExtensionLinter {
249249
private readPackageJsonInfo(folder: Uri, tree: JsonNode) {
250250
const engine = tree && findNodeAtLocation(tree, ['engines', 'vscode']);
251251
const repo = tree && findNodeAtLocation(tree, ['repository', 'url']);
252+
const uri = parseUri(repo.value);
252253
const info: PackageJsonInfo = {
253254
isExtension: !!(engine && engine.type === 'string'),
254-
hasHttpsRepository: !!(repo && repo.type === 'string' && repo.value && parseUri(repo.value).scheme.toLowerCase() === 'https')
255+
hasHttpsRepository: !!(repo && repo.type === 'string' && repo.value && uri && uri.scheme.toLowerCase() === 'https')
255256
};
256257
const str = folder.toString();
257258
const oldInfo = this.folderToPackageJsonInfo[str];
@@ -288,6 +289,9 @@ export class ExtensionLinter {
288289

289290
private addDiagnostics(diagnostics: Diagnostic[], document: TextDocument, begin: number, end: number, src: string, context: Context, info: PackageJsonInfo) {
290291
const uri = parseUri(src);
292+
if (!uri) {
293+
return;
294+
}
291295
const scheme = uri.scheme.toLowerCase();
292296

293297
if (scheme && scheme !== 'https' && scheme !== 'data') {
@@ -347,7 +351,7 @@ function parseUri(src: string) {
347351
try {
348352
return Uri.parse(encodeURI(src));
349353
} catch (err) {
350-
return Uri.parse('');
354+
return null;
351355
}
352356
}
353357
}

0 commit comments

Comments
 (0)