@shopify/shop-minis-cli 0.0.139 → 0.0.140
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/build/commands/create-mini/utils/template-app.js +1 -1
- package/build/commands/create-mini/utils/template-app.js.map +1 -1
- package/build/commands/dev/utils/interactive-terminal.d.ts +2 -1
- package/build/commands/dev/utils/interactive-terminal.js +12 -38
- package/build/commands/dev/utils/interactive-terminal.js.map +1 -1
- package/build/index.js +0 -4
- package/build/index.js.map +1 -1
- package/build/utils/package-manager.d.ts +2 -2
- package/build/utils/package-manager.js +4 -10
- package/build/utils/package-manager.js.map +1 -1
- package/package.json +1 -1
- package/build/commands/dev/utils/default-screen.d.ts +0 -2
- package/build/commands/dev/utils/default-screen.js +0 -186
- package/build/commands/dev/utils/default-screen.js.map +0 -1
- package/build/commands/open-default-screen/index.d.ts +0 -14
- package/build/commands/open-default-screen/index.js +0 -101
- package/build/commands/open-default-screen/index.js.map +0 -1
- package/build/commands/open-default-screen/utils/prompt-deeplink-host.d.ts +0 -6
- package/build/commands/open-default-screen/utils/prompt-deeplink-host.js +0 -33
- package/build/commands/open-default-screen/utils/prompt-deeplink-host.js.map +0 -1
|
@@ -34,7 +34,7 @@ async function fetchPackageVersion(packageName, fallbackVersion, alpha = false)
|
|
|
34
34
|
? getPackageAlphaVersionCommand
|
|
35
35
|
: getPackageLatestVersionCommand;
|
|
36
36
|
const { stdout: latestPackageVersionStdout } = await execAsync({
|
|
37
|
-
cmd:
|
|
37
|
+
cmd: commandToFetchVersion(packageName),
|
|
38
38
|
});
|
|
39
39
|
return latestPackageVersionStdout[0];
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-app.js","sourceRoot":"","sources":["../../../../src/commands/create-mini/utils/template-app.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,UAAU,CAAA;AACnC,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAC,wBAAwB,EAAC,MAAM,+CAA+C,CAAA;AACtF,OAAO,EAAC,SAAS,EAAC,MAAM,4CAA4C,CAAA;AACpE,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,mCAAmC,CAAA;AAE1C,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAElE,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,YAAoB,EACpB,OAAe,EACf,eAAyB,EACzB,WAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC,CAAA;IACnE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CACrC,SAAS,EACT,uBAAuB,EACvB,cAAc,YAAY,EAAE,CAC7B,CAAA;IAED,MAAM,gBAAgB,GAAG;QACvB,iBAAiB,EAAE,IAAI;QACvB,6BAA6B,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACrE,4BAA4B,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC/C,0BAA0B,EAAE,WAAW;QACvC,8BAA8B,EAAE,MAAM,mBAAmB,CACvD,6BAA6B,EAC7B,SAAS,EACT,eAAe,CAChB;QACD,0BAA0B,EAAE,MAAM,mBAAmB,CACnD,kCAAkC,EAClC,QAAQ,EACR,WAAW,CACZ;QACD,oCAAoC,EAAE,MAAM,mBAAmB,CAC7D,mCAAmC,EACnC,OAAO,CACR;KACF,CAAA;IAED,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,IAAI,CAC5C,SAAS,EACT,uBAAuB,EACvB,mBAAmB,CACpB,CAAA;IAED,MAAM,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IACnC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAC3E,MAAM,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAExD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,WAAmB,EACnB,eAAuB,EACvB,KAAK,GAAG,KAAK;IAEb,IAAI;QACF,MAAM,qBAAqB,GAAG,KAAK;YACjC,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,8BAA8B,CAAA;QAElC,MAAM,EAAC,MAAM,EAAE,0BAA0B,EAAC,GAAG,MAAM,SAAS,CAAC;YAC3D,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"template-app.js","sourceRoot":"","sources":["../../../../src/commands/create-mini/utils/template-app.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,UAAU,CAAA;AACnC,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAC,wBAAwB,EAAC,MAAM,+CAA+C,CAAA;AACtF,OAAO,EAAC,SAAS,EAAC,MAAM,4CAA4C,CAAA;AACpE,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,mCAAmC,CAAA;AAE1C,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAElE,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,YAAoB,EACpB,OAAe,EACf,eAAyB,EACzB,WAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC,CAAA;IACnE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CACrC,SAAS,EACT,uBAAuB,EACvB,cAAc,YAAY,EAAE,CAC7B,CAAA;IAED,MAAM,gBAAgB,GAAG;QACvB,iBAAiB,EAAE,IAAI;QACvB,6BAA6B,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACrE,4BAA4B,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC/C,0BAA0B,EAAE,WAAW;QACvC,8BAA8B,EAAE,MAAM,mBAAmB,CACvD,6BAA6B,EAC7B,SAAS,EACT,eAAe,CAChB;QACD,0BAA0B,EAAE,MAAM,mBAAmB,CACnD,kCAAkC,EAClC,QAAQ,EACR,WAAW,CACZ;QACD,oCAAoC,EAAE,MAAM,mBAAmB,CAC7D,mCAAmC,EACnC,OAAO,CACR;KACF,CAAA;IAED,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,IAAI,CAC5C,SAAS,EACT,uBAAuB,EACvB,mBAAmB,CACpB,CAAA;IAED,MAAM,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IACnC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAC3E,MAAM,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAExD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,WAAmB,EACnB,eAAuB,EACvB,KAAK,GAAG,KAAK;IAEb,IAAI;QACF,MAAM,qBAAqB,GAAG,KAAK;YACjC,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,8BAA8B,CAAA;QAElC,MAAM,EAAC,MAAM,EAAE,0BAA0B,EAAC,GAAG,MAAM,SAAS,CAAC;YAC3D,GAAG,EAAE,qBAAqB,CAAC,WAAW,CAAC;SACxC,CAAC,CAAA;QACF,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAA;KACrC;IAAC,MAAM;QACN,mGAAmG;QACnG,OAAO,eAAe,CAAA;KACvB;AACH,CAAC"}
|
|
@@ -13,6 +13,7 @@ export declare class InteractiveTerminal {
|
|
|
13
13
|
handleKeyPressWrapped: (key: string) => Promise<void>;
|
|
14
14
|
handleKeyPress: (key: string) => Promise<void>;
|
|
15
15
|
showSetupAndroidHomeInstructions(): Promise<void>;
|
|
16
|
-
printDeeplinkQRCode(
|
|
16
|
+
printDeeplinkQRCode(): Promise<void>;
|
|
17
17
|
private startApp;
|
|
18
|
+
private get deeplink();
|
|
18
19
|
}
|
|
@@ -2,8 +2,6 @@ import chalk from 'chalk';
|
|
|
2
2
|
import open from 'open';
|
|
3
3
|
import { androidHomeExists } from '../../config.js';
|
|
4
4
|
import { LoadingStateHandlers } from '../../../utils/loading-state-handlers.js';
|
|
5
|
-
import { setDefaultScreen, removeDefaultScreen, } from '../../open-default-screen/index.js';
|
|
6
|
-
import { promptDefaultScreen } from './default-screen.js';
|
|
7
5
|
import { maybeLaunchEmulator, promptForAndroidDevices } from './android.js';
|
|
8
6
|
import { getBundleUrl, getDeeplink } from './deeplink.js';
|
|
9
7
|
import { DEV_PANEL_BASE_URL } from './metro/metro-server-middleware.js';
|
|
@@ -66,9 +64,6 @@ export class InteractiveTerminal {
|
|
|
66
64
|
› Press ${chalk.cyan.bold(`q`)} │ Print QR code in terminal. Scan to open your Shop Mini on an iOS device with Shop installed
|
|
67
65
|
› Press ${chalk.cyan.bold(`d`)} │ Open Developer Dashboard in web browser
|
|
68
66
|
|
|
69
|
-
› Press ${chalk.cyan.bold(`s`)} │ Set the default screen
|
|
70
|
-
› Press ${chalk.cyan.bold(`r`)} │ Remove the default screen
|
|
71
|
-
|
|
72
67
|
${chalk.dim('Press Ctrl+C to exit.')}`);
|
|
73
68
|
}
|
|
74
69
|
start() {
|
|
@@ -104,24 +99,16 @@ ${chalk.dim('Press Ctrl+C to exit.')}`);
|
|
|
104
99
|
const device = await promptForAndroidDevices();
|
|
105
100
|
if (device) {
|
|
106
101
|
if (device.type === 'emulator') {
|
|
107
|
-
let deepLink = await promptDefaultScreen();
|
|
108
|
-
// Check if deepLink is null and set it via this.getDeeplink if it is
|
|
109
|
-
if (deepLink === null) {
|
|
110
|
-
deepLink = getDeeplink(this.miniHandle, this.options); // Set deepLink via this.getDeeplink
|
|
111
|
-
}
|
|
112
102
|
this.loadingHandlers.loadingStart('Launching emulator');
|
|
113
103
|
const emulatorId = await maybeLaunchEmulator(device.name);
|
|
114
104
|
if (!emulatorId) {
|
|
115
105
|
this.loadingHandlers.loadingEnd('fail', `Couldn't launch emulator ${device.name}`);
|
|
116
106
|
break;
|
|
117
107
|
}
|
|
118
|
-
await this.startApp(Platform.Android, emulatorId
|
|
108
|
+
await this.startApp(Platform.Android, emulatorId);
|
|
119
109
|
}
|
|
120
110
|
else {
|
|
121
|
-
|
|
122
|
-
if (deepLink === null)
|
|
123
|
-
break;
|
|
124
|
-
await this.startApp(Platform.Android, device.name, deepLink);
|
|
111
|
+
await this.startApp(Platform.Android, device.name);
|
|
125
112
|
}
|
|
126
113
|
}
|
|
127
114
|
else {
|
|
@@ -136,14 +123,9 @@ ${chalk.dim('Press Ctrl+C to exit.')}`);
|
|
|
136
123
|
clearTerminal();
|
|
137
124
|
const simulator = await promptForSimulator();
|
|
138
125
|
if (simulator) {
|
|
139
|
-
|
|
140
|
-
// Check if deepLink is null and set it via this.getDeeplink if it is
|
|
141
|
-
if (deepLink === null) {
|
|
142
|
-
deepLink = getDeeplink(this.miniHandle, this.options); // Set deepLink via this.getDeeplink
|
|
143
|
-
}
|
|
144
|
-
this.loadingHandlers.loadingStart('Launching simulator\n');
|
|
126
|
+
this.loadingHandlers.loadingStart('Launching simulator');
|
|
145
127
|
await bootSimulator(simulator.udid);
|
|
146
|
-
await this.startApp(Platform.IOS, simulator.udid
|
|
128
|
+
await this.startApp(Platform.IOS, simulator.udid);
|
|
147
129
|
}
|
|
148
130
|
else {
|
|
149
131
|
console.log('\nNo simulator was selected\n');
|
|
@@ -151,18 +133,7 @@ ${chalk.dim('Press Ctrl+C to exit.')}`);
|
|
|
151
133
|
break;
|
|
152
134
|
}
|
|
153
135
|
case 'q': {
|
|
154
|
-
|
|
155
|
-
if (deepLink === null)
|
|
156
|
-
break;
|
|
157
|
-
await this.printDeeplinkQRCode(deepLink);
|
|
158
|
-
break;
|
|
159
|
-
}
|
|
160
|
-
case 's': {
|
|
161
|
-
await setDefaultScreen(this.options);
|
|
162
|
-
break;
|
|
163
|
-
}
|
|
164
|
-
case 'r': {
|
|
165
|
-
await removeDefaultScreen();
|
|
136
|
+
await this.printDeeplinkQRCode();
|
|
166
137
|
break;
|
|
167
138
|
}
|
|
168
139
|
case 'd': {
|
|
@@ -192,17 +163,17 @@ ${chalk.dim('Press Ctrl+C to exit.')}`);
|
|
|
192
163
|
console.log(`See ${chalk.blue.underline.bold('https://developer.android.com/studio/command-line/variables')}`);
|
|
193
164
|
await this.waitForAnyKeyAndPrintInstructions();
|
|
194
165
|
}
|
|
195
|
-
async printDeeplinkQRCode(
|
|
166
|
+
async printDeeplinkQRCode() {
|
|
196
167
|
console.log('\n');
|
|
197
|
-
await printQRCode(
|
|
168
|
+
await printQRCode(getDeeplink(this.miniHandle, this.options, true));
|
|
198
169
|
console.log('Scan the QR code to open Shop Mini on your device (requires the Shop app to be installed)\n');
|
|
199
170
|
}
|
|
200
|
-
async startApp(platform, deviceId
|
|
171
|
+
async startApp(platform, deviceId) {
|
|
201
172
|
try {
|
|
202
173
|
await startApp({
|
|
203
174
|
platform,
|
|
204
175
|
deviceId,
|
|
205
|
-
deeplink:
|
|
176
|
+
deeplink: this.deeplink,
|
|
206
177
|
buildType: this.options.buildType,
|
|
207
178
|
snapshotVersion: this.options.snapshotVersion,
|
|
208
179
|
}, this.loadingHandlers);
|
|
@@ -211,5 +182,8 @@ ${chalk.dim('Press Ctrl+C to exit.')}`);
|
|
|
211
182
|
this.loadingHandlers.loadingEnd('fail', err?.message || err);
|
|
212
183
|
}
|
|
213
184
|
}
|
|
185
|
+
get deeplink() {
|
|
186
|
+
return getDeeplink(this.miniHandle, this.options);
|
|
187
|
+
}
|
|
214
188
|
}
|
|
215
189
|
//# sourceMappingURL=interactive-terminal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-terminal.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/interactive-terminal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"interactive-terminal.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/interactive-terminal.ts"],"names":[],"mappings":"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"}
|
package/build/index.js
CHANGED
|
@@ -9,14 +9,12 @@ import { loadCommand as loadCreateMiniCommand } from './commands/create-mini/ind
|
|
|
9
9
|
import { loadCommand as loadDevCommand } from './commands/dev/index.js';
|
|
10
10
|
import { command as doctorCommand } from './commands/doctor/index.js';
|
|
11
11
|
import { command as featuresCommand } from './commands/features/index.js';
|
|
12
|
-
import { command as openDevelopmentStoreCommand } from './commands/open-default-screen/index.js';
|
|
13
12
|
import { loadCommand as loadGenerateGraphqlTypesCommand } from './commands/generate-graphql-types/index.js';
|
|
14
13
|
import { loadCommand as loadInfoCommand } from './commands/info/index.js';
|
|
15
14
|
import { loadCommand as loadSetupCommand } from './commands/setup/index.js';
|
|
16
15
|
import { loadCommand as loadSubmitCommand } from './commands/submit/index.js';
|
|
17
16
|
import { loadCommand as loadUpgradeCommand } from './commands/upgrade/index.js';
|
|
18
17
|
import { loadCommand as loadValidateManifestCommand } from './commands/validate-manifest/index.js';
|
|
19
|
-
import { loadCommand as loadAppCommand } from './commands/app/index.js';
|
|
20
18
|
const program = new Command();
|
|
21
19
|
async function loadCommands() {
|
|
22
20
|
loadCreateMiniCommand(program);
|
|
@@ -30,11 +28,9 @@ async function loadCommands() {
|
|
|
30
28
|
loadCodemodCommand(program);
|
|
31
29
|
loadInfoCommand(program);
|
|
32
30
|
loadSetupCommand(program);
|
|
33
|
-
loadAppCommand(program);
|
|
34
31
|
loadCreateExtensionCommand(program);
|
|
35
32
|
program.addCommand(doctorCommand);
|
|
36
33
|
program.addCommand(featuresCommand);
|
|
37
|
-
program.addCommand(openDevelopmentStoreCommand);
|
|
38
34
|
}
|
|
39
35
|
program
|
|
40
36
|
.name('shop-minis')
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAC,WAAW,IAAI,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AAChG,OAAO,EAAC,WAAW,IAAI,0BAA0B,EAAC,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAC,WAAW,IAAI,0BAA0B,EAAC,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAC,WAAW,IAAI,qBAAqB,EAAC,MAAM,iCAAiC,CAAA;AACpF,OAAO,EAAC,WAAW,IAAI,cAAc,EAAC,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAC,WAAW,IAAI,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AAChG,OAAO,EAAC,WAAW,IAAI,0BAA0B,EAAC,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAC,WAAW,IAAI,0BAA0B,EAAC,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAC,WAAW,IAAI,qBAAqB,EAAC,MAAM,iCAAiC,CAAA;AACpF,OAAO,EAAC,WAAW,IAAI,cAAc,EAAC,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAC,WAAW,IAAI,+BAA+B,EAAC,MAAM,4CAA4C,CAAA;AACzG,OAAO,EAAC,WAAW,IAAI,eAAe,EAAC,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAC,WAAW,IAAI,gBAAgB,EAAC,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AAEhG,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,KAAK,UAAU,YAAY;IACzB,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;IAC7B,+BAA+B,CAAC,OAAO,CAAC,CAAA;IACxC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC1B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,0BAA0B,CAAC,OAAO,CAAC,CAAA;IACnC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,eAAe,CAAC,OAAO,CAAC,CAAA;IACxB,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACzB,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAEnC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACjC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;AACrC,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,OAAO,CAAC,WAAW,CAAC,CAAA;AAEvB,YAAY,EAAE;KACX,IAAI,CAAC,GAAG,EAAE;IACT,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,sFAAsF;QACtF,OAAO,CAAC,IAAI,EAAE,CAAA;KACf;IACD,OAAO,CAAC,KAAK,EAAE,CAAA;AACjB,CAAC,CAAC;KACD,KAAK,CAAC,GAAG,CAAC,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
|
@@ -26,11 +26,11 @@ export declare const getRunBinCommand: (scriptName: string, scriptArgs?: string[
|
|
|
26
26
|
/**
|
|
27
27
|
* Gets the latest version of a package available in the public npm registry
|
|
28
28
|
*/
|
|
29
|
-
export declare const getPackageLatestVersionCommand: (packageName: string) =>
|
|
29
|
+
export declare const getPackageLatestVersionCommand: (packageName: string) => string;
|
|
30
30
|
/**
|
|
31
31
|
* Gets the latest alpha version of a package available in the public npm registry
|
|
32
32
|
*/
|
|
33
|
-
export declare const getPackageAlphaVersionCommand: (packageName: string) =>
|
|
33
|
+
export declare const getPackageAlphaVersionCommand: (packageName: string) => string;
|
|
34
34
|
export declare const hardResetDependencies: () => Promise<[{
|
|
35
35
|
stdout: string[];
|
|
36
36
|
stderr: string[];
|
|
@@ -68,20 +68,14 @@ export const getRunBinCommand = async (scriptName, scriptArgs = []) => {
|
|
|
68
68
|
/**
|
|
69
69
|
* Gets the latest version of a package available in the public npm registry
|
|
70
70
|
*/
|
|
71
|
-
export const getPackageLatestVersionCommand =
|
|
72
|
-
|
|
73
|
-
return packageManager === 'yarn'
|
|
74
|
-
? `yarn info ${packageName} version --silent`
|
|
75
|
-
: `npm show ${packageName} version`;
|
|
71
|
+
export const getPackageLatestVersionCommand = (packageName) => {
|
|
72
|
+
return `npm show ${packageName} version`;
|
|
76
73
|
};
|
|
77
74
|
/**
|
|
78
75
|
* Gets the latest alpha version of a package available in the public npm registry
|
|
79
76
|
*/
|
|
80
|
-
export const getPackageAlphaVersionCommand =
|
|
81
|
-
|
|
82
|
-
return packageManager === 'yarn'
|
|
83
|
-
? `yarn info ${packageName} dist-tags.alpha --silent`
|
|
84
|
-
: `npm show ${packageName} dist-tags.alpha`;
|
|
77
|
+
export const getPackageAlphaVersionCommand = (packageName) => {
|
|
78
|
+
return `npm show ${packageName} dist-tags.alpha`;
|
|
85
79
|
};
|
|
86
80
|
export const hardResetDependencies = async () => {
|
|
87
81
|
const installCommand = await getInstallCommand(); // get install command before deleting lockfiles, since lockfiles are used to detect package manager
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/utils/package-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/utils/package-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import prompts from 'prompts';
|
|
4
|
-
function readEnvConfig() {
|
|
5
|
-
const envFilePath = path.join(process.cwd(), '.env');
|
|
6
|
-
if (!fs.existsSync(envFilePath)) {
|
|
7
|
-
return {};
|
|
8
|
-
}
|
|
9
|
-
try {
|
|
10
|
-
const envContent = fs.readFileSync(envFilePath, 'utf-8');
|
|
11
|
-
const config = {};
|
|
12
|
-
envContent.split('\n').forEach(line => {
|
|
13
|
-
const [key, value] = line.split('=');
|
|
14
|
-
if (key === 'DEFAULT_EXTENSION_LOCATION') {
|
|
15
|
-
config.location = value || undefined;
|
|
16
|
-
}
|
|
17
|
-
if (key === 'DEFAULT_EXTENSION_ENTITY_ID') {
|
|
18
|
-
config.id = value
|
|
19
|
-
? parseInt(value?.split('/').pop() || '', 10)
|
|
20
|
-
: undefined;
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
return config;
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
console.error('Failed to read .env file:', error);
|
|
27
|
-
return {};
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
async function saveEnvConfig(location, id) {
|
|
31
|
-
const envFilePath = path.join(process.cwd(), '.env');
|
|
32
|
-
if (!fs.existsSync(envFilePath)) {
|
|
33
|
-
fs.writeFileSync(envFilePath, '');
|
|
34
|
-
}
|
|
35
|
-
// Read the current content of the .env file
|
|
36
|
-
const envContent = fs.readFileSync(envFilePath, 'utf-8');
|
|
37
|
-
// Check if LOCATION and ID already exist
|
|
38
|
-
let locationExists = false;
|
|
39
|
-
let idExists = false;
|
|
40
|
-
const newEnvContent = envContent
|
|
41
|
-
.split('\n')
|
|
42
|
-
.map(line => {
|
|
43
|
-
if (line.startsWith('DEFAULT_EXTENSION_LOCATION=')) {
|
|
44
|
-
locationExists = true;
|
|
45
|
-
return `DEFAULT_EXTENSION_LOCATION=${location}`;
|
|
46
|
-
}
|
|
47
|
-
if (line.startsWith('DEFAULT_EXTENSION_ENTITY_ID=')) {
|
|
48
|
-
idExists = true;
|
|
49
|
-
return `DEFAULT_EXTENSION_ENTITY_ID=${id}`;
|
|
50
|
-
}
|
|
51
|
-
return line; // keep the unchanged lines
|
|
52
|
-
})
|
|
53
|
-
.join('\n');
|
|
54
|
-
// If LOCATION or ID does not exist, append them to the content
|
|
55
|
-
const finalEnvContent = `${newEnvContent}${locationExists ? '' : `\nDEFAULT_EXTENSION_LOCATION=${location}`}${idExists ? '' : `\nDEFAULT_EXTENSION_ENTITY_ID=${id}`}`.trim();
|
|
56
|
-
fs.writeFileSync(envFilePath, finalEnvContent);
|
|
57
|
-
}
|
|
58
|
-
export async function removeEnvConfig() {
|
|
59
|
-
const envFilePath = path.join(process.cwd(), '.env');
|
|
60
|
-
if (!fs.existsSync(envFilePath)) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
// Read the current content of the .env file
|
|
64
|
-
const envContent = fs.readFileSync(envFilePath, 'utf-8');
|
|
65
|
-
// Remove LOCATION and ID from the .env content
|
|
66
|
-
const newEnvContent = envContent
|
|
67
|
-
.split('\n')
|
|
68
|
-
.filter(line => !line.startsWith('DEFAULT_EXTENSION_LOCATION=') &&
|
|
69
|
-
!line.startsWith('DEFAULT_EXTENSION_ENTITY_ID='))
|
|
70
|
-
.join('\n');
|
|
71
|
-
fs.writeFileSync(envFilePath, newEnvContent);
|
|
72
|
-
}
|
|
73
|
-
async function promptForPage(devPages) {
|
|
74
|
-
const { value: selectedPage } = await prompts({
|
|
75
|
-
type: 'autocomplete',
|
|
76
|
-
name: 'value',
|
|
77
|
-
limit: 11,
|
|
78
|
-
message: 'Select the page to open',
|
|
79
|
-
choices: devPages.map(devPage => ({
|
|
80
|
-
title: devPage,
|
|
81
|
-
value: devPage,
|
|
82
|
-
})),
|
|
83
|
-
suggest: async (input, choices) => {
|
|
84
|
-
const regex = new RegExp(input, 'i');
|
|
85
|
-
return choices.filter(choice => regex.test(choice.title));
|
|
86
|
-
},
|
|
87
|
-
});
|
|
88
|
-
return selectedPage || null;
|
|
89
|
-
}
|
|
90
|
-
async function promptForId(page) {
|
|
91
|
-
let message;
|
|
92
|
-
switch (page) {
|
|
93
|
-
case 'PRODUCT_PAGE':
|
|
94
|
-
message = 'Enter the GID of the product';
|
|
95
|
-
break;
|
|
96
|
-
case 'STORE_PAGE':
|
|
97
|
-
message = 'Enter the GID of the Shop';
|
|
98
|
-
break;
|
|
99
|
-
case 'ORDER_MANAGEMENT_PAGE':
|
|
100
|
-
message = 'Enter the GID of the order';
|
|
101
|
-
break;
|
|
102
|
-
default:
|
|
103
|
-
message = 'Enter the GID of the resource';
|
|
104
|
-
}
|
|
105
|
-
const { idInput } = await prompts({
|
|
106
|
-
type: 'text',
|
|
107
|
-
name: 'idInput',
|
|
108
|
-
message,
|
|
109
|
-
validate: value => {
|
|
110
|
-
const isValidGID = /^gid:\/\/shopify\/(Shop|Order|Product)\/\d+$/.test(value);
|
|
111
|
-
return isValidGID
|
|
112
|
-
? true
|
|
113
|
-
: 'ID must be in the format gid://shopify/{Type}/{Number}, where {Type} is Shop, Order, or Product and {Number} is a valid number';
|
|
114
|
-
},
|
|
115
|
-
});
|
|
116
|
-
return idInput ? parseInt(idInput.split('/').pop(), 10) : null; // Convert input to a number
|
|
117
|
-
}
|
|
118
|
-
export async function promptDefaultScreen(resetConfig = false) {
|
|
119
|
-
const devPages = ['STORE_PAGE', 'PRODUCT_PAGE', 'ORDER_MANAGEMENT_PAGE'];
|
|
120
|
-
// Read existing configuration
|
|
121
|
-
const existingConfig = readEnvConfig();
|
|
122
|
-
const page = existingConfig?.location || null;
|
|
123
|
-
const id = existingConfig?.id || null;
|
|
124
|
-
// If resetConfig is false
|
|
125
|
-
if (!resetConfig) {
|
|
126
|
-
// If there is no existing configuration, return null
|
|
127
|
-
if (!page || id === null) {
|
|
128
|
-
return null; // Return null if no configuration exists
|
|
129
|
-
}
|
|
130
|
-
// If there is existing configuration, return the deep link
|
|
131
|
-
let deepLink = '';
|
|
132
|
-
switch (page) {
|
|
133
|
-
case 'STORE_PAGE':
|
|
134
|
-
deepLink = `arrive://shopifystore/${id}`;
|
|
135
|
-
break;
|
|
136
|
-
case 'PRODUCT_PAGE':
|
|
137
|
-
deepLink = `arrive://p/${id}`;
|
|
138
|
-
break;
|
|
139
|
-
case 'ORDER_MANAGEMENT_PAGE':
|
|
140
|
-
deepLink = `arrive://u/orders/${id}`;
|
|
141
|
-
break;
|
|
142
|
-
default:
|
|
143
|
-
console.log('Invalid location.');
|
|
144
|
-
return null;
|
|
145
|
-
}
|
|
146
|
-
return deepLink; // Return the existing deep link
|
|
147
|
-
}
|
|
148
|
-
// If resetConfig is true, remove existing config
|
|
149
|
-
await removeEnvConfig();
|
|
150
|
-
// Prompt for page and ID
|
|
151
|
-
console.log('No existing configuration found. Prompting for page...');
|
|
152
|
-
const pageSelection = await promptForPage(devPages);
|
|
153
|
-
if (!pageSelection) {
|
|
154
|
-
console.log('No page selected. Exiting...');
|
|
155
|
-
return null;
|
|
156
|
-
}
|
|
157
|
-
const idInput = await promptForId(pageSelection);
|
|
158
|
-
if (idInput === null) {
|
|
159
|
-
console.log('No valid ID entered. Exiting...');
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
// Save the new configuration
|
|
163
|
-
await saveEnvConfig(pageSelection, idInput);
|
|
164
|
-
console.log('Default screen configuration saved:', {
|
|
165
|
-
location: pageSelection,
|
|
166
|
-
id: idInput,
|
|
167
|
-
});
|
|
168
|
-
// Generate the deep link
|
|
169
|
-
let deepLink = '';
|
|
170
|
-
switch (pageSelection) {
|
|
171
|
-
case 'STORE_PAGE':
|
|
172
|
-
deepLink = `arrive://m/${idInput}`;
|
|
173
|
-
break;
|
|
174
|
-
case 'PRODUCT_PAGE':
|
|
175
|
-
deepLink = `arrive://p/${idInput}`;
|
|
176
|
-
break;
|
|
177
|
-
case 'ORDER_MANAGEMENT_PAGE':
|
|
178
|
-
deepLink = `arrive://u/orders/${idInput}`;
|
|
179
|
-
break;
|
|
180
|
-
default:
|
|
181
|
-
console.log('Invalid location.');
|
|
182
|
-
return null;
|
|
183
|
-
}
|
|
184
|
-
return deepLink; // Return the new deep link
|
|
185
|
-
}
|
|
186
|
-
//# sourceMappingURL=default-screen.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-screen.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/default-screen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { BuildType } from '../dev/utils/types.js';
|
|
3
|
-
export interface OpenDefaultScreenCommandOptions {
|
|
4
|
-
verbose?: boolean;
|
|
5
|
-
android?: string;
|
|
6
|
-
ios?: string;
|
|
7
|
-
qr?: boolean;
|
|
8
|
-
buildType: BuildType;
|
|
9
|
-
snapshotVersion?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare const command: Command;
|
|
12
|
-
export declare function setDefaultScreen(options: OpenDefaultScreenCommandOptions): Promise<void>;
|
|
13
|
-
export declare function removeDefaultScreen(): Promise<void>;
|
|
14
|
-
export declare function openDefaultScreen(options: OpenDefaultScreenCommandOptions): Promise<void>;
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { Command, Option } from 'commander';
|
|
2
|
-
import { handler as handleError } from '@shopify/cli-kit/node/error';
|
|
3
|
-
import { outputDebug } from '@shopify/cli-kit/node/output';
|
|
4
|
-
import { promptDefaultScreen, removeEnvConfig, } from '../dev/utils/default-screen.js';
|
|
5
|
-
import { maybeLaunchEmulator, promptForAndroidDevices, } from '../dev/utils/android.js';
|
|
6
|
-
import { bootSimulator, promptForSimulator } from '../dev/utils/simulator.js';
|
|
7
|
-
import { printQRCode } from '../dev/utils/qr-code.js';
|
|
8
|
-
import { Platform } from '../dev/utils/platform.js';
|
|
9
|
-
import { startApp } from '../dev/utils/start-app/start-app.js';
|
|
10
|
-
import { BuildType } from '../dev/utils/types.js';
|
|
11
|
-
import { LoadingStateHandlers } from '../../utils/loading-state-handlers.js';
|
|
12
|
-
import { promptDeeplinkHost } from './utils/prompt-deeplink-host.js';
|
|
13
|
-
export const command = new Command()
|
|
14
|
-
.name('open-default-screen')
|
|
15
|
-
.description('Open your default screen in the Shop app')
|
|
16
|
-
.option('--verbose', 'print debugging messages')
|
|
17
|
-
.option('--android', 'Open the deeplink in an Android device. Prompts available devices if no device id is provided')
|
|
18
|
-
.option('--qr', 'Print the deeplink as a QR code')
|
|
19
|
-
.option('--ios', 'Open the deeplink in an iOS device. Prompts available devices if no device id is provided')
|
|
20
|
-
.addOption(new Option('--build-type <buildType>', 'build type')
|
|
21
|
-
.choices(Object.values(BuildType))
|
|
22
|
-
.default(BuildType.Release))
|
|
23
|
-
.addOption(new Option('--snapshot-version <version>', 'specify the snapshot version to use. (example: 2.100.0+544)').implies({ buildType: 'snapshot' }))
|
|
24
|
-
.action(openDefaultScreen);
|
|
25
|
-
export async function setDefaultScreen(options) {
|
|
26
|
-
validateOptions(options);
|
|
27
|
-
const deepLink = await promptDefaultScreen(true); // This will reset the configuration
|
|
28
|
-
outputDebug(`Selected default screen: ${deepLink}`);
|
|
29
|
-
}
|
|
30
|
-
export async function removeDefaultScreen() {
|
|
31
|
-
await removeEnvConfig();
|
|
32
|
-
console.log('Default screen removed');
|
|
33
|
-
}
|
|
34
|
-
export async function openDefaultScreen(options) {
|
|
35
|
-
try {
|
|
36
|
-
validateOptions(options);
|
|
37
|
-
outputDebug(`Running open-default-screen with options: ${JSON.stringify(options)}`);
|
|
38
|
-
const deepLink = await promptDefaultScreen();
|
|
39
|
-
if (!deepLink) {
|
|
40
|
-
throw new Error('A new default screen must be selected');
|
|
41
|
-
}
|
|
42
|
-
outputDebug(`Selected default screen: ${deepLink}`);
|
|
43
|
-
let deeplinkHost = options;
|
|
44
|
-
if (!deeplinkHost.qr && !deeplinkHost.ios && !deeplinkHost.android) {
|
|
45
|
-
deeplinkHost = await promptDeeplinkHost();
|
|
46
|
-
}
|
|
47
|
-
let platform = null;
|
|
48
|
-
let deviceId = null;
|
|
49
|
-
if (deeplinkHost.ios) {
|
|
50
|
-
const simulator = await promptForSimulator();
|
|
51
|
-
if (!simulator) {
|
|
52
|
-
throw new Error('An iOS device must be selected');
|
|
53
|
-
}
|
|
54
|
-
outputDebug(`Selected iOS device: ${JSON.stringify(simulator)}`);
|
|
55
|
-
await bootSimulator(simulator.udid);
|
|
56
|
-
platform = Platform.IOS;
|
|
57
|
-
deviceId = simulator.udid;
|
|
58
|
-
}
|
|
59
|
-
if (deeplinkHost.android) {
|
|
60
|
-
const device = await promptForAndroidDevices();
|
|
61
|
-
if (!device) {
|
|
62
|
-
throw new Error('An android device must be selected');
|
|
63
|
-
}
|
|
64
|
-
outputDebug(`Selected android device: ${JSON.stringify(device)}`);
|
|
65
|
-
platform = Platform.Android;
|
|
66
|
-
if (device.type === 'emulator') {
|
|
67
|
-
const emulatorId = await maybeLaunchEmulator(device.name);
|
|
68
|
-
if (!emulatorId) {
|
|
69
|
-
throw new Error(`Emulator ${device.name} could not be launched`);
|
|
70
|
-
}
|
|
71
|
-
deviceId = emulatorId;
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
deviceId = device.name;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (platform && deviceId) {
|
|
78
|
-
await startApp({
|
|
79
|
-
platform,
|
|
80
|
-
deviceId,
|
|
81
|
-
deeplink: deepLink,
|
|
82
|
-
buildType: options.buildType,
|
|
83
|
-
snapshotVersion: options.snapshotVersion,
|
|
84
|
-
}, new LoadingStateHandlers());
|
|
85
|
-
}
|
|
86
|
-
if (deeplinkHost.qr) {
|
|
87
|
-
// We want universal links for the QR code, so using the deep link here is fine.
|
|
88
|
-
await printQRCode(deepLink);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
catch (err) {
|
|
92
|
-
delete err.stack; // delete the stack to avoid verbose logging in case of unhandled errors
|
|
93
|
-
await handleError(err);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
function validateOptions({ ios, android }) {
|
|
97
|
-
if (ios && android) {
|
|
98
|
-
throw new Error('Options --ios and --android cannot be used at the same time');
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/open-default-screen/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import prompts from 'prompts';
|
|
2
|
-
const HOSTS = {
|
|
3
|
-
IOS: {
|
|
4
|
-
title: 'iOS',
|
|
5
|
-
value: 'ios',
|
|
6
|
-
},
|
|
7
|
-
ANDROID: {
|
|
8
|
-
title: 'Android',
|
|
9
|
-
value: 'android',
|
|
10
|
-
},
|
|
11
|
-
QR: {
|
|
12
|
-
title: 'Print a QR code',
|
|
13
|
-
value: 'qr',
|
|
14
|
-
},
|
|
15
|
-
};
|
|
16
|
-
export async function promptDeeplinkHost() {
|
|
17
|
-
const { device } = await prompts({
|
|
18
|
-
type: 'select',
|
|
19
|
-
name: 'device',
|
|
20
|
-
message: 'Select a device to open the default screen',
|
|
21
|
-
choices: [HOSTS.IOS, HOSTS.ANDROID, HOSTS.QR],
|
|
22
|
-
}, {
|
|
23
|
-
onCancel: () => {
|
|
24
|
-
throw new Error('A device must be selected');
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
return {
|
|
28
|
-
ios: device === HOSTS.IOS.value,
|
|
29
|
-
android: device === HOSTS.ANDROID.value,
|
|
30
|
-
qr: device === HOSTS.QR.value,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=prompt-deeplink-host.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-deeplink-host.js","sourceRoot":"","sources":["../../../../src/commands/open-default-screen/utils/prompt-deeplink-host.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,MAAM,KAAK,GAAG;IACZ,GAAG,EAAE;QACH,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;KACb;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;KACjB;IACD,EAAE,EAAE;QACF,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,IAAI;KACZ;CACF,CAAA;AAQD,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,OAAO,CAC5B;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;KAC9C,EACD;QACE,QAAQ,EAAE,GAAG,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC9C,CAAC;KACF,CACF,CAAA;IACD,OAAO;QACL,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK;QAC/B,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK;QACvC,EAAE,EAAE,MAAM,KAAK,KAAK,CAAC,EAAE,CAAC,KAAK;KAC9B,CAAA;AACH,CAAC"}
|