@shopify/shop-minis-cli 0.0.0-hackathon.20250221160544

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 (540) hide show
  1. package/.eslintrc.cjs +78 -0
  2. package/LICENSE +21 -0
  3. package/README.md +8 -0
  4. package/README_INTERNAL.md +114 -0
  5. package/build/commands/app/index.d.ts +2 -0
  6. package/build/commands/app/index.js +14 -0
  7. package/build/commands/app/index.js.map +1 -0
  8. package/build/commands/app/link.d.ts +2 -0
  9. package/build/commands/app/link.js +65 -0
  10. package/build/commands/app/link.js.map +1 -0
  11. package/build/commands/app/list.d.ts +2 -0
  12. package/build/commands/app/list.js +45 -0
  13. package/build/commands/app/list.js.map +1 -0
  14. package/build/commands/app/unlink.d.ts +2 -0
  15. package/build/commands/app/unlink.js +55 -0
  16. package/build/commands/app/unlink.js.map +1 -0
  17. package/build/commands/cancel-submission/cancel-submission.d.ts +1 -0
  18. package/build/commands/cancel-submission/cancel-submission.js +59 -0
  19. package/build/commands/cancel-submission/cancel-submission.js.map +1 -0
  20. package/build/commands/cancel-submission/index.d.ts +2 -0
  21. package/build/commands/cancel-submission/index.js +18 -0
  22. package/build/commands/cancel-submission/index.js.map +1 -0
  23. package/build/commands/cancel-submission/types.d.ts +3 -0
  24. package/build/commands/cancel-submission/types.js +2 -0
  25. package/build/commands/cancel-submission/types.js.map +1 -0
  26. package/build/commands/check-submission/index.d.ts +2 -0
  27. package/build/commands/check-submission/index.js +55 -0
  28. package/build/commands/check-submission/index.js.map +1 -0
  29. package/build/commands/check-submission/types.d.ts +3 -0
  30. package/build/commands/check-submission/types.js +2 -0
  31. package/build/commands/check-submission/types.js.map +1 -0
  32. package/build/commands/codemod/index.d.ts +3 -0
  33. package/build/commands/codemod/index.js +47 -0
  34. package/build/commands/codemod/index.js.map +1 -0
  35. package/build/commands/codemod/releases/index.d.ts +7 -0
  36. package/build/commands/codemod/releases/index.js +97 -0
  37. package/build/commands/codemod/releases/index.js.map +1 -0
  38. package/build/commands/codemod/releases/types.d.ts +9 -0
  39. package/build/commands/codemod/releases/types.js +2 -0
  40. package/build/commands/codemod/releases/types.js.map +1 -0
  41. package/build/commands/codemod/releases/v0-0-100.d.ts +3 -0
  42. package/build/commands/codemod/releases/v0-0-100.js +50 -0
  43. package/build/commands/codemod/releases/v0-0-100.js.map +1 -0
  44. package/build/commands/codemod/releases/v0-0-103.d.ts +3 -0
  45. package/build/commands/codemod/releases/v0-0-103.js +43 -0
  46. package/build/commands/codemod/releases/v0-0-103.js.map +1 -0
  47. package/build/commands/codemod/releases/v0-0-105.d.ts +3 -0
  48. package/build/commands/codemod/releases/v0-0-105.js +59 -0
  49. package/build/commands/codemod/releases/v0-0-105.js.map +1 -0
  50. package/build/commands/codemod/releases/v0-0-106.d.ts +3 -0
  51. package/build/commands/codemod/releases/v0-0-106.js +32 -0
  52. package/build/commands/codemod/releases/v0-0-106.js.map +1 -0
  53. package/build/commands/codemod/releases/v0-0-114.d.ts +3 -0
  54. package/build/commands/codemod/releases/v0-0-114.js +48 -0
  55. package/build/commands/codemod/releases/v0-0-114.js.map +1 -0
  56. package/build/commands/codemod/releases/v0-0-115.d.ts +3 -0
  57. package/build/commands/codemod/releases/v0-0-115.js +50 -0
  58. package/build/commands/codemod/releases/v0-0-115.js.map +1 -0
  59. package/build/commands/codemod/releases/v0-0-121.d.ts +3 -0
  60. package/build/commands/codemod/releases/v0-0-121.js +74 -0
  61. package/build/commands/codemod/releases/v0-0-121.js.map +1 -0
  62. package/build/commands/codemod/releases/v0-0-123.d.ts +3 -0
  63. package/build/commands/codemod/releases/v0-0-123.js +33 -0
  64. package/build/commands/codemod/releases/v0-0-123.js.map +1 -0
  65. package/build/commands/codemod/releases/v0-0-125.d.ts +3 -0
  66. package/build/commands/codemod/releases/v0-0-125.js +37 -0
  67. package/build/commands/codemod/releases/v0-0-125.js.map +1 -0
  68. package/build/commands/codemod/releases/v0-0-130.d.ts +3 -0
  69. package/build/commands/codemod/releases/v0-0-130.js +26 -0
  70. package/build/commands/codemod/releases/v0-0-130.js.map +1 -0
  71. package/build/commands/codemod/releases/v0-0-139.d.ts +3 -0
  72. package/build/commands/codemod/releases/v0-0-139.js +26 -0
  73. package/build/commands/codemod/releases/v0-0-139.js.map +1 -0
  74. package/build/commands/codemod/releases/v0-0-42/index.d.ts +3 -0
  75. package/build/commands/codemod/releases/v0-0-42/index.js +46 -0
  76. package/build/commands/codemod/releases/v0-0-42/index.js.map +1 -0
  77. package/build/commands/codemod/releases/v0-0-42/reset-files.d.ts +7 -0
  78. package/build/commands/codemod/releases/v0-0-42/reset-files.js +83 -0
  79. package/build/commands/codemod/releases/v0-0-42/reset-files.js.map +1 -0
  80. package/build/commands/codemod/releases/v0-0-43.d.ts +3 -0
  81. package/build/commands/codemod/releases/v0-0-43.js +32 -0
  82. package/build/commands/codemod/releases/v0-0-43.js.map +1 -0
  83. package/build/commands/codemod/releases/v0-0-44.d.ts +3 -0
  84. package/build/commands/codemod/releases/v0-0-44.js +214 -0
  85. package/build/commands/codemod/releases/v0-0-44.js.map +1 -0
  86. package/build/commands/codemod/releases/v0-0-45.d.ts +3 -0
  87. package/build/commands/codemod/releases/v0-0-45.js +23 -0
  88. package/build/commands/codemod/releases/v0-0-45.js.map +1 -0
  89. package/build/commands/codemod/releases/v0-0-50.d.ts +3 -0
  90. package/build/commands/codemod/releases/v0-0-50.js +34 -0
  91. package/build/commands/codemod/releases/v0-0-50.js.map +1 -0
  92. package/build/commands/codemod/releases/v0-0-54.d.ts +3 -0
  93. package/build/commands/codemod/releases/v0-0-54.js +70 -0
  94. package/build/commands/codemod/releases/v0-0-54.js.map +1 -0
  95. package/build/commands/codemod/releases/v0-0-56.d.ts +3 -0
  96. package/build/commands/codemod/releases/v0-0-56.js +48 -0
  97. package/build/commands/codemod/releases/v0-0-56.js.map +1 -0
  98. package/build/commands/codemod/releases/v0-0-57.d.ts +3 -0
  99. package/build/commands/codemod/releases/v0-0-57.js +41 -0
  100. package/build/commands/codemod/releases/v0-0-57.js.map +1 -0
  101. package/build/commands/codemod/releases/v0-0-58.d.ts +3 -0
  102. package/build/commands/codemod/releases/v0-0-58.js +68 -0
  103. package/build/commands/codemod/releases/v0-0-58.js.map +1 -0
  104. package/build/commands/codemod/releases/v0-0-61.d.ts +3 -0
  105. package/build/commands/codemod/releases/v0-0-61.js +30 -0
  106. package/build/commands/codemod/releases/v0-0-61.js.map +1 -0
  107. package/build/commands/codemod/releases/v0-0-63.d.ts +3 -0
  108. package/build/commands/codemod/releases/v0-0-63.js +42 -0
  109. package/build/commands/codemod/releases/v0-0-63.js.map +1 -0
  110. package/build/commands/codemod/releases/v0-0-64.d.ts +3 -0
  111. package/build/commands/codemod/releases/v0-0-64.js +47 -0
  112. package/build/commands/codemod/releases/v0-0-64.js.map +1 -0
  113. package/build/commands/codemod/releases/v0-0-75.d.ts +3 -0
  114. package/build/commands/codemod/releases/v0-0-75.js +30 -0
  115. package/build/commands/codemod/releases/v0-0-75.js.map +1 -0
  116. package/build/commands/codemod/releases/v0-0-76.d.ts +3 -0
  117. package/build/commands/codemod/releases/v0-0-76.js +32 -0
  118. package/build/commands/codemod/releases/v0-0-76.js.map +1 -0
  119. package/build/commands/codemod/releases/v0-0-77.d.ts +3 -0
  120. package/build/commands/codemod/releases/v0-0-77.js +39 -0
  121. package/build/commands/codemod/releases/v0-0-77.js.map +1 -0
  122. package/build/commands/codemod/releases/v0-0-79.d.ts +3 -0
  123. package/build/commands/codemod/releases/v0-0-79.js +35 -0
  124. package/build/commands/codemod/releases/v0-0-79.js.map +1 -0
  125. package/build/commands/codemod/releases/v0-0-84.d.ts +3 -0
  126. package/build/commands/codemod/releases/v0-0-84.js +41 -0
  127. package/build/commands/codemod/releases/v0-0-84.js.map +1 -0
  128. package/build/commands/codemod/releases/v0-0-85.d.ts +3 -0
  129. package/build/commands/codemod/releases/v0-0-85.js +60 -0
  130. package/build/commands/codemod/releases/v0-0-85.js.map +1 -0
  131. package/build/commands/codemod/releases/v0-0-89.d.ts +3 -0
  132. package/build/commands/codemod/releases/v0-0-89.js +60 -0
  133. package/build/commands/codemod/releases/v0-0-89.js.map +1 -0
  134. package/build/commands/codemod/releases/v0-0-91/index.d.ts +3 -0
  135. package/build/commands/codemod/releases/v0-0-91/index.js +38 -0
  136. package/build/commands/codemod/releases/v0-0-91/index.js.map +1 -0
  137. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.d.ts +5 -0
  138. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.js +45 -0
  139. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.js.map +1 -0
  140. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.d.ts +1 -0
  141. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.js +97 -0
  142. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.js.map +1 -0
  143. package/build/commands/codemod/releases/v0-0-92.d.ts +3 -0
  144. package/build/commands/codemod/releases/v0-0-92.js +38 -0
  145. package/build/commands/codemod/releases/v0-0-92.js.map +1 -0
  146. package/build/commands/codemod/releases/v0-0-93/blank/App-after.d.ts +1 -0
  147. package/build/commands/codemod/releases/v0-0-93/blank/App-after.js +15 -0
  148. package/build/commands/codemod/releases/v0-0-93/blank/App-after.js.map +1 -0
  149. package/build/commands/codemod/releases/v0-0-93/blank/App-before.d.ts +1 -0
  150. package/build/commands/codemod/releases/v0-0-93/blank/App-before.js +13 -0
  151. package/build/commands/codemod/releases/v0-0-93/blank/App-before.js.map +1 -0
  152. package/build/commands/codemod/releases/v0-0-93/index.d.ts +6 -0
  153. package/build/commands/codemod/releases/v0-0-93/index.js +7 -0
  154. package/build/commands/codemod/releases/v0-0-93/index.js.map +1 -0
  155. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.d.ts +1 -0
  156. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.js +53 -0
  157. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.js.map +1 -0
  158. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.d.ts +1 -0
  159. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.js +43 -0
  160. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.js.map +1 -0
  161. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.d.ts +1 -0
  162. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.js +49 -0
  163. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.js.map +1 -0
  164. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.d.ts +1 -0
  165. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.js +42 -0
  166. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.js.map +1 -0
  167. package/build/commands/codemod/releases/v0-0-93.d.ts +3 -0
  168. package/build/commands/codemod/releases/v0-0-93.js +48 -0
  169. package/build/commands/codemod/releases/v0-0-93.js.map +1 -0
  170. package/build/commands/codemod/releases/v0-0-97/index.d.ts +3 -0
  171. package/build/commands/codemod/releases/v0-0-97/index.js +20 -0
  172. package/build/commands/codemod/releases/v0-0-97/index.js.map +1 -0
  173. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.d.ts +1 -0
  174. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.js +47 -0
  175. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.js.map +1 -0
  176. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.d.ts +1 -0
  177. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.js +105 -0
  178. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.js.map +1 -0
  179. package/build/commands/config.d.ts +17 -0
  180. package/build/commands/config.js +45 -0
  181. package/build/commands/config.js.map +1 -0
  182. package/build/commands/create-extension/constants.d.ts +44 -0
  183. package/build/commands/create-extension/constants.js +111 -0
  184. package/build/commands/create-extension/constants.js.map +1 -0
  185. package/build/commands/create-extension/index.d.ts +2 -0
  186. package/build/commands/create-extension/index.js +68 -0
  187. package/build/commands/create-extension/index.js.map +1 -0
  188. package/build/commands/create-extension/types.d.ts +13 -0
  189. package/build/commands/create-extension/types.js +8 -0
  190. package/build/commands/create-extension/types.js.map +1 -0
  191. package/build/commands/create-extension/utils/add-target-to-config.d.ts +2 -0
  192. package/build/commands/create-extension/utils/add-target-to-config.js +48 -0
  193. package/build/commands/create-extension/utils/add-target-to-config.js.map +1 -0
  194. package/build/commands/create-extension/utils/create-extension-files.d.ts +11 -0
  195. package/build/commands/create-extension/utils/create-extension-files.js +96 -0
  196. package/build/commands/create-extension/utils/create-extension-files.js.map +1 -0
  197. package/build/commands/create-extension/utils/create-from-template.d.ts +3 -0
  198. package/build/commands/create-extension/utils/create-from-template.js +47 -0
  199. package/build/commands/create-extension/utils/create-from-template.js.map +1 -0
  200. package/build/commands/create-extension/utils/format-extension-files.d.ts +1 -0
  201. package/build/commands/create-extension/utils/format-extension-files.js +22 -0
  202. package/build/commands/create-extension/utils/format-extension-files.js.map +1 -0
  203. package/build/commands/create-mini/index.d.ts +2 -0
  204. package/build/commands/create-mini/index.js +182 -0
  205. package/build/commands/create-mini/index.js.map +1 -0
  206. package/build/commands/create-mini/utils/examples.d.ts +4 -0
  207. package/build/commands/create-mini/utils/examples.js +44 -0
  208. package/build/commands/create-mini/utils/examples.js.map +1 -0
  209. package/build/commands/create-mini/utils/template-app.d.ts +2 -0
  210. package/build/commands/create-mini/utils/template-app.js +86 -0
  211. package/build/commands/create-mini/utils/template-app.js.map +1 -0
  212. package/build/commands/dev/index.d.ts +13 -0
  213. package/build/commands/dev/index.js +95 -0
  214. package/build/commands/dev/index.js.map +1 -0
  215. package/build/commands/dev/utils/android.d.ts +18 -0
  216. package/build/commands/dev/utils/android.js +158 -0
  217. package/build/commands/dev/utils/android.js.map +1 -0
  218. package/build/commands/dev/utils/app-screens.d.ts +9 -0
  219. package/build/commands/dev/utils/app-screens.js +170 -0
  220. package/build/commands/dev/utils/app-screens.js.map +1 -0
  221. package/build/commands/dev/utils/binaries.d.ts +5 -0
  222. package/build/commands/dev/utils/binaries.js +17 -0
  223. package/build/commands/dev/utils/binaries.js.map +1 -0
  224. package/build/commands/dev/utils/build-type.d.ts +2 -0
  225. package/build/commands/dev/utils/build-type.js +14 -0
  226. package/build/commands/dev/utils/build-type.js.map +1 -0
  227. package/build/commands/dev/utils/cache-cleanup.d.ts +1 -0
  228. package/build/commands/dev/utils/cache-cleanup.js +45 -0
  229. package/build/commands/dev/utils/cache-cleanup.js.map +1 -0
  230. package/build/commands/dev/utils/deeplink.d.ts +22 -0
  231. package/build/commands/dev/utils/deeplink.js +70 -0
  232. package/build/commands/dev/utils/deeplink.js.map +1 -0
  233. package/build/commands/dev/utils/env-config.d.ts +2 -0
  234. package/build/commands/dev/utils/env-config.js +47 -0
  235. package/build/commands/dev/utils/env-config.js.map +1 -0
  236. package/build/commands/dev/utils/interactive-terminal.d.ts +25 -0
  237. package/build/commands/dev/utils/interactive-terminal.js +244 -0
  238. package/build/commands/dev/utils/interactive-terminal.js.map +1 -0
  239. package/build/commands/dev/utils/metro/metro-config.d.ts +2 -0
  240. package/build/commands/dev/utils/metro/metro-config.js +27 -0
  241. package/build/commands/dev/utils/metro/metro-config.js.map +1 -0
  242. package/build/commands/dev/utils/metro/metro-minis-module-resolver.d.ts +6 -0
  243. package/build/commands/dev/utils/metro/metro-minis-module-resolver.js +11 -0
  244. package/build/commands/dev/utils/metro/metro-minis-module-resolver.js.map +1 -0
  245. package/build/commands/dev/utils/metro/metro-reporter.d.ts +21 -0
  246. package/build/commands/dev/utils/metro/metro-reporter.js +46 -0
  247. package/build/commands/dev/utils/metro/metro-reporter.js.map +1 -0
  248. package/build/commands/dev/utils/metro/metro-server-middleware.d.ts +10 -0
  249. package/build/commands/dev/utils/metro/metro-server-middleware.js +74 -0
  250. package/build/commands/dev/utils/metro/metro-server-middleware.js.map +1 -0
  251. package/build/commands/dev/utils/metro/metro-server.d.ts +6 -0
  252. package/build/commands/dev/utils/metro/metro-server.js +26 -0
  253. package/build/commands/dev/utils/metro/metro-server.js.map +1 -0
  254. package/build/commands/dev/utils/network.d.ts +20 -0
  255. package/build/commands/dev/utils/network.js +129 -0
  256. package/build/commands/dev/utils/network.js.map +1 -0
  257. package/build/commands/dev/utils/platform.d.ts +18 -0
  258. package/build/commands/dev/utils/platform.js +41 -0
  259. package/build/commands/dev/utils/platform.js.map +1 -0
  260. package/build/commands/dev/utils/prompt-binary-upgrade.d.ts +1 -0
  261. package/build/commands/dev/utils/prompt-binary-upgrade.js +12 -0
  262. package/build/commands/dev/utils/prompt-binary-upgrade.js.map +1 -0
  263. package/build/commands/dev/utils/react-native-version.d.ts +4 -0
  264. package/build/commands/dev/utils/react-native-version.js +23 -0
  265. package/build/commands/dev/utils/react-native-version.js.map +1 -0
  266. package/build/commands/dev/utils/simulator.d.ts +22 -0
  267. package/build/commands/dev/utils/simulator.js +113 -0
  268. package/build/commands/dev/utils/simulator.js.map +1 -0
  269. package/build/commands/dev/utils/start-app/config.d.ts +5 -0
  270. package/build/commands/dev/utils/start-app/config.js +24 -0
  271. package/build/commands/dev/utils/start-app/config.js.map +1 -0
  272. package/build/commands/dev/utils/start-app/start-app-with-options.d.ts +3 -0
  273. package/build/commands/dev/utils/start-app/start-app-with-options.js +95 -0
  274. package/build/commands/dev/utils/start-app/start-app-with-options.js.map +1 -0
  275. package/build/commands/dev/utils/start-app/start-app.d.ts +3 -0
  276. package/build/commands/dev/utils/start-app/start-app.js +10 -0
  277. package/build/commands/dev/utils/start-app/start-app.js.map +1 -0
  278. package/build/commands/dev/utils/start-app/types.d.ts +14 -0
  279. package/build/commands/dev/utils/start-app/types.js +2 -0
  280. package/build/commands/dev/utils/start-app/types.js.map +1 -0
  281. package/build/commands/dev/utils/types.d.ts +24 -0
  282. package/build/commands/dev/utils/types.js +7 -0
  283. package/build/commands/dev/utils/types.js.map +1 -0
  284. package/build/commands/dev/utils/version.d.ts +64 -0
  285. package/build/commands/dev/utils/version.js +101 -0
  286. package/build/commands/dev/utils/version.js.map +1 -0
  287. package/build/commands/dev/utils/with-retries.d.ts +4 -0
  288. package/build/commands/dev/utils/with-retries.js +24 -0
  289. package/build/commands/dev/utils/with-retries.js.map +1 -0
  290. package/build/commands/doctor/index.d.ts +6 -0
  291. package/build/commands/doctor/index.js +21 -0
  292. package/build/commands/doctor/index.js.map +1 -0
  293. package/build/commands/doctor/utils/diagnose-dependencies.d.ts +7 -0
  294. package/build/commands/doctor/utils/diagnose-dependencies.js +113 -0
  295. package/build/commands/doctor/utils/diagnose-dependencies.js.map +1 -0
  296. package/build/commands/features/index.d.ts +6 -0
  297. package/build/commands/features/index.js +135 -0
  298. package/build/commands/features/index.js.map +1 -0
  299. package/build/commands/generate-graphql-types/index.d.ts +6 -0
  300. package/build/commands/generate-graphql-types/index.js +33 -0
  301. package/build/commands/generate-graphql-types/index.js.map +1 -0
  302. package/build/commands/generate-graphql-types/utils/generate-graphql-types.d.ts +2 -0
  303. package/build/commands/generate-graphql-types/utils/generate-graphql-types.js +67 -0
  304. package/build/commands/generate-graphql-types/utils/generate-graphql-types.js.map +1 -0
  305. package/build/commands/generate-graphql-types/utils/get-graphql-config.d.ts +1 -0
  306. package/build/commands/generate-graphql-types/utils/get-graphql-config.js +31 -0
  307. package/build/commands/generate-graphql-types/utils/get-graphql-config.js.map +1 -0
  308. package/build/commands/generate-graphql-types/utils/get-graphql-config.spec.d.ts +1 -0
  309. package/build/commands/generate-graphql-types/utils/get-graphql-config.spec.js +57 -0
  310. package/build/commands/generate-graphql-types/utils/get-graphql-config.spec.js.map +1 -0
  311. package/build/commands/info/index.d.ts +3 -0
  312. package/build/commands/info/index.js +42 -0
  313. package/build/commands/info/index.js.map +1 -0
  314. package/build/commands/setup/index.d.ts +2 -0
  315. package/build/commands/setup/index.js +103 -0
  316. package/build/commands/setup/index.js.map +1 -0
  317. package/build/commands/submit/config.d.ts +9 -0
  318. package/build/commands/submit/config.js +18 -0
  319. package/build/commands/submit/config.js.map +1 -0
  320. package/build/commands/submit/errors.d.ts +19 -0
  321. package/build/commands/submit/errors.js +87 -0
  322. package/build/commands/submit/errors.js.map +1 -0
  323. package/build/commands/submit/gcs.d.ts +6 -0
  324. package/build/commands/submit/gcs.js +21 -0
  325. package/build/commands/submit/gcs.js.map +1 -0
  326. package/build/commands/submit/index.d.ts +2 -0
  327. package/build/commands/submit/index.js +25 -0
  328. package/build/commands/submit/index.js.map +1 -0
  329. package/build/commands/submit/submit.d.ts +5 -0
  330. package/build/commands/submit/submit.js +268 -0
  331. package/build/commands/submit/submit.js.map +1 -0
  332. package/build/commands/submit/tasks.d.ts +37 -0
  333. package/build/commands/submit/tasks.js +91 -0
  334. package/build/commands/submit/tasks.js.map +1 -0
  335. package/build/commands/submit/types.d.ts +14 -0
  336. package/build/commands/submit/types.js +2 -0
  337. package/build/commands/submit/types.js.map +1 -0
  338. package/build/commands/submit/utils/assert-core-dependencies-version.d.ts +1 -0
  339. package/build/commands/submit/utils/assert-core-dependencies-version.js +73 -0
  340. package/build/commands/submit/utils/assert-core-dependencies-version.js.map +1 -0
  341. package/build/commands/submit/utils/request-entry-point-params.d.ts +1 -0
  342. package/build/commands/submit/utils/request-entry-point-params.js +43 -0
  343. package/build/commands/submit/utils/request-entry-point-params.js.map +1 -0
  344. package/build/commands/submit/validation.d.ts +1 -0
  345. package/build/commands/submit/validation.js +14 -0
  346. package/build/commands/submit/validation.js.map +1 -0
  347. package/build/commands/upgrade/index.d.ts +13 -0
  348. package/build/commands/upgrade/index.js +70 -0
  349. package/build/commands/upgrade/index.js.map +1 -0
  350. package/build/commands/upgrade/utils/clear-metro-cache.d.ts +1 -0
  351. package/build/commands/upgrade/utils/clear-metro-cache.js +12 -0
  352. package/build/commands/upgrade/utils/clear-metro-cache.js.map +1 -0
  353. package/build/commands/upgrade/utils/cli.d.ts +1 -0
  354. package/build/commands/upgrade/utils/cli.js +15 -0
  355. package/build/commands/upgrade/utils/cli.js.map +1 -0
  356. package/build/commands/validate-manifest/index.d.ts +3 -0
  357. package/build/commands/validate-manifest/index.js +38 -0
  358. package/build/commands/validate-manifest/index.js.map +1 -0
  359. package/build/constants/extensions.d.ts +21 -0
  360. package/build/constants/extensions.js +25 -0
  361. package/build/constants/extensions.js.map +1 -0
  362. package/build/data/accept-invitation.d.ts +4 -0
  363. package/build/data/accept-invitation.js +16 -0
  364. package/build/data/accept-invitation.js.map +1 -0
  365. package/build/data/cancel-submission.d.ts +22 -0
  366. package/build/data/cancel-submission.js +26 -0
  367. package/build/data/cancel-submission.js.map +1 -0
  368. package/build/data/create-submission.d.ts +20 -0
  369. package/build/data/create-submission.js +27 -0
  370. package/build/data/create-submission.js.map +1 -0
  371. package/build/data/create-upload.d.ts +21 -0
  372. package/build/data/create-upload.js +40 -0
  373. package/build/data/create-upload.js.map +1 -0
  374. package/build/data/get-linked-apps.d.ts +13 -0
  375. package/build/data/get-linked-apps.js +21 -0
  376. package/build/data/get-linked-apps.js.map +1 -0
  377. package/build/data/get-submissions.d.ts +27 -0
  378. package/build/data/get-submissions.js +33 -0
  379. package/build/data/get-submissions.js.map +1 -0
  380. package/build/data/gql-client.d.ts +8 -0
  381. package/build/data/gql-client.js +14 -0
  382. package/build/data/gql-client.js.map +1 -0
  383. package/build/data/mini-create.d.ts +19 -0
  384. package/build/data/mini-create.js +34 -0
  385. package/build/data/mini-create.js.map +1 -0
  386. package/build/data/mini-link-app.d.ts +20 -0
  387. package/build/data/mini-link-app.js +35 -0
  388. package/build/data/mini-link-app.js.map +1 -0
  389. package/build/data/mini-unlink-app.d.ts +18 -0
  390. package/build/data/mini-unlink-app.js +25 -0
  391. package/build/data/mini-unlink-app.js.map +1 -0
  392. package/build/data/mini.d.ts +7 -0
  393. package/build/data/mini.js +16 -0
  394. package/build/data/mini.js.map +1 -0
  395. package/build/data/partners/query.d.ts +32 -0
  396. package/build/data/partners/query.js +123 -0
  397. package/build/data/partners/query.js.map +1 -0
  398. package/build/data/partners/types.d.ts +55 -0
  399. package/build/data/partners/types.js +6 -0
  400. package/build/data/partners/types.js.map +1 -0
  401. package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.d.ts +13 -0
  402. package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.js +7 -0
  403. package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.js.map +1 -0
  404. package/build/data/types/autogenerated/shop-minis-admin-api/gql.d.ts +107 -0
  405. package/build/data/types/autogenerated/shop-minis-admin-api/gql.js +28 -0
  406. package/build/data/types/autogenerated/shop-minis-admin-api/gql.js.map +1 -0
  407. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.d.ts +2177 -0
  408. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js +1474 -0
  409. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js.map +1 -0
  410. package/build/data/types/autogenerated/shop-minis-admin-api/index.d.ts +2 -0
  411. package/build/data/types/autogenerated/shop-minis-admin-api/index.js +3 -0
  412. package/build/data/types/autogenerated/shop-minis-admin-api/index.js.map +1 -0
  413. package/build/dev-panel/asset-manifest.json +13 -0
  414. package/build/dev-panel/checkmark.svg +3 -0
  415. package/build/dev-panel/chevron.svg +3 -0
  416. package/build/dev-panel/copy.svg +4 -0
  417. package/build/dev-panel/get-started.svg +3 -0
  418. package/build/dev-panel/how-to.svg +3 -0
  419. package/build/dev-panel/index.html +1 -0
  420. package/build/dev-panel/references.svg +3 -0
  421. package/build/dev-panel/robots.txt +3 -0
  422. package/build/dev-panel/static/css/main.94b1dbb1.css +2 -0
  423. package/build/dev-panel/static/css/main.94b1dbb1.css.map +1 -0
  424. package/build/dev-panel/static/js/main.917a564c.js +3 -0
  425. package/build/dev-panel/static/js/main.917a564c.js.LICENSE.txt +41 -0
  426. package/build/dev-panel/static/js/main.917a564c.js.map +1 -0
  427. package/build/dev-panel/topics.svg +3 -0
  428. package/build/index.d.ts +2 -0
  429. package/build/index.js +53 -0
  430. package/build/index.js.map +1 -0
  431. package/build/schemas/manifest.schema.json +185 -0
  432. package/build/templates-index.d.ts +6 -0
  433. package/build/templates-index.js +24 -0
  434. package/build/templates-index.js.map +1 -0
  435. package/build/utils/archive.d.ts +30 -0
  436. package/build/utils/archive.js +38 -0
  437. package/build/utils/archive.js.map +1 -0
  438. package/build/utils/codemod.d.ts +86 -0
  439. package/build/utils/codemod.js +161 -0
  440. package/build/utils/codemod.js.map +1 -0
  441. package/build/utils/common-tasks.d.ts +1 -0
  442. package/build/utils/common-tasks.js +44 -0
  443. package/build/utils/common-tasks.js.map +1 -0
  444. package/build/utils/development-params.d.ts +13 -0
  445. package/build/utils/development-params.js +44 -0
  446. package/build/utils/development-params.js.map +1 -0
  447. package/build/utils/exec-async-child-process.d.ts +18 -0
  448. package/build/utils/exec-async-child-process.js +41 -0
  449. package/build/utils/exec-async-child-process.js.map +1 -0
  450. package/build/utils/extensions.d.ts +13 -0
  451. package/build/utils/extensions.js +87 -0
  452. package/build/utils/extensions.js.map +1 -0
  453. package/build/utils/extract-id-gid.d.ts +1 -0
  454. package/build/utils/extract-id-gid.js +16 -0
  455. package/build/utils/extract-id-gid.js.map +1 -0
  456. package/build/utils/file.d.ts +1 -0
  457. package/build/utils/file.js +7 -0
  458. package/build/utils/file.js.map +1 -0
  459. package/build/utils/loading-state-handlers.d.ts +10 -0
  460. package/build/utils/loading-state-handlers.js +23 -0
  461. package/build/utils/loading-state-handlers.js.map +1 -0
  462. package/build/utils/minis-manifest.d.ts +8 -0
  463. package/build/utils/minis-manifest.js +90 -0
  464. package/build/utils/minis-manifest.js.map +1 -0
  465. package/build/utils/package-manager.d.ts +52 -0
  466. package/build/utils/package-manager.js +139 -0
  467. package/build/utils/package-manager.js.map +1 -0
  468. package/build/utils/patch-package.d.ts +5 -0
  469. package/build/utils/patch-package.js +76 -0
  470. package/build/utils/patch-package.js.map +1 -0
  471. package/build/utils/path.d.ts +1 -0
  472. package/build/utils/path.js +8 -0
  473. package/build/utils/path.js.map +1 -0
  474. package/build/utils/replace-strings-in-template.d.ts +1 -0
  475. package/build/utils/replace-strings-in-template.js +15 -0
  476. package/build/utils/replace-strings-in-template.js.map +1 -0
  477. package/build/utils/semver.d.ts +1 -0
  478. package/build/utils/semver.js +19 -0
  479. package/build/utils/semver.js.map +1 -0
  480. package/build/utils/sync-manifest.d.ts +5 -0
  481. package/build/utils/sync-manifest.js +26 -0
  482. package/build/utils/sync-manifest.js.map +1 -0
  483. package/build/utils/wrap-with-loading-indicator.d.ts +9 -0
  484. package/build/utils/wrap-with-loading-indicator.js +16 -0
  485. package/build/utils/wrap-with-loading-indicator.js.map +1 -0
  486. package/package.json +102 -0
  487. package/scripts/graphql-codegen.ts +29 -0
  488. package/scripts/test-template.ts +66 -0
  489. package/shipit.hackathon-2025.yml +9 -0
  490. package/shipit.snapshot.yml +9 -0
  491. package/templates/__template_blank/src/App.tsx +24 -0
  492. package/templates/__template_blank/src/index.tsx +9 -0
  493. package/templates/__template_common/.cursorrules +141 -0
  494. package/templates/__template_common/.eslintignore +1 -0
  495. package/templates/__template_common/.eslintrc.js +3 -0
  496. package/templates/__template_common/.graphqlrc.js +1 -0
  497. package/templates/__template_common/.prettierrc.json +8 -0
  498. package/templates/__template_common/assets.d.ts +14 -0
  499. package/templates/__template_common/babel.config.js +5 -0
  500. package/templates/__template_common/gitignore +5 -0
  501. package/templates/__template_common/index.tsx +5 -0
  502. package/templates/__template_common/metro.config.js +5 -0
  503. package/templates/__template_common/package.json +35 -0
  504. package/templates/__template_common/src/manifest.json +6 -0
  505. package/templates/__template_common/tsconfig.json +41 -0
  506. package/templates/__template_getting_started/src/App.tsx +23 -0
  507. package/templates/__template_getting_started/src/index.tsx +9 -0
  508. package/templates/__template_getting_started/src/manifest.json +7 -0
  509. package/templates/__template_getting_started/src/screens/HomeScreen.tsx +128 -0
  510. package/templates/__template_getting_started/src/screens/NativeFeaturesScreen.tsx +137 -0
  511. package/templates/__template_getting_started/src/types/screens.ts +5 -0
  512. package/templates/__template_shoppable_posts/src/App.tsx +42 -0
  513. package/templates/__template_shoppable_posts/src/index.tsx +9 -0
  514. package/templates/__template_shoppable_videos/src/App.tsx +39 -0
  515. package/templates/__template_shoppable_videos/src/index.tsx +9 -0
  516. package/templates/extensions/components/__template_blank/render.tsx +9 -0
  517. package/templates/extensions/components/__template_bundle-collection/render.tsx +31 -0
  518. package/templates/extensions/components/__template_bundle-collection/seed.ts +26 -0
  519. package/templates/extensions/components/__template_bundle-selector/render.tsx +51 -0
  520. package/templates/extensions/components/__template_bundle-selector/seed.ts +72 -0
  521. package/templates/extensions/components/__template_default-card/render.tsx +24 -0
  522. package/templates/extensions/components/__template_default-card/seed.ts +10 -0
  523. package/templates/extensions/components/__template_image-collection/render.tsx +17 -0
  524. package/templates/extensions/components/__template_image-collection/seed.ts +70 -0
  525. package/templates/extensions/components/__template_link/render.tsx +17 -0
  526. package/templates/extensions/components/__template_link/seed.ts +5 -0
  527. package/templates/extensions/components/__template_product-offer-card/render.tsx +17 -0
  528. package/templates/extensions/components/__template_product-offer-card/seed.ts +44 -0
  529. package/templates/extensions/components/__template_survey-single-response/render.tsx +26 -0
  530. package/templates/extensions/components/__template_survey-single-response/seed.ts +22 -0
  531. package/templates/extensions/components/__template_video-collection/render.tsx +17 -0
  532. package/templates/extensions/components/__template_video-collection/seed.ts +37 -0
  533. package/templates/extensions/queries/__template_order-confirmation-page/input.graphql +5 -0
  534. package/templates/extensions/queries/__template_order-confirmation-page/input.graphql.d.ts +24 -0
  535. package/templates/extensions/queries/__template_order-management-page/input.graphql +5 -0
  536. package/templates/extensions/queries/__template_order-management-page/input.graphql.d.ts +24 -0
  537. package/templates/extensions/queries/__template_product-page/input.graphql +9 -0
  538. package/templates/extensions/queries/__template_product-page/input.graphql.d.ts +36 -0
  539. package/templates/extensions/queries/__template_store-page/input.graphql +5 -0
  540. package/templates/extensions/queries/__template_store-page/input.graphql.d.ts +24 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metro-reporter.js","sourceRoot":"","sources":["../../../../../src/commands/dev/utils/metro/metro-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAA;AACnC,OAAO,EAAC,gBAAgB,EAAC,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CACjE,GAAG,CACJ,0BAA0B,CAAA;AAE3B;;;;;;GAMG;AACH,MAAM,kBAAmB,SAAQ,gBAAgB;IAC/C,WAAW,GAAG,KAAK,CAAA;IAEnB,IAAI,CAAC,KAAU;QACb,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,iBAAiB,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;gBACvB,MAAK;aACN;YACD,KAAK,oBAAoB,CAAC;YAC1B,KAAK,mBAAmB,CAAC,CAAC;gBACxB,6CAA6C;gBAC7C,OAAM;aACP;SACF;QAED,aAAa;QACb,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,aAAa;QACb,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO,WAAW,CAAA;SACnB;QACD,OAAO,WAAW,IAAI,oBAAoB,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,kBAAkB,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;AAC7D,CAAC"}
@@ -0,0 +1,10 @@
1
+ import http from 'http';
2
+ import connect from 'connect';
3
+ import { DevCommandOptions } from '../../index.js';
4
+ /**
5
+ * mutates the received metro config param to inject a custom middleware.
6
+ * needed because of https://github.com/facebook/metro/issues/660
7
+ */
8
+ export declare function buildMetroServerMiddleware(options: DevCommandOptions): connect.Server;
9
+ export declare const DEV_PANEL_BASE_URL = "http://localhost:8082/dev-panel";
10
+ export declare function inputQueryMiddlewareFactory(options: DevCommandOptions): (req: http.IncomingMessage, res: http.ServerResponse) => void;
@@ -0,0 +1,74 @@
1
+ import url from 'url';
2
+ import path from 'node:path';
3
+ import { readFileSync } from 'node:fs';
4
+ import serve from 'serve-static';
5
+ import connect from 'connect';
6
+ import { outputDebug } from '@shopify/cli-kit/node/output';
7
+ import { getExtensionInputQueriesFolderPath } from '../../../../utils/extensions.js';
8
+ /**
9
+ * mutates the received metro config param to inject a custom middleware.
10
+ * needed because of https://github.com/facebook/metro/issues/660
11
+ */
12
+ export function buildMetroServerMiddleware(options) {
13
+ return connect()
14
+ .use('/symbolicate', rawBodyMiddleware)
15
+ .use('/dev-panel', devPanelMiddleware)
16
+ .use('/status', statusPageMiddleware)
17
+ .use('/input-query', inputQueryMiddlewareFactory(options));
18
+ }
19
+ // reference https://github.com/react-native-community/cli/blob/main/packages/cli-server-api/src/rawBodyMiddleware.ts
20
+ function rawBodyMiddleware(req, _res, next) {
21
+ ;
22
+ req.rawBody = '';
23
+ req.setEncoding('utf8');
24
+ req.on('data', (chunk) => {
25
+ ;
26
+ req.rawBody += chunk;
27
+ });
28
+ req.on('end', () => {
29
+ next();
30
+ });
31
+ }
32
+ // reference https://github.com/react-native-community/cli/blob/86df104250608977130378b9b59d8a9e12d0212a/packages/cli-server-api/src/statusPageMiddleware.ts
33
+ function statusPageMiddleware(_req, res) {
34
+ res.end('packager-status:running');
35
+ }
36
+ function devPanelMiddleware(...args) {
37
+ const indexFilePath = path.join(process.cwd(), 'node_modules', '@shopify', 'shop-minis-cli', 'build', 'dev-panel');
38
+ return serve(indexFilePath)(...args);
39
+ }
40
+ export const DEV_PANEL_BASE_URL = `http://localhost:8082/dev-panel`;
41
+ export function inputQueryMiddlewareFactory(options) {
42
+ return function inputQueryMiddleware(req, res) {
43
+ if (!req.url || !options.extensionTargets?.length) {
44
+ res.end();
45
+ return;
46
+ }
47
+ const urlParts = url.parse(req.url);
48
+ let target = '';
49
+ if (urlParts.pathname === '/') {
50
+ outputDebug('No target specified, using the first target.');
51
+ target = options.extensionTargets[0];
52
+ }
53
+ else {
54
+ target = urlParts.pathname?.split('/')[1] ?? '';
55
+ }
56
+ if (target) {
57
+ const inputQueriesFolderPath = getExtensionInputQueriesFolderPath(target);
58
+ const queryFilePath = path.join(inputQueriesFolderPath, 'input.graphql');
59
+ try {
60
+ const queryFile = readFileSync(queryFilePath);
61
+ res.end(queryFile);
62
+ }
63
+ catch {
64
+ console.error(`Unable to read a query file for target ${target}`);
65
+ res.end();
66
+ }
67
+ }
68
+ else {
69
+ console.error(`Your mini does not support any extension targets yet`);
70
+ res.end();
71
+ }
72
+ };
73
+ }
74
+ //# sourceMappingURL=metro-server-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metro-server-middleware.js","sourceRoot":"","sources":["../../../../../src/commands/dev/utils/metro/metro-server-middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { DevCommandOptions } from '../../index.js';
2
+ /**
3
+ * Runs metro mimicking how react-native does it.
4
+ * Reference: https://github.com/facebook/react-native/blob/3c943bbe3a60198519f7ef8083ece76734def9b7/packages/community-cli-plugin/src/commands/start/runServer.js
5
+ */
6
+ export declare function runMetro(options: DevCommandOptions): Promise<void>;
@@ -0,0 +1,26 @@
1
+ import Metro from 'metro';
2
+ import { getMetroConfig } from './metro-config.js';
3
+ import { buildMetroServerMiddleware } from './metro-server-middleware.js';
4
+ /**
5
+ * Runs metro mimicking how react-native does it.
6
+ * Reference: https://github.com/facebook/react-native/blob/3c943bbe3a60198519f7ef8083ece76734def9b7/packages/community-cli-plugin/src/commands/start/runServer.js
7
+ */
8
+ export async function runMetro(options) {
9
+ const { host, ...metroOptions } = options;
10
+ const metroServerConfig = {
11
+ ...(await getMetroConfig()),
12
+ ...metroOptions,
13
+ };
14
+ const metroServerOptions = {
15
+ host,
16
+ unstable_extraMiddleware: [buildMetroServerMiddleware(options)],
17
+ };
18
+ await Metro.runServer(metroServerConfig, metroServerOptions);
19
+ if (host !== 'localhost') {
20
+ await Metro.runServer(metroServerConfig, {
21
+ ...metroServerOptions,
22
+ host: 'localhost',
23
+ });
24
+ }
25
+ }
26
+ //# sourceMappingURL=metro-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metro-server.js","sourceRoot":"","sources":["../../../../../src/commands/dev/utils/metro/metro-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAA;AAEvE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAA0B;IACvD,MAAM,EAAC,IAAI,EAAE,GAAG,YAAY,EAAC,GAAG,OAAO,CAAA;IACvC,MAAM,iBAAiB,GAAY;QACjC,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC;QAC3B,GAAG,YAAY;KAChB,CAAA;IAED,MAAM,kBAAkB,GAA2B;QACjD,IAAI;QACJ,wBAAwB,EAAE,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;KAChE,CAAA;IAED,MAAM,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAA;IAE5D,IAAI,IAAI,KAAK,WAAW,EAAE;QACxB,MAAM,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE;YACvC,GAAG,kBAAkB;YACrB,IAAI,EAAE,WAAW;SAClB,CAAC,CAAA;KACH;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Platform } from './platform.js';
2
+ import { BinaryMetadata, BuildType } from './types.js';
3
+ export declare const CDN_ADDRESS = "http://34.160.57.53/";
4
+ export declare const GOOGLE_CLOUD_BUCKET_NAME = "minis_cli_app_builds";
5
+ export declare const metadataToBucketPath: (metadata: BinaryMetadata) => string;
6
+ /**
7
+ * Downloads a binary from the remote storage
8
+ * @returns Promise that resolves to the downloaded version
9
+ */
10
+ export declare function downloadBinary(versionToDownload: BinaryMetadata, { onProgress, }?: {
11
+ /**
12
+ * Download progress callback
13
+ */
14
+ onProgress?: (progress: number) => void;
15
+ }): Promise<BinaryMetadata>;
16
+ /**
17
+ * Returns the latest version that's present in the remote storage of binaries
18
+ * TODO: this won't handle a bucket that has more than 50 files.
19
+ */
20
+ export declare function getLatestRemoteVersion(platform: Platform, type: BuildType): Promise<BinaryMetadata | null>;
@@ -0,0 +1,129 @@
1
+ import { createWriteStream } from 'node:fs';
2
+ import { basename } from 'node:path';
3
+ import http from 'node:http';
4
+ import { Storage } from '@google-cloud/storage';
5
+ import { PassThroughClient } from 'google-auth-library';
6
+ import { outputDebug } from '@shopify/cli-kit/node/output';
7
+ import { compare, parse } from 'semver';
8
+ import { PATHS } from '../../config.js';
9
+ import { isVersionAvailableLocally } from './binaries.js';
10
+ import { getLatestVersionFromFilesList, metadataToBinaryFileName, } from './version.js';
11
+ // TODO: set up domain and ssl certificate for cdn
12
+ // https://console.cloud.google.com/net-services/cdn/backendBucket/details/minis-app-builds-backend-bucket?project=arrive-167720
13
+ // https://console.cloud.google.com/storage/browser/minis_cli_app_builds
14
+ export const CDN_ADDRESS = 'http://34.160.57.53/';
15
+ export const GOOGLE_CLOUD_BUCKET_NAME = 'minis_cli_app_builds';
16
+ // Put bucket creation in to it's own function to make it easier to mock
17
+ const getBucket = () => {
18
+ return new Storage({ authClient: new PassThroughClient() }).bucket(GOOGLE_CLOUD_BUCKET_NAME);
19
+ };
20
+ export const metadataToBucketPath = (metadata) => `${metadata.version}/${metadataToBinaryFileName(metadata)}`;
21
+ /**
22
+ * Downloads a binary from the remote storage
23
+ * @returns Promise that resolves to the downloaded version
24
+ */
25
+ export async function downloadBinary(versionToDownload, { onProgress, } = {}) {
26
+ outputDebug(`Downloading Shop app ${JSON.stringify(versionToDownload)}`);
27
+ const isVersionAlreadyDownloaded = await isVersionAvailableLocally(versionToDownload);
28
+ if (isVersionAlreadyDownloaded) {
29
+ outputDebug(`Shop app version already downloaded`);
30
+ onProgress?.(100);
31
+ return versionToDownload;
32
+ }
33
+ const localFileName = metadataToBinaryFileName(versionToDownload);
34
+ const remoteBucketPath = metadataToBucketPath(versionToDownload);
35
+ let fileSize = 0;
36
+ try {
37
+ const [metadata] = await getBucket().file(remoteBucketPath).getMetadata();
38
+ fileSize =
39
+ typeof metadata.size === 'number'
40
+ ? metadata.size
41
+ : parseInt(metadata.size, 10);
42
+ if (isNaN(fileSize)) {
43
+ throw new Error('Invalid file size'); // the error message will be overwriten in the catch below anyway
44
+ }
45
+ }
46
+ catch (err) {
47
+ throw new Error(`Binary for version ${versionToDownload.version}+${versionToDownload.build} not found`);
48
+ }
49
+ return new Promise((resolve, reject) => {
50
+ const writeStream = createWriteStream(`${PATHS.CACHE_DIR}/${localFileName}`);
51
+ const progressInterval = setInterval(() => {
52
+ const progress = Math.round((writeStream.bytesWritten / fileSize) * 100);
53
+ onProgress?.(progress);
54
+ }, 200);
55
+ http.get(`${CDN_ADDRESS}${remoteBucketPath}`, cdnResponse => {
56
+ cdnResponse.pipe(writeStream);
57
+ writeStream.on('finish', () => {
58
+ writeStream.close();
59
+ outputDebug(`Shop app downloaded complete`);
60
+ onProgress?.(100);
61
+ resolve(versionToDownload);
62
+ clearInterval(progressInterval);
63
+ });
64
+ writeStream.on('error', err => {
65
+ outputDebug(`Shop app downloaded failed`);
66
+ reject(err);
67
+ clearInterval(progressInterval);
68
+ });
69
+ });
70
+ });
71
+ }
72
+ /**
73
+ * Returns the latest version that's present in the remote storage of binaries
74
+ * TODO: this won't handle a bucket that has more than 50 files.
75
+ */
76
+ export async function getLatestRemoteVersion(platform, type) {
77
+ const versions = await getRemoteVersions();
78
+ // newest first
79
+ const sortedVersions = versions.sort(compare).reverse();
80
+ // iterate over versions, in case newest version(s) don't contain builds for the given platform/type
81
+ for (const version of sortedVersions) {
82
+ const prefix = `${version}/`;
83
+ const [filesMetadata] = await getBucket().getFiles({
84
+ prefix,
85
+ });
86
+ const fileNames = filesMetadata
87
+ .map(file => file.name)
88
+ // extract filename from GCS bucket path
89
+ .map(path => basename(path));
90
+ const latestVersion = getLatestVersionFromFilesList(fileNames, platform, type);
91
+ if (latestVersion != null) {
92
+ return latestVersion;
93
+ }
94
+ }
95
+ return null;
96
+ }
97
+ /**
98
+ * Returns a list of all the versions that are present in the remote bucket,
99
+ * regardless of platform or build type
100
+ */
101
+ async function getRemoteVersions() {
102
+ // GCS doesn't have a concept of 'folders', so we just list prefixes (which are the version numbers)
103
+ // and remove the trailing delimiter ('/')
104
+ let query = {
105
+ delimiter: '/',
106
+ // intentionally set to false to keep `apiResponse`
107
+ // see: https://github.com/googleapis/google-cloud-node/issues/2594
108
+ autoPaginate: false,
109
+ };
110
+ const prefixes = [];
111
+ // loop to handle pagination
112
+ do {
113
+ const [_files, nextQuery, apiResponse] = await getBucket().getFiles(query);
114
+ const newPrefixes = apiResponse.prefixes ?? [];
115
+ prefixes.push(...newPrefixes);
116
+ query = nextQuery;
117
+ } while (query != null);
118
+ return (prefixes
119
+ // remove trailing delimiter
120
+ .map(prefix => prefix.replace(/\/$/, ''))
121
+ // validate that we only have 'x.y.z', not 'x.y.z-rc.1' or 'x.y.z+123'
122
+ .filter(prefix => {
123
+ const parsed = parse(prefix);
124
+ return (parsed != null &&
125
+ parsed.build.length === 0 &&
126
+ parsed.prerelease.length === 0);
127
+ }));
128
+ }
129
+ //# sourceMappingURL=network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/network.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export declare enum Platform {
2
+ IOS = "ios",
3
+ Android = "android"
4
+ }
5
+ /**
6
+ * Returns the platform for a given file extension.
7
+ */
8
+ export declare function getPlatformForBinaryFileExtension(extension: string): Platform;
9
+ /**
10
+ * Returns the platform config for a given platform.
11
+ */
12
+ export declare function getPlatformConfig(platform: Platform | PlatformConfig): Readonly<PlatformConfig>;
13
+ interface PlatformConfig {
14
+ platform: Platform;
15
+ name: string;
16
+ extension: string;
17
+ }
18
+ export {};
@@ -0,0 +1,41 @@
1
+ export var Platform;
2
+ (function (Platform) {
3
+ Platform["IOS"] = "ios";
4
+ Platform["Android"] = "android";
5
+ })(Platform || (Platform = {}));
6
+ /**
7
+ * Returns the platform for a given file extension.
8
+ */
9
+ export function getPlatformForBinaryFileExtension(extension) {
10
+ const platform = Object.values(Platform).find(aPlatform => platformConfigs[aPlatform].extension === extension);
11
+ if (platform == null) {
12
+ throw new Error(`Invalid extension: ${extension}`);
13
+ }
14
+ return platform;
15
+ }
16
+ /**
17
+ * Returns the platform config for a given platform.
18
+ */
19
+ export function getPlatformConfig(platform) {
20
+ if (typeof platform === 'object') {
21
+ return platform;
22
+ }
23
+ const config = platformConfigs[platform];
24
+ if (config == null) {
25
+ throw new Error(`Invalid platform: ${platform}`);
26
+ }
27
+ return Object.freeze(config);
28
+ }
29
+ const platformConfigs = {
30
+ ios: {
31
+ platform: Platform.IOS,
32
+ name: 'iOS',
33
+ extension: 'app.zip',
34
+ },
35
+ android: {
36
+ platform: Platform.Android,
37
+ name: 'Android',
38
+ extension: 'apk',
39
+ },
40
+ };
41
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/platform.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,+BAAmB,CAAA;AACrB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,SAAiB;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC3C,SAAS,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,SAAS,KAAK,SAAS,CAChE,CAAA;IAED,IAAI,QAAQ,IAAI,IAAI,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAA;KACnD;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAmC;IACnE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,OAAO,QAAQ,CAAA;KAChB;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;IAExC,IAAI,MAAM,IAAI,IAAI,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAA;KACjD;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAQD,MAAM,eAAe,GAAqC;IACxD,GAAG,EAAE;QACH,QAAQ,EAAE,QAAQ,CAAC,GAAG;QACtB,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,SAAS;KACrB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,KAAK;KACjB;CACF,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const promptBinaryUpgrade: () => Promise<boolean>;
@@ -0,0 +1,12 @@
1
+ import prompts from 'prompts';
2
+ export const promptBinaryUpgrade = async () => {
3
+ // prompt to download the latest version
4
+ const { wantsUpdate } = await prompts({
5
+ type: 'confirm',
6
+ initial: true,
7
+ name: 'wantsUpdate',
8
+ message: "There's a new version of Shop available. Do you want to upgrade?",
9
+ });
10
+ return Boolean(wantsUpdate);
11
+ };
12
+ //# sourceMappingURL=prompt-binary-upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-binary-upgrade.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/prompt-binary-upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;IAC5C,wCAAwC;IACxC,MAAM,EAAC,WAAW,EAAC,GAAG,MAAM,OAAO,CAAC;QAClC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,kEAAkE;KAC5E,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,WAAW,CAAC,CAAA;AAC7B,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Read the version of the react-native package in the context of the running mini
3
+ */
4
+ export declare function getReactNativeVersion(): string | undefined;
@@ -0,0 +1,23 @@
1
+ import { createRequire } from 'node:module';
2
+ import path from 'node:path';
3
+ /**
4
+ * Read the version of the react-native package in the context of the running mini
5
+ */
6
+ export function getReactNativeVersion() {
7
+ try {
8
+ const localRequire = createRequire(process.cwd());
9
+ const rnDir = localRequire(path.join(process.cwd(), 'node_modules', 'react-native', 'package.json'));
10
+ if (!rnDir?.version) {
11
+ console.log('\n ⚠️ react-native version could not be found\n');
12
+ return undefined;
13
+ }
14
+ return rnDir?.version;
15
+ }
16
+ catch (err) {
17
+ console.log('\n ⚠️ react-native version could not be read due to errors:\n');
18
+ console.log(err);
19
+ console.log('\n');
20
+ return undefined;
21
+ }
22
+ }
23
+ //# sourceMappingURL=react-native-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-native-version.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/react-native-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAA;AACzC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI;QACF,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,YAAY,CACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CACzE,CAAA;QAED,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;YAC/D,OAAO,SAAS,CAAA;SACjB;QAED,OAAO,KAAK,EAAE,OAAO,CAAA;KACtB;IAAC,OAAO,GAAQ,EAAE;QACjB,OAAO,CAAC,GAAG,CACT,gEAAgE,CACjE,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEjB,OAAO,SAAS,CAAA;KACjB;AACH,CAAC"}
@@ -0,0 +1,22 @@
1
+ interface SimCtlListDevice {
2
+ dataPath: string;
3
+ dataPathSize: number;
4
+ logPath: string;
5
+ udid: string;
6
+ isAvailable: boolean;
7
+ deviceTypeIdentifier: string;
8
+ state: string;
9
+ name: string;
10
+ }
11
+ interface EnhancedSimCtlListDevice extends SimCtlListDevice {
12
+ osVersion: string;
13
+ }
14
+ export declare function promptForSimulator(): Promise<EnhancedSimCtlListDevice | null | undefined>;
15
+ export declare function getInstalledShopVersion(udid: string): Promise<{
16
+ version: string;
17
+ build: string;
18
+ } | null>;
19
+ export declare function bootSimulator(udid: string): Promise<void>;
20
+ export declare function installShopInSimulator(udid: string, fileName: string): Promise<void>;
21
+ export declare function deeplinkToSimulator(udid: string, deeplink: string): Promise<void>;
22
+ export {};
@@ -0,0 +1,113 @@
1
+ import { rm, stat } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ import chalk from 'chalk';
4
+ import _ from 'lodash';
5
+ import prompts from 'prompts';
6
+ import { outputDebug, outputInfo } from '@shopify/cli-kit/node/output';
7
+ import { PATHS } from '../../config.js';
8
+ import { execAsync } from '../../../utils/exec-async-child-process.js';
9
+ import { cleanupMinisCache } from './cache-cleanup.js';
10
+ async function getSelectableSimulators() {
11
+ try {
12
+ const { stdout } = await execAsync('xcrun simctl list devices --json');
13
+ const simctlOutput = JSON.parse(stdout.join(''));
14
+ const simulators = Object.keys(simctlOutput.devices)
15
+ .filter(runtime => runtime.includes('iOS'))
16
+ .reduce((devices, runtime) => [
17
+ ...devices,
18
+ ...simctlOutput.devices[runtime].map(device => ({
19
+ ...device,
20
+ osVersion: _.last(runtime.split('.')),
21
+ })),
22
+ ], []);
23
+ return simulators.filter(device => device.isAvailable && device.name.includes('iPhone'));
24
+ }
25
+ catch (error) {
26
+ if (error.stderr?.includes('unable to find utility "simctl"')) {
27
+ outputInfo(`Xcode needs to be installed to run the Mini on an iOS simulator.\n` +
28
+ `Download Xcode from: ${chalk.blue.underline.bold('https://developer.apple.com/xcode/')}`);
29
+ }
30
+ else {
31
+ console.error('Failed to get simulators.', error);
32
+ }
33
+ return [];
34
+ }
35
+ }
36
+ export async function promptForSimulator() {
37
+ const devices = await getSelectableSimulators();
38
+ if (devices.length === 0) {
39
+ return null;
40
+ }
41
+ const sortedDevices = [
42
+ ...devices.filter(device => device.state === 'Booted'),
43
+ ...devices.filter(device => device.state !== 'Booted'),
44
+ ];
45
+ const { value } = await prompts({
46
+ type: 'select',
47
+ name: 'value',
48
+ limit: 11,
49
+ message: 'Select a simulator',
50
+ choices: sortedDevices.map(item => {
51
+ const isActive = item.state === 'Booted';
52
+ const format = isActive ? chalk.bold : (text) => text;
53
+ return {
54
+ title: `${format(item.name)} ${chalk.dim(`(${item.osVersion})`)}`,
55
+ value: item.udid,
56
+ };
57
+ }),
58
+ suggest: (input, choices) => {
59
+ const regex = new RegExp(input, 'i');
60
+ return choices.filter((choice) => regex.test(choice.title));
61
+ },
62
+ });
63
+ return value ? devices.find(device => device.udid === value) : null;
64
+ }
65
+ export async function getInstalledShopVersion(udid) {
66
+ try {
67
+ const { stdout: CFBundleShortVersionString } = await execAsync(`defaults read $(xcrun simctl get_app_container ${udid} com.shopifyinternal.arrive)/Info CFBundleShortVersionString`);
68
+ const { stdout: CFBundleVersion } = await execAsync(`defaults read $(xcrun simctl get_app_container ${udid} com.shopifyinternal.arrive)/Info CFBundleVersion`);
69
+ const installedVersion = CFBundleShortVersionString[0]; // 2.86.0-snapshot+1674205229
70
+ const build = CFBundleVersion[0]; // 1674205229
71
+ const version = installedVersion.split('-')[0];
72
+ return {
73
+ version,
74
+ build,
75
+ };
76
+ }
77
+ catch (error) {
78
+ console.error('\nFailed to get Shop version');
79
+ await cleanupMinisCache();
80
+ return null;
81
+ }
82
+ }
83
+ export async function bootSimulator(udid) {
84
+ try {
85
+ await execAsync(`xcrun simctl boot ${udid}`);
86
+ }
87
+ catch (error) {
88
+ if (!error.stderr?.match(/Unable to boot device in current state: Booted/)) {
89
+ throw error;
90
+ }
91
+ }
92
+ await execAsync(`open -a Simulator.app --args -CurrentDeviceUDID ${udid}`);
93
+ }
94
+ export async function installShopInSimulator(udid, fileName) {
95
+ outputDebug(`Install Shop in iOS simulator ${JSON.stringify({ udid, fileName })}`);
96
+ const inputPath = join(PATHS.CACHE_DIR, fileName);
97
+ const outputPath = join(PATHS.CACHE_DIR, 'Shop.app');
98
+ // remove any existing Shop.app
99
+ try {
100
+ await stat(outputPath);
101
+ await rm(outputPath, { recursive: true });
102
+ }
103
+ catch {
104
+ // file doesn't exist, so we can move on
105
+ }
106
+ await execAsync(`unzip -o '${inputPath}' -d '${outputPath}' -x '__MACOSX/*'`);
107
+ await execAsync(`xcrun simctl install ${udid} ${outputPath}`);
108
+ }
109
+ export async function deeplinkToSimulator(udid, deeplink) {
110
+ // TODO: deeplink doesn't seem to be working in iphone SE
111
+ await execAsync(`xcrun simctl openurl ${udid} "${deeplink}"`);
112
+ }
113
+ //# sourceMappingURL=simulator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulator.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/simulator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Platform } from '../platform.js';
2
+ import { StartAppPlatformHooks } from './types.js';
3
+ export declare const StartAppHandlersIOS: StartAppPlatformHooks;
4
+ export declare const StartAppHandlersAndroid: StartAppPlatformHooks;
5
+ export declare const handlersForPlatform: (platform: Platform) => StartAppPlatformHooks;
@@ -0,0 +1,24 @@
1
+ import { Platform } from '../platform.js';
2
+ import { deeplinkToSimulator, installShopInSimulator, getInstalledShopVersion as getInstalledShopVersionIOS, } from '../simulator.js';
3
+ import { deeplinkToEmulator, installShopInEmulator, getInstalledShopVersion as getInstalledShopVersionAndroid, } from '../android.js';
4
+ export const StartAppHandlersIOS = {
5
+ getInstalledShopVersion: getInstalledShopVersionIOS,
6
+ installShop: installShopInSimulator,
7
+ openDeeplink: deeplinkToSimulator,
8
+ };
9
+ export const StartAppHandlersAndroid = {
10
+ getInstalledShopVersion: getInstalledShopVersionAndroid,
11
+ installShop: installShopInEmulator,
12
+ openDeeplink: async (aDeviceId, deeplink) => {
13
+ await deeplinkToEmulator(aDeviceId, deeplink);
14
+ },
15
+ };
16
+ export const handlersForPlatform = (platform) => {
17
+ switch (platform) {
18
+ case Platform.IOS:
19
+ return StartAppHandlersIOS;
20
+ case Platform.Android:
21
+ return StartAppHandlersAndroid;
22
+ }
23
+ };
24
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/commands/dev/utils/start-app/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AACvC,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,IAAI,0BAA0B,GACtD,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,IAAI,8BAA8B,GAC1D,MAAM,eAAe,CAAA;AAItB,MAAM,CAAC,MAAM,mBAAmB,GAA0B;IACxD,uBAAuB,EAAE,0BAA0B;IACnD,WAAW,EAAE,sBAAsB;IACnC,YAAY,EAAE,mBAAmB;CAClC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,uBAAuB,EAAE,8BAA8B;IACvD,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,KAAK,EAAE,SAAiB,EAAE,QAAgB,EAAE,EAAE;QAC1D,MAAM,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAkB,EAAE,EAAE;IACxD,QAAQ,QAAQ,EAAE;QAChB,KAAK,QAAQ,CAAC,GAAG;YACf,OAAO,mBAAmB,CAAA;QAC5B,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,uBAAuB,CAAA;KACjC;AACH,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { LoadingStateHandlers } from '../../../../utils/loading-state-handlers.js';
2
+ import { StartAppParameters, StartAppPlatformHooks } from './types.js';
3
+ export declare const startAppWithOptions: ({ deviceId, platform, deeplink, buildType, snapshotVersion, }: StartAppParameters, { getInstalledShopVersion, installShop, openDeeplink }: StartAppPlatformHooks, loadingHandlers: LoadingStateHandlers | null) => Promise<void>;