@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,43 @@
1
+ export const shoppablePostsAppTsxBefore = `import {
2
+ ImageCollectionV2EntryPointItem,
3
+ ShoppablePosts,
4
+ useMinisParams,
5
+ imageCollectionV2EntrypointFixture,
6
+ MINIS_SANDBOX_SHOP_GID,
7
+ } from '@shopify/shop-minis-platform-sdk'
8
+ import {useMemo} from 'react'
9
+
10
+ export function App() {
11
+ const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()
12
+
13
+ // Fixtures provided in the SDK will get you started without entrypoints.
14
+ // Remove them once you have you have your test store setup with your own entrypoints.
15
+ const entryPoint = _entryPoint || imageCollectionV2EntrypointFixture
16
+ const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID
17
+
18
+ const shoppablePosts = useMemo(() => {
19
+ const collectionItems =
20
+ entryPoint?.type === 'IMAGE_COLLECTION_V2'
21
+ ? entryPoint.collectionItems
22
+ : []
23
+ return mapEntryPointCollectionItemsToShoppablePosts(collectionItems)
24
+ }, [entryPoint])
25
+
26
+ return <ShoppablePosts items={shoppablePosts} shopId={shopGID} />
27
+ }
28
+
29
+ function mapEntryPointCollectionItemsToShoppablePosts(
30
+ collectionItems: ImageCollectionV2EntryPointItem[]
31
+ ) {
32
+ return collectionItems.map(item => ({
33
+ externalId: item.externalId,
34
+ image: {url: item.image.url},
35
+ description: item.description,
36
+ postedAt: item.displayDate,
37
+ relatedProductsIds: item.relatedProducts.map(
38
+ relatedProduct => relatedProduct.productId
39
+ ),
40
+ }))
41
+ }
42
+ `;
43
+ //# sourceMappingURL=App-before.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App-before.js","sourceRoot":"","sources":["../../../../../../src/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCzC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const shoppableVideosAppTsxAfter = "import {useMemo} from 'react'\nimport {StatusBar} from 'react-native'\nimport {\n ShoppableVideos,\n VideoCollectionV2EntryPointItem,\n useMinisParams,\n videoCollectionV2EntrypointFixture,\n MINIS_SANDBOX_SHOP_GID,\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 || videoCollectionV2EntrypointFixture\n const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID\n\n const shoppableVideos = useMemo(() => {\n const collectionItems =\n entryPoint?.type === 'VIDEO_COLLECTION_V2'\n ? entryPoint.collectionItems\n : []\n return mapEntryPointCollectionItemsToShoppableVideos(collectionItems)\n }, [entryPoint])\n\n return (\n <Box backgroundColor=\"foregrounds-contrasting-inverted\" flex={1}>\n <StatusBar barStyle=\"light-content\" />\n <ShoppableVideos items={shoppableVideos} shopId={shopGID} />\n </Box>\n )\n}\n\nfunction mapEntryPointCollectionItemsToShoppableVideos(\n collectionItems: VideoCollectionV2EntryPointItem[]\n) {\n return collectionItems.map(item => ({\n externalId: item.externalId,\n videoUrl: item.video.embeddedUrl,\n fallbackImageUrl: item.fallbackImage.url,\n relatedProductsIds: item.relatedProducts.map(\n relatedProduct => relatedProduct.productId\n ),\n }))\n}\n";
@@ -0,0 +1,49 @@
1
+ export const shoppableVideosAppTsxAfter = `import {useMemo} from 'react'
2
+ import {StatusBar} from 'react-native'
3
+ import {
4
+ ShoppableVideos,
5
+ VideoCollectionV2EntryPointItem,
6
+ useMinisParams,
7
+ videoCollectionV2EntrypointFixture,
8
+ MINIS_SANDBOX_SHOP_GID,
9
+ Box,
10
+ } from '@shopify/shop-minis-platform-sdk'
11
+
12
+ export function App() {
13
+ const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()
14
+
15
+ // Fixtures provided in the SDK will get you started without entrypoints.
16
+ // Remove them once you have you have your test store setup with your own entrypoints.
17
+ const entryPoint = _entryPoint || videoCollectionV2EntrypointFixture
18
+ const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID
19
+
20
+ const shoppableVideos = useMemo(() => {
21
+ const collectionItems =
22
+ entryPoint?.type === 'VIDEO_COLLECTION_V2'
23
+ ? entryPoint.collectionItems
24
+ : []
25
+ return mapEntryPointCollectionItemsToShoppableVideos(collectionItems)
26
+ }, [entryPoint])
27
+
28
+ return (
29
+ <Box backgroundColor="foregrounds-contrasting-inverted" flex={1}>
30
+ <StatusBar barStyle="light-content" />
31
+ <ShoppableVideos items={shoppableVideos} shopId={shopGID} />
32
+ </Box>
33
+ )
34
+ }
35
+
36
+ function mapEntryPointCollectionItemsToShoppableVideos(
37
+ collectionItems: VideoCollectionV2EntryPointItem[]
38
+ ) {
39
+ return collectionItems.map(item => ({
40
+ externalId: item.externalId,
41
+ videoUrl: item.video.embeddedUrl,
42
+ fallbackImageUrl: item.fallbackImage.url,
43
+ relatedProductsIds: item.relatedProducts.map(
44
+ relatedProduct => relatedProduct.productId
45
+ ),
46
+ }))
47
+ }
48
+ `;
49
+ //# 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-videos/App-after.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CzC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const shoppableVideosAppTsxBefore = "import {\n ShoppableVideos,\n VideoCollectionV2EntryPointItem,\n useMinisParams,\n videoCollectionV2EntrypointFixture,\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 || videoCollectionV2EntrypointFixture\n const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID\n\n const shoppableVideos = useMemo(() => {\n const collectionItems =\n entryPoint?.type === 'VIDEO_COLLECTION_V2'\n ? entryPoint.collectionItems\n : []\n return mapEntryPointCollectionItemsToShoppableVideos(collectionItems)\n }, [entryPoint])\n\n return <ShoppableVideos items={shoppableVideos} shopId={shopGID} />\n}\n\nfunction mapEntryPointCollectionItemsToShoppableVideos(\n collectionItems: VideoCollectionV2EntryPointItem[]\n) {\n return collectionItems.map(item => ({\n externalId: item.externalId,\n videoUrl: item.video.embeddedUrl,\n fallbackImageUrl: item.fallbackImage.url,\n relatedProductsIds: item.relatedProducts.map(\n relatedProduct => relatedProduct.productId\n ),\n }))\n}\n";
@@ -0,0 +1,42 @@
1
+ export const shoppableVideosAppTsxBefore = `import {
2
+ ShoppableVideos,
3
+ VideoCollectionV2EntryPointItem,
4
+ useMinisParams,
5
+ videoCollectionV2EntrypointFixture,
6
+ MINIS_SANDBOX_SHOP_GID,
7
+ } from '@shopify/shop-minis-platform-sdk'
8
+ import {useMemo} from 'react'
9
+
10
+ export function App() {
11
+ const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()
12
+
13
+ // Fixtures provided in the SDK will get you started without entrypoints.
14
+ // Remove them once you have you have your test store setup with your own entrypoints.
15
+ const entryPoint = _entryPoint || videoCollectionV2EntrypointFixture
16
+ const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID
17
+
18
+ const shoppableVideos = useMemo(() => {
19
+ const collectionItems =
20
+ entryPoint?.type === 'VIDEO_COLLECTION_V2'
21
+ ? entryPoint.collectionItems
22
+ : []
23
+ return mapEntryPointCollectionItemsToShoppableVideos(collectionItems)
24
+ }, [entryPoint])
25
+
26
+ return <ShoppableVideos items={shoppableVideos} shopId={shopGID} />
27
+ }
28
+
29
+ function mapEntryPointCollectionItemsToShoppableVideos(
30
+ collectionItems: VideoCollectionV2EntryPointItem[]
31
+ ) {
32
+ return collectionItems.map(item => ({
33
+ externalId: item.externalId,
34
+ videoUrl: item.video.embeddedUrl,
35
+ fallbackImageUrl: item.fallbackImage.url,
36
+ relatedProductsIds: item.relatedProducts.map(
37
+ relatedProduct => relatedProduct.productId
38
+ ),
39
+ }))
40
+ }
41
+ `;
42
+ //# sourceMappingURL=App-before.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App-before.js","sourceRoot":"","sources":["../../../../../../src/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC1C,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,48 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ import { blankAppTsxBefore, blankAppTsxAfter, shoppablePostsAppTsxBefore, shoppablePostsAppTsxAfter, shoppableVideosAppTsxBefore, shoppableVideosAppTsxAfter, } from './v0-0-93/index.js';
5
+ /**
6
+ * Update the templates to use SafeAreaView correctly
7
+ *
8
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.92...v0.0.93
9
+ */
10
+ async function applyUpgrade() {
11
+ const existingAppTsxPath = path.join(process.cwd(), 'src', 'App.tsx');
12
+ let existingAppTsxContent = null;
13
+ let newAppTsxContent = null;
14
+ try {
15
+ existingAppTsxContent = await readFile(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 one of the old templates
24
+ if (existingAppTsxContent === blankAppTsxBefore) {
25
+ newAppTsxContent = blankAppTsxAfter;
26
+ }
27
+ else if (existingAppTsxContent === shoppablePostsAppTsxBefore) {
28
+ newAppTsxContent = shoppablePostsAppTsxAfter;
29
+ }
30
+ else if (existingAppTsxContent === shoppableVideosAppTsxBefore) {
31
+ newAppTsxContent = shoppableVideosAppTsxAfter;
32
+ }
33
+ if (newAppTsxContent) {
34
+ await writeFile(existingAppTsxPath, newAppTsxContent, {
35
+ encoding: 'utf-8',
36
+ });
37
+ }
38
+ }
39
+ const releaseNotes = [
40
+ 'Ensure the templates use SafeAreaView correctly',
41
+ ];
42
+ const exports = {
43
+ releaseNotes,
44
+ applyUpgrade,
45
+ version: new SemVer('0.0.93'),
46
+ };
47
+ export default exports;
48
+ //# sourceMappingURL=v0-0-93.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-93.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-93.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;AAG7B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAA;AAE3B;;;;GAIG;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;IAChC,IAAI,gBAAgB,GAAG,IAAI,CAAA;IAE3B,IAAI;QACF,qBAAqB,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE;YACzD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;KACH;IAAC,OAAO,KAAK,EAAE;QACd,mGAAmG;QACnG,OAAM;KACP;IAED,+EAA+E;IAC/E,IAAI,qBAAqB,KAAK,iBAAiB,EAAE;QAC/C,gBAAgB,GAAG,gBAAgB,CAAA;KACpC;SAAM,IAAI,qBAAqB,KAAK,0BAA0B,EAAE;QAC/D,gBAAgB,GAAG,yBAAyB,CAAA;KAC7C;SAAM,IAAI,qBAAqB,KAAK,2BAA2B,EAAE;QAChE,gBAAgB,GAAG,0BAA0B,CAAA;KAC9C;IAED,IAAI,gBAAgB,EAAE;QACpB,MAAM,SAAS,CAAC,kBAAkB,EAAE,gBAAgB,EAAE;YACpD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;KACH;AACH,CAAC;AAED,MAAM,YAAY,GAAa;IAC7B,iDAAiD;CAClD,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,20 @@
1
+ import { SemVer } from 'semver';
2
+ import { migrateToNewTheme } from './migrate-to-new-theme.js';
3
+ import { removeThemeFromConfig } from './remove-theme-from-config.js';
4
+ /**
5
+ * Update partner code to use the new theme
6
+ *
7
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.96...v0.0.97
8
+ */
9
+ async function applyUpgrade() {
10
+ await removeThemeFromConfig();
11
+ await migrateToNewTheme();
12
+ }
13
+ const releaseNotes = ['Migrate to the new theme used in Shop'];
14
+ const exports = {
15
+ releaseNotes,
16
+ applyUpgrade,
17
+ version: new SemVer('0.0.97'),
18
+ };
19
+ export default exports;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-97/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAA;AAEnE;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,qBAAqB,EAAE,CAAA;IAC7B,MAAM,iBAAiB,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,YAAY,GAAa,CAAC,uCAAuC,CAAC,CAAA;AAExE,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 function migrateToNewTheme(): Promise<void>;
@@ -0,0 +1,47 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { glob } from '@shopify/cli-kit/node/fs';
4
+ import { outputDebug } from '@shopify/cli-kit/node/output';
5
+ const upgradeFileToNewTheme = (fileContents) => {
6
+ const result = fileContents
7
+ .replace(/(\s+)borderRadius=\{16\}/g, '$1borderRadius="l"')
8
+ .replace(/(\s+)p="(.+)"/g, '$1padding="$2"')
9
+ .replace(/(\s+)pt="(.+)"/g, '$1paddingTop="$2"')
10
+ .replace(/(\s+)pb="(.+)"/g, '$1paddingBottom="$2"')
11
+ .replace(/(\s+)px="(.+)"/g, '$1paddingHorizontal="$2"')
12
+ .replace(/(\s+)py="(.+)"/g, '$1paddingVertical="$2"')
13
+ .replace(/(\s+)mt="(.+)"/g, '$1marginTop="$2"')
14
+ .replace(/(\s+)mb="(.+)"/g, '$1marginBottom="$2"')
15
+ .replace(/(\s+)mx="(.+)"/g, '$1marginHorizontal="$2"')
16
+ .replace(/(\s+)my="(.+)"/g, '$1marginVertical="$2"')
17
+ // This could be smarter but it doesn't need to be
18
+ .replace(/<Box backgroundColor="backgrounds-overlay-secondary" flex=\{1\}>/g, "<Box flex={1} style={{ backgroundColor: 'rgba(203, 203, 202, 0.5)' }}>")
19
+ .replace(/(\s+)color="foregrounds-regular-inverse"/g, '$1color="foregrounds-contrasting"');
20
+ return result;
21
+ };
22
+ export async function migrateToNewTheme() {
23
+ const files = await glob('**/*.(tsx)', {
24
+ cwd: path.join(process.cwd(), 'src'),
25
+ absolute: true,
26
+ dot: true,
27
+ followSymbolicLinks: false,
28
+ });
29
+ outputDebug(`Scanning ${files.length} files for theme changes`);
30
+ for (const file of files) {
31
+ try {
32
+ const data = await readFile(file, 'utf8');
33
+ outputDebug(`- Processing ${file}`);
34
+ const result = upgradeFileToNewTheme(data);
35
+ if (result === data) {
36
+ outputDebug(`- No changes to ${file}`);
37
+ continue;
38
+ }
39
+ outputDebug(`- Saving changes to ${file}`);
40
+ await writeFile(file, result, 'utf8');
41
+ }
42
+ catch (err) {
43
+ throw new Error(`Failed to update ${file}: ${err}`);
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=migrate-to-new-theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-to-new-theme.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-97/migrate-to-new-theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAA;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,MAAM,qBAAqB,GAAG,CAAC,YAAoB,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG,YAAY;SACxB,OAAO,CAAC,2BAA2B,EAAE,oBAAoB,CAAC;SAC1D,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;SAC3C,OAAO,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAC/C,OAAO,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SAClD,OAAO,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACtD,OAAO,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;SACpD,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;SAC9C,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;SACjD,OAAO,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;SACrD,OAAO,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;QACpD,kDAAkD;SACjD,OAAO,CACN,mEAAmE,EACnE,wEAAwE,CACzE;SACA,OAAO,CACN,2CAA2C,EAC3C,mCAAmC,CACpC,CAAA;IAEH,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,KAAK,GAAa,MAAM,IAAI,CAAC,YAAY,EAAE;QAC/C,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC;QACpC,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,IAAI;QACT,mBAAmB,EAAE,KAAK;KAC3B,CAAC,CAAA;IAEF,WAAW,CAAC,YAAY,KAAK,CAAC,MAAM,0BAA0B,CAAC,CAAA;IAE/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI;YACF,MAAM,IAAI,GAAW,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAEjD,WAAW,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA;YAEnC,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;YAE1C,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB,WAAW,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAA;gBACtC,SAAQ;aACT;YAED,WAAW,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;YAE1C,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;SACtC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,KAAK,GAAG,EAAE,CAAC,CAAA;SACpD;KACF;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function removeThemeFromConfig(): Promise<void>;
@@ -0,0 +1,105 @@
1
+ import { readFile, rm, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { outputDebug } from '@shopify/cli-kit/node/output';
4
+ import jscodeshift from 'jscodeshift';
5
+ import { execAsync } from '../../../../utils/exec-async-child-process.js';
6
+ import { getRunBinCommand } from '../../../../utils/package-manager.js';
7
+ const removeTheme = (fileContents) => {
8
+ const j = jscodeshift.withParser('tsx');
9
+ const root = j(fileContents);
10
+ let foundImportToReplace = false;
11
+ // Find and remove './theme' imports
12
+ root
13
+ .find(j.ImportDeclaration)
14
+ .filter(result => result.node.source.value === './theme')
15
+ .forEach(result => {
16
+ j(result).remove();
17
+ foundImportToReplace = true;
18
+ });
19
+ // We can bail out early if there wasn't anything to replace
20
+ if (!foundImportToReplace)
21
+ return fileContents;
22
+ // Find objects containing `lightTheme` and remove them
23
+ root.find(j.VariableDeclaration).forEach(nodePath => {
24
+ const declaration = nodePath.node.declarations[0];
25
+ if (declaration.type === 'VariableDeclarator' &&
26
+ declaration?.init?.type === 'ObjectExpression') {
27
+ declaration.init.properties = declaration.init.properties.filter(prop => {
28
+ if (prop.type === 'ObjectProperty' &&
29
+ ((prop?.key.type === 'Identifier' && prop.key.name) ?? '') ===
30
+ 'lightTheme') {
31
+ return false;
32
+ }
33
+ return true;
34
+ });
35
+ }
36
+ return false;
37
+ });
38
+ // jscodeshift doesn't respect the existing style so try to match it, we will also run prettier so it
39
+ // doesn't matter too much
40
+ return root.toSource({
41
+ quote: 'single',
42
+ objectCurlySpacing: false,
43
+ trailingComma: true,
44
+ reuseWhitespace: true,
45
+ });
46
+ };
47
+ const themeToDelete = `import {theme} from '@shopify/shop-minis-platform-sdk'
48
+
49
+ export const lightTheme = {
50
+ ...theme,
51
+ }`;
52
+ export async function removeThemeFromConfig() {
53
+ const themeTsPath = path.join(process.cwd(), 'src', 'theme.ts');
54
+ let themeTsContent;
55
+ try {
56
+ themeTsContent = await readFile(themeTsPath, {
57
+ encoding: 'utf-8',
58
+ });
59
+ if (themeTsContent?.trim() === themeToDelete) {
60
+ outputDebug(`Deleting theme file found at ${themeTsPath}`);
61
+ await rm(themeTsPath);
62
+ }
63
+ else {
64
+ outputDebug(`Theme file not as expected ${themeTsPath}`);
65
+ }
66
+ }
67
+ catch (err) {
68
+ outputDebug(`No theme file found at ${themeTsPath}`);
69
+ }
70
+ const indexTsxPath = path.join(process.cwd(), 'src', 'index.tsx');
71
+ let indexTsxContent;
72
+ try {
73
+ indexTsxContent = await readFile(indexTsxPath, {
74
+ encoding: 'utf-8',
75
+ });
76
+ }
77
+ catch (err) {
78
+ outputDebug(`No index file found at ${indexTsxPath}`);
79
+ return;
80
+ }
81
+ try {
82
+ if (!indexTsxContent ||
83
+ !indexTsxContent.toLocaleLowerCase().includes('theme')) {
84
+ outputDebug(`No theme found in ${indexTsxPath}`);
85
+ return;
86
+ }
87
+ outputDebug(`Theme potentially found in ${indexTsxPath}`);
88
+ const result = removeTheme(indexTsxContent);
89
+ if (result === indexTsxContent) {
90
+ outputDebug(`No changes to ${indexTsxPath}`);
91
+ return;
92
+ }
93
+ outputDebug(`Saving changes to ${indexTsxPath}`);
94
+ await writeFile(indexTsxPath, result, 'utf8');
95
+ const prettierCmd = await getRunBinCommand(`prettier -w ${indexTsxPath}`);
96
+ outputDebug(`Running ${prettierCmd}`);
97
+ await execAsync({
98
+ cmd: prettierCmd,
99
+ });
100
+ }
101
+ catch (err) {
102
+ throw new Error(`Failed to update ${indexTsxPath}: ${err}`);
103
+ }
104
+ }
105
+ //# sourceMappingURL=remove-theme-from-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-theme-from-config.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-97/remove-theme-from-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export declare function whichAndroidHome(): string | null;
2
+ export declare function androidHomeExists(): boolean;
3
+ export declare function whichEmulator(): string;
4
+ export declare function whichAdb(): string;
5
+ export declare const CLI_VERSION: any;
6
+ export declare const HACKATHON_RUNTIME_VERSION = "0.0.0-snapshot.20250219155115";
7
+ export declare const HACKATHON_SDK_VERSION = "0.0.0-snapshot.20250219174331";
8
+ export declare const HACKATHON_PINK_BUILD_IOS = "63511";
9
+ export declare const HACKATHON_PINK_BUILD_ANDROID = "63513";
10
+ export declare const PATHS: {
11
+ CACHE_DIR: string;
12
+ };
13
+ export declare const EMAILS: {
14
+ CONTACT_US: string;
15
+ };
16
+ export declare const SHOP_MINIS_ADMIN_API = "https://server.shop.app/minis/admin-api/alpha/graphql.json";
17
+ export declare const SHOP_MINIS_ADMIN_API_KEY: string | undefined;
@@ -0,0 +1,45 @@
1
+ import { createRequire } from 'node:module';
2
+ import path from 'node:path';
3
+ import { existsSync, mkdirSync } from 'node:fs';
4
+ import * as dotenv from 'dotenv';
5
+ dotenv.config();
6
+ const DEFAULT_ANDROID_HOME_MACOS = `${process.env.HOME}/Library/Android/sdk`;
7
+ export function whichAndroidHome() {
8
+ if (process.env.ANDROID_HOME) {
9
+ return process.env.ANDROID_HOME;
10
+ }
11
+ if (existsSync(DEFAULT_ANDROID_HOME_MACOS)) {
12
+ return DEFAULT_ANDROID_HOME_MACOS;
13
+ }
14
+ return null;
15
+ }
16
+ export function androidHomeExists() {
17
+ return Boolean(whichAndroidHome());
18
+ }
19
+ export function whichEmulator() {
20
+ return `${whichAndroidHome()}/emulator/emulator`;
21
+ }
22
+ export function whichAdb() {
23
+ return `${whichAndroidHome()}/platform-tools/adb`;
24
+ }
25
+ export const CLI_VERSION = createRequire(import.meta.url)('../../package.json').version;
26
+ export const HACKATHON_RUNTIME_VERSION = '0.0.0-snapshot.20250219155115';
27
+ export const HACKATHON_SDK_VERSION = '0.0.0-snapshot.20250219174331';
28
+ export const HACKATHON_PINK_BUILD_IOS = '63511';
29
+ export const HACKATHON_PINK_BUILD_ANDROID = '63513';
30
+ export const PATHS = {
31
+ CACHE_DIR: path.resolve(process.cwd(), '.minis-cache'),
32
+ };
33
+ export const EMAILS = {
34
+ CONTACT_US: 'shopminisdevelopers@shopify.com',
35
+ };
36
+ export const SHOP_MINIS_ADMIN_API = 'https://server.shop.app/minis/admin-api/alpha/graphql.json';
37
+ export const SHOP_MINIS_ADMIN_API_KEY = process.env.SHOP_MINIS_API_KEY;
38
+ // Create the cache directory if it doesn't exist.
39
+ try {
40
+ mkdirSync(PATHS.CACHE_DIR);
41
+ }
42
+ catch {
43
+ // directory already exists. do nothing
44
+ }
45
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAA;AACzC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC,MAAM,CAAC,MAAM,EAAE,CAAA;AAEf,MAAM,0BAA0B,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,sBAAsB,CAAA;AAE5E,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;QAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;KAChC;IAED,IAAI,UAAU,CAAC,0BAA0B,CAAC,EAAE;QAC1C,OAAO,0BAA0B,CAAA;KAClC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,GAAG,gBAAgB,EAAE,oBAAoB,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,GAAG,gBAAgB,EAAE,qBAAqB,CAAA;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CACvD,oBAAoB,CACrB,CAAC,OAAO,CAAA;AAET,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAA;AACxE,MAAM,CAAC,MAAM,qBAAqB,GAAG,+BAA+B,CAAA;AACpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAA;AAC/C,MAAM,CAAC,MAAM,4BAA4B,GAAG,OAAO,CAAA;AAEnD,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC;CACvD,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,UAAU,EAAE,iCAAiC;CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAC/B,4DAA4D,CAAA;AAE9D,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;AAEtE,kDAAkD;AAClD,IAAI;IACF,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;CAC3B;AAAC,MAAM;IACN,uCAAuC;CACxC"}
@@ -0,0 +1,44 @@
1
+ import { ExtensionTarget, ExtensionType } from '../../constants/extensions.js';
2
+ import { ExtensionPage } from './types.js';
3
+ export declare const DEFAULT_OUTPUT_DIR = "src/targets";
4
+ export declare const EXTENSION_TYPE_CONFIG: Record<ExtensionType, {
5
+ label: string;
6
+ }>;
7
+ export declare const EXTENSION_PAGE_CONFIG: Record<ExtensionPage, {
8
+ templates: ExtensionType[];
9
+ }>;
10
+ export declare const EXTENSION_TARGET_CONFIG: {
11
+ "shop.product.variants.render-before": {
12
+ label: string;
13
+ page: ExtensionPage;
14
+ };
15
+ "shop.product.policies.render-after": {
16
+ label: string;
17
+ page: ExtensionPage;
18
+ };
19
+ "shop.product.block.render": {
20
+ label: string;
21
+ page: ExtensionPage;
22
+ };
23
+ "shop.store.block.render": {
24
+ label: string;
25
+ page: ExtensionPage;
26
+ };
27
+ "shop.order-confirmation-page.order-details.render-after": {
28
+ label: string;
29
+ page: ExtensionPage;
30
+ };
31
+ "shop.order-management.order-details.render-after": {
32
+ label: string;
33
+ page: ExtensionPage;
34
+ };
35
+ "shop.order-management.visit-shop.render-after": {
36
+ label: string;
37
+ page: ExtensionPage;
38
+ };
39
+ };
40
+ export declare const EXTENSION_TARGETS_WITH_TEMPLATES: Record<ExtensionTarget, {
41
+ label: string;
42
+ page: ExtensionPage;
43
+ }>;
44
+ export declare const EXTENSION_TARGETS_WITH_TEMPLATES_KEYS: ExtensionTarget[];
@@ -0,0 +1,111 @@
1
+ import { ExtensionTarget, ExtensionType } from '../../constants/extensions.js';
2
+ import { ExtensionPage } from './types.js';
3
+ export const DEFAULT_OUTPUT_DIR = 'src/targets';
4
+ export const EXTENSION_TYPE_CONFIG = {
5
+ [ExtensionType.BLANK]: {
6
+ label: 'Blank',
7
+ },
8
+ [ExtensionType.LINK]: {
9
+ label: 'Link',
10
+ },
11
+ [ExtensionType.DEFAULT_CARD]: {
12
+ label: 'Default Card',
13
+ },
14
+ [ExtensionType.PRODUCT_OFFER_CARD]: {
15
+ label: 'Product Offer Card',
16
+ },
17
+ [ExtensionType.VIDEO_COLLECTION]: {
18
+ label: 'Video Collection',
19
+ },
20
+ [ExtensionType.IMAGE_COLLECTION]: {
21
+ label: 'Image Collection',
22
+ },
23
+ [ExtensionType.BUNDLE_SELECTOR]: {
24
+ label: 'Bundle Selector',
25
+ },
26
+ [ExtensionType.BUNDLE_COLLECTION]: {
27
+ label: 'Bundle Collection',
28
+ },
29
+ [ExtensionType.BUNDLE_UPSELL]: {
30
+ label: 'Bundle Upsell',
31
+ },
32
+ [ExtensionType.SURVEY_SINGLE_RESPONSE]: {
33
+ label: 'Survey Single Response',
34
+ },
35
+ };
36
+ // Add to this as new templates are created and they will appear in the CLI as options automatically
37
+ export const EXTENSION_PAGE_CONFIG = {
38
+ [ExtensionPage.PRODUCT_PAGE]: {
39
+ templates: [
40
+ ExtensionType.BLANK,
41
+ ExtensionType.LINK,
42
+ ExtensionType.DEFAULT_CARD,
43
+ ExtensionType.IMAGE_COLLECTION,
44
+ ExtensionType.VIDEO_COLLECTION,
45
+ ExtensionType.BUNDLE_SELECTOR,
46
+ ExtensionType.BUNDLE_COLLECTION,
47
+ ExtensionType.BUNDLE_UPSELL,
48
+ ],
49
+ },
50
+ [ExtensionPage.STORE_PAGE]: {
51
+ templates: [
52
+ ExtensionType.BLANK,
53
+ ExtensionType.LINK,
54
+ ExtensionType.DEFAULT_CARD,
55
+ ExtensionType.IMAGE_COLLECTION,
56
+ ExtensionType.VIDEO_COLLECTION,
57
+ ],
58
+ },
59
+ [ExtensionPage.ORDER_CONFIRMATION_PAGE]: {
60
+ templates: [
61
+ ExtensionType.BLANK,
62
+ ExtensionType.PRODUCT_OFFER_CARD,
63
+ ExtensionType.SURVEY_SINGLE_RESPONSE,
64
+ ],
65
+ },
66
+ [ExtensionPage.ORDER_MANAGEMENT_PAGE]: {
67
+ templates: [
68
+ ExtensionType.BLANK,
69
+ ExtensionType.PRODUCT_OFFER_CARD,
70
+ ExtensionType.SURVEY_SINGLE_RESPONSE,
71
+ ],
72
+ },
73
+ };
74
+ export const EXTENSION_TARGET_CONFIG = {
75
+ [ExtensionTarget['shop.product.variants.render-before']]: {
76
+ label: 'Product Page - Before Variants Picker',
77
+ page: ExtensionPage.PRODUCT_PAGE,
78
+ },
79
+ [ExtensionTarget['shop.product.policies.render-after']]: {
80
+ label: 'Product Page - After Description and policies',
81
+ page: ExtensionPage.PRODUCT_PAGE,
82
+ },
83
+ [ExtensionTarget['shop.product.block.render']]: {
84
+ label: 'Product Page - Default',
85
+ page: ExtensionPage.PRODUCT_PAGE,
86
+ },
87
+ [ExtensionTarget['shop.store.block.render']]: {
88
+ label: 'Store Page - Default',
89
+ page: ExtensionPage.STORE_PAGE,
90
+ },
91
+ [ExtensionTarget['shop.order-confirmation-page.order-details.render-after']]: {
92
+ label: 'Order Confirmation Page - After Order Details',
93
+ page: ExtensionPage.ORDER_CONFIRMATION_PAGE,
94
+ },
95
+ [ExtensionTarget['shop.order-management.order-details.render-after']]: {
96
+ label: 'Order Management Page - After Order Details',
97
+ page: ExtensionPage.ORDER_MANAGEMENT_PAGE,
98
+ },
99
+ [ExtensionTarget['shop.order-management.visit-shop.render-after']]: {
100
+ label: 'Order Management Page - After Visit Shop Button',
101
+ page: ExtensionPage.ORDER_MANAGEMENT_PAGE,
102
+ },
103
+ };
104
+ export const EXTENSION_TARGETS_WITH_TEMPLATES = Object.entries(EXTENSION_TARGET_CONFIG).reduce((acc, [key, value]) => {
105
+ if (EXTENSION_PAGE_CONFIG[value.page].templates.length > 0) {
106
+ acc[key] = value;
107
+ }
108
+ return acc;
109
+ }, {});
110
+ export const EXTENSION_TARGETS_WITH_TEMPLATES_KEYS = Object.keys(EXTENSION_TARGETS_WITH_TEMPLATES);
111
+ //# sourceMappingURL=constants.js.map