@salesforce/plugin-lightning-dev 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -200,7 +200,7 @@ EXAMPLES
200
200
  $ sf lightning dev app --target-org myOrg --device-type ios --device-id "iPhone 15 Pro Max"
201
201
  ```
202
202
 
203
- _See code: [src/commands/lightning/dev/app.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.3.0/src/commands/lightning/dev/app.ts)_
203
+ _See code: [src/commands/lightning/dev/app.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.4.0/src/commands/lightning/dev/app.ts)_
204
204
 
205
205
  ## `sf lightning dev site`
206
206
 
@@ -244,6 +244,6 @@ EXAMPLES
244
244
  $ sf lightning dev site --name "Partner Central" --target-org myOrg
245
245
  ```
246
246
 
247
- _See code: [src/commands/lightning/dev/site.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.3.0/src/commands/lightning/dev/site.ts)_
247
+ _See code: [src/commands/lightning/dev/site.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.4.0/src/commands/lightning/dev/site.ts)_
248
248
 
249
249
  <!-- commandsstop -->
@@ -1,4 +1,4 @@
1
- import { AndroidAppPreviewConfig, AndroidVirtualDevice, IOSAppPreviewConfig, IOSSimulatorDevice, Platform } from '@salesforce/lwc-dev-mobile-core';
1
+ import { AndroidAppPreviewConfig, IOSAppPreviewConfig, Platform } from '@salesforce/lwc-dev-mobile-core';
2
2
  import { SfCommand } from '@salesforce/sf-plugins-core';
3
3
  export declare const iOSSalesforceAppPreviewConfig: IOSAppPreviewConfig;
4
4
  export declare const androidSalesforceAppPreviewConfig: AndroidAppPreviewConfig;
@@ -13,8 +13,6 @@ export default class LightningDevApp extends SfCommand<void> {
13
13
  'device-type': import("@oclif/core/interfaces").OptionFlag<Platform, import("@oclif/core/interfaces").CustomOptions>;
14
14
  'device-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
15
  };
16
- private static waitForKeyPress;
17
- waitForUserToInstallCert(platform: Platform.ios | Platform.android, device: IOSSimulatorDevice | AndroidVirtualDevice, certFilePath: string): Promise<void>;
18
16
  run(): Promise<void>;
19
17
  private desktopPreview;
20
18
  private mobilePreview;
@@ -5,11 +5,9 @@
5
5
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
6
  */
7
7
  import path from 'node:path';
8
- import * as readline from 'node:readline';
9
8
  import { Logger, Messages, SfProject } from '@salesforce/core';
10
- import { Setup as LwcDevMobileCoreSetup, Platform, } from '@salesforce/lwc-dev-mobile-core';
9
+ import { BootMode, CommonUtils, Setup as LwcDevMobileCoreSetup, Platform, } from '@salesforce/lwc-dev-mobile-core';
11
10
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
12
- import chalk from 'chalk';
13
11
  import { OrgUtils } from '../../../shared/orgUtils.js';
14
12
  import { startLWCServer } from '../../../lwc-dev-server/index.js';
15
13
  import { PreviewUtils } from '../../../shared/previewUtils.js';
@@ -62,74 +60,6 @@ export default class LightningDevApp extends SfCommand {
62
60
  char: 'i',
63
61
  }),
64
62
  };
65
- static async waitForKeyPress() {
66
- return new Promise((resolve) => {
67
- const rl = readline.createInterface({
68
- input: process.stdin,
69
- output: process.stdout,
70
- });
71
- // eslint-disable-next-line no-console
72
- console.log(`\n${messages.getMessage('certificate.waiting')}\n`);
73
- process.stdin.setRawMode(true);
74
- process.stdin.resume();
75
- process.stdin.once('data', () => {
76
- process.stdin.setRawMode(false);
77
- process.stdin.pause();
78
- rl.close();
79
- resolve();
80
- });
81
- });
82
- }
83
- async waitForUserToInstallCert(platform, device, certFilePath) {
84
- // eslint-disable-next-line no-console
85
- console.log(`\n${messages.getMessage('certificate.installation.notice')}`);
86
- const skipInstall = await this.confirm({
87
- message: messages.getMessage('certificate.installation.skip.message'),
88
- defaultAnswer: true,
89
- ms: maxInt32, // simulate no timeout and wait for user to answer
90
- });
91
- if (skipInstall) {
92
- return;
93
- }
94
- let installationSteps = '';
95
- if (platform === Platform.ios) {
96
- installationSteps = messages.getMessage('certificate.installation.steps.ios');
97
- }
98
- else {
99
- const apiLevel = device.apiLevel.toString();
100
- let subStepMessageKey = '';
101
- if (apiLevel.startsWith('24.') || apiLevel.startsWith('25.')) {
102
- subStepMessageKey = 'certificate.installation.steps.android.nav-target-api-24-25';
103
- }
104
- else if (apiLevel.startsWith('26.') || apiLevel.startsWith('27.')) {
105
- subStepMessageKey = 'certificate.installation.steps.android.nav-target-api-26-27';
106
- }
107
- else if (apiLevel.startsWith('28.')) {
108
- subStepMessageKey = 'certificate.installation.steps.android.nav-target-api-28';
109
- }
110
- else if (apiLevel.startsWith('29.')) {
111
- subStepMessageKey = 'certificate.installation.steps.android.nav-target-api-29';
112
- }
113
- else if (apiLevel.startsWith('30.') || apiLevel.startsWith('31.') || apiLevel.startsWith('32.')) {
114
- subStepMessageKey = 'certificate.installation.steps.android.nav-target-api-30-32';
115
- }
116
- else if (apiLevel.startsWith('33.')) {
117
- subStepMessageKey = 'certificate.installation.steps.android.nav-target-api-33';
118
- }
119
- else {
120
- subStepMessageKey = 'certificate.installation.steps.android.nav-target-api-34-up';
121
- }
122
- installationSteps = messages.getMessage('certificate.installation.steps.android', [
123
- messages.getMessage(subStepMessageKey),
124
- ]);
125
- }
126
- let message = messages.getMessage('certificate.installation.description', [certFilePath, installationSteps]);
127
- // use chalk to format every substring wrapped in `` so they would stand out when printed on screen
128
- message = message.replace(/`([^`]*)`/g, chalk.yellow('$1'));
129
- // eslint-disable-next-line no-console
130
- console.log(message);
131
- return LightningDevApp.waitForKeyPress();
132
- }
133
63
  async run() {
134
64
  const { flags } = await this.parse(LightningDevApp);
135
65
  const logger = await Logger.child(this.ctor.name);
@@ -218,21 +148,46 @@ export default class LightningDevApp extends SfCommand {
218
148
  if (!device) {
219
149
  throw new Error(messages.getMessage('error.device.notfound', [deviceId ?? '']));
220
150
  }
221
- // Boot the device if not already booted
151
+ if (device?.isPlayStore === true) {
152
+ throw new Error(messages.getMessage('error.device.google.play', [device.id]));
153
+ }
154
+ // Boot the device. If device is already booted then this will immediately return anyway.
222
155
  this.spinner.start(messages.getMessage('spinner.device.boot', [device.toString()]));
223
- const resolvedDeviceId = platform === Platform.ios ? device.udid : device.name;
224
- const emulatorPort = await PreviewUtils.bootMobileDevice(platform, resolvedDeviceId, logger);
156
+ if (platform === Platform.ios) {
157
+ await device.boot();
158
+ }
159
+ else {
160
+ // Prefer to boot the AVD with system writable. If it is already booted then calling boot()
161
+ // will have no effect. But if an AVD is not already booted then this will perform a cold
162
+ // boot with writable system. This way later on when we want to install cert on the device,
163
+ // we won't need to shut it down and reboot it with writable system since it already will
164
+ // have writable system, thus speeding up the process of installing a cert.
165
+ await device.boot(true, BootMode.systemWritablePreferred, false);
166
+ }
225
167
  this.spinner.stop();
226
168
  // Configure certificates for dev server secure connection
227
- this.spinner.start(messages.getMessage('spinner.cert.gen'));
228
- const { certData, certFilePath } = await PreviewUtils.generateSelfSignedCert(platform, sfdxProjectRootPath);
229
- this.spinner.stop();
230
- // Show message and wait for user to install the certificate on their device
231
- await this.waitForUserToInstallCert(platform, device, certFilePath);
169
+ const certData = await PreviewUtils.generateSelfSignedCert();
170
+ if (platform === Platform.ios) {
171
+ // On iOS we force-install the cert even if it is already installed because
172
+ // the process of installing the cert is fast and easy.
173
+ this.spinner.start(messages.getMessage('spinner.cert.install'));
174
+ await device.installCert(certData);
175
+ this.spinner.stop();
176
+ }
177
+ else {
178
+ // On Android the process of auto-installing a cert is a bit involved and slow.
179
+ // So it is best to first determine if the cert is already installed or not.
180
+ const isAlreadyInstalled = await device.isCertInstalled(certData);
181
+ if (!isAlreadyInstalled) {
182
+ this.spinner.start(messages.getMessage('spinner.cert.install'));
183
+ await device.installCert(certData);
184
+ this.spinner.stop();
185
+ }
186
+ }
232
187
  // Check if Salesforce Mobile App is installed on the device
233
188
  const appConfig = platform === Platform.ios ? iOSSalesforceAppPreviewConfig : androidSalesforceAppPreviewConfig;
234
- const appInstalled = await PreviewUtils.verifyMobileAppInstalled(platform, appConfig, resolvedDeviceId, emulatorPort, logger);
235
- // If Salesforce Mobile App is not installed, download and install it
189
+ const appInstalled = await device.isAppInstalled(appConfig.id);
190
+ // If Salesforce Mobile App is not installed, offer to download and install it
236
191
  let bundlePath;
237
192
  if (!appInstalled) {
238
193
  const proceedWithDownload = await this.confirm({
@@ -250,17 +205,23 @@ export default class LightningDevApp extends SfCommand {
250
205
  this.spinner.start(messages.getMessage('spinner.extract.archive'));
251
206
  const outputDir = path.dirname(bundlePath);
252
207
  const finalBundlePath = path.join(outputDir, 'Chatter.app');
253
- await PreviewUtils.extractZIPArchive(bundlePath, outputDir, logger);
208
+ await CommonUtils.extractZIPArchive(bundlePath, outputDir, logger);
254
209
  this.spinner.stop();
255
210
  bundlePath = finalBundlePath;
256
211
  }
212
+ // now go ahead and install the app
213
+ this.spinner.start(messages.getMessage('spinner.app.install', [appConfig.id]));
214
+ await device.installApp(bundlePath);
215
+ this.spinner.stop();
257
216
  }
258
217
  // Start the LWC Dev Server
259
218
  await startLWCServer(logger, sfdxProjectRootPath, token, serverPorts, certData);
260
219
  // Launch the native app for previewing (launchMobileApp will show its own spinner)
261
220
  // eslint-disable-next-line camelcase
262
221
  appConfig.launch_arguments = PreviewUtils.generateMobileAppPreviewLaunchArguments(ldpServerUrl, entityId, appName, appId);
263
- await PreviewUtils.launchMobileApp(platform, appConfig, resolvedDeviceId, emulatorPort, bundlePath, logger);
222
+ const targetActivity = appConfig?.activity;
223
+ const targetApp = targetActivity ? `${appConfig.id}/${targetActivity}` : appConfig.id;
224
+ await device.launchApp(targetApp, appConfig.launch_arguments ?? []);
264
225
  }
265
226
  finally {
266
227
  // stop progress & spinner UX (that may still be running in case of an error)
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/commands/lightning/dev/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/commands/lightning/dev/app.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Logger } from '@salesforce/core';
2
- import { AndroidAppPreviewConfig, AndroidVirtualDevice, IOSAppPreviewConfig, IOSSimulatorDevice, LaunchArgument, Platform, SSLCertificateData } from '@salesforce/lwc-dev-mobile-core';
2
+ import { BaseDevice, LaunchArgument, Platform, SSLCertificateData } from '@salesforce/lwc-dev-mobile-core';
3
3
  import { Progress, Spinner } from '@salesforce/sf-plugins-core';
4
4
  export declare class PreviewUtils {
5
5
  static generateWebSocketUrlForLocalDevServer(platform: string, ports: {
@@ -32,16 +32,7 @@ export declare class PreviewUtils {
32
32
  * @param logger An optional logger to be used for logging
33
33
  * @returns The iOS or Android device, or `undefined` if not found
34
34
  */
35
- static getMobileDevice(platform: Platform.ios | Platform.android, deviceId?: string, logger?: Logger): Promise<IOSSimulatorDevice | AndroidVirtualDevice | undefined>;
36
- /**
37
- * Attempts to boot a device.
38
- *
39
- * @param platform A mobile platform (iOS or Android)
40
- * @param deviceId The identifier (such as name or UDID) of the target device
41
- * @param logger An optional logger to be used for logging
42
- * @returns For Android devices returns the emulator port number. For iOS devices returns `undefined`
43
- */
44
- static bootMobileDevice(platform: Platform.ios | Platform.android, deviceId: string, logger?: Logger): Promise<number | undefined>;
35
+ static getMobileDevice(platform: Platform.ios | Platform.android, deviceId?: string, logger?: Logger): Promise<BaseDevice | undefined>;
45
36
  /**
46
37
  * Generates the proper set of arguments to be used for launching desktop browser and navigating to the right location.
47
38
  *
@@ -65,37 +56,13 @@ export declare class PreviewUtils {
65
56
  */
66
57
  static generateMobileAppPreviewLaunchArguments(ldpServerUrl: string, entityId: string, appName?: string, appId?: string, auraMode?: string): LaunchArgument[];
67
58
  /**
68
- * Generates a self-signed certificate and saves it to a file at the specified location.
69
- *
70
- * @param platform A mobile platform (iOS or Android)
71
- * @param saveLocation Path to a folder where the generated certificated will be saved to (defaults to the current working directory)
72
- * @returns Path to the generated certificate file and the certificate data
73
- */
74
- static generateSelfSignedCert(platform: Platform.ios | Platform.android, saveLocation?: string): Promise<{
75
- certData: SSLCertificateData;
76
- certFilePath: string;
77
- }>;
78
- /**
79
- * Launches the specified mobile app on the specified device.
80
- *
81
- * @param platform A mobile platform (iOS or Android)
82
- * @param deviceId The identifier (such as name or UDID) of the target device
83
- * @param appConfig The app configuration containing info about the mobile app to be launched
84
- * @param emulatorPort Optional - only needed when platform is Android and specifies the ADB port of the booted Android virtual device
85
- * @param logger An optional logger to be used for logging
86
- */
87
- static launchMobileApp(platform: Platform.ios | Platform.android, appConfig: IOSAppPreviewConfig | AndroidAppPreviewConfig, deviceId: string, emulatorPort?: number, appBundlePath?: string, logger?: Logger): Promise<void>;
88
- /**
89
- * Verifies whether a particular app is installed on a mobile device.
59
+ * Checks the global cache to see if a self-signed certificate has previously been generated and cached.
60
+ * If so (and if the cached certificate is not expired) it will then return the cached certificate. Otherwise
61
+ * it will generate a self-signed certificate, cache it, and return it.
90
62
  *
91
- * @param platform A mobile platform (iOS or Android)
92
- * @param appConfig The app configuration containing info about the mobile app such as name and bundle/package id
93
- * @param deviceId The identifier (such as name or UDID) of the target device
94
- * @param emulatorPort Optional - only needed when platform is Android and specifies the ADB port of the booted Android virtual device
95
- * @param logger An optional logger to be used for logging
96
- * @returns `true` if app is installed, `false` otherwise
63
+ * @returns A self-signed certificate.
97
64
  */
98
- static verifyMobileAppInstalled(platform: Platform.ios | Platform.android, appConfig: IOSAppPreviewConfig | AndroidAppPreviewConfig, deviceId: string, emulatorPort?: number, logger?: Logger): Promise<boolean>;
65
+ static generateSelfSignedCert(): Promise<SSLCertificateData>;
99
66
  /**
100
67
  * Downloads the Salesforce Mobile App into a temp folder and returns the path to downloaded file.
101
68
  *
@@ -106,21 +73,6 @@ export declare class PreviewUtils {
106
73
  * @returns The path to downloaded file.
107
74
  */
108
75
  static downloadSalesforceMobileAppBundle(platform: Platform.ios | Platform.android, logger?: Logger, spinner?: Spinner, progress?: Progress): Promise<string>;
109
- /**
110
- * Given an sfdc.co shortened url it returns the actual/full url that this will redirect to.
111
- *
112
- * @param httpsUrl The sfdc.co shortened url
113
- * @returns The actual/full url
114
- */
115
- static fetchFullUrlFromSfdc(httpsUrl: string): Promise<string>;
116
- /**
117
- * Extracts a ZIP archive to an output directory.
118
- *
119
- * @param zipFilePath The path to the ZIP archive
120
- * @param outputDir An optional output directory - if omitted then defaults to the same directory as the ZIP file
121
- * @param logger An optional logger to be used for logging
122
- */
123
- static extractZIPArchive(zipFilePath: string, outputDir?: string, logger?: Logger): Promise<void>;
124
76
  static getEntityId(username: string): Promise<string>;
125
77
  private static doGetNextAvailablePort;
126
78
  }
@@ -9,11 +9,10 @@
9
9
  // * consider moving most of these into PreviewUtils of lwc-dev-mobile-core instead. *
10
10
  // **********************************************************************************************
11
11
  import fs from 'node:fs';
12
- import https from 'node:https';
13
12
  import os from 'node:os';
14
13
  import path from 'node:path';
15
14
  import { Messages } from '@salesforce/core';
16
- import { AndroidUtils, CommonUtils, CryptoUtils, IOSUtils, PreviewUtils as LwcDevMobileCorePreviewUtils, Platform, } from '@salesforce/lwc-dev-mobile-core';
15
+ import { AndroidDeviceManager, AppleDeviceManager, CommonUtils, CryptoUtils, PreviewUtils as LwcDevMobileCorePreviewUtils, Platform, } from '@salesforce/lwc-dev-mobile-core';
17
16
  import fetch from 'node-fetch';
18
17
  import { ConfigUtils, LOCAL_DEV_SERVER_DEFAULT_HTTP_PORT } from './configUtils.js';
19
18
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
@@ -61,42 +60,20 @@ export class PreviewUtils {
61
60
  logger?.debug(`Attempting to get device ${deviceId}`);
62
61
  device =
63
62
  platform === Platform.ios
64
- ? (await IOSUtils.getSimulator(deviceId, logger)) ?? undefined
65
- : await AndroidUtils.fetchEmulator(deviceId, logger);
63
+ ? await new AppleDeviceManager(logger).getDevice(deviceId)
64
+ : await new AndroidDeviceManager(logger).getDevice(deviceId);
66
65
  }
67
66
  else {
68
67
  logger?.debug('No particular device was targeted by the user... fetching the first available device.');
69
68
  const devices = platform === Platform.ios
70
- ? await IOSUtils.getSupportedSimulators(logger)
71
- : await AndroidUtils.fetchEmulators(logger);
69
+ ? await new AppleDeviceManager(logger).enumerateDevices()
70
+ : await new AndroidDeviceManager(logger).enumerateDevices();
72
71
  if (devices && devices.length > 0) {
73
72
  device = devices[0];
74
73
  }
75
74
  }
76
75
  return Promise.resolve(device);
77
76
  }
78
- /**
79
- * Attempts to boot a device.
80
- *
81
- * @param platform A mobile platform (iOS or Android)
82
- * @param deviceId The identifier (such as name or UDID) of the target device
83
- * @param logger An optional logger to be used for logging
84
- * @returns For Android devices returns the emulator port number. For iOS devices returns `undefined`
85
- */
86
- static async bootMobileDevice(platform, deviceId, logger) {
87
- logger?.debug(`Booting device ${deviceId}`);
88
- let emulatorPort;
89
- if (platform === Platform.ios) {
90
- await IOSUtils.bootDevice(deviceId, true, logger); // will be no-op if already booted
91
- await IOSUtils.launchSimulatorApp(logger);
92
- logger?.debug('Device booted');
93
- }
94
- else {
95
- emulatorPort = await AndroidUtils.startEmulator(deviceId, false, true, logger); // will be no-op if already booted
96
- logger?.debug(`Device booted on port ${emulatorPort}`);
97
- }
98
- return Promise.resolve(emulatorPort);
99
- }
100
77
  /**
101
78
  * Generates the proper set of arguments to be used for launching desktop browser and navigating to the right location.
102
79
  *
@@ -148,80 +125,19 @@ export class PreviewUtils {
148
125
  return launchArguments;
149
126
  }
150
127
  /**
151
- * Generates a self-signed certificate and saves it to a file at the specified location.
128
+ * Checks the global cache to see if a self-signed certificate has previously been generated and cached.
129
+ * If so (and if the cached certificate is not expired) it will then return the cached certificate. Otherwise
130
+ * it will generate a self-signed certificate, cache it, and return it.
152
131
  *
153
- * @param platform A mobile platform (iOS or Android)
154
- * @param saveLocation Path to a folder where the generated certificated will be saved to (defaults to the current working directory)
155
- * @returns Path to the generated certificate file and the certificate data
132
+ * @returns A self-signed certificate.
156
133
  */
157
- static async generateSelfSignedCert(platform, saveLocation = '.') {
158
- // See if we have previously generated cert data which is stored in the global config.
159
- // If so then use that data otherwise generate new cert data and store it in the global config.
134
+ static async generateSelfSignedCert() {
160
135
  let data = await ConfigUtils.getCertData();
161
- if (!data) {
136
+ if (!data || CryptoUtils.isExpired(data)) {
162
137
  data = CryptoUtils.generateSelfSignedCert('localhost', 2048, 820);
163
138
  await ConfigUtils.writeCertData(data);
164
139
  }
165
- const basePath = path.resolve(CommonUtils.resolveUserHomePath(saveLocation));
166
- const targetFile = platform === Platform.ios ? path.join(basePath, 'localhost.der') : path.join(basePath, 'localhost.pem');
167
- // save to file
168
- if (platform === Platform.ios) {
169
- fs.writeFileSync(targetFile, data.derCertificate);
170
- }
171
- else {
172
- fs.writeFileSync(targetFile, data.pemCertificate);
173
- }
174
- return { certData: data, certFilePath: targetFile };
175
- }
176
- /**
177
- * Launches the specified mobile app on the specified device.
178
- *
179
- * @param platform A mobile platform (iOS or Android)
180
- * @param deviceId The identifier (such as name or UDID) of the target device
181
- * @param appConfig The app configuration containing info about the mobile app to be launched
182
- * @param emulatorPort Optional - only needed when platform is Android and specifies the ADB port of the booted Android virtual device
183
- * @param logger An optional logger to be used for logging
184
- */
185
- static async launchMobileApp(platform, appConfig, deviceId, emulatorPort, appBundlePath, logger) {
186
- logger?.debug(`Attempting to launch mobile app ${appConfig.name}`);
187
- // If appBundlePath is provided then the app will be installed from
188
- // the bundle first then will be launched. Otherwise the assumption
189
- // is that app is already installed.
190
- if (platform === Platform.ios) {
191
- await IOSUtils.launchAppInBootedSimulator(deviceId, appBundlePath, appConfig.id, appConfig.launch_arguments ?? [], logger);
192
- }
193
- else if (emulatorPort) {
194
- // for Android, emulatorPort is required
195
- await AndroidUtils.launchAppInBootedEmulator(appBundlePath, appConfig.id, appConfig.launch_arguments ?? [], appConfig.activity, emulatorPort, logger);
196
- }
197
- }
198
- /**
199
- * Verifies whether a particular app is installed on a mobile device.
200
- *
201
- * @param platform A mobile platform (iOS or Android)
202
- * @param appConfig The app configuration containing info about the mobile app such as name and bundle/package id
203
- * @param deviceId The identifier (such as name or UDID) of the target device
204
- * @param emulatorPort Optional - only needed when platform is Android and specifies the ADB port of the booted Android virtual device
205
- * @param logger An optional logger to be used for logging
206
- * @returns `true` if app is installed, `false` otherwise
207
- */
208
- static async verifyMobileAppInstalled(platform, appConfig, deviceId, emulatorPort, logger) {
209
- logger?.debug(`Checking if ${appConfig.id} is installed on device ${deviceId}`);
210
- let result = '';
211
- try {
212
- if (platform === Platform.ios) {
213
- result = CommonUtils.executeCommandSync(`xcrun simctl listapps ${deviceId} | grep "${appConfig.id}"`, undefined, logger);
214
- }
215
- else {
216
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
217
- const resolvedEmulatorPort = emulatorPort;
218
- result = await AndroidUtils.executeAdbCommand(`shell pm list packages | grep "${appConfig.id}"`, resolvedEmulatorPort, logger);
219
- }
220
- }
221
- catch {
222
- /* ignore and continue */
223
- }
224
- return Promise.resolve(result ? true : false);
140
+ return data;
225
141
  }
226
142
  /**
227
143
  * Downloads the Salesforce Mobile App into a temp folder and returns the path to downloaded file.
@@ -240,7 +156,7 @@ export class PreviewUtils {
240
156
  try {
241
157
  spinner?.start(messages.getMessage('spinner.download.preparing'));
242
158
  logger?.debug(`Attempting to resolve full url from ${sfdcUrl}`);
243
- fullUrl = await this.fetchFullUrlFromSfdc(sfdcUrl);
159
+ fullUrl = await CommonUtils.fetchFullUrlFromSfdcShortenedUrl(sfdcUrl);
244
160
  logger?.debug(`Full url is ${fullUrl}`);
245
161
  }
246
162
  finally {
@@ -303,59 +219,6 @@ export class PreviewUtils {
303
219
  });
304
220
  });
305
221
  }
306
- /**
307
- * Given an sfdc.co shortened url it returns the actual/full url that this will redirect to.
308
- *
309
- * @param httpsUrl The sfdc.co shortened url
310
- * @returns The actual/full url
311
- */
312
- static async fetchFullUrlFromSfdc(httpsUrl) {
313
- return new Promise((resolve, reject) => {
314
- https
315
- .get(httpsUrl, (response) => {
316
- let data = '';
317
- response.on('data', (chunk) => {
318
- data += chunk;
319
- });
320
- response.on('end', () => {
321
- // sfdc.co urls will lead to an html page where, among other elements, there would be
322
- // an element with id='full-url' and whose value would be the url to redirect to, eg:
323
- // <h2 class="home-heading" style="word-wrap:break-word;" id="full-url">
324
- // https://developer.salesforce.com/files/sfmobiletools/SalesforceApp-Simulator-248.061-iOS.zip
325
- // </h2>
326
- const regex = /<[^>]*id\s*=\s*["']full-url["'][^>]*>(.*?)<\/[^>]*>/i;
327
- const match = data.match(regex);
328
- if (match?.[1]) {
329
- resolve(match[1]);
330
- }
331
- else {
332
- resolve('');
333
- }
334
- });
335
- })
336
- .on('error)', (error) => {
337
- reject(error);
338
- });
339
- });
340
- }
341
- /**
342
- * Extracts a ZIP archive to an output directory.
343
- *
344
- * @param zipFilePath The path to the ZIP archive
345
- * @param outputDir An optional output directory - if omitted then defaults to the same directory as the ZIP file
346
- * @param logger An optional logger to be used for logging
347
- */
348
- static async extractZIPArchive(zipFilePath, outputDir, logger) {
349
- let archive = path.resolve(CommonUtils.resolveUserHomePath(zipFilePath));
350
- let outDir = outputDir ? path.resolve(CommonUtils.resolveUserHomePath(outputDir)) : path.dirname(archive);
351
- archive = CommonUtils.convertToUnixPath(archive);
352
- outDir = CommonUtils.convertToUnixPath(outDir);
353
- const cmd = process.platform === 'win32'
354
- ? `powershell -Command "$ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path \\"${archive}\\" -DestinationPath \\"${outDir}\\" -Force"`
355
- : `unzip -o -qq ${archive} -d ${outDir}`;
356
- logger?.debug(`Extracting archive ${zipFilePath}`);
357
- await CommonUtils.executeCommandAsync(cmd, logger);
358
- }
359
222
  static async getEntityId(username) {
360
223
  const identityData = await ConfigUtils.getIdentityData();
361
224
  let entityId;
@@ -1 +1 @@
1
- {"version":3,"file":"previewUtils.js","sourceRoot":"","sources":["../../src/shared/previewUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"previewUtils.js","sourceRoot":"","sources":["../../src/shared/previewUtils.ts"],"names":[],"mappings":"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"}