@shopify/shop-minis-cli 0.0.139 → 0.0.141

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.
Files changed (48) hide show
  1. package/build/commands/create-mini/utils/template-app.js +1 -1
  2. package/build/commands/create-mini/utils/template-app.js.map +1 -1
  3. package/build/commands/dev/utils/app-screens.d.ts +8 -0
  4. package/build/commands/dev/utils/app-screens.js +150 -0
  5. package/build/commands/dev/utils/app-screens.js.map +1 -0
  6. package/build/commands/dev/utils/deeplink.d.ts +2 -1
  7. package/build/commands/dev/utils/deeplink.js +9 -2
  8. package/build/commands/dev/utils/deeplink.js.map +1 -1
  9. package/build/commands/dev/utils/env-config.d.ts +2 -0
  10. package/build/commands/dev/utils/env-config.js +47 -0
  11. package/build/commands/dev/utils/env-config.js.map +1 -0
  12. package/build/commands/dev/utils/interactive-terminal.d.ts +6 -1
  13. package/build/commands/dev/utils/interactive-terminal.js +72 -51
  14. package/build/commands/dev/utils/interactive-terminal.js.map +1 -1
  15. package/build/commands/setup/create.d.ts +1 -0
  16. package/build/commands/setup/create.js +44 -14
  17. package/build/commands/setup/create.js.map +1 -1
  18. package/build/commands/setup/index.js +9 -4
  19. package/build/commands/setup/index.js.map +1 -1
  20. package/build/index.js +1 -3
  21. package/build/index.js.map +1 -1
  22. package/build/templates-index.js +5 -0
  23. package/build/templates-index.js.map +1 -1
  24. package/build/utils/package-manager.d.ts +2 -2
  25. package/build/utils/package-manager.js +4 -10
  26. package/build/utils/package-manager.js.map +1 -1
  27. package/build/utils/sync-manifest.d.ts +1 -1
  28. package/build/utils/sync-manifest.js +8 -6
  29. package/build/utils/sync-manifest.js.map +1 -1
  30. package/package.json +1 -3
  31. package/templates/__template_getting_started/src/App.tsx +29 -0
  32. package/templates/__template_getting_started/src/index.tsx +9 -0
  33. package/templates/__template_getting_started/src/screens/ExtensionsScreen.tsx +60 -0
  34. package/templates/__template_getting_started/src/screens/HomeScreen.tsx +127 -0
  35. package/templates/__template_getting_started/src/screens/NativeFeaturesScreen.tsx +103 -0
  36. package/templates/__template_getting_started/src/types/screens.ts +5 -0
  37. package/build/commands/dev/utils/default-screen.d.ts +0 -2
  38. package/build/commands/dev/utils/default-screen.js +0 -186
  39. package/build/commands/dev/utils/default-screen.js.map +0 -1
  40. package/build/commands/dev/utils/qr-code.d.ts +0 -1
  41. package/build/commands/dev/utils/qr-code.js +0 -5
  42. package/build/commands/dev/utils/qr-code.js.map +0 -1
  43. package/build/commands/open-default-screen/index.d.ts +0 -14
  44. package/build/commands/open-default-screen/index.js +0 -101
  45. package/build/commands/open-default-screen/index.js.map +0 -1
  46. package/build/commands/open-default-screen/utils/prompt-deeplink-host.d.ts +0 -6
  47. package/build/commands/open-default-screen/utils/prompt-deeplink-host.js +0 -33
  48. 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: await commandToFetchVersion(packageName),
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,MAAM,qBAAqB,CAAC,WAAW,CAAC;SAC9C,CAAC,CAAA;QACF,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAA;KACrC;IAAC,MAAM;QACN,mGAAmG;QACnG,OAAO,eAAe,CAAA;KACvB;AACH,CAAC"}
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"}
@@ -0,0 +1,8 @@
1
+ import { DevCommandOptions } from '../index.js';
2
+ export declare const screens: string[];
3
+ export type Screen = (typeof screens)[number];
4
+ export declare function promptForScreen(): Promise<any>;
5
+ export declare function getDeeplinkForScreen(screenType: Screen, resourceId: number | null): string;
6
+ export declare function promptForResourceId(screenType: Screen): Promise<number | null>;
7
+ export declare function checkForExtensions(screenType: Screen, options: DevCommandOptions): void;
8
+ export declare function promptForDevPanelDeeplink(miniHandle: string, options: DevCommandOptions): Promise<string | undefined>;
@@ -0,0 +1,150 @@
1
+ import { outputDebug } from '@shopify/cli-kit/node/output';
2
+ import prompts from 'prompts';
3
+ import { getEnvConfigValue, setEnvConfigValue } from './env-config.js';
4
+ import { getDeeplink } from './deeplink.js';
5
+ export const screens = ['Home feed', 'Store', 'Product', 'Order Management'];
6
+ export async function promptForScreen() {
7
+ const value = (await prompts({
8
+ type: 'autocomplete',
9
+ name: 'value',
10
+ limit: 11,
11
+ initial: getEnvConfigValue('DEFAULT_SCREEN'),
12
+ message: 'Select the page to open',
13
+ choices: screens.map(screen => ({
14
+ title: screen,
15
+ value: screen,
16
+ })),
17
+ suggest: async (input, choices) => {
18
+ const regex = new RegExp(input, 'i');
19
+ return choices.filter(choice => regex.test(choice.title));
20
+ },
21
+ })).value;
22
+ if (value) {
23
+ setEnvConfigValue('DEFAULT_SCREEN', value);
24
+ }
25
+ return value;
26
+ }
27
+ export function getDeeplinkForScreen(screenType, resourceId) {
28
+ let path;
29
+ switch (screenType) {
30
+ case 'Store':
31
+ path = `shopifystore/${resourceId}`;
32
+ break;
33
+ case 'Product':
34
+ path = `p/${resourceId}`;
35
+ break;
36
+ case 'Order Management':
37
+ path = `u/orders/${resourceId}`;
38
+ break;
39
+ case 'Home feed':
40
+ default:
41
+ path = 'home-feed';
42
+ break;
43
+ }
44
+ const deeplink = `arrive://${path}`;
45
+ outputDebug(`Deeplink: ${deeplink}`);
46
+ return deeplink;
47
+ }
48
+ export async function promptForResourceId(screenType) {
49
+ let message;
50
+ switch (screenType) {
51
+ case 'Home feed':
52
+ return null;
53
+ case 'Product':
54
+ message = 'Enter the GID of the product';
55
+ break;
56
+ case 'Store':
57
+ message = 'Enter the GID of the Shop';
58
+ break;
59
+ case 'Order Management':
60
+ message = 'Enter the GID of the order';
61
+ break;
62
+ default:
63
+ message = 'Enter the GID of the resource';
64
+ }
65
+ const configKey = `DEFAULT_${screenType.replace(' ', '_').toUpperCase()}_ID`;
66
+ const { idInput } = await prompts({
67
+ type: 'text',
68
+ name: 'idInput',
69
+ initial: getEnvConfigValue(configKey),
70
+ message,
71
+ validate: value => {
72
+ const isValidGID = /^gid:\/\/shopify\/(Shop|Order|Product)\/\d+$/.test(value);
73
+ return isValidGID
74
+ ? true
75
+ : 'ID must be in the format gid://shopify/{Type}/{Number}, where {Type} is Shop, Order, or Product and {Number} is a valid number';
76
+ },
77
+ });
78
+ if (idInput) {
79
+ setEnvConfigValue(configKey, idInput);
80
+ }
81
+ return idInput ? parseInt(idInput.split('/').pop(), 10) : null; // Convert input to a number
82
+ }
83
+ export function checkForExtensions(screenType, options) {
84
+ const hasExtensions = (prefix) => options?.extensionTargets?.some(target => target.startsWith(prefix));
85
+ outputDebug(`store extension found: ${hasExtensions('shop.store')}`);
86
+ outputDebug(`product extension found: ${hasExtensions('shop.product')}`);
87
+ outputDebug(`order extension found: ${hasExtensions('shop.order-')}`);
88
+ let message;
89
+ switch (screenType) {
90
+ case 'Store':
91
+ if (!hasExtensions('shop.store')) {
92
+ message = 'No store extensions found.';
93
+ }
94
+ break;
95
+ case 'Product':
96
+ if (!hasExtensions('shop.product')) {
97
+ message = 'No product extensions found.';
98
+ }
99
+ break;
100
+ case 'Order Management':
101
+ if (!hasExtensions('shop.order-')) {
102
+ message = 'No order management extensions found.';
103
+ }
104
+ break;
105
+ case 'Home feed':
106
+ default:
107
+ return;
108
+ }
109
+ if (message) {
110
+ console.error(`
111
+ ${message} Add extensions with \`npx shop-minis create-extension\`
112
+ `);
113
+ }
114
+ }
115
+ export async function promptForDevPanelDeeplink(miniHandle, options) {
116
+ const { value } = await prompts({
117
+ type: 'select',
118
+ name: 'value',
119
+ message: 'Select option',
120
+ choices: [
121
+ {
122
+ title: 'Enable developer mode',
123
+ description: 'Minis developer mode needs to be enabled on device for testing',
124
+ value: 'enable',
125
+ },
126
+ {
127
+ title: 'Open Mini Viewer',
128
+ description: 'Open the Mini in a fullscreen viewer',
129
+ value: 'mini',
130
+ },
131
+ {
132
+ title: 'View your Mini extension in app',
133
+ description: 'Navigate to shop/product/order pages to view your Mini extensions',
134
+ value: 'inApp',
135
+ },
136
+ ],
137
+ });
138
+ if (value === 'enable') {
139
+ return getDeeplink(miniHandle, options, true);
140
+ }
141
+ else if (value === 'mini') {
142
+ return getDeeplink(miniHandle, options, true, true);
143
+ }
144
+ else if (value === 'inApp') {
145
+ const screen = await promptForScreen();
146
+ const resourceId = await promptForResourceId(screen);
147
+ return getDeeplinkForScreen(screen, resourceId);
148
+ }
149
+ }
150
+ //# sourceMappingURL=app-screens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-screens.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/app-screens.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,5 @@ export declare function getBundleUrl(host: string): string;
11
11
  *
12
12
  * In both cases, the base64 encoded payload contains the bundle url and extra information about the remote environment
13
13
  */
14
- export declare function getDeeplink(miniHandle: string, options: DevCommandOptions, universalLink?: boolean): string;
14
+ export declare function getDeeplink(miniHandle: string, options: DevCommandOptions, universalLink?: boolean, forceLaunchMini?: boolean): string;
15
+ export declare function getDeeplinkForMiniViewer(miniHandle: string, options: DevCommandOptions): string;
@@ -43,10 +43,10 @@ function getDeeplinkPayload(miniHandle, host, extensionTargets) {
43
43
  *
44
44
  * In both cases, the base64 encoded payload contains the bundle url and extra information about the remote environment
45
45
  */
46
- export function getDeeplink(miniHandle, options, universalLink = false) {
46
+ export function getDeeplink(miniHandle, options, universalLink = false, forceLaunchMini = false) {
47
47
  const deeplinkParams = getDeeplinkPayload(miniHandle, options.host, options.extensionTargets);
48
48
  const developmentParams = getDevelopmentEntryPointParamsQueryString();
49
- const deeplinkPath = options.extensionTargets?.length
49
+ const deeplinkPath = !forceLaunchMini && options.extensionTargets?.length
50
50
  ? '/mini/remote-extension/'
51
51
  : '/mini/remote/';
52
52
  const deeplink = universalLink
@@ -55,4 +55,11 @@ export function getDeeplink(miniHandle, options, universalLink = false) {
55
55
  outputDebug(`Deeplink: ${deeplink}`);
56
56
  return deeplink;
57
57
  }
58
+ export function getDeeplinkForMiniViewer(miniHandle, options) {
59
+ const deeplinkParams = getDeeplinkPayload(miniHandle, options.host, options.extensionTargets);
60
+ const developmentParams = getDevelopmentEntryPointParamsQueryString();
61
+ const deeplink = `arrive://mini/remote/${deeplinkParams}${developmentParams}`;
62
+ outputDebug(`Deeplink: ${deeplink}`);
63
+ return deeplink;
64
+ }
58
65
  //# sourceMappingURL=deeplink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deeplink.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/deeplink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,yCAAyC,EAAC,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAA;AAGhE,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAA;AAE/D,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,UAAU,IAAI,oBAAoB,CAAA;AAC3C,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY,EAAE,MAAe;IAC9D,OAAO,UAAU,IAAI,oBAAoB,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AACvE,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAkB,EAClB,IAAY,EACZ,gBAA2B;IAE3B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAC9D,MAAM,4BAA4B,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAEpE,MAAM,MAAM,GAAkD;QAC5D,MAAM,EAAE,UAAU;QAClB,SAAS;QACT;;;;WAIG;QACH,sBAAsB;QACtB,4BAA4B;QAC5B,SAAS,EAAE,qBAAqB,EAAE;QAClC,QAAQ,EAAE,eAAe,EAAE,EAAE,QAAQ,IAAI,SAAS;KACnD,CAAA;IAED,IAAI,gBAAgB,EAAE;QACpB,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAC1C,MAAM,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;KAC7C;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAEhD,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CACzB,UAAkB,EAClB,OAA0B,EAC1B,aAAa,GAAG,KAAK;IAErB,MAAM,cAAc,GAAG,kBAAkB,CACvC,UAAU,EACV,OAAO,CAAC,IAAK,EACb,OAAO,CAAC,gBAAgB,CACzB,CAAA;IACD,MAAM,iBAAiB,GAAG,yCAAyC,EAAE,CAAA;IACrE,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,MAAM;QACnD,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,eAAe,CAAA;IAEnB,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,mBAAmB,YAAY,GAAG,cAAc,GAAG,iBAAiB,EAAE;QACxE,CAAC,CAAC,WAAW,YAAY,GAAG,cAAc,GAAG,iBAAiB,EAAE,CAAA;IAElE,WAAW,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;IAEpC,OAAO,QAAQ,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"deeplink.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/deeplink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,yCAAyC,EAAC,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAA;AAGhE,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAA;AAE/D,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,UAAU,IAAI,oBAAoB,CAAA;AAC3C,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY,EAAE,MAAe;IAC9D,OAAO,UAAU,IAAI,oBAAoB,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AACvE,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAkB,EAClB,IAAY,EACZ,gBAA2B;IAE3B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAC9D,MAAM,4BAA4B,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAEpE,MAAM,MAAM,GAAkD;QAC5D,MAAM,EAAE,UAAU;QAClB,SAAS;QACT;;;;WAIG;QACH,sBAAsB;QACtB,4BAA4B;QAC5B,SAAS,EAAE,qBAAqB,EAAE;QAClC,QAAQ,EAAE,eAAe,EAAE,EAAE,QAAQ,IAAI,SAAS;KACnD,CAAA;IAED,IAAI,gBAAgB,EAAE;QACpB,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAC1C,MAAM,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;KAC7C;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAEhD,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CACzB,UAAkB,EAClB,OAA0B,EAC1B,aAAa,GAAG,KAAK,EACrB,eAAe,GAAG,KAAK;IAEvB,MAAM,cAAc,GAAG,kBAAkB,CACvC,UAAU,EACV,OAAO,CAAC,IAAK,EACb,OAAO,CAAC,gBAAgB,CACzB,CAAA;IACD,MAAM,iBAAiB,GAAG,yCAAyC,EAAE,CAAA;IACrE,MAAM,YAAY,GAChB,CAAC,eAAe,IAAI,OAAO,CAAC,gBAAgB,EAAE,MAAM;QAClD,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,eAAe,CAAA;IAErB,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,mBAAmB,YAAY,GAAG,cAAc,GAAG,iBAAiB,EAAE;QACxE,CAAC,CAAC,WAAW,YAAY,GAAG,cAAc,GAAG,iBAAiB,EAAE,CAAA;IAElE,WAAW,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;IAEpC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,UAAkB,EAClB,OAA0B;IAE1B,MAAM,cAAc,GAAG,kBAAkB,CACvC,UAAU,EACV,OAAO,CAAC,IAAK,EACb,OAAO,CAAC,gBAAgB,CACzB,CAAA;IACD,MAAM,iBAAiB,GAAG,yCAAyC,EAAE,CAAA;IACrE,MAAM,QAAQ,GAAG,wBAAwB,cAAc,GAAG,iBAAiB,EAAE,CAAA;IAE7E,WAAW,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;IAEpC,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function getEnvConfigValue(envConfigKey: string): string | undefined;
2
+ export declare function setEnvConfigValue(envConfigKey: string, envConfigValue: string): void;
@@ -0,0 +1,47 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ export function getEnvConfigValue(envConfigKey) {
4
+ const envFilePath = path.join(process.cwd(), '.env');
5
+ const envContent = readEnvContent(envFilePath);
6
+ const lines = envContent.split('\n');
7
+ for (const line of lines) {
8
+ const [key, value] = line.split('=');
9
+ if (key === envConfigKey) {
10
+ return value;
11
+ }
12
+ }
13
+ return undefined;
14
+ }
15
+ export function setEnvConfigValue(envConfigKey, envConfigValue) {
16
+ const envFilePath = path.join(process.cwd(), '.env');
17
+ const envContent = readEnvContent(envFilePath);
18
+ let keyExists = false;
19
+ let newContent = envContent
20
+ .split('\n')
21
+ .map(line => {
22
+ if (line.startsWith(`${envConfigKey}=`)) {
23
+ keyExists = true;
24
+ return `${envConfigKey}=${envConfigValue}`;
25
+ }
26
+ return line;
27
+ })
28
+ .join('\n');
29
+ if (!keyExists) {
30
+ // Only add a newline if the file is not empty
31
+ if (envContent.length > 0)
32
+ newContent += '\n';
33
+ newContent += `${envConfigKey}=${envConfigValue}`;
34
+ }
35
+ fs.writeFileSync(envFilePath, newContent);
36
+ }
37
+ function readEnvContent(envFilePath) {
38
+ let envContent;
39
+ try {
40
+ envContent = fs.readFileSync(envFilePath, 'utf-8');
41
+ }
42
+ catch (error) {
43
+ envContent = '';
44
+ }
45
+ return envContent;
46
+ }
47
+ //# sourceMappingURL=env-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-config.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/env-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,UAAU,iBAAiB,CAAC,YAAoB;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;IACpD,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IAE9C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,GAAG,KAAK,YAAY,EAAE;YACxB,OAAO,KAAK,CAAA;SACb;KACF;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,cAAsB;IAEtB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;IACpD,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IAE9C,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,UAAU,GAAG,UAAU;SACxB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE;YACvC,SAAS,GAAG,IAAI,CAAA;YAChB,OAAO,GAAG,YAAY,IAAI,cAAc,EAAE,CAAA;SAC3C;QAED,OAAO,IAAI,CAAA;IACb,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,IAAI,CAAC,SAAS,EAAE;QACd,8CAA8C;QAC9C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,UAAU,IAAI,IAAI,CAAA;QAC7C,UAAU,IAAI,GAAG,YAAY,IAAI,cAAc,EAAE,CAAA;KAClD;IAED,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB;IACzC,IAAI,UAAU,CAAA;IAEd,IAAI;QACF,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;KACnD;IAAC,OAAO,KAAK,EAAE;QACd,UAAU,GAAG,EAAE,CAAA;KAChB;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import type { DevCommandOptions } from '../index.js';
2
2
  import { LoadingStateHandlers } from '../../../utils/loading-state-handlers.js';
3
+ import { Platform } from './platform.js';
3
4
  export declare class InteractiveTerminal {
4
5
  miniHandle: string;
5
6
  options: DevCommandOptions;
6
7
  loadingHandlers: LoadingStateHandlers;
8
+ currentPlatform: Platform | null;
9
+ currentDeviceId: string | null;
7
10
  constructor(options: DevCommandOptions, miniHandle: string);
8
11
  startWaitingForCommand: () => void;
9
12
  stopWaitingForCommand: () => void;
@@ -13,6 +16,8 @@ export declare class InteractiveTerminal {
13
16
  handleKeyPressWrapped: (key: string) => Promise<void>;
14
17
  handleKeyPress: (key: string) => Promise<void>;
15
18
  showSetupAndroidHomeInstructions(): Promise<void>;
16
- printDeeplinkQRCode(deepLink: string): Promise<void>;
17
19
  private startApp;
20
+ private openDeeplink;
21
+ private get deeplink();
22
+ private getCurrentPlatformAndDeviceId;
18
23
  }
@@ -2,16 +2,15 @@ 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
- import { getBundleUrl, getDeeplink } from './deeplink.js';
6
+ import { getBundleUrl, getDeeplink, getDeeplinkForMiniViewer, } from './deeplink.js';
9
7
  import { DEV_PANEL_BASE_URL } from './metro/metro-server-middleware.js';
10
8
  import { Platform } from './platform.js';
11
- import { printQRCode } from './qr-code.js';
12
9
  import { bootSimulator, promptForSimulator } from './simulator.js';
13
10
  import { startApp } from './start-app/start-app.js';
14
11
  import { DEFAULT_MINIS_PROMPT } from './metro/metro-reporter.js';
12
+ import { promptForScreen, getDeeplinkForScreen, promptForResourceId, checkForExtensions, promptForDevPanelDeeplink, } from './app-screens.js';
13
+ import { handlersForPlatform } from './start-app/config.js';
15
14
  const { stdin } = process;
16
15
  function clearTerminal() {
17
16
  process.stdout.write('\x1B[2J\x1B[3J\x1B[H');
@@ -21,6 +20,8 @@ export class InteractiveTerminal {
21
20
  miniHandle;
22
21
  options;
23
22
  loadingHandlers = new LoadingStateHandlers();
23
+ currentPlatform = null;
24
+ currentDeviceId = null;
24
25
  constructor(options, miniHandle) {
25
26
  this.miniHandle = miniHandle;
26
27
  this.options = options;
@@ -62,12 +63,14 @@ export class InteractiveTerminal {
62
63
  console.log(`
63
64
  › Press ${chalk.cyan.bold(`a`)} │ Open on Android device or emulator
64
65
  › Press ${chalk.cyan.bold(`i`)} │ Open in iOS simulator
65
-
66
- Press ${chalk.cyan.bold(`q`)} │ Print QR code in terminal. Scan to open your Shop Mini on an iOS device with Shop installed
66
+ `, this.currentDeviceId && this.currentPlatform
67
+ ? `
68
+ › Press ${chalk.cyan.bold(`o`)} │ Open the Mini viewer
69
+ › Press ${chalk.cyan.bold(`v`)} │ View your Mini extension in Shop
70
+ `
71
+ : '', `
67
72
  › Press ${chalk.cyan.bold(`d`)} │ Open Developer Dashboard in web browser
68
-
69
- › Press ${chalk.cyan.bold(`s`)} │ Set the default screen
70
- › Press ${chalk.cyan.bold(`r`)} │ Remove the default screen
73
+ › Press ${chalk.cyan.bold(`h`)} │ Open Minis Docs in browser
71
74
 
72
75
  ${chalk.dim('Press Ctrl+C to exit.')}`);
73
76
  }
@@ -104,24 +107,16 @@ ${chalk.dim('Press Ctrl+C to exit.')}`);
104
107
  const device = await promptForAndroidDevices();
105
108
  if (device) {
106
109
  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
110
  this.loadingHandlers.loadingStart('Launching emulator');
113
111
  const emulatorId = await maybeLaunchEmulator(device.name);
114
112
  if (!emulatorId) {
115
113
  this.loadingHandlers.loadingEnd('fail', `Couldn't launch emulator ${device.name}`);
116
114
  break;
117
115
  }
118
- await this.startApp(Platform.Android, emulatorId, deepLink);
116
+ await this.startApp(Platform.Android, emulatorId);
119
117
  }
120
118
  else {
121
- const deepLink = await promptDefaultScreen();
122
- if (deepLink === null)
123
- break;
124
- await this.startApp(Platform.Android, device.name, deepLink);
119
+ await this.startApp(Platform.Android, device.name);
125
120
  }
126
121
  }
127
122
  else {
@@ -136,46 +131,53 @@ ${chalk.dim('Press Ctrl+C to exit.')}`);
136
131
  clearTerminal();
137
132
  const simulator = await promptForSimulator();
138
133
  if (simulator) {
139
- let deepLink = await promptDefaultScreen();
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');
134
+ this.loadingHandlers.loadingStart('Launching simulator');
145
135
  await bootSimulator(simulator.udid);
146
- await this.startApp(Platform.IOS, simulator.udid, deepLink);
136
+ await this.startApp(Platform.IOS, simulator.udid);
147
137
  }
148
138
  else {
149
139
  console.log('\nNo simulator was selected\n');
150
140
  }
151
141
  break;
152
142
  }
153
- case 'q': {
154
- const deepLink = await promptDefaultScreen();
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();
166
- break;
167
- }
168
143
  case 'd': {
169
- // TODO: Should we send these as params? or should the dev panel website already know how to fetch them without the need of query params?
170
- // Advantage would be that people could just type the base url in the browser whenever they want to open the dev panel. That's impossible with the query params being required
144
+ const deepLink = await promptForDevPanelDeeplink(this.miniHandle, this.options);
145
+ if (!deepLink) {
146
+ return;
147
+ }
171
148
  const paramsObj = {
172
149
  bundleUrl: getBundleUrl(this.options.host),
173
- deepLink: getDeeplink(this.miniHandle, this.options, true),
150
+ deepLink,
174
151
  };
175
152
  const searchParams = `?${new URLSearchParams(paramsObj).toString()}`;
176
153
  open(`${DEV_PANEL_BASE_URL}${searchParams}`);
177
154
  break;
178
155
  }
156
+ case 'h': {
157
+ const url = 'https://shop.app/minis/docs/';
158
+ console.log(`Opening '${url}'`);
159
+ open(url);
160
+ break;
161
+ }
162
+ case 'o': {
163
+ const { platform, deviceId } = this.getCurrentPlatformAndDeviceId();
164
+ if (platform && deviceId) {
165
+ this.loadingHandlers.loadingStart('Opening mini viewer');
166
+ await this.openDeeplink(platform, deviceId, getDeeplinkForMiniViewer(this.miniHandle, this.options));
167
+ }
168
+ break;
169
+ }
170
+ case 'v': {
171
+ const { platform, deviceId } = this.getCurrentPlatformAndDeviceId();
172
+ if (platform && deviceId) {
173
+ const screen = await promptForScreen();
174
+ const resourceId = await promptForResourceId(screen);
175
+ checkForExtensions(screen, this.options);
176
+ this.loadingHandlers.loadingStart(`Opening ${screen} screen`);
177
+ await this.openDeeplink(platform, deviceId, getDeeplinkForScreen(screen, resourceId));
178
+ }
179
+ break;
180
+ }
179
181
  case CTRL_C: {
180
182
  this.stopWaitingForCommand();
181
183
  process.exit(0);
@@ -192,24 +194,43 @@ ${chalk.dim('Press Ctrl+C to exit.')}`);
192
194
  console.log(`See ${chalk.blue.underline.bold('https://developer.android.com/studio/command-line/variables')}`);
193
195
  await this.waitForAnyKeyAndPrintInstructions();
194
196
  }
195
- async printDeeplinkQRCode(deepLink) {
196
- console.log('\n');
197
- await printQRCode(deepLink);
198
- console.log('Scan the QR code to open Shop Mini on your device (requires the Shop app to be installed)\n');
199
- }
200
- async startApp(platform, deviceId, deepLink) {
197
+ async startApp(platform, deviceId) {
201
198
  try {
199
+ this.currentPlatform = platform;
200
+ this.currentDeviceId = deviceId;
202
201
  await startApp({
203
202
  platform,
204
203
  deviceId,
205
- deeplink: deepLink,
204
+ deeplink: this.deeplink,
206
205
  buildType: this.options.buildType,
207
206
  snapshotVersion: this.options.snapshotVersion,
208
207
  }, this.loadingHandlers);
208
+ // Show all instructions after the app has started
209
+ this.logInstructions();
210
+ }
211
+ catch (err) {
212
+ this.loadingHandlers.loadingEnd('fail', err?.message || err);
213
+ }
214
+ }
215
+ async openDeeplink(platform, deviceId, deeplink) {
216
+ try {
217
+ const { openDeeplink } = handlersForPlatform(platform);
218
+ await openDeeplink(deviceId, deeplink);
219
+ this.loadingHandlers.loadingEnd?.();
209
220
  }
210
221
  catch (err) {
211
222
  this.loadingHandlers.loadingEnd('fail', err?.message || err);
212
223
  }
213
224
  }
225
+ get deeplink() {
226
+ return getDeeplink(this.miniHandle, this.options);
227
+ }
228
+ getCurrentPlatformAndDeviceId() {
229
+ if (!this.currentPlatform || !this.currentDeviceId) {
230
+ console.log(`\n ${chalk.red.bold(`X`)} No platform or device id set. Run ${chalk.cyan.bold(`i`)} for iOS or ${chalk.cyan.bold(`a`)} for Android before opening a deeplink.`);
231
+ return { platform: null, deviceId: null };
232
+ }
233
+ return { platform: this.currentPlatform, deviceId: this.currentDeviceId };
234
+ }
214
235
  }
215
236
  //# 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":"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"}
1
+ {"version":3,"file":"interactive-terminal.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/interactive-terminal.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import { Command } from 'commander';
2
+ export declare function loginAndSetup(): Promise<void>;
2
3
  export declare const command: Command;