Example #1
0
export function getOutdatedExtensions(extensionsService: IExtensionManagementService, galleryService: IExtensionGalleryService): TPromise<ILocalExtension[]> {
	if (!galleryService.isEnabled()) {
		return TPromise.as([]);
	}

	return extensionsService.getInstalled().then(installed => {
		const names = installed.map(({ manifest }) => `${ manifest.publisher }.${ manifest.name }`);

		if (installed.length === 0) {
			return TPromise.as([]);
		}

		return galleryService.query({ names, pageSize: names.length }).then(result => {
			const available = result.firstPage;

			return available.map(extension => {
				const local = installed.filter(local => extensionEquals(local.manifest, extension))[0];
				if (local && semver.lt(local.manifest.version, extension.versions[0].version)) {
					return local;
				} else {
					return null;
				}
			}).filter(e => !!e);
		});
	});
}
export function getOutdatedExtensions(extensionsService: IExtensionManagementService, galleryService: IExtensionGalleryService): TPromise<IExtension[]> {
	if (!galleryService.isEnabled()) {
		return TPromise.as([]);
	}

	return extensionsService.getInstalled().then(installed => {
		const ids = installed.map(getExtensionId);

		return galleryService.query({ ids, pageSize: 1000 }).then(result => {
			const available = result.firstPage;

			return available.filter(extension => {
				const local = installed.filter(local => extensionEquals(local, extension))[0];
				return local && semver.lt(local.version, extension.version);
			});
		});
	});
}