src/vs/workbench/services/extensionManagement/common/webExtensionsScannerService.ts/WebExtensionsScannerService/readWebExtensions
class WebExtensionsScannerService:	private async readWebExtensions(file: URI | undefined): Promise<IWebExtension[]> {
		if (!file) {
			return [];
		}
		return this.getResourceAccessQueue(file).queue(async () => {
			try {
				const content = await this.fileService.readFile(file);
				const storedWebExtensions: IStoredWebExtension[] = this.parseExtensions(content.value.toString());
				return storedWebExtensions.map(e => ({
					identifier: e.identifier,
					version: e.version,
					location: URI.revive(e.location),
					readmeUri: URI.revive(e.readmeUri),
					changelogUri: URI.revive(e.changelogUri),
					packageNLSUri: URI.revive(e.packageNLSUri),
				}));
			} catch (error) { /* Ignore */ }
			return [];
		});
	}