mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-03 09:35:40 -05:00
* Merge from vscode 504f934659740e9d41501cad9f162b54d7745ad9 * delete unused folders * distro * Bump build node version * update chokidar * FIx hygiene errors * distro * Fix extension lint issues * Remove strict-vscode * Add copyright header exemptions * Bump vscode-extension-telemetry to fix webpacking issue with zone.js * distro * Fix failing tests (revert marked.js back to current one until we decide to update) * Skip searchmodel test * Fix mac build * temp debug script loading * Try disabling coverage * log error too * Revert "log error too" This reverts commit af0183e5d4ab458fdf44b88fbfab9908d090526f. * Revert "temp debug script loading" This reverts commit 3d687d541c76db2c5b55626c78ae448d3c25089c. * Add comments explaining coverage disabling * Fix ansi_up loading issue * Merge latest from ads * Use newer option * Fix compile * add debug logging warn * Always log stack * log more * undo debug * Update to use correct base path (+cleanup) * distro * fix compile errors * Remove strict-vscode * Fix sql editors not showing * Show db dropdown input & fix styling * Fix more info in gallery * Fix gallery asset requests * Delete unused workflow * Fix tapable resolutions for smoke test compile error * Fix smoke compile * Disable crash reporting * Disable interactive Co-authored-by: ADS Merger <karlb@microsoft.com>
42 lines
1.8 KiB
TypeScript
42 lines
1.8 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import { Disposable } from 'vs/base/common/lifecycle';
|
|
import { join } from 'vs/base/common/path';
|
|
import * as pfs from 'vs/base/node/pfs';
|
|
import { INativeEnvironmentService } from 'vs/platform/environment/common/environment';
|
|
import { DidUninstallExtensionEvent, IExtensionManagementService, InstallExtensionResult } from 'vs/platform/extensionManagement/common/extensionManagement';
|
|
import { MANIFEST_CACHE_FOLDER, USER_MANIFEST_CACHE_FILE } from 'vs/platform/extensions/common/extensions';
|
|
|
|
export class ExtensionsManifestCache extends Disposable {
|
|
|
|
private extensionsManifestCache = join(this.environmentService.userDataPath, MANIFEST_CACHE_FOLDER, USER_MANIFEST_CACHE_FILE);
|
|
|
|
constructor(
|
|
private readonly environmentService: INativeEnvironmentService,
|
|
extensionsManagementService: IExtensionManagementService
|
|
) {
|
|
super();
|
|
this._register(extensionsManagementService.onDidInstallExtensions(e => this.onDidInstallExtensions(e)));
|
|
this._register(extensionsManagementService.onDidUninstallExtension(e => this.onDidUnInstallExtension(e)));
|
|
}
|
|
|
|
private onDidInstallExtensions(results: readonly InstallExtensionResult[]): void {
|
|
if (results.some(r => !!r.local)) {
|
|
this.invalidate();
|
|
}
|
|
}
|
|
|
|
private onDidUnInstallExtension(e: DidUninstallExtensionEvent): void {
|
|
if (!e.error) {
|
|
this.invalidate();
|
|
}
|
|
}
|
|
|
|
invalidate(): void {
|
|
pfs.Promises.rm(this.extensionsManifestCache, pfs.RimRafMode.MOVE).then(() => { }, () => { });
|
|
}
|
|
}
|