From b25169c7e546056ac0e161bacd187876198031f8 Mon Sep 17 00:00:00 2001 From: Rosen Vladimirov Date: Thu, 12 Jan 2017 17:53:04 +0200 Subject: [PATCH] Fix support for Node.js 4 (#2414) As the code is transpiled to ES6, spread operator from TypeScript is transpiled to spread operator in JavaScript. However this usage is not available in Node.js 4: ```TypeScript let { normalizedPropertyName, projectConfigurations } = this.validateUpdatePropertyInfo(propertyName, propertyValues, configurations); // Replaced with: let data = this.validateUpdatePropertyInfo(propertyName, propertyValues, configurations), normalizedPropertyName = data.normalizedPropertyName, projectConfigurations = data.projectConfigurations; ``` This is limitation of Node.js 4 itself. Spread operator is not available there (it's available only for arrays, i.e. ```JavaScript const arr = [ 1, 2, 3 ] console.log([ 0, ...arr ]); [ 0, 1, 2, 3 ] ``` --- lib/services/ios-provision-service.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/services/ios-provision-service.ts b/lib/services/ios-provision-service.ts index 15f343c6a0..2aae681da1 100644 --- a/lib/services/ios-provision-service.ts +++ b/lib/services/ios-provision-service.ts @@ -17,7 +17,8 @@ export class IOSProvisionService { public pick(uuidOrName: string): IFuture { return (() => { - const { match } = this.queryProvisioningProfilesAndDevices().wait(); + const match = this.queryProvisioningProfilesAndDevices().wait().match; + return match.eligable.find(prov => prov.UUID === uuidOrName) || match.eligable.find(prov => prov.Name === uuidOrName) || match.nonEligable.find(prov => prov.UUID === uuidOrName) @@ -27,7 +28,9 @@ export class IOSProvisionService { public list(): IFuture { return (() => { - const { devices, match } = this.queryProvisioningProfilesAndDevices().wait(); + const data = this.queryProvisioningProfilesAndDevices().wait(), + devices = data.devices, + match = data.match; function formatSupportedDeviceCount(prov: mobileprovision.provision.MobileProvision) { if (devices.length > 0 && prov.Type === "Development") {