src/vs/platform/extensionManagement/common/extensionsProfileScannerService.ts/ExtensionsProfileScannerService/migrate
class ExtensionsProfileScannerService:	private async migrate(): Promise<void> {
		await Promise.all(this.userDataProfilesService.profiles.map(async e => {
			if (!e.extensionsResource) {
				return;
			}
			try {
				let needsMigrating: boolean = false;
				const storedWebExtensions: IStoredProfileExtension[] = JSON.parse((await this.fileService.readFile(e.extensionsResource)).value.toString());
				for (const e of storedWebExtensions) {
					if (!e.location) {
						continue;
					}
					if (!e.version) {
						try {
							const content = (await this.fileService.readFile(this.uriIdentityService.extUri.joinPath(URI.revive(e.location), 'package.json'))).value.toString();
							e.version = (<IExtensionManifest>JSON.parse(content)).version;
							needsMigrating = true;
						} catch (error) { /* ignore */ }
					}
				}
				if (needsMigrating) {
					await this.fileService.writeFile(e.extensionsResource, VSBuffer.fromString(JSON.stringify(storedWebExtensions)));
				}
			} catch (error) { /* Ignore */ }
		}));
	}