@shopify/shop-minis-cli 0.0.171 → 0.0.173

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 (517) hide show
  1. package/README_INTERNAL.md +153 -0
  2. package/build/commands/app/index.js +1 -2
  3. package/build/commands/app/index.js.map +1 -1
  4. package/build/commands/cancel-submission/cancel-submission.js +2 -2
  5. package/build/commands/cancel-submission/cancel-submission.js.map +1 -1
  6. package/build/commands/cancel-submission/index.js +1 -1
  7. package/build/commands/cancel-submission/index.js.map +1 -1
  8. package/build/commands/check-submission/index.js +13 -6
  9. package/build/commands/check-submission/index.js.map +1 -1
  10. package/build/commands/codemod/index.js +0 -9
  11. package/build/commands/codemod/index.js.map +1 -1
  12. package/build/commands/codemod/releases/index.js +2 -72
  13. package/build/commands/codemod/releases/index.js.map +1 -1
  14. package/build/commands/config.d.ts +2 -2
  15. package/build/commands/config.js +3 -2
  16. package/build/commands/config.js.map +1 -1
  17. package/build/commands/create/examples/default/.cursorrules +25 -0
  18. package/{templates/__template_common/gitignore → build/commands/create/examples/default/_gitignore} +0 -1
  19. package/build/commands/create/examples/default/index.html +15 -0
  20. package/build/commands/create/examples/default/package.json +18 -0
  21. package/build/commands/create/examples/default/src/App.tsx +25 -0
  22. package/build/commands/create/examples/default/src/icon.png +0 -0
  23. package/build/commands/create/examples/default/src/index.css +1 -0
  24. package/build/commands/create/examples/default/src/main.tsx +14 -0
  25. package/build/commands/create/examples/default/src/manifest.json +6 -0
  26. package/build/commands/{create-mini/standalone/examples/with-getting-started → create/examples/default}/tsconfig.json +6 -14
  27. package/build/commands/create/examples/default/vite.config.mjs +11 -0
  28. package/build/commands/{create-mini/standalone → create}/index.js +6 -26
  29. package/build/commands/create/index.js.map +1 -0
  30. package/build/commands/{create-mini → create}/utils/examples.d.ts +1 -1
  31. package/build/commands/{create-mini → create}/utils/examples.js +13 -9
  32. package/build/commands/create/utils/examples.js.map +1 -0
  33. package/build/commands/create/utils/index.js.map +1 -0
  34. package/build/commands/dev/index.d.ts +0 -11
  35. package/build/commands/dev/index.js +32 -58
  36. package/build/commands/dev/index.js.map +1 -1
  37. package/build/commands/dev/types.d.ts +46 -0
  38. package/build/commands/dev/{utils/types.js → types.js} +5 -0
  39. package/build/commands/dev/types.js.map +1 -0
  40. package/build/commands/dev/utils/binaries.d.ts +1 -1
  41. package/build/commands/dev/utils/build-type.d.ts +1 -1
  42. package/build/commands/dev/utils/build-type.js +1 -1
  43. package/build/commands/dev/utils/build-type.js.map +1 -1
  44. package/build/commands/dev/utils/deeplink.d.ts +3 -15
  45. package/build/commands/dev/utils/deeplink.js +12 -59
  46. package/build/commands/dev/utils/deeplink.js.map +1 -1
  47. package/build/commands/dev/utils/interactive-terminal.d.ts +6 -5
  48. package/build/commands/dev/utils/interactive-terminal.js +25 -65
  49. package/build/commands/dev/utils/interactive-terminal.js.map +1 -1
  50. package/build/commands/dev/utils/network.d.ts +1 -2
  51. package/build/commands/dev/utils/network.js.map +1 -1
  52. package/build/commands/dev/utils/platform.d.ts +1 -4
  53. package/build/commands/dev/utils/platform.js +1 -5
  54. package/build/commands/dev/utils/platform.js.map +1 -1
  55. package/build/commands/dev/utils/start-app/config.d.ts +1 -2
  56. package/build/commands/dev/utils/start-app/config.js +1 -1
  57. package/build/commands/dev/utils/start-app/config.js.map +1 -1
  58. package/build/commands/dev/utils/start-app/start-app-with-options.d.ts +1 -1
  59. package/build/commands/dev/utils/start-app/start-app-with-options.js +5 -3
  60. package/build/commands/dev/utils/start-app/start-app-with-options.js.map +1 -1
  61. package/build/commands/dev/utils/start-app/start-app.d.ts +1 -1
  62. package/build/commands/dev/utils/start-app/start-app.js.map +1 -1
  63. package/build/commands/dev/utils/version.d.ts +1 -2
  64. package/build/commands/dev/utils/version.js +3 -2
  65. package/build/commands/dev/utils/version.js.map +1 -1
  66. package/build/commands/dev/utils/web-server.d.ts +1 -0
  67. package/build/commands/dev/utils/web-server.js +16 -0
  68. package/build/commands/dev/utils/web-server.js.map +1 -0
  69. package/build/commands/doctor/index.js +10 -3
  70. package/build/commands/doctor/index.js.map +1 -1
  71. package/build/commands/features/index.js +2 -2
  72. package/build/commands/features/index.js.map +1 -1
  73. package/build/commands/info/index.js +3 -11
  74. package/build/commands/info/index.js.map +1 -1
  75. package/build/commands/install/index.d.ts +2 -0
  76. package/build/commands/install/index.js +65 -0
  77. package/build/commands/install/index.js.map +1 -0
  78. package/build/commands/setup/index.js +9 -1
  79. package/build/commands/setup/index.js.map +1 -1
  80. package/build/commands/submit/config.js +1 -1
  81. package/build/commands/submit/errors.js +24 -2
  82. package/build/commands/submit/errors.js.map +1 -1
  83. package/build/commands/submit/index.js +18 -2
  84. package/build/commands/submit/index.js.map +1 -1
  85. package/build/commands/submit/submit.d.ts +2 -2
  86. package/build/commands/submit/submit.js +63 -53
  87. package/build/commands/submit/submit.js.map +1 -1
  88. package/build/commands/submit/tasks.d.ts +2 -1
  89. package/build/commands/submit/tasks.js +5 -4
  90. package/build/commands/submit/tasks.js.map +1 -1
  91. package/build/commands/submit/types.d.ts +5 -0
  92. package/build/commands/submit/utils/assert-core-dependencies-version.d.ts +1 -3
  93. package/build/commands/submit/utils/assert-core-dependencies-version.js +6 -85
  94. package/build/commands/submit/utils/assert-core-dependencies-version.js.map +1 -1
  95. package/build/commands/sync-user-metafield-definitions/index.js +7 -5
  96. package/build/commands/sync-user-metafield-definitions/index.js.map +1 -1
  97. package/build/commands/upgrade/index.d.ts +0 -1
  98. package/build/commands/upgrade/index.js +20 -56
  99. package/build/commands/upgrade/index.js.map +1 -1
  100. package/build/constants/dev-panel.d.ts +3 -0
  101. package/build/constants/dev-panel.js +4 -0
  102. package/build/constants/dev-panel.js.map +1 -0
  103. package/build/data/create-submission.d.ts +2 -1
  104. package/build/data/create-submission.js +13 -4
  105. package/build/data/create-submission.js.map +1 -1
  106. package/build/data/get-submissions.d.ts +3 -2
  107. package/build/data/get-submissions.js +3 -1
  108. package/build/data/get-submissions.js.map +1 -1
  109. package/build/data/types/autogenerated/shop-minis-admin-api/gql.d.ts +3 -2
  110. package/build/data/types/autogenerated/shop-minis-admin-api/gql.js +1 -1
  111. package/build/data/types/autogenerated/shop-minis-admin-api/gql.js.map +1 -1
  112. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.d.ts +11 -3
  113. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js +21 -1
  114. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js.map +1 -1
  115. package/build/index.d.ts +1 -1
  116. package/build/index.js +1 -0
  117. package/build/index.js.map +1 -1
  118. package/build/program.js +5 -7
  119. package/build/program.js.map +1 -1
  120. package/build/schemas/manifest.schema.json +9 -210
  121. package/build/utils/allowed-dependencies.d.ts +5 -0
  122. package/build/utils/allowed-dependencies.js +21 -0
  123. package/build/utils/allowed-dependencies.js.map +1 -0
  124. package/build/utils/dependencies.d.ts +7 -0
  125. package/build/utils/dependencies.js +275 -0
  126. package/build/utils/dependencies.js.map +1 -0
  127. package/build/utils/minis-manifest.js +0 -7
  128. package/build/utils/minis-manifest.js.map +1 -1
  129. package/build/utils/package-manager.d.ts +25 -13
  130. package/build/utils/package-manager.js +56 -36
  131. package/build/utils/package-manager.js.map +1 -1
  132. package/package.json +7 -15
  133. package/build/commands/codemod/releases/v0-0-100.d.ts +0 -3
  134. package/build/commands/codemod/releases/v0-0-100.js +0 -50
  135. package/build/commands/codemod/releases/v0-0-100.js.map +0 -1
  136. package/build/commands/codemod/releases/v0-0-103.d.ts +0 -3
  137. package/build/commands/codemod/releases/v0-0-103.js +0 -43
  138. package/build/commands/codemod/releases/v0-0-103.js.map +0 -1
  139. package/build/commands/codemod/releases/v0-0-105.d.ts +0 -3
  140. package/build/commands/codemod/releases/v0-0-105.js +0 -59
  141. package/build/commands/codemod/releases/v0-0-105.js.map +0 -1
  142. package/build/commands/codemod/releases/v0-0-106.d.ts +0 -3
  143. package/build/commands/codemod/releases/v0-0-106.js +0 -32
  144. package/build/commands/codemod/releases/v0-0-106.js.map +0 -1
  145. package/build/commands/codemod/releases/v0-0-114.d.ts +0 -3
  146. package/build/commands/codemod/releases/v0-0-114.js +0 -48
  147. package/build/commands/codemod/releases/v0-0-114.js.map +0 -1
  148. package/build/commands/codemod/releases/v0-0-115.d.ts +0 -3
  149. package/build/commands/codemod/releases/v0-0-115.js +0 -50
  150. package/build/commands/codemod/releases/v0-0-115.js.map +0 -1
  151. package/build/commands/codemod/releases/v0-0-121.d.ts +0 -3
  152. package/build/commands/codemod/releases/v0-0-121.js +0 -74
  153. package/build/commands/codemod/releases/v0-0-121.js.map +0 -1
  154. package/build/commands/codemod/releases/v0-0-123.d.ts +0 -3
  155. package/build/commands/codemod/releases/v0-0-123.js +0 -33
  156. package/build/commands/codemod/releases/v0-0-123.js.map +0 -1
  157. package/build/commands/codemod/releases/v0-0-125.d.ts +0 -3
  158. package/build/commands/codemod/releases/v0-0-125.js +0 -37
  159. package/build/commands/codemod/releases/v0-0-125.js.map +0 -1
  160. package/build/commands/codemod/releases/v0-0-130.d.ts +0 -3
  161. package/build/commands/codemod/releases/v0-0-130.js +0 -26
  162. package/build/commands/codemod/releases/v0-0-130.js.map +0 -1
  163. package/build/commands/codemod/releases/v0-0-139.d.ts +0 -3
  164. package/build/commands/codemod/releases/v0-0-139.js +0 -26
  165. package/build/commands/codemod/releases/v0-0-139.js.map +0 -1
  166. package/build/commands/codemod/releases/v0-0-163.d.ts +0 -3
  167. package/build/commands/codemod/releases/v0-0-163.js +0 -26
  168. package/build/commands/codemod/releases/v0-0-163.js.map +0 -1
  169. package/build/commands/codemod/releases/v0-0-42/index.d.ts +0 -3
  170. package/build/commands/codemod/releases/v0-0-42/index.js +0 -46
  171. package/build/commands/codemod/releases/v0-0-42/index.js.map +0 -1
  172. package/build/commands/codemod/releases/v0-0-42/reset-files.d.ts +0 -7
  173. package/build/commands/codemod/releases/v0-0-42/reset-files.js +0 -83
  174. package/build/commands/codemod/releases/v0-0-42/reset-files.js.map +0 -1
  175. package/build/commands/codemod/releases/v0-0-43.d.ts +0 -3
  176. package/build/commands/codemod/releases/v0-0-43.js +0 -32
  177. package/build/commands/codemod/releases/v0-0-43.js.map +0 -1
  178. package/build/commands/codemod/releases/v0-0-44.d.ts +0 -3
  179. package/build/commands/codemod/releases/v0-0-44.js +0 -214
  180. package/build/commands/codemod/releases/v0-0-44.js.map +0 -1
  181. package/build/commands/codemod/releases/v0-0-45.d.ts +0 -3
  182. package/build/commands/codemod/releases/v0-0-45.js +0 -23
  183. package/build/commands/codemod/releases/v0-0-45.js.map +0 -1
  184. package/build/commands/codemod/releases/v0-0-50.d.ts +0 -3
  185. package/build/commands/codemod/releases/v0-0-50.js +0 -34
  186. package/build/commands/codemod/releases/v0-0-50.js.map +0 -1
  187. package/build/commands/codemod/releases/v0-0-54.d.ts +0 -3
  188. package/build/commands/codemod/releases/v0-0-54.js +0 -70
  189. package/build/commands/codemod/releases/v0-0-54.js.map +0 -1
  190. package/build/commands/codemod/releases/v0-0-56.d.ts +0 -3
  191. package/build/commands/codemod/releases/v0-0-56.js +0 -48
  192. package/build/commands/codemod/releases/v0-0-56.js.map +0 -1
  193. package/build/commands/codemod/releases/v0-0-57.d.ts +0 -3
  194. package/build/commands/codemod/releases/v0-0-57.js +0 -41
  195. package/build/commands/codemod/releases/v0-0-57.js.map +0 -1
  196. package/build/commands/codemod/releases/v0-0-58.d.ts +0 -3
  197. package/build/commands/codemod/releases/v0-0-58.js +0 -68
  198. package/build/commands/codemod/releases/v0-0-58.js.map +0 -1
  199. package/build/commands/codemod/releases/v0-0-61.d.ts +0 -3
  200. package/build/commands/codemod/releases/v0-0-61.js +0 -30
  201. package/build/commands/codemod/releases/v0-0-61.js.map +0 -1
  202. package/build/commands/codemod/releases/v0-0-63.d.ts +0 -3
  203. package/build/commands/codemod/releases/v0-0-63.js +0 -42
  204. package/build/commands/codemod/releases/v0-0-63.js.map +0 -1
  205. package/build/commands/codemod/releases/v0-0-64.d.ts +0 -3
  206. package/build/commands/codemod/releases/v0-0-64.js +0 -47
  207. package/build/commands/codemod/releases/v0-0-64.js.map +0 -1
  208. package/build/commands/codemod/releases/v0-0-75.d.ts +0 -3
  209. package/build/commands/codemod/releases/v0-0-75.js +0 -30
  210. package/build/commands/codemod/releases/v0-0-75.js.map +0 -1
  211. package/build/commands/codemod/releases/v0-0-76.d.ts +0 -3
  212. package/build/commands/codemod/releases/v0-0-76.js +0 -32
  213. package/build/commands/codemod/releases/v0-0-76.js.map +0 -1
  214. package/build/commands/codemod/releases/v0-0-77.d.ts +0 -3
  215. package/build/commands/codemod/releases/v0-0-77.js +0 -39
  216. package/build/commands/codemod/releases/v0-0-77.js.map +0 -1
  217. package/build/commands/codemod/releases/v0-0-79.d.ts +0 -3
  218. package/build/commands/codemod/releases/v0-0-79.js +0 -35
  219. package/build/commands/codemod/releases/v0-0-79.js.map +0 -1
  220. package/build/commands/codemod/releases/v0-0-84.d.ts +0 -3
  221. package/build/commands/codemod/releases/v0-0-84.js +0 -41
  222. package/build/commands/codemod/releases/v0-0-84.js.map +0 -1
  223. package/build/commands/codemod/releases/v0-0-85.d.ts +0 -3
  224. package/build/commands/codemod/releases/v0-0-85.js +0 -60
  225. package/build/commands/codemod/releases/v0-0-85.js.map +0 -1
  226. package/build/commands/codemod/releases/v0-0-89.d.ts +0 -3
  227. package/build/commands/codemod/releases/v0-0-89.js +0 -60
  228. package/build/commands/codemod/releases/v0-0-89.js.map +0 -1
  229. package/build/commands/codemod/releases/v0-0-91/index.d.ts +0 -3
  230. package/build/commands/codemod/releases/v0-0-91/index.js +0 -38
  231. package/build/commands/codemod/releases/v0-0-91/index.js.map +0 -1
  232. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.d.ts +0 -5
  233. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.js +0 -45
  234. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.js.map +0 -1
  235. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.d.ts +0 -1
  236. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.js +0 -97
  237. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.js.map +0 -1
  238. package/build/commands/codemod/releases/v0-0-92.d.ts +0 -3
  239. package/build/commands/codemod/releases/v0-0-92.js +0 -38
  240. package/build/commands/codemod/releases/v0-0-92.js.map +0 -1
  241. package/build/commands/codemod/releases/v0-0-93/blank/App-after.d.ts +0 -1
  242. package/build/commands/codemod/releases/v0-0-93/blank/App-after.js +0 -15
  243. package/build/commands/codemod/releases/v0-0-93/blank/App-after.js.map +0 -1
  244. package/build/commands/codemod/releases/v0-0-93/blank/App-before.d.ts +0 -1
  245. package/build/commands/codemod/releases/v0-0-93/blank/App-before.js +0 -13
  246. package/build/commands/codemod/releases/v0-0-93/blank/App-before.js.map +0 -1
  247. package/build/commands/codemod/releases/v0-0-93/index.d.ts +0 -6
  248. package/build/commands/codemod/releases/v0-0-93/index.js +0 -7
  249. package/build/commands/codemod/releases/v0-0-93/index.js.map +0 -1
  250. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.d.ts +0 -1
  251. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.js +0 -53
  252. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.js.map +0 -1
  253. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.d.ts +0 -1
  254. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.js +0 -43
  255. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.js.map +0 -1
  256. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.d.ts +0 -1
  257. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.js +0 -49
  258. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.js.map +0 -1
  259. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.d.ts +0 -1
  260. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.js +0 -42
  261. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.js.map +0 -1
  262. package/build/commands/codemod/releases/v0-0-93.d.ts +0 -3
  263. package/build/commands/codemod/releases/v0-0-93.js +0 -48
  264. package/build/commands/codemod/releases/v0-0-93.js.map +0 -1
  265. package/build/commands/codemod/releases/v0-0-97/index.d.ts +0 -3
  266. package/build/commands/codemod/releases/v0-0-97/index.js +0 -20
  267. package/build/commands/codemod/releases/v0-0-97/index.js.map +0 -1
  268. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.d.ts +0 -1
  269. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.js +0 -47
  270. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.js.map +0 -1
  271. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.d.ts +0 -1
  272. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.js +0 -105
  273. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.js.map +0 -1
  274. package/build/commands/create-extension/constants.d.ts +0 -44
  275. package/build/commands/create-extension/constants.js +0 -111
  276. package/build/commands/create-extension/constants.js.map +0 -1
  277. package/build/commands/create-extension/index.js +0 -71
  278. package/build/commands/create-extension/index.js.map +0 -1
  279. package/build/commands/create-extension/types.d.ts +0 -13
  280. package/build/commands/create-extension/types.js +0 -8
  281. package/build/commands/create-extension/types.js.map +0 -1
  282. package/build/commands/create-extension/utils/add-target-to-config.d.ts +0 -2
  283. package/build/commands/create-extension/utils/add-target-to-config.js +0 -48
  284. package/build/commands/create-extension/utils/add-target-to-config.js.map +0 -1
  285. package/build/commands/create-extension/utils/create-extension-files.d.ts +0 -11
  286. package/build/commands/create-extension/utils/create-extension-files.js +0 -96
  287. package/build/commands/create-extension/utils/create-extension-files.js.map +0 -1
  288. package/build/commands/create-extension/utils/create-from-template.d.ts +0 -3
  289. package/build/commands/create-extension/utils/create-from-template.js +0 -47
  290. package/build/commands/create-extension/utils/create-from-template.js.map +0 -1
  291. package/build/commands/create-extension/utils/format-extension-files.d.ts +0 -1
  292. package/build/commands/create-extension/utils/format-extension-files.js +0 -22
  293. package/build/commands/create-extension/utils/format-extension-files.js.map +0 -1
  294. package/build/commands/create-mini/index.d.ts +0 -2
  295. package/build/commands/create-mini/index.js +0 -11
  296. package/build/commands/create-mini/index.js.map +0 -1
  297. package/build/commands/create-mini/legacy/index.d.ts +0 -2
  298. package/build/commands/create-mini/legacy/index.js +0 -176
  299. package/build/commands/create-mini/legacy/index.js.map +0 -1
  300. package/build/commands/create-mini/legacy/utils/template-app.d.ts +0 -2
  301. package/build/commands/create-mini/legacy/utils/template-app.js +0 -84
  302. package/build/commands/create-mini/legacy/utils/template-app.js.map +0 -1
  303. package/build/commands/create-mini/standalone/examples/with-camera-access/.eslintignore +0 -1
  304. package/build/commands/create-mini/standalone/examples/with-camera-access/.eslintrc.js +0 -3
  305. package/build/commands/create-mini/standalone/examples/with-camera-access/.graphqlrc.js +0 -1
  306. package/build/commands/create-mini/standalone/examples/with-camera-access/.prettierrc.json +0 -8
  307. package/build/commands/create-mini/standalone/examples/with-camera-access/README.md +0 -30
  308. package/build/commands/create-mini/standalone/examples/with-camera-access/assets.d.ts +0 -14
  309. package/build/commands/create-mini/standalone/examples/with-camera-access/babel.config.js +0 -5
  310. package/build/commands/create-mini/standalone/examples/with-camera-access/index.tsx +0 -5
  311. package/build/commands/create-mini/standalone/examples/with-camera-access/metro.config.js +0 -3
  312. package/build/commands/create-mini/standalone/examples/with-camera-access/package.json +0 -33
  313. package/build/commands/create-mini/standalone/examples/with-camera-access/src/App.tsx +0 -152
  314. package/build/commands/create-mini/standalone/examples/with-camera-access/src/index.tsx +0 -9
  315. package/build/commands/create-mini/standalone/examples/with-camera-access/src/manifest.json +0 -5
  316. package/build/commands/create-mini/standalone/examples/with-camera-access/tsconfig.json +0 -41
  317. package/build/commands/create-mini/standalone/examples/with-fal-ai/.eslintignore +0 -1
  318. package/build/commands/create-mini/standalone/examples/with-fal-ai/.eslintrc.js +0 -3
  319. package/build/commands/create-mini/standalone/examples/with-fal-ai/.graphqlrc.js +0 -1
  320. package/build/commands/create-mini/standalone/examples/with-fal-ai/.prettierrc.json +0 -8
  321. package/build/commands/create-mini/standalone/examples/with-fal-ai/README.md +0 -46
  322. package/build/commands/create-mini/standalone/examples/with-fal-ai/assets.d.ts +0 -14
  323. package/build/commands/create-mini/standalone/examples/with-fal-ai/babel.config.js +0 -5
  324. package/build/commands/create-mini/standalone/examples/with-fal-ai/index.tsx +0 -5
  325. package/build/commands/create-mini/standalone/examples/with-fal-ai/metro.config.js +0 -3
  326. package/build/commands/create-mini/standalone/examples/with-fal-ai/package.json +0 -33
  327. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/App.tsx +0 -5
  328. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/index.tsx +0 -9
  329. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/manifest.json +0 -21
  330. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/screens/HomeScreen.tsx +0 -142
  331. package/build/commands/create-mini/standalone/examples/with-fal-ai/tsconfig.json +0 -41
  332. package/build/commands/create-mini/standalone/examples/with-getting-started/.eslintignore +0 -1
  333. package/build/commands/create-mini/standalone/examples/with-getting-started/.eslintrc.js +0 -3
  334. package/build/commands/create-mini/standalone/examples/with-getting-started/.graphqlrc.js +0 -1
  335. package/build/commands/create-mini/standalone/examples/with-getting-started/.prettierrc.json +0 -8
  336. package/build/commands/create-mini/standalone/examples/with-getting-started/README.md +0 -18
  337. package/build/commands/create-mini/standalone/examples/with-getting-started/assets.d.ts +0 -14
  338. package/build/commands/create-mini/standalone/examples/with-getting-started/babel.config.js +0 -5
  339. package/build/commands/create-mini/standalone/examples/with-getting-started/index.tsx +0 -5
  340. package/build/commands/create-mini/standalone/examples/with-getting-started/metro.config.js +0 -3
  341. package/build/commands/create-mini/standalone/examples/with-getting-started/package.json +0 -33
  342. package/build/commands/create-mini/standalone/examples/with-getting-started/src/App.tsx +0 -23
  343. package/build/commands/create-mini/standalone/examples/with-getting-started/src/index.tsx +0 -9
  344. package/build/commands/create-mini/standalone/examples/with-getting-started/src/manifest.json +0 -5
  345. package/build/commands/create-mini/standalone/examples/with-getting-started/src/screens/HomeScreen.tsx +0 -133
  346. package/build/commands/create-mini/standalone/examples/with-getting-started/src/screens/NativeFeaturesScreen.tsx +0 -138
  347. package/build/commands/create-mini/standalone/examples/with-getting-started/src/types/screens.ts +0 -5
  348. package/build/commands/create-mini/standalone/examples/with-search/.eslintignore +0 -1
  349. package/build/commands/create-mini/standalone/examples/with-search/.eslintrc.js +0 -3
  350. package/build/commands/create-mini/standalone/examples/with-search/.graphqlrc.js +0 -1
  351. package/build/commands/create-mini/standalone/examples/with-search/.prettierrc.json +0 -8
  352. package/build/commands/create-mini/standalone/examples/with-search/README.md +0 -25
  353. package/build/commands/create-mini/standalone/examples/with-search/assets.d.ts +0 -14
  354. package/build/commands/create-mini/standalone/examples/with-search/babel.config.js +0 -5
  355. package/build/commands/create-mini/standalone/examples/with-search/index.tsx +0 -5
  356. package/build/commands/create-mini/standalone/examples/with-search/metro.config.js +0 -3
  357. package/build/commands/create-mini/standalone/examples/with-search/package.json +0 -33
  358. package/build/commands/create-mini/standalone/examples/with-search/src/App.tsx +0 -23
  359. package/build/commands/create-mini/standalone/examples/with-search/src/components/HeaderAction.tsx +0 -32
  360. package/build/commands/create-mini/standalone/examples/with-search/src/components/ShopCard.tsx +0 -92
  361. package/build/commands/create-mini/standalone/examples/with-search/src/index.tsx +0 -9
  362. package/build/commands/create-mini/standalone/examples/with-search/src/manifest.json +0 -7
  363. package/build/commands/create-mini/standalone/examples/with-search/src/screens/MerchantSearchScreen.tsx +0 -126
  364. package/build/commands/create-mini/standalone/examples/with-search/src/screens/ProductSearchScreen.tsx +0 -115
  365. package/build/commands/create-mini/standalone/examples/with-search/src/types/screens.ts +0 -6
  366. package/build/commands/create-mini/standalone/examples/with-search/tsconfig.json +0 -41
  367. package/build/commands/create-mini/standalone/examples/with-user-data/.eslintignore +0 -1
  368. package/build/commands/create-mini/standalone/examples/with-user-data/.eslintrc.js +0 -3
  369. package/build/commands/create-mini/standalone/examples/with-user-data/.graphqlrc.js +0 -1
  370. package/build/commands/create-mini/standalone/examples/with-user-data/.prettierrc.json +0 -8
  371. package/build/commands/create-mini/standalone/examples/with-user-data/README.md +0 -26
  372. package/build/commands/create-mini/standalone/examples/with-user-data/assets.d.ts +0 -14
  373. package/build/commands/create-mini/standalone/examples/with-user-data/babel.config.js +0 -5
  374. package/build/commands/create-mini/standalone/examples/with-user-data/index.tsx +0 -5
  375. package/build/commands/create-mini/standalone/examples/with-user-data/metro.config.js +0 -3
  376. package/build/commands/create-mini/standalone/examples/with-user-data/package.json +0 -33
  377. package/build/commands/create-mini/standalone/examples/with-user-data/src/App.tsx +0 -5
  378. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/ProductSection.tsx +0 -39
  379. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/SectionStyles.ts +0 -9
  380. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/ShopCard.tsx +0 -42
  381. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/ShopSection.tsx +0 -40
  382. package/build/commands/create-mini/standalone/examples/with-user-data/src/index.tsx +0 -9
  383. package/build/commands/create-mini/standalone/examples/with-user-data/src/manifest.json +0 -10
  384. package/build/commands/create-mini/standalone/examples/with-user-data/src/screens/HomeScreen.tsx +0 -67
  385. package/build/commands/create-mini/standalone/examples/with-user-data/tsconfig.json +0 -41
  386. package/build/commands/create-mini/standalone/index.d.ts +0 -2
  387. package/build/commands/create-mini/standalone/index.js.map +0 -1
  388. package/build/commands/create-mini/utils/examples.js.map +0 -1
  389. package/build/commands/create-mini/utils/index.js.map +0 -1
  390. package/build/commands/dev/utils/app-screens.d.ts +0 -9
  391. package/build/commands/dev/utils/app-screens.js +0 -170
  392. package/build/commands/dev/utils/app-screens.js.map +0 -1
  393. package/build/commands/dev/utils/metro/metro-config.d.ts +0 -2
  394. package/build/commands/dev/utils/metro/metro-config.js +0 -29
  395. package/build/commands/dev/utils/metro/metro-config.js.map +0 -1
  396. package/build/commands/dev/utils/metro/metro-minis-module-resolver.d.ts +0 -6
  397. package/build/commands/dev/utils/metro/metro-minis-module-resolver.js +0 -11
  398. package/build/commands/dev/utils/metro/metro-minis-module-resolver.js.map +0 -1
  399. package/build/commands/dev/utils/metro/metro-reporter.d.ts +0 -21
  400. package/build/commands/dev/utils/metro/metro-reporter.js +0 -46
  401. package/build/commands/dev/utils/metro/metro-reporter.js.map +0 -1
  402. package/build/commands/dev/utils/metro/metro-server-middleware.d.ts +0 -10
  403. package/build/commands/dev/utils/metro/metro-server-middleware.js +0 -74
  404. package/build/commands/dev/utils/metro/metro-server-middleware.js.map +0 -1
  405. package/build/commands/dev/utils/metro/metro-server.d.ts +0 -6
  406. package/build/commands/dev/utils/metro/metro-server.js +0 -26
  407. package/build/commands/dev/utils/metro/metro-server.js.map +0 -1
  408. package/build/commands/dev/utils/start-app/types.d.ts +0 -14
  409. package/build/commands/dev/utils/start-app/types.js +0 -2
  410. package/build/commands/dev/utils/start-app/types.js.map +0 -1
  411. package/build/commands/dev/utils/types.d.ts +0 -24
  412. package/build/commands/dev/utils/types.js.map +0 -1
  413. package/build/commands/doctor/utils/diagnose-dependencies.d.ts +0 -8
  414. package/build/commands/doctor/utils/diagnose-dependencies.js +0 -190
  415. package/build/commands/doctor/utils/diagnose-dependencies.js.map +0 -1
  416. package/build/commands/generate-graphql-types/index.d.ts +0 -6
  417. package/build/commands/generate-graphql-types/index.js +0 -36
  418. package/build/commands/generate-graphql-types/index.js.map +0 -1
  419. package/build/commands/generate-graphql-types/utils/generate-graphql-types.d.ts +0 -2
  420. package/build/commands/generate-graphql-types/utils/generate-graphql-types.js +0 -67
  421. package/build/commands/generate-graphql-types/utils/generate-graphql-types.js.map +0 -1
  422. package/build/commands/generate-graphql-types/utils/get-graphql-config.d.ts +0 -1
  423. package/build/commands/generate-graphql-types/utils/get-graphql-config.js +0 -39
  424. package/build/commands/generate-graphql-types/utils/get-graphql-config.js.map +0 -1
  425. package/build/commands/generate-graphql-types/utils/get-graphql-config.spec.d.ts +0 -1
  426. package/build/commands/generate-graphql-types/utils/get-graphql-config.spec.js +0 -62
  427. package/build/commands/generate-graphql-types/utils/get-graphql-config.spec.js.map +0 -1
  428. package/build/commands/generate-graphql-types/utils/require.d.ts +0 -2
  429. package/build/commands/generate-graphql-types/utils/require.js +0 -3
  430. package/build/commands/generate-graphql-types/utils/require.js.map +0 -1
  431. package/build/commands/submit/utils/request-entry-point-params.d.ts +0 -1
  432. package/build/commands/submit/utils/request-entry-point-params.js +0 -43
  433. package/build/commands/submit/utils/request-entry-point-params.js.map +0 -1
  434. package/build/commands/upgrade/utils/clear-metro-cache.d.ts +0 -1
  435. package/build/commands/upgrade/utils/clear-metro-cache.js +0 -12
  436. package/build/commands/upgrade/utils/clear-metro-cache.js.map +0 -1
  437. package/build/commands/upgrade/utils/cli.d.ts +0 -1
  438. package/build/commands/upgrade/utils/cli.js +0 -15
  439. package/build/commands/upgrade/utils/cli.js.map +0 -1
  440. package/build/constants/extensions.d.ts +0 -21
  441. package/build/constants/extensions.js +0 -25
  442. package/build/constants/extensions.js.map +0 -1
  443. package/build/constants/templates.d.ts +0 -7
  444. package/build/constants/templates.js +0 -8
  445. package/build/constants/templates.js.map +0 -1
  446. package/build/templates-index.d.ts +0 -6
  447. package/build/templates-index.js +0 -24
  448. package/build/templates-index.js.map +0 -1
  449. package/build/utils/development-params.d.ts +0 -13
  450. package/build/utils/development-params.js +0 -44
  451. package/build/utils/development-params.js.map +0 -1
  452. package/build/utils/extensions.d.ts +0 -13
  453. package/build/utils/extensions.js +0 -87
  454. package/build/utils/extensions.js.map +0 -1
  455. package/build/utils/patch-package.d.ts +0 -5
  456. package/build/utils/patch-package.js +0 -79
  457. package/build/utils/patch-package.js.map +0 -1
  458. package/build/utils/semver.d.ts +0 -1
  459. package/build/utils/semver.js +0 -19
  460. package/build/utils/semver.js.map +0 -1
  461. package/build/utils/standalone.d.ts +0 -2
  462. package/build/utils/standalone.js +0 -15
  463. package/build/utils/standalone.js.map +0 -1
  464. package/scripts/test-create-mini-legacy.ts +0 -63
  465. package/scripts/test-create-mini-standalone.ts +0 -80
  466. package/shipit.snapshot.yml +0 -9
  467. package/templates/__template_blank/src/App.tsx +0 -24
  468. package/templates/__template_blank/src/index.tsx +0 -9
  469. package/templates/__template_common/.eslintignore +0 -1
  470. package/templates/__template_common/.eslintrc.js +0 -3
  471. package/templates/__template_common/.graphqlrc.js +0 -1
  472. package/templates/__template_common/.prettierrc.json +0 -8
  473. package/templates/__template_common/assets.d.ts +0 -14
  474. package/templates/__template_common/babel.config.js +0 -5
  475. package/templates/__template_common/index.tsx +0 -5
  476. package/templates/__template_common/metro.config.js +0 -5
  477. package/templates/__template_common/package.json +0 -35
  478. package/templates/__template_common/src/manifest.json +0 -6
  479. package/templates/__template_common/tsconfig.json +0 -41
  480. package/templates/__template_getting_started/src/App.tsx +0 -23
  481. package/templates/__template_getting_started/src/index.tsx +0 -9
  482. package/templates/__template_getting_started/src/manifest.json +0 -7
  483. package/templates/__template_getting_started/src/screens/HomeScreen.tsx +0 -131
  484. package/templates/__template_getting_started/src/screens/NativeFeaturesScreen.tsx +0 -137
  485. package/templates/__template_getting_started/src/types/screens.ts +0 -5
  486. package/templates/__template_shoppable_posts/src/App.tsx +0 -42
  487. package/templates/__template_shoppable_posts/src/index.tsx +0 -9
  488. package/templates/__template_shoppable_videos/src/App.tsx +0 -39
  489. package/templates/__template_shoppable_videos/src/index.tsx +0 -9
  490. package/templates/extensions/components/__template_blank/render.tsx +0 -18
  491. package/templates/extensions/components/__template_bundle-collection/render.tsx +0 -31
  492. package/templates/extensions/components/__template_bundle-collection/seed.ts +0 -26
  493. package/templates/extensions/components/__template_bundle-selector/render.tsx +0 -51
  494. package/templates/extensions/components/__template_bundle-selector/seed.ts +0 -72
  495. package/templates/extensions/components/__template_default-card/render.tsx +0 -24
  496. package/templates/extensions/components/__template_default-card/seed.ts +0 -10
  497. package/templates/extensions/components/__template_image-collection/render.tsx +0 -17
  498. package/templates/extensions/components/__template_image-collection/seed.ts +0 -70
  499. package/templates/extensions/components/__template_link/render.tsx +0 -17
  500. package/templates/extensions/components/__template_link/seed.ts +0 -5
  501. package/templates/extensions/components/__template_product-offer-card/render.tsx +0 -17
  502. package/templates/extensions/components/__template_product-offer-card/seed.ts +0 -44
  503. package/templates/extensions/components/__template_survey-single-response/render.tsx +0 -26
  504. package/templates/extensions/components/__template_survey-single-response/seed.ts +0 -22
  505. package/templates/extensions/components/__template_video-collection/render.tsx +0 -17
  506. package/templates/extensions/components/__template_video-collection/seed.ts +0 -37
  507. package/templates/extensions/queries/__template_order-confirmation-page/input.graphql +0 -5
  508. package/templates/extensions/queries/__template_order-confirmation-page/input.graphql.d.ts +0 -24
  509. package/templates/extensions/queries/__template_order-management-page/input.graphql +0 -5
  510. package/templates/extensions/queries/__template_order-management-page/input.graphql.d.ts +0 -24
  511. package/templates/extensions/queries/__template_product-page/input.graphql +0 -9
  512. package/templates/extensions/queries/__template_product-page/input.graphql.d.ts +0 -36
  513. package/templates/extensions/queries/__template_store-page/input.graphql +0 -5
  514. package/templates/extensions/queries/__template_store-page/input.graphql.d.ts +0 -24
  515. /package/build/commands/{create-extension → create}/index.d.ts +0 -0
  516. /package/build/commands/{create-mini → create}/utils/index.d.ts +0 -0
  517. /package/build/commands/{create-mini → create}/utils/index.js +0 -0
@@ -0,0 +1,153 @@
1
+ # Shop minis CLI
2
+
3
+ The CLI tool to create, run and publish minis.
4
+
5
+ ## Getting started
6
+
7
+ _If you want to read on how to use the CLI, jump to [using the cli](#using-the-cli) section_
8
+
9
+ ### Set up
10
+
11
+ 1. Clone the repository with `dev clone shop-minis-cli`
12
+ 2. Install dependencies: `yarn`
13
+
14
+ ### Development
15
+
16
+ When working with the `create` command, you can easily test your local changes by creating a new mini running `yarn build:cli && yarn shop-minis create`.
17
+
18
+ However, testing changes on the dev command gets more complicated because newly created minis get the CLI as a dependency from npm instead of using our local version with the changes we want to test. Follow instructions below to link a mini to your local CLI:
19
+
20
+ 1. In the CLI folder, run `yarn link`.
21
+ 2. In your mini (create a new mini if you don't have a mini already), run `yarn link @shopify/shop-minis-cli`
22
+ 3. Whenever you change something in the CLI, run `yarn build`.
23
+ 4. Rerun `yarn start` in the mini, the command should reflect the latest changes you did in the CLI project.
24
+
25
+ #### Installing dependencies
26
+
27
+ Use `yarn`, don't create or commit an npm `package-lock.json`. `yarn.lock` is the source of truth.
28
+
29
+ ### Testing changes with snapshot releases
30
+
31
+ `yarn link` helps us a lot when testing changes to CLI locally, but there are edge cases where symbolic links interfere with the functionality we are actually trying to test.
32
+
33
+ In those cases, you can create an snapshot release:
34
+
35
+ 1. Run the [`Publish snapshot`](https://github.com/Shopify/shop-minis-cli/actions/workflows/publish_snapshot.yml) action against your branch. It will publish a snapshot version to npm. You can find the version in the action run output - it will be something like `0.0.0-snapshot.20240910122838`.
36
+ 2. Install the snapshot version in the mini you want to test the changes in.
37
+
38
+ snapshot versions are released to npm with the tag `snapshot`, so they won't be installed by partners unless they explicitly use the tag (`npm install @shopify/shop-minis-cli@snapshot`)
39
+
40
+ ## Using the CLI
41
+
42
+ To use the CLI create a new mini: `yarn create @shopify/shop-mini@latest-web`. Legacy minis can be created with `yarn create @shopify/shop-mini@latest` but this mode is deprecated.
43
+
44
+ Then use `yarn shop-minis --help` to get instructions on how to use the CLI.
45
+
46
+ ## Creating a new release
47
+
48
+ ### Legacy
49
+
50
+ To push the react native cli to the `latest-react-native` tag, you need to merge your changes to the `legacy` branch.
51
+
52
+ 1. The [`Publish react native`](https://github.com/Shopify/shop-minis-cli/actions/workflows/publish_react_native.yml) action will run and publish the new version to npm.
53
+
54
+ ### Web
55
+
56
+ To push the web cli to the `latest` tag, you need to merge your changes to the `main` branch.
57
+
58
+ 1. Bump the version number on the `main` branch.
59
+ 2. Run the [`Publish web`](https://github.com/Shopify/shop-minis-cli/actions/workflows/publish_web.yml) action against `main`.
60
+
61
+ ## Sharing snapshot builds with partners
62
+
63
+ If you need to share a snapshot build with a partner, follow these steps.
64
+
65
+ 1. Follow [these docs](https://shop.docs.shopify.io/docs/shop-client/tophatting#manually-triggering-snapshot-builds) to manually create the snapshot build from the branch you want to share with the partner (use `main` as the branch if the change you want to share is already merged)
66
+ 2. When the snapshot build is ready, take note of the version and build number. (In shipit, snapshot builds are usually named `<version>-snapshot.<build number>`, example: `2.45.0-snapshot.1645678813`)
67
+ 3. Instruct the partner to run the mini, adding `--snapshot-version <version>+<build number>` to the start command. Example: `yarn start --snapshot-version 2.108.1+1685260045` or `npm start -- --snapshot-version 2.108.1+1685260045`
68
+
69
+ Using this argument should download a new Shop binary in the partner's device. Note that android and iOS snapshots will have different build numbers, so check with the partner which platform they want to use.
70
+
71
+ ## Codemods
72
+
73
+ If some changes in the SDK or CLI require changes to the way we run minis you might need a codemod for the next version.
74
+
75
+ Imagine `shop-minis-cli` is currently on `v0.0.74`. You will be creating the codemod for `v0.0.75`
76
+
77
+ - Before making any changes checkout `v0.0.74`, run a cli build and create a mini.
78
+ - Optional: Set up git for the mini and make an initial commit. This will allow you to reset the state later.
79
+ - Create `src/commands/codemod/releases/v0-0-75.ts`. Copying the previous codemod will ensure you get the right format
80
+ - Add your codemod to `src/commands/codemod/releases/index.ts`
81
+ - [Run the cli and link your mini](#development)
82
+ - Make your changes
83
+ - Run `yarn shop-minis codemod --from-version 0.0.74 --to-version 0.0.75 --no-hard-reset-dependencies --verbose` to test your changes
84
+ - Use the git diff to decide if your codemod worked as expected. Also verify your test mini still runs as expected.
85
+ - Use git reset, make changes and re-run the codemod until it works as expected
86
+ - When everything works as expected send a PR with the changes.
87
+ - Ensure this PR gets merged before `v0.0.75` is tagged/released. If someone tags/releases `v0.0.75` before your change lands you will need to rename your codemod to be the next version. This is because once cli users have upgraded to `v0.0.75` this codemod will never be run if it is merged and included in a later release
88
+
89
+ ### Codemod testing
90
+
91
+ You can add unit tests for each codemod if required. Each codemod will also be validated by CI. The CI tests work as follows:
92
+
93
+ - Mini A is created with the latest CLI
94
+ - Mini B is created with CLI v0.0.42 (The first version supported by codemods)
95
+ - Mini B is upgraded by running all the codemods
96
+ - The expectation is that Mini B equals Mini A (old mini + codemods === new mini)
97
+
98
+ See [upgrade_command_integration.yml](.github/workflows/upgrade_command_integration.yml) and [an example run](https://github.com/Shopify/shop-minis-cli/actions/runs/5544190658/jobs/10121293912?pr=306) for details.
99
+
100
+ ### Troubleshooting
101
+
102
+ #### Making sure the partner is using the right version
103
+
104
+ To make sure the partner is using the right version, you can ask them to provide a screenshot of the About screen of the app (Profile tab -> Support -> About)
105
+
106
+ The version shown in the screen should match the snapshot version you handled them.
107
+
108
+ #### Making sure the partner build exists
109
+
110
+ All partner builds are uploaded to a bucket in google cloud. If you created a snapshot, there should be a partner build in [this bucket](https://console.cloud.google.com/storage/browser/minis_cli_app_builds;tab=objects?project=arrive-167720&prefix=&forceOnObjectsSortingFiltering=false) matching the version of the snapshot.
111
+
112
+ If you can't find your build, try looking for errors in the pipelines that create these builds:
113
+
114
+ - Pipeline for iOS: https://buildkite.com/shopify/shipit-mobile-shop-ios-minis-partner-build
115
+ - Pipeline for Android: https://buildkite.com/shopify/shipit-mobile-shop-android-minis-partner-build
116
+
117
+ ## Updating allowed dependencies
118
+
119
+ This section outlines the criteria for determining whether a dependency is safe to be allowed in Shop Minis projects, as well as instructions for adding new optional dependencies.
120
+
121
+ ### Criteria for dependency safety
122
+
123
+ When evaluating whether a dependency should be allowed, consider the following criteria:
124
+
125
+ #### 1. Popularity and adoption
126
+
127
+ Popular dependencies with large user bases are generally safer than obscure packages. Check npm download statistics and GitHub stars as indicators of adoption.
128
+
129
+ #### 2. Maintenance and stability
130
+
131
+ Ensure the dependency is actively maintained with regular updates and bug fixes. Avoid experimental or abandoned packages.
132
+
133
+ #### 3. React version compatibility
134
+
135
+ Verify the dependency is compatible with the React versions specified in `REQUIRED_DEPENDENCIES` by checking its peer dependencies and testing.
136
+
137
+ #### 4. Security and safety scores
138
+
139
+ Check security scores using [Snyk Advisor](https://snyk.io/advisor/), [Socket.dev](https://socket.dev/), or [NPM Audit](https://docs.npmjs.com/cli/v8/commands/npm-audit) to identify any vulnerabilities or supply chain risks.
140
+
141
+ #### 5. Avoid duplicated functionality
142
+
143
+ Prefer not to add dependencies that duplicate functionality already provided by existing allowed dependencies. Check if there's already a suitable package before adding something similar.
144
+
145
+ ### Adding optional dependencies
146
+
147
+ To add a new optional dependency:
148
+
149
+ 1. Evaluate the dependency using the criteria above
150
+ 2. Add it to `OPTIONAL_DEPENDENCIES` in `src/utils/allowed-dependencies.ts` with an exact version (e.g., `1.2.3`)
151
+ 3. Publish a new CLI version
152
+
153
+ Note: Required dependencies should rarely change and require broader team approval.
@@ -1,5 +1,4 @@
1
1
  import { Command } from 'commander';
2
- import { isStandaloneMini } from '../../utils/standalone.js';
3
2
  import { manifestExists } from '../../utils/minis-manifest.js';
4
3
  import { command as listCommand } from './list.js';
5
4
  import { command as linkCommand } from './link.js';
@@ -12,7 +11,7 @@ export function loadCommand(parentProgram) {
12
11
  .addCommand(linkCommand)
13
12
  .addCommand(unlinkCommand);
14
13
  parentProgram.addCommand(command, {
15
- hidden: !manifestExists() || isStandaloneMini(),
14
+ hidden: !manifestExists(),
16
15
  });
17
16
  }
18
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAA;AAE5D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,WAAW,CAAA;AAChD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,WAAW,CAAA;AAChD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,aAAa,CAAA;AAEpD,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,KAAK,CAAC;SACX,WAAW,CAAC,4DAA4D,CAAC;SACzE,UAAU,CAAC,WAAW,CAAC;SACvB,UAAU,CAAC,WAAW,CAAC;SACvB,UAAU,CAAC,aAAa,CAAC,CAAA;IAE5B,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE;QAChC,MAAM,EAAE,CAAC,cAAc,EAAE,IAAI,gBAAgB,EAAE;KAChD,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAA;AAE5D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,WAAW,CAAA;AAChD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,WAAW,CAAA;AAChD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,aAAa,CAAA;AAEpD,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,KAAK,CAAC;SACX,WAAW,CAAC,4DAA4D,CAAC;SACzE,UAAU,CAAC,WAAW,CAAC;SACvB,UAAU,CAAC,WAAW,CAAC;SACvB,UAAU,CAAC,aAAa,CAAC,CAAA;IAE5B,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE;QAChC,MAAM,EAAE,CAAC,cAAc,EAAE;KAC1B,CAAC,CAAA;AACJ,CAAC"}
@@ -43,9 +43,9 @@ export const cancelSubmission = async () => {
43
43
  }
44
44
  else {
45
45
  renderInfo({
46
- headline: 'No pending submission',
46
+ headline: 'No pending or testing submission',
47
47
  body: [
48
- 'If you previously had a pending submission, it may have been reviewed or already cancelled.',
48
+ 'If you previously had a pending or testing submission, it may have been reviewed, tested, or already cancelled.',
49
49
  ],
50
50
  });
51
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cancel-submission.js","sourceRoot":"","sources":["../../../src/commands/cancel-submission/cancel-submission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAC,UAAU,EAAE,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAE9E,OAAO,EAAC,oBAAoB,IAAI,2BAA2B,EAAC,MAAM,+BAA+B,CAAA;AACjG,OAAO,EAAC,gBAAgB,IAAI,uBAAuB,EAAC,MAAM,iCAAiC,CAAA;AAC3F,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAA;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACzC,IAAI;QACF,MAAM,oBAAoB,EAAE,CAAA;QAE5B,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,EAAE,CAAA;QAE7D,IAAI,iBAAiB,EAAE;YACrB,MAAM,cAAc,GAAG,MAAM,wBAAwB,CAAC;gBACpD,OAAO,EAAE;oBACP,4CAA4C;oBAC5C,EAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAC;oBACnC,WAAW,iBAAiB,CAAC,WAAW,GAAG;iBAC5C;aACF,CAAC,CAAA;YACF,IAAI,CAAC,cAAc;gBAAE,OAAM;YAE3B,MAAM,EAAC,UAAU,EAAE,mBAAmB,EAAC,GAAG,MAAM,uBAAuB,CAAC;gBACtE,SAAS,EAAE,iBAAiB,CAAC,SAAS;aACvC,CAAC,CAAA;YAEF,IAAI,mBAAmB,EAAE;gBACvB,aAAa,CAAC;oBACZ,QAAQ,EAAE,sBAAsB;oBAChC,IAAI,EAAE;wBACJ,gCAAgC;wBAChC;4BACE,IAAI,EAAE,mBAAmB,CAAC,SAAS;yBACpC;wBACD,gBAAgB;qBACjB;iBACF,CAAC,CAAA;aACH;iBAAM;gBACL,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAChD,8BAA8B,CAC/B,CAAA;gBACD,MAAM,IAAI,UAAU,CAClB,8BAA8B,EAC9B,mDAAmD,EACnD;oBACE,gBAAgB,mBAAmB,SAAS;oBAC5C,sCAAsC;iBACvC,CACF,CAAA;aACF;SACF;aAAM;YACL,UAAU,CAAC;gBACT,QAAQ,EAAE,uBAAuB;gBACjC,IAAI,EAAE;oBACJ,6FAA6F;iBAC9F;aACF,CAAC,CAAA;SACH;KACF;IAAC,OAAO,KAAU,EAAE;QACnB,gCAAgC;QAChC,WAAW,CAAC,KAAK,CAAC,CAAA;QAElB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"cancel-submission.js","sourceRoot":"","sources":["../../../src/commands/cancel-submission/cancel-submission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAC,UAAU,EAAE,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAE9E,OAAO,EAAC,oBAAoB,IAAI,2BAA2B,EAAC,MAAM,+BAA+B,CAAA;AACjG,OAAO,EAAC,gBAAgB,IAAI,uBAAuB,EAAC,MAAM,iCAAiC,CAAA;AAC3F,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAA;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACzC,IAAI;QACF,MAAM,oBAAoB,EAAE,CAAA;QAE5B,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,EAAE,CAAA;QAE7D,IAAI,iBAAiB,EAAE;YACrB,MAAM,cAAc,GAAG,MAAM,wBAAwB,CAAC;gBACpD,OAAO,EAAE;oBACP,4CAA4C;oBAC5C,EAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAC;oBACnC,WAAW,iBAAiB,CAAC,WAAW,GAAG;iBAC5C;aACF,CAAC,CAAA;YACF,IAAI,CAAC,cAAc;gBAAE,OAAM;YAE3B,MAAM,EAAC,UAAU,EAAE,mBAAmB,EAAC,GAAG,MAAM,uBAAuB,CAAC;gBACtE,SAAS,EAAE,iBAAiB,CAAC,SAAS;aACvC,CAAC,CAAA;YAEF,IAAI,mBAAmB,EAAE;gBACvB,aAAa,CAAC;oBACZ,QAAQ,EAAE,sBAAsB;oBAChC,IAAI,EAAE;wBACJ,gCAAgC;wBAChC;4BACE,IAAI,EAAE,mBAAmB,CAAC,SAAS;yBACpC;wBACD,gBAAgB;qBACjB;iBACF,CAAC,CAAA;aACH;iBAAM;gBACL,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAChD,8BAA8B,CAC/B,CAAA;gBACD,MAAM,IAAI,UAAU,CAClB,8BAA8B,EAC9B,mDAAmD,EACnD;oBACE,gBAAgB,mBAAmB,SAAS;oBAC5C,sCAAsC;iBACvC,CACF,CAAA;aACF;SACF;aAAM;YACL,UAAU,CAAC;gBACT,QAAQ,EAAE,kCAAkC;gBAC5C,IAAI,EAAE;oBACJ,iHAAiH;iBAClH;aACF,CAAC,CAAA;SACH;KACF;IAAC,OAAO,KAAU,EAAE;QACnB,gCAAgC;QAChC,WAAW,CAAC,KAAK,CAAC,CAAA;QAElB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC,CAAA"}
@@ -5,7 +5,7 @@ import { cancelSubmission } from './cancel-submission.js';
5
5
  export function loadCommand(parentProgram) {
6
6
  const command = new Command()
7
7
  .name('cancel-submission')
8
- .description('Cancel a pending submission.')
8
+ .description('Cancel a pending or testing submission.')
9
9
  .option('--verbose', 'Print debugging messages.') // compatible with cli-kit
10
10
  .action(async (args) => {
11
11
  const miniHandle = getMiniManifest().handle;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/cancel-submission/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAA;AAG7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAA;AAEvD,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,mBAAmB,CAAC;SACzB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC,0BAA0B;SAC3E,MAAM,CAAC,KAAK,EAAE,IAAiC,EAAE,EAAE;QAClD,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAA;QAE3C,WAAW,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7D,WAAW,CACT,mCAAmC,UAAU,QAAQ,OAAO,CAAC,GAAG,EAAE,EAAE,CACrE,CAAA;QAED,MAAM,gBAAgB,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEJ,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/cancel-submission/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAA;AAG7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAA;AAEvD,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,mBAAmB,CAAC;SACzB,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC,0BAA0B;SAC3E,MAAM,CAAC,KAAK,EAAE,IAAiC,EAAE,EAAE;QAClD,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAA;QAE3C,WAAW,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7D,WAAW,CACT,mCAAmC,UAAU,QAAQ,OAAO,CAAC,GAAG,EAAE,EAAE,CACrE,CAAA;QAED,MAAM,gBAAgB,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEJ,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
@@ -5,6 +5,7 @@ import { renderInfo } from '@shopify/cli-kit/node/ui';
5
5
  import { getMiniManifest } from '../../utils/minis-manifest.js';
6
6
  import { getSubmissions } from '../../data/get-submissions.js';
7
7
  import { assertNetworkAndAuth } from '../../utils/common-tasks.js';
8
+ import { SubmissionStatus } from '../../data/types/autogenerated/shop-minis-admin-api/graphql.js';
8
9
  export function loadCommand(parentProgram) {
9
10
  const command = new Command()
10
11
  .name('check-submission')
@@ -24,17 +25,23 @@ export function loadCommand(parentProgram) {
24
25
  }
25
26
  else {
26
27
  const latestSubmission = nodes[0];
27
- const nextSteps = latestSubmission.status === 'REJECTED'
28
- ? [
28
+ let nextSteps = [];
29
+ if (latestSubmission.status === SubmissionStatus.Rejected) {
30
+ nextSteps = [
29
31
  'Check the email for more information and feedback on your submission.',
30
- ]
31
- : [];
32
+ ];
33
+ }
34
+ else if (latestSubmission.status === SubmissionStatus.Testing) {
35
+ nextSteps = [
36
+ 'Your submission is currently being tested. This may take some time.',
37
+ 'You can cancel this submission if needed by running the cancel-submission command.',
38
+ ];
39
+ }
32
40
  const formattedDate = new Intl.DateTimeFormat(undefined, {
33
41
  dateStyle: 'full',
34
42
  timeStyle: 'full',
35
43
  }).format(new Date(latestSubmission.submittedAt));
36
- const formattedStatus = latestSubmission.status[0].toLocaleUpperCase() +
37
- latestSubmission.status.slice(1).toLocaleLowerCase();
44
+ const formattedStatus = latestSubmission.status;
38
45
  renderInfo({
39
46
  headline: `Status: ${formattedStatus}`,
40
47
  body: `Description:\n${latestSubmission.description}\n\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/check-submission/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAA;AAEnD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAA;AAIhE,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,kBAAkB,CAAC;SACxB,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC,0BAA0B;SAC3E,MAAM,CAAC,KAAK,EAAE,IAAgC,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAA;QAE3C,WAAW,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5D,WAAW,CACT,kCAAkC,UAAU,QAAQ,OAAO,CAAC,GAAG,EAAE,EAAE,CACpE,CAAA;QAED,IAAI;YACF,MAAM,oBAAoB,EAAE,CAAA;YAE5B,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,cAAc,EAAE,CAAA;YAEtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,UAAU,CAAC;oBACT,QAAQ,EAAE,sBAAsB;iBACjC,CAAC,CAAA;aACH;iBAAM;gBACL,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACjC,MAAM,SAAS,GACb,gBAAgB,CAAC,MAAM,KAAK,UAAU;oBACpC,CAAC,CAAC;wBACE,uEAAuE;qBACxE;oBACH,CAAC,CAAC,EAAE,CAAA;gBACR,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;oBACvD,SAAS,EAAE,MAAM;oBACjB,SAAS,EAAE,MAAM;iBAClB,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAA;gBACjD,MAAM,eAAe,GACnB,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE;oBAC9C,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAA;gBAEtD,UAAU,CAAC;oBACT,QAAQ,EAAE,WAAW,eAAe,EAAE;oBACtC,IAAI,EACF,iBAAiB,gBAAgB,CAAC,WAAW,MAAM;wBACnD,cAAc,gBAAgB,CAAC,SAAS,MAAM;wBAC9C,aAAa,aAAa,EAAE;oBAC9B,SAAS;iBACV,CAAC,CAAA;aACH;SACF;QAAC,OAAO,KAAU,EAAE;YACnB,gCAAgC;YAChC,WAAW,CAAC,KAAK,CAAC,CAAA;YAElB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAChB;IACH,CAAC,CAAC,CAAA;IAEJ,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/check-submission/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAA;AAEnD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAC,gBAAgB,EAAC,MAAM,gEAAgE,CAAA;AAI/F,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,kBAAkB,CAAC;SACxB,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC,0BAA0B;SAC3E,MAAM,CAAC,KAAK,EAAE,IAAgC,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAA;QAE3C,WAAW,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5D,WAAW,CACT,kCAAkC,UAAU,QAAQ,OAAO,CAAC,GAAG,EAAE,EAAE,CACpE,CAAA;QAED,IAAI;YACF,MAAM,oBAAoB,EAAE,CAAA;YAE5B,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,cAAc,EAAE,CAAA;YAEtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,UAAU,CAAC;oBACT,QAAQ,EAAE,sBAAsB;iBACjC,CAAC,CAAA;aACH;iBAAM;gBACL,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACjC,IAAI,SAAS,GAAa,EAAE,CAAA;gBAE5B,IAAI,gBAAgB,CAAC,MAAM,KAAK,gBAAgB,CAAC,QAAQ,EAAE;oBACzD,SAAS,GAAG;wBACV,uEAAuE;qBACxE,CAAA;iBACF;qBAAM,IAAI,gBAAgB,CAAC,MAAM,KAAK,gBAAgB,CAAC,OAAO,EAAE;oBAC/D,SAAS,GAAG;wBACV,qEAAqE;wBACrE,oFAAoF;qBACrF,CAAA;iBACF;gBAED,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;oBACvD,SAAS,EAAE,MAAM;oBACjB,SAAS,EAAE,MAAM;iBAClB,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAA;gBACjD,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAA;gBAE/C,UAAU,CAAC;oBACT,QAAQ,EAAE,WAAW,eAAe,EAAE;oBACtC,IAAI,EACF,iBAAiB,gBAAgB,CAAC,WAAW,MAAM;wBACnD,cAAc,gBAAgB,CAAC,SAAS,MAAM;wBAC9C,aAAa,aAAa,EAAE;oBAC9B,SAAS;iBACV,CAAC,CAAA;aACH;SACF;QAAC,OAAO,KAAU,EAAE;YACnB,gCAAgC;YAChC,WAAW,CAAC,KAAK,CAAC,CAAA;YAElB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAChB;IACH,CAAC,CAAC,CAAA;IAEJ,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import { Command } from 'commander';
2
- import { handler as handleError } from '@shopify/cli-kit/node/error';
3
2
  import { outputDebug } from '@shopify/cli-kit/node/output';
4
3
  import { getMiniManifest } from '../../utils/minis-manifest.js';
5
4
  import { hardResetDependencies } from '../../utils/package-manager.js';
6
5
  import { wrapWithLoadingIndicator } from '../../utils/wrap-with-loading-indicator.js';
7
- import { validateUpgradeBetweenVersions } from '../../utils/semver.js';
8
6
  import { applyUpgrades as applyReleaseUpgrades } from './releases/index.js';
9
7
  export const command = new Command()
10
8
  .name('codemod')
@@ -21,13 +19,6 @@ export const command = new Command()
21
19
  outputDebug(`--from-version and --to-version are the same, no changes will be applied by codemod (versions are ${fromVersion})`);
22
20
  return;
23
21
  }
24
- try {
25
- validateUpgradeBetweenVersions(fromVersion, toVersion);
26
- }
27
- catch (err) {
28
- handleError(err);
29
- process.exit(1);
30
- }
31
22
  await applyReleaseUpgrades({
32
23
  fromVersion,
33
24
  toVersion,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/codemod/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4CAA4C,CAAA;AACnF,OAAO,EAAC,8BAA8B,EAAC,MAAM,uBAAuB,CAAA;AAEpE,OAAO,EAAC,aAAa,IAAI,oBAAoB,EAAC,MAAM,qBAAqB,CAAA;AAUzE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KACjC,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CACV,mEAAmE,CACpE;KACA,cAAc,CACb,0BAA0B,EAC1B,gEAAgE,CACjE;KACA,cAAc,CACb,wBAAwB,EACxB,wDAAwD,CACzD;KACA,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,UAAU,EAAE,mDAAmD,CAAC;KACvE,MAAM,CACL,8BAA8B,EAC9B,yFAAyF,CAC1F;KACA,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAA;IAE3C,MAAM,EACJ,SAAS,EACT,GAAG,EAAE,WAAW,EAChB,WAAW,EACX,qBAAqB,EAAE,2BAA2B,GACnD,GAAG,IAAI,CAAA;IAER,IAAI,SAAS,KAAK,WAAW,EAAE;QAC7B,WAAW,CACT,qGAAqG,WAAW,GAAG,CACpH,CAAA;QACD,OAAM;KACP;IAED,IAAI;QACF,8BAA8B,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;KACvD;IAAC,OAAO,GAAG,EAAE;QACZ,WAAW,CAAC,GAAG,CAAC,CAAA;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IAED,MAAM,oBAAoB,CAAC;QACzB,WAAW;QACX,SAAS;QACT,UAAU;QACV,OAAO,EAAE,EAAC,WAAW,EAAC;KACvB,CAAC,CAAA;IAEF,IAAI,2BAA2B,EAAE;QAC/B,MAAM,wBAAwB,CAAC,qBAAqB,EAAE,EAAE;YACtD,cAAc,EAAE,8BAA8B;YAC9C,cAAc,EAAE,wBAAwB;SACzC,CAAC,CAAA;KACH;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,aAAsB;IACtD,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE;QAChC,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/codemod/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4CAA4C,CAAA;AAEnF,OAAO,EAAC,aAAa,IAAI,oBAAoB,EAAC,MAAM,qBAAqB,CAAA;AAUzE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KACjC,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CACV,mEAAmE,CACpE;KACA,cAAc,CACb,0BAA0B,EAC1B,gEAAgE,CACjE;KACA,cAAc,CACb,wBAAwB,EACxB,wDAAwD,CACzD;KACA,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,UAAU,EAAE,mDAAmD,CAAC;KACvE,MAAM,CACL,8BAA8B,EAC9B,yFAAyF,CAC1F;KACA,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAA;IAE3C,MAAM,EACJ,SAAS,EACT,GAAG,EAAE,WAAW,EAChB,WAAW,EACX,qBAAqB,EAAE,2BAA2B,GACnD,GAAG,IAAI,CAAA;IAER,IAAI,SAAS,KAAK,WAAW,EAAE;QAC7B,WAAW,CACT,qGAAqG,WAAW,GAAG,CACpH,CAAA;QACD,OAAM;KACP;IAED,MAAM,oBAAoB,CAAC;QACzB,WAAW;QACX,SAAS;QACT,UAAU;QACV,OAAO,EAAE,EAAC,WAAW,EAAC;KACvB,CAAC,CAAA;IAEF,IAAI,2BAA2B,EAAE;QAC/B,MAAM,wBAAwB,CAAC,qBAAqB,EAAE,EAAE;YACtD,cAAc,EAAE,8BAA8B;YAC9C,cAAc,EAAE,wBAAwB;SACzC,CAAC,CAAA;KACH;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,aAAsB;IACtD,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE;QAChC,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;AACJ,CAAC"}
@@ -1,78 +1,8 @@
1
1
  import { outputDebug } from '@shopify/cli-kit/node/output';
2
2
  import chalk from 'chalk';
3
3
  import { gt as semverGreaterThan, lte as semverLowerOrEqual, } from 'semver';
4
- import v0x0x42Upgrade from './v0-0-42/index.js';
5
- import v0x0x43Upgrade from './v0-0-43.js';
6
- import v0x0x44Upgrade from './v0-0-44.js';
7
- import v0x0x45Upgrade from './v0-0-45.js';
8
- import v0x0x50Upgrade from './v0-0-50.js';
9
- import v0x0x54Upgrade from './v0-0-54.js';
10
- import v0x0x56Upgrade from './v0-0-56.js';
11
- import v0x0x57Upgrade from './v0-0-57.js';
12
- import v0x0x58Upgrade from './v0-0-58.js';
13
- import v0x0x61Upgrade from './v0-0-61.js';
14
- import v0x0x63Upgrade from './v0-0-63.js';
15
- import v0x0x64Upgrade from './v0-0-64.js';
16
- import v0x0x75Upgrade from './v0-0-75.js';
17
- import v0x0x76Upgrade from './v0-0-76.js';
18
- import v0x0x77Upgrade from './v0-0-77.js';
19
- import v0x0x79Upgrade from './v0-0-79.js';
20
- import v0x0x84Upgrade from './v0-0-84.js';
21
- import v0x0x85Upgrade from './v0-0-85.js';
22
- import v0x0x89Upgrade from './v0-0-89.js';
23
- import v0x0x91Upgrade from './v0-0-91/index.js';
24
- import v0x0x92Upgrade from './v0-0-92.js';
25
- import v0x0x93Upgrade from './v0-0-93.js';
26
- import v0x0x97Upgrade from './v0-0-97/index.js';
27
- import v0x0x100Upgrade from './v0-0-100.js';
28
- import v0x0x103Upgrade from './v0-0-103.js';
29
- import v0x0x105Upgrade from './v0-0-105.js';
30
- import v0x0x106Upgrade from './v0-0-106.js';
31
- import v0x0x114Upgrade from './v0-0-114.js';
32
- import v0x0x115Upgrade from './v0-0-115.js';
33
- import v0x0x121Upgrade from './v0-0-121.js';
34
- import v0x0x123Upgrade from './v0-0-123.js';
35
- import v0x0x125Upgrade from './v0-0-125.js';
36
- import v0x0x130Upgrade from './v0-0-130.js';
37
- import v0x0x139Upgrade from './v0-0-139.js';
38
- import v0x0x163Upgrade from './v0-0-163.js';
39
- const upgrades = [
40
- v0x0x42Upgrade,
41
- v0x0x43Upgrade,
42
- v0x0x44Upgrade,
43
- v0x0x45Upgrade,
44
- v0x0x50Upgrade,
45
- v0x0x54Upgrade,
46
- v0x0x56Upgrade,
47
- v0x0x57Upgrade,
48
- v0x0x58Upgrade,
49
- v0x0x61Upgrade,
50
- v0x0x63Upgrade,
51
- v0x0x64Upgrade,
52
- v0x0x75Upgrade,
53
- v0x0x76Upgrade,
54
- v0x0x77Upgrade,
55
- v0x0x79Upgrade,
56
- v0x0x84Upgrade,
57
- v0x0x85Upgrade,
58
- v0x0x89Upgrade,
59
- v0x0x91Upgrade,
60
- v0x0x92Upgrade,
61
- v0x0x93Upgrade,
62
- v0x0x97Upgrade,
63
- v0x0x100Upgrade,
64
- v0x0x103Upgrade,
65
- v0x0x105Upgrade,
66
- v0x0x106Upgrade,
67
- v0x0x114Upgrade,
68
- v0x0x115Upgrade,
69
- v0x0x121Upgrade,
70
- v0x0x123Upgrade,
71
- v0x0x125Upgrade,
72
- v0x0x130Upgrade,
73
- v0x0x139Upgrade,
74
- v0x0x163Upgrade,
75
- ];
4
+ // It will never be possible to "upgrade" from a legacy/standalone mini to a web mini with codemods so this list has been reset
5
+ const upgrades = [];
76
6
  // the list of upgrades must be sorted by version. just making sure of it
77
7
  upgrades.sort(({ version: upgradeVersion1 }, { version: upgradeVersion2 }) => semverGreaterThan(upgradeVersion1, upgradeVersion2) ? 1 : -1);
78
8
  export async function applyUpgrades({ fromVersion, toVersion, miniHandle, options, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAEL,EAAE,IAAI,iBAAiB,EACvB,GAAG,IAAI,kBAAkB,GAC1B,MAAM,QAAQ,CAAA;AAGf,OAAO,cAAc,MAAM,oBAAoB,CAAA;AAC/C,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,oBAAoB,CAAA;AAC/C,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,oBAAoB,CAAA;AAC/C,OAAO,eAAe,MAAM,eAAe,CAAA;AAC3C,OAAO,eAAe,MAAM,eAAe,CAAA;AAC3C,OAAO,eAAe,MAAM,eAAe,CAAA;AAC3C,OAAO,eAAe,MAAM,eAAe,CAAA;AAC3C,OAAO,eAAe,MAAM,eAAe,CAAA;AAC3C,OAAO,eAAe,MAAM,eAAe,CAAA;AAC3C,OAAO,eAAe,MAAM,eAAe,CAAA;AAC3C,OAAO,eAAe,MAAM,eAAe,CAAA;AAC3C,OAAO,eAAe,MAAM,eAAe,CAAA;AAC3C,OAAO,eAAe,MAAM,eAAe,CAAA;AAC3C,OAAO,eAAe,MAAM,eAAe,CAAA;AAC3C,OAAO,eAAe,MAAM,eAAe,CAAA;AAE3C,MAAM,QAAQ,GAAgC;IAC5C,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;CAChB,CAAA;AAED,yEAAyE;AACzE,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC,EAAE,EAAE,CACvE,iBAAiB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,WAAW,EACX,SAAS,EACT,UAAU,EACV,OAAO,GAMR;IACC,WAAW,CACT,kCAAkC,WAAW,eAAe,SAAS,EAAE,CACxE,CAAA;IACD,KAAK,MAAM,EAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAC,IAAI,QAAQ,EAAE;QAC5D,IACE,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC;YACvC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,EACtC;YACA,WAAW,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAA;YACtD,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACvC,wBAAwB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;SAChD;KACF;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA,CAAC,gDAAgD;AAClE,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,YAAsB;IACvE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACxB,OAAM;KACP;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,OAAO,iBAAiB,CAAC,CAAC,CAAA;IAC9E,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,gBAAgB,EAAE,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAEL,EAAE,IAAI,iBAAiB,EACvB,GAAG,IAAI,kBAAkB,GAC1B,MAAM,QAAQ,CAAA;AAIf,+HAA+H;AAC/H,MAAM,QAAQ,GAAgC,EAAE,CAAA;AAEhD,yEAAyE;AACzE,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC,EAAE,EAAE,CACvE,iBAAiB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,WAAW,EACX,SAAS,EACT,UAAU,EACV,OAAO,GAMR;IACC,WAAW,CACT,kCAAkC,WAAW,eAAe,SAAS,EAAE,CACxE,CAAA;IACD,KAAK,MAAM,EAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAC,IAAI,QAAQ,EAAE;QAC5D,IACE,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC;YACvC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,EACtC;YACA,WAAW,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAA;YACtD,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACvC,wBAAwB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;SAChD;KACF;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA,CAAC,gDAAgD;AAClE,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,YAAsB;IACvE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACxB,OAAM;KACP;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,OAAO,iBAAiB,CAAC,CAAC,CAAA;IAC9E,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,gBAAgB,EAAE,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -2,12 +2,12 @@ export declare function whichAndroidHome(): string | null;
2
2
  export declare function androidHomeExists(): boolean;
3
3
  export declare function whichEmulator(): string;
4
4
  export declare function whichAdb(): string;
5
- export declare const CLI_VERSION: any;
5
+ export declare const CURRENT_CLI_VERSION: any;
6
6
  export declare const PATHS: {
7
7
  CACHE_DIR: string;
8
8
  };
9
9
  export declare const EMAILS: {
10
10
  CONTACT_US: string;
11
11
  };
12
- export declare const SHOP_MINIS_ADMIN_API = "https://server.shop.app/minis/admin-api/alpha/graphql.json";
12
+ export declare const SHOP_MINIS_ADMIN_API: string;
13
13
  export declare const SHOP_MINIS_ADMIN_API_KEY: string | undefined;
@@ -22,14 +22,15 @@ export function whichEmulator() {
22
22
  export function whichAdb() {
23
23
  return `${whichAndroidHome()}/platform-tools/adb`;
24
24
  }
25
- export const CLI_VERSION = createRequire(import.meta.url)('../../package.json').version;
25
+ export const CURRENT_CLI_VERSION = createRequire(import.meta.url)('../../package.json').version;
26
26
  export const PATHS = {
27
27
  CACHE_DIR: path.resolve(process.cwd(), '.minis-cache'),
28
28
  };
29
29
  export const EMAILS = {
30
30
  CONTACT_US: 'shopminisdevelopers@shopify.com',
31
31
  };
32
- export const SHOP_MINIS_ADMIN_API = 'https://server.shop.app/minis/admin-api/alpha/graphql.json';
32
+ export const SHOP_MINIS_ADMIN_API = process.env.SHOP_MINIS_ADMIN_API ||
33
+ 'https://server.shop.app/minis/admin-api/alpha/graphql.json';
33
34
  export const SHOP_MINIS_ADMIN_API_KEY = process.env.SHOP_MINIS_API_KEY;
34
35
  // Create the cache directory if it doesn't exist.
35
36
  try {
@@ -1 +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,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"}
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,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC/D,oBAAoB,CACrB,CAAC,OAAO,CAAA;AAET,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,OAAO,CAAC,GAAG,CAAC,oBAAoB;IAChC,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,25 @@
1
+ You are a coding agent focused on building a web app using the React framework to be embedded in a React Native webview. You are provided an SDK called @shopify/shop-minis-react which contains UI components and hooks. Your primary goals and guidelines are as follows:
2
+
3
+ 1. Framework and Library:
4
+
5
+ - Use React as the core framework for all code development.
6
+ - Always utilize components and APIs provided in the @shopify/shop-minis-react library for building the application. This includes leveraging the hooks and functionalities exposed by the library.
7
+
8
+ 2. Component Usage:
9
+
10
+ - Before considering the addition of any new component or interface, check if the required functionality exists within the @shopify/shop-minis-react library.
11
+ - Only if a component or interface is not available in the SDK, you may create a custom implementation.
12
+
13
+ 3. Styling:
14
+
15
+ - Use Tailwind CSS version 4 for styling all UI elements. You should ensure that the design is mobile-responsive and tailored for mobile device usage.
16
+
17
+ 4. UI Design:
18
+
19
+ - Focus exclusively on mobile UI design. There is no need to accommodate desktop interfaces or features.
20
+ - Ensure that the UI elements are user-friendly and optimized for touch interactions.
21
+
22
+ 5. Performance and Best Practices:
23
+
24
+ - Prioritize performance and best coding practices. Optimize the code for load times and efficiency, keeping in mind mobile device limitations.
25
+ - Maintain clean, organized, and well-commented code to enhance maintainability.
@@ -2,4 +2,3 @@ node_modules
2
2
  .minis-cache
3
3
  *.tsbuildinfo
4
4
  .env
5
- entry-point-params.json
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta
6
+ name="viewport"
7
+ content="viewport-fit=cover, width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no"
8
+ />
9
+ <title>Shop Mini</title>
10
+ </head>
11
+ <body>
12
+ <div id="root"></div>
13
+ <script type="module" src="/src/main.tsx"></script>
14
+ </body>
15
+ </html>
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "mini",
3
+ "private": true,
4
+ "version": "0.0.1",
5
+ "description": "A Shop Mini with WebView and Vite",
6
+ "main": "index.tsx",
7
+ "scripts": {
8
+ "start": "shop-minis dev"
9
+ },
10
+ "devDependencies": {
11
+ "@tailwindcss/vite": "^4.1.8",
12
+ "@types/react": "^18.2.43",
13
+ "@types/react-dom": "^18.2.17",
14
+ "@vitejs/plugin-react": "^4.2.1",
15
+ "tailwindcss": "^4.1.8",
16
+ "typescript": "^5.8.3"
17
+ }
18
+ }
@@ -0,0 +1,25 @@
1
+ import {usePopularProducts, ProductCard} from '@shopify/shop-minis-react'
2
+
3
+ export function App() {
4
+ const {products} = usePopularProducts()
5
+
6
+ return (
7
+ <div className="pt-12 px-4 pb-6">
8
+ <h1 className="text-2xl font-bold mb-2 text-center">
9
+ Welcome to Shop Minis!
10
+ </h1>
11
+ <p className="text-xs text-blue-600 mb-4 text-center bg-blue-50 py-2 px-4 rounded border border-blue-200">
12
+ 🛠️ Edit <b>src/App.tsx</b> to change this screen and come back to see
13
+ your edits!
14
+ </p>
15
+ <p className="text-base text-gray-600 mb-6 text-center">
16
+ These are the popular products today
17
+ </p>
18
+ <div className="grid grid-cols-2 gap-4">
19
+ {products?.map(product => (
20
+ <ProductCard key={product.id} product={product} />
21
+ ))}
22
+ </div>
23
+ </div>
24
+ )
25
+ }
@@ -0,0 +1 @@
1
+ @import "@shopify/shop-minis-react/styles";
@@ -0,0 +1,14 @@
1
+ import {StrictMode} from 'react'
2
+ import {createRoot} from 'react-dom/client'
3
+ import './index.css'
4
+ import {MinisContainer} from '@shopify/shop-minis-react'
5
+
6
+ import {App} from './App.jsx'
7
+
8
+ createRoot(document.getElementById('root')!).render(
9
+ <StrictMode>
10
+ <MinisContainer>
11
+ <App />
12
+ </MinisContainer>
13
+ </StrictMode>
14
+ )
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "My Mini",
3
+ "permissions": [],
4
+ "privacy_policy_url": "https://example.com/privacy",
5
+ "terms_url": "https://example.com/terms"
6
+ }
@@ -1,30 +1,22 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "baseUrl": ".",
4
- "paths": {
5
- "*": [
6
- "*",
7
- "*.ios",
8
- "*.android",
9
- "./node_modules/@shopify/shop-minis-sdk/node_modules/*"
10
- ]
11
- },
12
3
  "allowJs": true,
13
4
  "resolveJsonModule": true,
14
5
  "allowSyntheticDefaultImports": true,
15
6
  "esModuleInterop": true,
16
7
  "isolatedModules": false,
17
- "jsx": "preserve",
18
- "lib": ["es2019"],
8
+ "jsx": "react-jsx",
9
+ "lib": ["es2019", "dom"],
19
10
  "noUnusedParameters": true,
20
11
  "noUnusedLocals": true,
21
- "moduleResolution": "node",
12
+ "moduleResolution": "bundler",
13
+ "module": "ESNext",
22
14
  "noEmit": true,
23
15
  "incremental": true,
24
16
  "strict": true,
25
17
  "target": "esnext",
26
18
  "skipLibCheck": true,
27
- "noImplicitReturns": false,
19
+ "noImplicitReturns": true,
28
20
  "noFallthroughCasesInSwitch": true,
29
21
  "allowUnreachableCode": false,
30
22
  "allowUnusedLabels": false,
@@ -37,5 +29,5 @@
37
29
  "alwaysStrict": true,
38
30
  "useUnknownInCatchVariables": false
39
31
  },
40
- "exclude": ["node_modules"]
32
+ "exclude": ["node_modules", "dist"]
41
33
  }
@@ -0,0 +1,11 @@
1
+ import react from '@vitejs/plugin-react'
2
+ import tailwindcss from '@tailwindcss/vite'
3
+ import {defineConfig} from 'vite'
4
+
5
+ export default defineConfig({
6
+ root: '.',
7
+ plugins: [react(), tailwindcss()],
8
+ optimizeDeps: {
9
+ include: ['@shopify/shop-minis-react'],
10
+ },
11
+ })