@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":"v0-0-79.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-79.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B;;GAEG;AACH,KAAK,UAAU,YAAY;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;QACtE,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE;YAC3D,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;QACzD,OAAO,YAAY,CAAC,MAAM,CAAA;QAE1B,EAAE,CAAC,aAAa,CACd,gBAAgB,EAChB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAC5C;YACE,QAAQ,EAAE,OAAO;SAClB,CACF,CAAA;KACF;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAA;IACnE,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE;QACzD,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAA;IACF,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,OAAO,CACxD,uBAAuB,EACvB,gCAAgC,CACjC,CAAA;IACD,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,wBAAwB,EAAE;QAC1D,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,yBAAyB,CAAC,CAAA;AAEhD,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;CAC9B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,41 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ /**
5
+ * Replaces the content of .eslintrc.js with the updated location for minis.graqhl
6
+ *
7
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.83...v0.0.84
8
+ */
9
+ async function applyUpgrade() {
10
+ // persist updated .eslintrc.js
11
+ fs.writeFileSync(path.join(process.cwd(), '.eslintrc.js'), newEslintRcContent, {
12
+ encoding: 'utf-8',
13
+ });
14
+ }
15
+ const releaseNotes = [
16
+ 'Replaced the content of .eslintrc.js with the updated location for minis.graqhl',
17
+ ];
18
+ const newEslintRcContent = `module.exports = {
19
+ root: true,
20
+ extends: ['plugin:@shopify/shop-minis/all'],
21
+ settings: {
22
+ react: {
23
+ version: 'detect',
24
+ },
25
+ },
26
+ parserOptions: {
27
+ ecmaVersion: 6,
28
+ project: './tsconfig.json',
29
+ schema:
30
+ 'node_modules/@shopify/shop-minis-platform-sdk/src/api/schema/minis.graphql',
31
+ operations: '**/*.graphql',
32
+ },
33
+ }
34
+ `;
35
+ const exports = {
36
+ releaseNotes,
37
+ applyUpgrade,
38
+ version: new SemVer('0.0.84'),
39
+ };
40
+ export default exports;
41
+ //# sourceMappingURL=v0-0-84.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-84.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-84.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,+BAA+B;IAC/B,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EACxC,kBAAkB,EAClB;QACE,QAAQ,EAAE,OAAO;KAClB,CACF,CAAA;AACH,CAAC;AAED,MAAM,YAAY,GAAG;IACnB,iFAAiF;CAClF,CAAA;AAED,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;CAgB1B,CAAA;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;CAC9B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,60 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ /**
5
+ * src/types.ts was removed from the blank template because it was unused
6
+ * templates were refactored and the screens folder was removed in favour of a single App.tsx file
7
+ * deprecated Wrapper params were removed in index.tsx
8
+ *
9
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.84...v0.0.85
10
+ */
11
+ async function applyUpgrade() {
12
+ if (process.env.INTERNAL_CODEMODS) {
13
+ // this file was removed from the blank template because it was unused
14
+ fs.rmSync(path.join(process.cwd(), 'src', 'types.ts'));
15
+ // the screens folder was removed as part of a refactor in the blank template, now the code lives in a single file in src/App.tsx
16
+ fs.rmSync(path.join(process.cwd(), 'src', 'screens'), { recursive: true });
17
+ fs.writeFileSync(path.join(process.cwd(), 'src', 'App.tsx'), newBlankTemplateAppContent, { encoding: 'utf-8' });
18
+ fs.writeFileSync(path.join(process.cwd(), 'src', 'index.tsx'), newBlankTemplateIndexContent, { encoding: 'utf-8' });
19
+ }
20
+ // removes deprecated params props from index.tsx
21
+ const indexTsxPath = path.join(process.cwd(), 'index.tsx');
22
+ const indexTsxContent = fs.readFileSync(indexTsxPath, { encoding: 'utf-8' });
23
+ const newIndexTsxContent = indexTsxContent
24
+ .split('\n')
25
+ .filter(lineOfCode => !lineOfCode.includes('params = {}') && // remove line containing params = {}
26
+ !lineOfCode.includes('params={params}') // remove line containing params={params}
27
+ )
28
+ .join('\n');
29
+ fs.writeFileSync(indexTsxPath, newIndexTsxContent, { encoding: 'utf-8' });
30
+ }
31
+ const releaseNotes = [
32
+ 'Removes deprecated prop "params" from index.tsx',
33
+ ];
34
+ const newBlankTemplateAppContent = `import {Box, Text} from '@shopify/shop-minis-platform-sdk'
35
+
36
+ export function App() {
37
+ return (
38
+ <Box flex={1} padding="m" backgroundColor="backgrounds-regular">
39
+ <Text textAlign="center">Fill in the blank</Text>
40
+ </Box>
41
+ )
42
+ }
43
+ `;
44
+ const newBlankTemplateIndexContent = `import {MiniAppConfig} from '@shopify/shop-minis-platform-sdk'
45
+
46
+ import {App} from './App'
47
+
48
+ const config: MiniAppConfig = {
49
+ Root: App,
50
+ }
51
+
52
+ export default config
53
+ `;
54
+ const exports = {
55
+ releaseNotes,
56
+ applyUpgrade,
57
+ version: new SemVer('0.0.85'),
58
+ };
59
+ export default exports;
60
+ //# sourceMappingURL=v0-0-85.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-85.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-85.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B;;;;;;GAMG;AACH,KAAK,UAAU,YAAY;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QACjC,sEAAsE;QACtE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;QACtD,iIAAiI;QACjI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;QACxE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,EAC1C,0BAA0B,EAC1B,EAAC,QAAQ,EAAE,OAAO,EAAC,CACpB,CAAA;QACD,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,EAC5C,4BAA4B,EAC5B,EAAC,QAAQ,EAAE,OAAO,EAAC,CACpB,CAAA;KACF;IAED,iDAAiD;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;IAC1D,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAA;IAC1E,MAAM,kBAAkB,GAAG,eAAe;SACvC,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CACL,UAAU,CAAC,EAAE,CACX,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,qCAAqC;QAC5E,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,yCAAyC;KACpF;SACA,IAAI,CAAC,IAAI,CAAC,CAAA;IACb,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,kBAAkB,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,YAAY,GAAa;IAC7B,iDAAiD;CAClD,CAAA;AAED,MAAM,0BAA0B,GAAG;;;;;;;;;CASlC,CAAA;AACD,MAAM,4BAA4B,GAAG;;;;;;;;;CASpC,CAAA;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;CAC9B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,60 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ /**
5
+ * Re-introduce <SafeAreaView /> to the blank template
6
+ *
7
+ * This will not apply to real minis and is mostly for the sake of testing
8
+ *
9
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.88...v0.0.89
10
+ */
11
+ async function applyUpgrade() {
12
+ const existingAppTsxPath = path.join(process.cwd(), 'src', 'App.tsx');
13
+ let existingAppTsxContent = null;
14
+ try {
15
+ existingAppTsxContent = fs.readFileSync(existingAppTsxPath, {
16
+ encoding: 'utf-8',
17
+ });
18
+ }
19
+ catch (error) {
20
+ // If the App.tsx file doesn't exist or is unreadable for some reason, we don't need to do anything
21
+ return;
22
+ }
23
+ // Only apply the upgrade if the App.tsx file is still the old blank template
24
+ if (existingAppTsxContent === oldBlankTemplateAppContent) {
25
+ fs.writeFileSync(existingAppTsxPath, newBlankTemplateAppContent, {
26
+ encoding: 'utf-8',
27
+ });
28
+ }
29
+ }
30
+ const releaseNotes = ['Add <SafeAreaView /> to the blank template'];
31
+ const oldBlankTemplateAppContent = `import {Box, Text} from '@shopify/shop-minis-platform-sdk'
32
+
33
+ export function App() {
34
+ return (
35
+ <Box flex={1} padding="m" backgroundColor="backgrounds-regular">
36
+ <Text textAlign="center">Fill in the blank</Text>
37
+ </Box>
38
+ )
39
+ }
40
+ `;
41
+ const newBlankTemplateAppContent = `import {SafeAreaView} from 'react-native'
42
+ import {Box, Text} from '@shopify/shop-minis-platform-sdk'
43
+
44
+ export function App() {
45
+ return (
46
+ <SafeAreaView style={{flex: 1}}>
47
+ <Box flex={1} padding="m" backgroundColor="backgrounds-regular">
48
+ <Text textAlign="center">Fill in the blank</Text>
49
+ </Box>
50
+ </SafeAreaView>
51
+ )
52
+ }
53
+ `;
54
+ const exports = {
55
+ releaseNotes,
56
+ applyUpgrade,
57
+ version: new SemVer('0.0.89'),
58
+ };
59
+ export default exports;
60
+ //# sourceMappingURL=v0-0-89.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-89.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-89.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B;;;;;;GAMG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACrE,IAAI,qBAAqB,GAAG,IAAI,CAAA;IAEhC,IAAI;QACF,qBAAqB,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE;YAC1D,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;KACH;IAAC,OAAO,KAAK,EAAE;QACd,mGAAmG;QACnG,OAAM;KACP;IAED,6EAA6E;IAC7E,IAAI,qBAAqB,KAAK,0BAA0B,EAAE;QACxD,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,0BAA0B,EAAE;YAC/D,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;KACH;AACH,CAAC;AAED,MAAM,YAAY,GAAa,CAAC,4CAA4C,CAAC,CAAA;AAE7E,MAAM,0BAA0B,GAAG;;;;;;;;;CASlC,CAAA;AACD,MAAM,0BAA0B,GAAG;;;;;;;;;;;;CAYlC,CAAA;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;CAC9B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from '../types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,38 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ import { replaceAllSafeAreaImports } from './replace-safe-area-imports.js';
5
+ import { replaceDevWrapper } from './replace-dev-wrapper.js';
6
+ /**
7
+ * The concept of `features` was added to `manifest.json` with a single feature toggle for `"FULL_BLEED_VIEWER"`.
8
+ * This upgrade exists to add it to the blank template to satisfy our tests, we are not automatically
9
+ * adding it to partner minis.
10
+ *
11
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.84...v0.0.85
12
+ */
13
+ async function applyUpgrade() {
14
+ if (process.env.INTERNAL_CODEMODS) {
15
+ const manifestJsonPath = path.join(process.cwd(), 'src/manifest.json');
16
+ const manifestJsonString = await readFile(manifestJsonPath, {
17
+ encoding: 'utf-8',
18
+ });
19
+ const manifestJson = JSON.parse(manifestJsonString) || {};
20
+ manifestJson.features = ['FULL_BLEED_VIEWER'];
21
+ await writeFile(manifestJsonPath, `${JSON.stringify(manifestJson, null, 2)}\n`, {
22
+ encoding: 'utf-8',
23
+ });
24
+ }
25
+ await replaceAllSafeAreaImports();
26
+ await replaceDevWrapper();
27
+ }
28
+ const releaseNotes = [
29
+ 'Changes `SafeAreaView` imports to come from `@shopify/shop-minis-platform-sdk`',
30
+ 'Replaces deprecated Wrapper component from `@shopify/shop-minis-platform-sdk` with DevelopmentMiniWrapper from `@shopify/shop-minis-runtime`',
31
+ ];
32
+ const exports = {
33
+ releaseNotes,
34
+ applyUpgrade,
35
+ version: new SemVer('0.0.91'),
36
+ };
37
+ export default exports;
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-91/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAA;AAE1D;;;;;;GAMG;AACH,KAAK,UAAU,YAAY;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;QACtE,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAC1D,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;QAEzD,YAAY,CAAC,QAAQ,GAAG,CAAC,mBAAmB,CAAC,CAAA;QAE7C,MAAM,SAAS,CACb,gBAAgB,EAChB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAC5C;YACE,QAAQ,EAAE,OAAO;SAClB,CACF,CAAA;KACF;IAED,MAAM,yBAAyB,EAAE,CAAA;IACjC,MAAM,iBAAiB,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,YAAY,GAAa;IAC7B,gFAAgF;IAChF,8IAA8I;CAC/I,CAAA;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;CAC9B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Replaces usage of the deprecated Wrapper component from the minis sdk with DevelopmentMiniWrapper
3
+ * from shop-minis-runtime
4
+ */
5
+ export declare function replaceDevWrapper(): Promise<void>;
@@ -0,0 +1,45 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { getRunBinCommand } from '../../../../utils/package-manager.js';
4
+ import { execAsync } from '../../../../utils/exec-async-child-process.js';
5
+ /**
6
+ * Replaces usage of the deprecated Wrapper component from the minis sdk with DevelopmentMiniWrapper
7
+ * from shop-minis-runtime
8
+ */
9
+ export async function replaceDevWrapper() {
10
+ try {
11
+ const indexTsxPath = path.join(process.cwd(), 'index.tsx');
12
+ let indexTsxContent = await readFile(indexTsxPath, {
13
+ encoding: 'utf-8',
14
+ });
15
+ if (indexTsxContent.includes('DevelopmentMiniWrapper')) {
16
+ // do nothing if the mini is already using the development mini wrapper from shop-minis-runtime
17
+ return;
18
+ }
19
+ // delete unused imports
20
+ indexTsxContent = indexTsxContent.replace("import {ShopActionsProvider} from '@shopify/shop-minis-platform-sdk/actions'", '');
21
+ indexTsxContent = indexTsxContent.replace("import {useNativeEventEmitterShopActions} from '@shopify/shop-minis-platform-sdk'", '');
22
+ // replace wrapper import
23
+ indexTsxContent = indexTsxContent.replace("import {Wrapper} from '@shopify/shop-minis-platform-sdk/src/components/Wrapper'", "import {DevelopmentMiniWrapper} from '@shopify/shop-minis-runtime/src/components/DevelopmentMiniWrapper'");
24
+ // replace potential extra empty line after replacing imports
25
+ indexTsxContent = indexTsxContent.replace('\n\n', '\n');
26
+ // delete unused code required to support the old wrapper
27
+ indexTsxContent = indexTsxContent.replace('const actions = useNativeEventEmitterShopActions()', '');
28
+ indexTsxContent = indexTsxContent.replace('<ShopActionsProvider value={actions}>', '');
29
+ indexTsxContent = indexTsxContent.replace('</ShopActionsProvider>', '');
30
+ // replace wrapper component
31
+ indexTsxContent = indexTsxContent.replace('<Wrapper', '<DevelopmentMiniWrapper');
32
+ indexTsxContent = indexTsxContent.replace('</Wrapper>', '</DevelopmentMiniWrapper>');
33
+ await writeFile(indexTsxPath, indexTsxContent, {
34
+ encoding: 'utf-8',
35
+ });
36
+ // format the file with prettier
37
+ await execAsync({
38
+ cmd: await getRunBinCommand(`prettier -w ${indexTsxPath}`),
39
+ });
40
+ }
41
+ catch (error) {
42
+ // do nothing if the file does not exist
43
+ }
44
+ }
45
+ //# sourceMappingURL=replace-dev-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-dev-wrapper.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-91/replace-dev-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,gBAAgB,EAAC,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,+CAA+C,CAAA;AAEvE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;QAC1D,IAAI,eAAe,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE;YACjD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,IAAI,eAAe,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;YACtD,+FAA+F;YAC/F,OAAM;SACP;QAED,wBAAwB;QACxB,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,8EAA8E,EAC9E,EAAE,CACH,CAAA;QACD,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,mFAAmF,EACnF,EAAE,CACH,CAAA;QAED,yBAAyB;QACzB,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,iFAAiF,EACjF,0GAA0G,CAC3G,CAAA;QACD,6DAA6D;QAC7D,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEvD,yDAAyD;QACzD,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,oDAAoD,EACpD,EAAE,CACH,CAAA;QACD,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,uCAAuC,EACvC,EAAE,CACH,CAAA;QACD,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAA;QAEvE,4BAA4B;QAC5B,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,UAAU,EACV,yBAAyB,CAC1B,CAAA;QACD,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,YAAY,EACZ,2BAA2B,CAC5B,CAAA;QAED,MAAM,SAAS,CAAC,YAAY,EAAE,eAAe,EAAE;YAC7C,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,gCAAgC;QAChC,MAAM,SAAS,CAAC;YACd,GAAG,EAAE,MAAM,gBAAgB,CAAC,eAAe,YAAY,EAAE,CAAC;SAC3D,CAAC,CAAA;KACH;IAAC,OAAO,KAAK,EAAE;QACd,wCAAwC;KACzC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function replaceAllSafeAreaImports(): Promise<void>;
@@ -0,0 +1,97 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import jscodeshift from 'jscodeshift';
4
+ import { glob } from '@shopify/cli-kit/node/fs';
5
+ import { outputDebug } from '@shopify/cli-kit/node/output';
6
+ import { execAsync } from '../../../../utils/exec-async-child-process.js';
7
+ import { getRunBinCommand } from '../../../../utils/package-manager.js';
8
+ const isImportSpecifier = (specifier) => Boolean(specifier && specifier.type === 'ImportSpecifier');
9
+ const isSafeAreaViewImportSpecifier = (specifier) => Boolean(isImportSpecifier(specifier) && specifier.imported.name === 'SafeAreaView');
10
+ const replaceImports = (fileContents) => {
11
+ const j = jscodeshift.withParser('tsx');
12
+ const root = j(fileContents);
13
+ let foundImportToReplace = false;
14
+ // Find and remove SafeAreaView from 'react-native' and 'react-native-safe-area-context' imports
15
+ root
16
+ .find(j.ImportDeclaration)
17
+ .filter(result => result.node.source.value === 'react-native' ||
18
+ result.node.source.value === 'react-native-safe-area-context')
19
+ .forEach(result => {
20
+ if (!result.node.specifiers?.some(isSafeAreaViewImportSpecifier))
21
+ return;
22
+ foundImportToReplace = true;
23
+ const newSpecifiers = result.node.specifiers?.filter(specifier => !isSafeAreaViewImportSpecifier(specifier)) || [];
24
+ if (newSpecifiers.length === 0) {
25
+ j(result).remove();
26
+ }
27
+ else {
28
+ result.node.specifiers = newSpecifiers;
29
+ }
30
+ });
31
+ // We can bail out early if there wasn't anything to replace
32
+ if (!foundImportToReplace)
33
+ return fileContents;
34
+ // Find or create import declaration for '@shopify/shop-minis-platform-sdk'
35
+ const sdkImport = root
36
+ .find(j.ImportDeclaration)
37
+ .filter(result => result.node.source.value === '@shopify/shop-minis-platform-sdk');
38
+ if (sdkImport.size() === 0) {
39
+ // If there are no imports from '@shopify/shop-minis-platform-sdk', add one
40
+ const importDeclaration = j.importDeclaration([j.importSpecifier(j.identifier('SafeAreaView'))], j.literal('@shopify/shop-minis-platform-sdk'));
41
+ root.get().node.program.body.unshift(importDeclaration);
42
+ }
43
+ else {
44
+ sdkImport.forEach(result => {
45
+ if (!result.node.specifiers) {
46
+ result.node.specifiers = [];
47
+ }
48
+ const hasSafeAreaView = result.node.specifiers.some(isSafeAreaViewImportSpecifier);
49
+ if (!hasSafeAreaView) {
50
+ result.node.specifiers.push(j.importSpecifier(j.identifier('SafeAreaView')));
51
+ }
52
+ });
53
+ }
54
+ // jscodeshift doesn't respect the existing style so try to match it, we will also run prettier so it
55
+ // doesn't matter too much
56
+ return root.toSource({
57
+ quote: 'single',
58
+ objectCurlySpacing: false,
59
+ trailingComma: true,
60
+ reuseWhitespace: true,
61
+ });
62
+ };
63
+ export async function replaceAllSafeAreaImports() {
64
+ const files = await glob('**/*.(js|jsx|ts|tsx)', {
65
+ cwd: path.join(process.cwd(), 'src'),
66
+ absolute: true,
67
+ dot: true,
68
+ followSymbolicLinks: false,
69
+ });
70
+ outputDebug(`Scanning ${files.length} files for SafeAreaView`);
71
+ for (const file of files) {
72
+ try {
73
+ const data = await readFile(file, 'utf8');
74
+ if (!data || !data.includes('SafeAreaView')) {
75
+ outputDebug(`- No SafeAreaView found in ${file}`);
76
+ continue;
77
+ }
78
+ outputDebug(`- SafeAreaView potentially found in ${file}`);
79
+ const result = replaceImports(data);
80
+ if (result === data) {
81
+ outputDebug(`- No changes to ${file}`);
82
+ continue;
83
+ }
84
+ outputDebug(`- Saving changes to ${file}`);
85
+ await writeFile(file, result, 'utf8');
86
+ const prettierCmd = await getRunBinCommand(`prettier -w ${file}`);
87
+ outputDebug(`- Running ${prettierCmd}`);
88
+ await execAsync({
89
+ cmd: prettierCmd,
90
+ });
91
+ }
92
+ catch (err) {
93
+ throw new Error(`Failed to update ${file}: ${err}`);
94
+ }
95
+ }
96
+ }
97
+ //# sourceMappingURL=replace-safe-area-imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-safe-area-imports.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-91/replace-safe-area-imports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,38 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ /**
5
+ * Move development config of the Mini from index.tsx in the rootpath to shop-minis-runtime
6
+ *
7
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.91...v0.0.92
8
+ */
9
+ async function applyUpgrade() {
10
+ const indexTsxPath = path.join(process.cwd(), 'index.tsx');
11
+ try {
12
+ fs.writeFileSync(indexTsxPath,
13
+ // for internal codemod we want sandbox to be true so that it matches the value used in starting templates
14
+ // for real partners, we want to set sandbox to false because we assume they are already using their API_KEY
15
+ getIndexFileContent(process.env.INTERNAL_CODEMODS ? 'true' : 'false'), {
16
+ encoding: 'utf-8',
17
+ });
18
+ }
19
+ catch (error) {
20
+ // If index.tsx doesn't exist or is unreadable for some reason, we don't need to do anything
21
+ }
22
+ }
23
+ const getIndexFileContent = (enableApiSandbox) => `import {renderDevelopmentMini} from '@shopify/shop-minis-runtime/src/utils/renderDevelopmentMini'
24
+
25
+ import MiniApp from './src'
26
+
27
+ renderDevelopmentMini(MiniApp.Root, {enableApiSandbox: ${enableApiSandbox}})
28
+ `;
29
+ const releaseNotes = [
30
+ 'Move development config of the Mini from index.tsx in the rootpath to shop-minis-runtime',
31
+ ];
32
+ const exports = {
33
+ releaseNotes,
34
+ applyUpgrade,
35
+ version: new SemVer('0.0.92'),
36
+ };
37
+ export default exports;
38
+ //# sourceMappingURL=v0-0-92.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-92.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-92.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;IAE1D,IAAI;QACF,EAAE,CAAC,aAAa,CACd,YAAY;QACZ,0GAA0G;QAC1G,4GAA4G;QAC5G,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EACrE;YACE,QAAQ,EAAE,OAAO;SAClB,CACF,CAAA;KACF;IAAC,OAAO,KAAK,EAAE;QACd,4FAA4F;KAC7F;AACH,CAAC;AAED,MAAM,mBAAmB,GAAG,CAC1B,gBAAkC,EAClC,EAAE,CAAC;;;;yDAIoD,gBAAgB;CACxE,CAAA;AAED,MAAM,YAAY,GAAa;IAC7B,0FAA0F;CAC3F,CAAA;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;CAC9B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const blankAppTsxAfter = "import {StatusBar} from 'react-native'\nimport {Box, Text, SafeAreaView} from '@shopify/shop-minis-platform-sdk'\n\nexport function App() {\n return (\n <Box flex={1} backgroundColor=\"backgrounds-regular\">\n <StatusBar barStyle=\"dark-content\" />\n <SafeAreaView style={{flex: 1, justifyContent: 'center'}}>\n <Text textAlign=\"center\">Fill in the blank</Text>\n </SafeAreaView>\n </Box>\n )\n}\n";
@@ -0,0 +1,15 @@
1
+ export const blankAppTsxAfter = `import {StatusBar} from 'react-native'
2
+ import {Box, Text, SafeAreaView} from '@shopify/shop-minis-platform-sdk'
3
+
4
+ export function App() {
5
+ return (
6
+ <Box flex={1} backgroundColor="backgrounds-regular">
7
+ <StatusBar barStyle="dark-content" />
8
+ <SafeAreaView style={{flex: 1, justifyContent: 'center'}}>
9
+ <Text textAlign="center">Fill in the blank</Text>
10
+ </SafeAreaView>
11
+ </Box>
12
+ )
13
+ }
14
+ `;
15
+ //# sourceMappingURL=App-after.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App-after.js","sourceRoot":"","sources":["../../../../../../src/commands/codemod/releases/v0-0-93/blank/App-after.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;CAa/B,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const blankAppTsxBefore = "import {Box, Text, SafeAreaView} from '@shopify/shop-minis-platform-sdk'\n\nexport function App() {\n return (\n <SafeAreaView style={{flex: 1}}>\n <Box flex={1} padding=\"m\" backgroundColor=\"backgrounds-regular\">\n <Text textAlign=\"center\">Fill in the blank</Text>\n </Box>\n </SafeAreaView>\n )\n}\n";
@@ -0,0 +1,13 @@
1
+ export const blankAppTsxBefore = `import {Box, Text, SafeAreaView} from '@shopify/shop-minis-platform-sdk'
2
+
3
+ export function App() {
4
+ return (
5
+ <SafeAreaView style={{flex: 1}}>
6
+ <Box flex={1} padding="m" backgroundColor="backgrounds-regular">
7
+ <Text textAlign="center">Fill in the blank</Text>
8
+ </Box>
9
+ </SafeAreaView>
10
+ )
11
+ }
12
+ `;
13
+ //# sourceMappingURL=App-before.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App-before.js","sourceRoot":"","sources":["../../../../../../src/commands/codemod/releases/v0-0-93/blank/App-before.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;CAWhC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './blank/App-before.js';
2
+ export * from './blank/App-after.js';
3
+ export * from './shoppable-posts/App-before.js';
4
+ export * from './shoppable-posts/App-after.js';
5
+ export * from './shoppable-videos/App-before.js';
6
+ export * from './shoppable-videos/App-after.js';
@@ -0,0 +1,7 @@
1
+ export * from './blank/App-before.js';
2
+ export * from './blank/App-after.js';
3
+ export * from './shoppable-posts/App-before.js';
4
+ export * from './shoppable-posts/App-after.js';
5
+ export * from './shoppable-videos/App-before.js';
6
+ export * from './shoppable-videos/App-after.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-93/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const shoppablePostsAppTsxAfter = "import {useMemo} from 'react'\nimport {StatusBar} from 'react-native'\nimport {\n ImageCollectionV2EntryPointItem,\n ShoppablePosts,\n useMinisParams,\n imageCollectionV2EntrypointFixture,\n MINIS_SANDBOX_SHOP_GID,\n SafeAreaView,\n Box,\n} from '@shopify/shop-minis-platform-sdk'\n\nexport function App() {\n const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()\n\n // Fixtures provided in the SDK will get you started without entrypoints.\n // Remove them once you have you have your test store setup with your own entrypoints.\n const entryPoint = _entryPoint || imageCollectionV2EntrypointFixture\n const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID\n\n const shoppablePosts = useMemo(() => {\n const collectionItems =\n entryPoint?.type === 'IMAGE_COLLECTION_V2'\n ? entryPoint.collectionItems\n : []\n return mapEntryPointCollectionItemsToShoppablePosts(collectionItems)\n }, [entryPoint])\n\n return (\n <Box backgroundColor=\"backgrounds-regular\" flex={1}>\n <StatusBar barStyle=\"dark-content\" />\n <SafeAreaView style={{flex: 1}}>\n <ShoppablePosts items={shoppablePosts} shopId={shopGID} />\n </SafeAreaView>\n </Box>\n )\n}\n\nfunction mapEntryPointCollectionItemsToShoppablePosts(\n collectionItems: ImageCollectionV2EntryPointItem[]\n) {\n return collectionItems.map(item => ({\n externalId: item.externalId,\n image: {url: item.image.url},\n description: item.description,\n postedAt: item.displayDate,\n relatedProductsIds: item.relatedProducts.map(\n relatedProduct => relatedProduct.productId\n ),\n }))\n}\n";
@@ -0,0 +1,53 @@
1
+ export const shoppablePostsAppTsxAfter = `import {useMemo} from 'react'
2
+ import {StatusBar} from 'react-native'
3
+ import {
4
+ ImageCollectionV2EntryPointItem,
5
+ ShoppablePosts,
6
+ useMinisParams,
7
+ imageCollectionV2EntrypointFixture,
8
+ MINIS_SANDBOX_SHOP_GID,
9
+ SafeAreaView,
10
+ Box,
11
+ } from '@shopify/shop-minis-platform-sdk'
12
+
13
+ export function App() {
14
+ const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()
15
+
16
+ // Fixtures provided in the SDK will get you started without entrypoints.
17
+ // Remove them once you have you have your test store setup with your own entrypoints.
18
+ const entryPoint = _entryPoint || imageCollectionV2EntrypointFixture
19
+ const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID
20
+
21
+ const shoppablePosts = useMemo(() => {
22
+ const collectionItems =
23
+ entryPoint?.type === 'IMAGE_COLLECTION_V2'
24
+ ? entryPoint.collectionItems
25
+ : []
26
+ return mapEntryPointCollectionItemsToShoppablePosts(collectionItems)
27
+ }, [entryPoint])
28
+
29
+ return (
30
+ <Box backgroundColor="backgrounds-regular" flex={1}>
31
+ <StatusBar barStyle="dark-content" />
32
+ <SafeAreaView style={{flex: 1}}>
33
+ <ShoppablePosts items={shoppablePosts} shopId={shopGID} />
34
+ </SafeAreaView>
35
+ </Box>
36
+ )
37
+ }
38
+
39
+ function mapEntryPointCollectionItemsToShoppablePosts(
40
+ collectionItems: ImageCollectionV2EntryPointItem[]
41
+ ) {
42
+ return collectionItems.map(item => ({
43
+ externalId: item.externalId,
44
+ image: {url: item.image.url},
45
+ description: item.description,
46
+ postedAt: item.displayDate,
47
+ relatedProductsIds: item.relatedProducts.map(
48
+ relatedProduct => relatedProduct.productId
49
+ ),
50
+ }))
51
+ }
52
+ `;
53
+ //# sourceMappingURL=App-after.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App-after.js","sourceRoot":"","sources":["../../../../../../src/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDxC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const shoppablePostsAppTsxBefore = "import {\n ImageCollectionV2EntryPointItem,\n ShoppablePosts,\n useMinisParams,\n imageCollectionV2EntrypointFixture,\n MINIS_SANDBOX_SHOP_GID,\n} from '@shopify/shop-minis-platform-sdk'\nimport {useMemo} from 'react'\n\nexport function App() {\n const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()\n\n // Fixtures provided in the SDK will get you started without entrypoints.\n // Remove them once you have you have your test store setup with your own entrypoints.\n const entryPoint = _entryPoint || imageCollectionV2EntrypointFixture\n const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID\n\n const shoppablePosts = useMemo(() => {\n const collectionItems =\n entryPoint?.type === 'IMAGE_COLLECTION_V2'\n ? entryPoint.collectionItems\n : []\n return mapEntryPointCollectionItemsToShoppablePosts(collectionItems)\n }, [entryPoint])\n\n return <ShoppablePosts items={shoppablePosts} shopId={shopGID} />\n}\n\nfunction mapEntryPointCollectionItemsToShoppablePosts(\n collectionItems: ImageCollectionV2EntryPointItem[]\n) {\n return collectionItems.map(item => ({\n externalId: item.externalId,\n image: {url: item.image.url},\n description: item.description,\n postedAt: item.displayDate,\n relatedProductsIds: item.relatedProducts.map(\n relatedProduct => relatedProduct.productId\n ),\n }))\n}\n";