@shopify/shop-minis-cli 0.0.37 → 0.0.82

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 (362) hide show
  1. package/.eslintrc.cjs +78 -0
  2. package/.vscode/extensions.json +3 -0
  3. package/.vscode/launch.json +29 -0
  4. package/.vscode/settings.json +8 -0
  5. package/.vscode/shop-minis-cli.code-workspace +8 -0
  6. package/build/commands/cancel-submission/cancel-submission.d.ts +1 -0
  7. package/build/commands/cancel-submission/cancel-submission.js +57 -0
  8. package/build/commands/cancel-submission/cancel-submission.js.map +1 -0
  9. package/build/commands/cancel-submission/index.d.ts +2 -0
  10. package/build/commands/cancel-submission/index.js +18 -0
  11. package/build/commands/cancel-submission/index.js.map +1 -0
  12. package/build/commands/cancel-submission/types.d.ts +3 -0
  13. package/build/commands/cancel-submission/types.js +2 -0
  14. package/build/commands/cancel-submission/types.js.map +1 -0
  15. package/build/commands/check-submission/index.d.ts +2 -0
  16. package/build/commands/check-submission/index.js +55 -0
  17. package/build/commands/check-submission/index.js.map +1 -0
  18. package/build/commands/check-submission/types.d.ts +3 -0
  19. package/build/commands/check-submission/types.js +2 -0
  20. package/build/commands/check-submission/types.js.map +1 -0
  21. package/build/commands/codemod/index.d.ts +3 -0
  22. package/build/commands/codemod/index.js +47 -0
  23. package/build/commands/codemod/index.js.map +1 -0
  24. package/build/commands/codemod/releases/index.d.ts +7 -0
  25. package/build/commands/codemod/releases/index.js +58 -0
  26. package/build/commands/codemod/releases/index.js.map +1 -0
  27. package/build/commands/codemod/releases/types.d.ts +9 -0
  28. package/build/commands/codemod/releases/types.js +2 -0
  29. package/build/commands/codemod/releases/types.js.map +1 -0
  30. package/build/commands/codemod/releases/v0-0-42/index.d.ts +3 -0
  31. package/build/commands/codemod/releases/v0-0-42/index.js +46 -0
  32. package/build/commands/codemod/releases/v0-0-42/index.js.map +1 -0
  33. package/build/commands/codemod/releases/v0-0-42/reset-files.d.ts +7 -0
  34. package/build/commands/codemod/releases/v0-0-42/reset-files.js +83 -0
  35. package/build/commands/codemod/releases/v0-0-42/reset-files.js.map +1 -0
  36. package/build/commands/codemod/releases/v0-0-43.d.ts +3 -0
  37. package/build/commands/codemod/releases/v0-0-43.js +32 -0
  38. package/build/commands/codemod/releases/v0-0-43.js.map +1 -0
  39. package/build/commands/codemod/releases/v0-0-44.d.ts +3 -0
  40. package/build/commands/codemod/releases/v0-0-44.js +214 -0
  41. package/build/commands/codemod/releases/v0-0-44.js.map +1 -0
  42. package/build/commands/codemod/releases/v0-0-45.d.ts +3 -0
  43. package/build/commands/codemod/releases/v0-0-45.js +23 -0
  44. package/build/commands/codemod/releases/v0-0-45.js.map +1 -0
  45. package/build/commands/codemod/releases/v0-0-50.d.ts +3 -0
  46. package/build/commands/codemod/releases/v0-0-50.js +34 -0
  47. package/build/commands/codemod/releases/v0-0-50.js.map +1 -0
  48. package/build/commands/codemod/releases/v0-0-54.d.ts +3 -0
  49. package/build/commands/codemod/releases/v0-0-54.js +70 -0
  50. package/build/commands/codemod/releases/v0-0-54.js.map +1 -0
  51. package/build/commands/codemod/releases/v0-0-56.d.ts +3 -0
  52. package/build/commands/codemod/releases/v0-0-56.js +48 -0
  53. package/build/commands/codemod/releases/v0-0-56.js.map +1 -0
  54. package/build/commands/codemod/releases/v0-0-57.d.ts +3 -0
  55. package/build/commands/codemod/releases/v0-0-57.js +41 -0
  56. package/build/commands/codemod/releases/v0-0-57.js.map +1 -0
  57. package/build/commands/codemod/releases/v0-0-58.d.ts +3 -0
  58. package/build/commands/codemod/releases/v0-0-58.js +68 -0
  59. package/build/commands/codemod/releases/v0-0-58.js.map +1 -0
  60. package/build/commands/codemod/releases/v0-0-61.d.ts +3 -0
  61. package/build/commands/codemod/releases/v0-0-61.js +30 -0
  62. package/build/commands/codemod/releases/v0-0-61.js.map +1 -0
  63. package/build/commands/codemod/releases/v0-0-63.d.ts +3 -0
  64. package/build/commands/codemod/releases/v0-0-63.js +42 -0
  65. package/build/commands/codemod/releases/v0-0-63.js.map +1 -0
  66. package/build/commands/codemod/releases/v0-0-64.d.ts +3 -0
  67. package/build/commands/codemod/releases/v0-0-64.js +47 -0
  68. package/build/commands/codemod/releases/v0-0-64.js.map +1 -0
  69. package/build/commands/codemod/releases/v0-0-75.d.ts +3 -0
  70. package/build/commands/codemod/releases/v0-0-75.js +30 -0
  71. package/build/commands/codemod/releases/v0-0-75.js.map +1 -0
  72. package/build/commands/codemod/releases/v0-0-76.d.ts +3 -0
  73. package/build/commands/codemod/releases/v0-0-76.js +32 -0
  74. package/build/commands/codemod/releases/v0-0-76.js.map +1 -0
  75. package/build/commands/codemod/releases/v0-0-77.d.ts +3 -0
  76. package/build/commands/codemod/releases/v0-0-77.js +39 -0
  77. package/build/commands/codemod/releases/v0-0-77.js.map +1 -0
  78. package/build/commands/codemod/releases/v0-0-79.d.ts +3 -0
  79. package/build/commands/codemod/releases/v0-0-79.js +35 -0
  80. package/build/commands/codemod/releases/v0-0-79.js.map +1 -0
  81. package/build/commands/config.d.ts +14 -0
  82. package/build/commands/config.js +42 -0
  83. package/build/commands/config.js.map +1 -0
  84. package/build/commands/create-mini/index.js +84 -68
  85. package/build/commands/create-mini/index.js.map +1 -1
  86. package/build/commands/create-mini/utils/template-app.d.ts +1 -1
  87. package/build/commands/create-mini/utils/template-app.js +38 -38
  88. package/build/commands/create-mini/utils/template-app.js.map +1 -1
  89. package/build/commands/dev/index.d.ts +3 -0
  90. package/build/commands/dev/index.js +51 -22
  91. package/build/commands/dev/index.js.map +1 -1
  92. package/build/commands/dev/utils/android.d.ts +6 -4
  93. package/build/commands/dev/utils/android.js +55 -67
  94. package/build/commands/dev/utils/android.js.map +1 -1
  95. package/build/commands/dev/utils/binaries.d.ts +2 -80
  96. package/build/commands/dev/utils/binaries.js +10 -166
  97. package/build/commands/dev/utils/binaries.js.map +1 -1
  98. package/build/commands/dev/utils/build-type.d.ts +2 -0
  99. package/build/commands/dev/utils/build-type.js +14 -0
  100. package/build/commands/dev/utils/build-type.js.map +1 -0
  101. package/build/commands/dev/utils/deeplink.d.ts +3 -3
  102. package/build/commands/dev/utils/deeplink.js +13 -18
  103. package/build/commands/dev/utils/deeplink.js.map +1 -1
  104. package/build/commands/dev/utils/interactive-terminal.d.ts +4 -2
  105. package/build/commands/dev/utils/interactive-terminal.js +66 -107
  106. package/build/commands/dev/utils/interactive-terminal.js.map +1 -1
  107. package/build/commands/dev/utils/metro/metro-config.js +17 -20
  108. package/build/commands/dev/utils/metro/metro-config.js.map +1 -1
  109. package/build/commands/dev/utils/metro/metro-reporter.d.ts +3 -4
  110. package/build/commands/dev/utils/metro/metro-reporter.js +6 -13
  111. package/build/commands/dev/utils/metro/metro-reporter.js.map +1 -1
  112. package/build/commands/dev/utils/metro/metro-server-middleware.d.ts +1 -0
  113. package/build/commands/dev/utils/metro/metro-server-middleware.js +11 -12
  114. package/build/commands/dev/utils/metro/metro-server-middleware.js.map +1 -1
  115. package/build/commands/dev/utils/metro/metro-server.d.ts +2 -2
  116. package/build/commands/dev/utils/metro/metro-server.js +7 -14
  117. package/build/commands/dev/utils/metro/metro-server.js.map +1 -1
  118. package/build/commands/dev/utils/network.d.ts +20 -0
  119. package/build/commands/dev/utils/network.js +122 -0
  120. package/build/commands/dev/utils/network.js.map +1 -0
  121. package/build/commands/dev/utils/platform.d.ts +18 -0
  122. package/build/commands/dev/utils/platform.js +41 -0
  123. package/build/commands/dev/utils/platform.js.map +1 -0
  124. package/build/commands/dev/utils/prompt-binary-upgrade.d.ts +1 -0
  125. package/build/commands/dev/utils/prompt-binary-upgrade.js +12 -0
  126. package/build/commands/dev/utils/prompt-binary-upgrade.js.map +1 -0
  127. package/build/commands/dev/utils/qr-code.js +3 -10
  128. package/build/commands/dev/utils/qr-code.js.map +1 -1
  129. package/build/commands/dev/utils/simulator.d.ts +5 -2
  130. package/build/commands/dev/utils/simulator.js +43 -37
  131. package/build/commands/dev/utils/simulator.js.map +1 -1
  132. package/build/commands/dev/utils/start-app/config.d.ts +5 -0
  133. package/build/commands/dev/utils/start-app/config.js +25 -0
  134. package/build/commands/dev/utils/start-app/config.js.map +1 -0
  135. package/build/commands/dev/utils/start-app/start-app-with-options.d.ts +2 -0
  136. package/build/commands/dev/utils/start-app/start-app-with-options.js +94 -0
  137. package/build/commands/dev/utils/start-app/start-app-with-options.js.map +1 -0
  138. package/build/commands/dev/utils/start-app/start-app.d.ts +2 -0
  139. package/build/commands/dev/utils/start-app/start-app.js +10 -0
  140. package/build/commands/dev/utils/start-app/start-app.js.map +1 -0
  141. package/build/commands/dev/utils/start-app/types.d.ts +20 -0
  142. package/build/commands/dev/utils/start-app/types.js +2 -0
  143. package/build/commands/dev/utils/start-app/types.js.map +1 -0
  144. package/build/commands/dev/utils/types.d.ts +24 -0
  145. package/build/commands/dev/utils/types.js +7 -0
  146. package/build/commands/dev/utils/types.js.map +1 -0
  147. package/build/commands/dev/utils/version.d.ts +64 -0
  148. package/build/commands/dev/utils/version.js +101 -0
  149. package/build/commands/dev/utils/version.js.map +1 -0
  150. package/build/commands/dev/utils/with-retries.js +1 -5
  151. package/build/commands/dev/utils/with-retries.js.map +1 -1
  152. package/build/commands/doctor/index.d.ts +6 -0
  153. package/build/commands/doctor/index.js +21 -0
  154. package/build/commands/doctor/index.js.map +1 -0
  155. package/build/commands/doctor/utils/diagnose-dependencies.d.ts +7 -0
  156. package/build/commands/doctor/utils/diagnose-dependencies.js +108 -0
  157. package/build/commands/doctor/utils/diagnose-dependencies.js.map +1 -0
  158. package/build/commands/generate-graphql-types/index.d.ts +1 -0
  159. package/build/commands/generate-graphql-types/index.js +43 -27
  160. package/build/commands/generate-graphql-types/index.js.map +1 -1
  161. package/build/commands/info/index.d.ts +3 -0
  162. package/build/commands/info/index.js +42 -0
  163. package/build/commands/info/index.js.map +1 -0
  164. package/build/commands/setup/index.d.ts +2 -0
  165. package/build/commands/setup/index.js +81 -0
  166. package/build/commands/setup/index.js.map +1 -0
  167. package/build/commands/submit/config.d.ts +9 -0
  168. package/build/commands/submit/config.js +18 -0
  169. package/build/commands/submit/config.js.map +1 -0
  170. package/build/commands/submit/errors.d.ts +19 -0
  171. package/build/commands/submit/errors.js +87 -0
  172. package/build/commands/submit/errors.js.map +1 -0
  173. package/build/commands/submit/gcs.d.ts +6 -0
  174. package/build/commands/submit/gcs.js +10 -0
  175. package/build/commands/submit/gcs.js.map +1 -0
  176. package/build/commands/submit/index.d.ts +2 -0
  177. package/build/commands/submit/index.js +25 -0
  178. package/build/commands/submit/index.js.map +1 -0
  179. package/build/commands/submit/submit.d.ts +5 -0
  180. package/build/commands/submit/submit.js +222 -0
  181. package/build/commands/submit/submit.js.map +1 -0
  182. package/build/commands/submit/tasks.d.ts +37 -0
  183. package/build/commands/submit/tasks.js +91 -0
  184. package/build/commands/submit/tasks.js.map +1 -0
  185. package/build/commands/submit/types.d.ts +14 -0
  186. package/build/commands/submit/types.js +2 -0
  187. package/build/commands/submit/types.js.map +1 -0
  188. package/build/commands/submit/utils/assert-core-dependencies-version.d.ts +1 -0
  189. package/build/commands/submit/utils/assert-core-dependencies-version.js +58 -0
  190. package/build/commands/submit/utils/assert-core-dependencies-version.js.map +1 -0
  191. package/build/commands/submit/utils/request-entry-point-params.d.ts +1 -0
  192. package/build/commands/submit/utils/request-entry-point-params.js +41 -0
  193. package/build/commands/submit/utils/request-entry-point-params.js.map +1 -0
  194. package/build/commands/submit/validation.d.ts +1 -0
  195. package/build/commands/submit/validation.js +11 -0
  196. package/build/commands/submit/validation.js.map +1 -0
  197. package/build/commands/upgrade/index.d.ts +13 -0
  198. package/build/commands/upgrade/index.js +53 -0
  199. package/build/commands/upgrade/index.js.map +1 -0
  200. package/build/commands/upgrade/utils/cli.d.ts +1 -0
  201. package/build/commands/upgrade/utils/cli.js +15 -0
  202. package/build/commands/upgrade/utils/cli.js.map +1 -0
  203. package/build/commands/validate-manifest/index.d.ts +3 -0
  204. package/build/commands/validate-manifest/index.js +29 -0
  205. package/build/commands/validate-manifest/index.js.map +1 -0
  206. package/build/data/accept-invitation.d.ts +4 -0
  207. package/build/data/accept-invitation.js +16 -0
  208. package/build/data/accept-invitation.js.map +1 -0
  209. package/build/data/cancel-submission.d.ts +22 -0
  210. package/build/data/cancel-submission.js +26 -0
  211. package/build/data/cancel-submission.js.map +1 -0
  212. package/build/data/create-submission.d.ts +20 -0
  213. package/build/data/create-submission.js +27 -0
  214. package/build/data/create-submission.js.map +1 -0
  215. package/build/data/create-upload.d.ts +21 -0
  216. package/build/data/create-upload.js +40 -0
  217. package/build/data/create-upload.js.map +1 -0
  218. package/build/data/get-submissions.d.ts +27 -0
  219. package/build/data/get-submissions.js +33 -0
  220. package/build/data/get-submissions.js.map +1 -0
  221. package/build/data/gql-client.d.ts +8 -0
  222. package/build/data/gql-client.js +9 -0
  223. package/build/data/gql-client.js.map +1 -0
  224. package/build/data/mini.d.ts +5 -0
  225. package/build/data/mini.js +14 -0
  226. package/build/data/mini.js.map +1 -0
  227. package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.d.ts +13 -0
  228. package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.js +7 -0
  229. package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.js.map +1 -0
  230. package/build/data/types/autogenerated/shop-minis-admin-api/gql.d.ts +75 -0
  231. package/build/data/types/autogenerated/shop-minis-admin-api/gql.js +24 -0
  232. package/build/data/types/autogenerated/shop-minis-admin-api/gql.js.map +1 -0
  233. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.d.ts +1570 -0
  234. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js +1062 -0
  235. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js.map +1 -0
  236. package/build/data/types/autogenerated/shop-minis-admin-api/index.d.ts +2 -0
  237. package/build/data/types/autogenerated/shop-minis-admin-api/index.js +3 -0
  238. package/build/data/types/autogenerated/shop-minis-admin-api/index.js.map +1 -0
  239. package/build/dev-panel/asset-manifest.json +6 -9
  240. package/build/dev-panel/index.html +1 -1
  241. package/build/dev-panel/static/css/{main.31436fe3.css → main.7f1ee407.css} +2 -2
  242. package/build/dev-panel/static/css/main.7f1ee407.css.map +1 -0
  243. package/build/dev-panel/static/js/{main.27f47095.js → main.6625699c.js} +3 -3
  244. package/build/dev-panel/static/js/main.6625699c.js.map +1 -0
  245. package/build/index.d.ts +1 -1
  246. package/build/index.js +30 -15
  247. package/build/index.js.map +1 -1
  248. package/build/schemas/manifest.schema.json +198 -0
  249. package/build/utils/archive.d.ts +30 -0
  250. package/build/utils/archive.js +38 -0
  251. package/build/utils/archive.js.map +1 -0
  252. package/build/utils/common-tasks.d.ts +1 -0
  253. package/build/utils/common-tasks.js +49 -0
  254. package/build/utils/common-tasks.js.map +1 -0
  255. package/build/utils/development-params.d.ts +13 -0
  256. package/build/utils/development-params.js +42 -0
  257. package/build/utils/development-params.js.map +1 -0
  258. package/build/{commands/utils → utils}/exec-async-child-process.d.ts +1 -1
  259. package/build/{commands/utils → utils}/exec-async-child-process.js +6 -13
  260. package/build/utils/exec-async-child-process.js.map +1 -0
  261. package/build/utils/file.d.ts +1 -0
  262. package/build/utils/file.js +7 -0
  263. package/build/utils/file.js.map +1 -0
  264. package/build/utils/minis-manifest.d.ts +6 -0
  265. package/build/utils/minis-manifest.js +56 -0
  266. package/build/utils/minis-manifest.js.map +1 -0
  267. package/build/utils/package-manager.d.ts +38 -0
  268. package/build/utils/package-manager.js +98 -0
  269. package/build/utils/package-manager.js.map +1 -0
  270. package/build/utils/patch-package.d.ts +5 -0
  271. package/build/utils/patch-package.js +76 -0
  272. package/build/utils/patch-package.js.map +1 -0
  273. package/build/utils/replace-strings-in-template.d.ts +1 -0
  274. package/build/utils/replace-strings-in-template.js +15 -0
  275. package/build/utils/replace-strings-in-template.js.map +1 -0
  276. package/build/utils/semver.d.ts +1 -0
  277. package/build/utils/semver.js +19 -0
  278. package/build/utils/semver.js.map +1 -0
  279. package/build/{commands/utils → utils}/wrap-with-loading-indicator.d.ts +1 -1
  280. package/build/utils/wrap-with-loading-indicator.js +16 -0
  281. package/build/utils/wrap-with-loading-indicator.js.map +1 -0
  282. package/package.json +35 -28
  283. package/scripts/graphql-codegen.ts +23 -0
  284. package/scripts/test-template.ts +63 -0
  285. package/shipit.alpha.yml +3 -0
  286. package/templates/__template_blank/src/index.tsx +5 -4
  287. package/templates/__template_blank/src/types.ts +1 -1
  288. package/templates/__template_common/.eslintrc.js +16 -0
  289. package/templates/__template_common/assets.d.ts +14 -0
  290. package/templates/__template_common/babel.config.js +3 -17
  291. package/templates/__template_common/gitignore +2 -0
  292. package/templates/__template_common/index.tsx +3 -6
  293. package/templates/__template_common/metro.config.js +4 -30
  294. package/templates/__template_common/package.json +17 -47
  295. package/templates/__template_common/src/manifest.json +1 -27
  296. package/templates/__template_hello_world/src/components/ComponentLink.ts +31 -19
  297. package/templates/__template_hello_world/src/components/ComponentListItem.tsx +1 -0
  298. package/templates/__template_hello_world/src/components/FeaturedComponents.tsx +4 -2
  299. package/templates/__template_hello_world/src/components/quiz/ImageCarouselSlide.tsx +54 -0
  300. package/templates/__template_hello_world/src/components/quiz/MultipleChoiceSlide.tsx +77 -0
  301. package/templates/__template_hello_world/src/components/quiz/QuizProvider.tsx +64 -0
  302. package/templates/__template_hello_world/src/components/quiz/QuizSlide.tsx +79 -0
  303. package/templates/__template_hello_world/src/components/quiz/QuizSlideCommander.tsx +35 -0
  304. package/templates/__template_hello_world/src/components/quiz/TextFieldSlide.tsx +84 -0
  305. package/templates/__template_hello_world/src/components/quiz/TextSlide.tsx +6 -0
  306. package/templates/__template_hello_world/src/components/quiz/types.ts +72 -0
  307. package/templates/__template_hello_world/src/data/Test.graphql.d.ts +69 -76
  308. package/templates/__template_hello_world/src/data/TestProducts.graphql +30 -0
  309. package/templates/__template_hello_world/src/data/TestProducts.graphql.d.ts +159 -81
  310. package/templates/__template_hello_world/src/fixtures/mocked-products-with-variants.ts +274 -0
  311. package/templates/__template_hello_world/src/hooks/useQuizData.ts +26 -0
  312. package/templates/__template_hello_world/src/hooks/useQuizState.ts +27 -0
  313. package/templates/__template_hello_world/src/index.tsx +6 -5
  314. package/templates/__template_hello_world/src/routes.tsx +46 -22
  315. package/templates/__template_hello_world/src/screens/AccordionScreen.tsx +73 -0
  316. package/templates/__template_hello_world/src/screens/BottomSheetScreen.tsx +6 -5
  317. package/templates/__template_hello_world/src/screens/HomeScreen.tsx +14 -3
  318. package/templates/__template_hello_world/src/screens/{ImageCarouselScreen.tsx → ImageMultipleChoiceScreen.tsx} +4 -6
  319. package/templates/__template_hello_world/src/screens/InputScreen.tsx +13 -70
  320. package/templates/__template_hello_world/src/screens/QuizResultScreen.tsx +82 -0
  321. package/templates/__template_hello_world/src/screens/QuizScreen.tsx +40 -0
  322. package/templates/__template_hello_world/src/screens/QuizSlideScreen.tsx +150 -0
  323. package/templates/__template_hello_world/src/screens/ShopActionsScreen.tsx +48 -0
  324. package/templates/__template_hello_world/src/screens/VariantPickerScreen.tsx +120 -0
  325. package/templates/__template_hello_world/src/types.ts +27 -24
  326. package/templates/__template_hello_world/src/utils/mockQuizData.ts +330 -0
  327. package/templates/__template_hello_world/src/utils/quizUtils.ts +75 -0
  328. package/templates/__template_snowboardz/src/components/SkillLevelIcon.tsx +1 -4
  329. package/templates/__template_snowboardz/src/components/SkillLevelPicker.tsx +7 -1
  330. package/templates/__template_snowboardz/src/data/TestProducts.graphql +1 -1
  331. package/templates/__template_snowboardz/src/data/TestProducts.graphql.d.ts +84 -74
  332. package/templates/__template_snowboardz/src/index.tsx +6 -5
  333. package/templates/__template_snowboardz/src/routes.tsx +2 -2
  334. package/templates/__template_snowboardz/src/types.ts +3 -3
  335. package/build/commands/check/index.d.ts +0 -5
  336. package/build/commands/check/index.js +0 -77
  337. package/build/commands/check/index.js.map +0 -1
  338. package/build/commands/check/utils/versions.d.ts +0 -1
  339. package/build/commands/check/utils/versions.js +0 -14
  340. package/build/commands/check/utils/versions.js.map +0 -1
  341. package/build/commands/dev/utils/binaries.test.d.ts +0 -1
  342. package/build/commands/dev/utils/binaries.test.js +0 -275
  343. package/build/commands/dev/utils/binaries.test.js.map +0 -1
  344. package/build/commands/dev/utils/minis-manifest.d.ts +0 -1
  345. package/build/commands/dev/utils/minis-manifest.js +0 -24
  346. package/build/commands/dev/utils/minis-manifest.js.map +0 -1
  347. package/build/commands/utils/exec-async-child-process.js.map +0 -1
  348. package/build/commands/utils/wrap-with-loading-indicator.js +0 -23
  349. package/build/commands/utils/wrap-with-loading-indicator.js.map +0 -1
  350. package/build/dev-panel/middleware.d.ts +0 -4
  351. package/build/dev-panel/middleware.js +0 -11
  352. package/build/dev-panel/middleware.js.map +0 -1
  353. package/build/dev-panel/static/css/main.31436fe3.css.map +0 -1
  354. package/build/dev-panel/static/js/main.27f47095.js.map +0 -1
  355. package/build/dev-panel/static/media/bottomsheet.fe525b8722f6d504a185.png +0 -0
  356. package/build/dev-panel/static/media/navigation.597434370a97c328a970.png +0 -0
  357. package/build/dev-panel/static/media/stories.a425b6972a5338fabdad.png +0 -0
  358. package/templates/__template_blank/src/custom.d.ts +0 -4
  359. package/templates/__template_common/.eslintrc.json +0 -132
  360. package/templates/__template_common/patches/react-native+0.68.5.patch +0 -173
  361. package/templates/__template_hello_world/src/utils/getFlagEmoji.spec.tsx +0 -19
  362. /package/build/dev-panel/static/js/{main.27f47095.js.LICENSE.txt → main.6625699c.js.LICENSE.txt} +0 -0
@@ -0,0 +1,108 @@
1
+ import path from 'path';
2
+ import fs from 'fs';
3
+ import { AbortError } from '@shopify/cli-kit/node/error';
4
+ import chalk from 'chalk';
5
+ import { hardResetDependencies } from '../../../utils/package-manager.js';
6
+ import { wrapWithLoadingIndicator } from '../../../utils/wrap-with-loading-indicator.js';
7
+ export async function diagnoseDependencies(autoFix) {
8
+ const { areDependenciesInvalid, duplicatedDependencies, duplicatedDevDependencies, nonSupportedDependencies, } = getInvalidDependencies();
9
+ if (areDependenciesInvalid) {
10
+ console.log(chalk.red(`\n❌ Found some issues with the dependencies of your mini. Read more about supported dependencies in ${chalk.bold('https://shop.app/minis/docs/build-a-shop-mini/dependencies/')}`));
11
+ logNonSupportedDependencies(nonSupportedDependencies);
12
+ logDuplicatedDependencies(duplicatedDependencies);
13
+ logDuplicatedDependencies(duplicatedDevDependencies, true);
14
+ }
15
+ if (autoFix) {
16
+ await removeInvalidDependencies({
17
+ packageJsonPath: path.join(process.cwd(), 'package.json'),
18
+ duplicatedDependencies,
19
+ duplicatedDevDependencies,
20
+ nonSupportedDependencies,
21
+ });
22
+ }
23
+ else if (areDependenciesInvalid) {
24
+ logTroubleshootInstructions();
25
+ }
26
+ // mark the validation as failed if there are any duplicated dependencies or dev dependencies
27
+ return !areDependenciesInvalid;
28
+ }
29
+ export function getInvalidDependencies() {
30
+ const runtimePackageJsonPath = path.join(process.cwd(), 'node_modules', '@shopify', 'shop-minis-runtime', 'package.json');
31
+ const runtimeDependencies = getPackageJsonByPath(runtimePackageJsonPath).dependencies;
32
+ const miniPackageJsonPath = path.join(process.cwd(), 'package.json');
33
+ const miniPackageJson = getPackageJsonByPath(miniPackageJsonPath);
34
+ const duplicatedDependencies = Object.keys(miniPackageJson.dependencies).filter(dependency => Boolean(runtimeDependencies[dependency]));
35
+ const duplicatedDevDependencies = Object.keys(miniPackageJson.devDependencies).filter(devDependency => Boolean(runtimeDependencies[devDependency]));
36
+ // everything that's listed as a dependency as is not shop-minis-runtime and is not duplicated is invalid
37
+ // shop-minis-runtime should be the only dependency of the mini
38
+ const nonSupportedDependencies = Object.keys(miniPackageJson.dependencies).filter(dependency => dependency !== '@shopify/shop-minis-runtime' &&
39
+ !duplicatedDependencies.includes(dependency));
40
+ const areDependenciesInvalid = Boolean(duplicatedDependencies.length +
41
+ duplicatedDevDependencies.length +
42
+ nonSupportedDependencies.length);
43
+ return {
44
+ duplicatedDependencies,
45
+ duplicatedDevDependencies,
46
+ nonSupportedDependencies,
47
+ areDependenciesInvalid,
48
+ };
49
+ }
50
+ function logNonSupportedDependencies(dependencies) {
51
+ if (dependencies.length === 0) {
52
+ return;
53
+ }
54
+ console.log(chalk.red('\n❌ Usage of the following dependencies in your mini is not supported:'));
55
+ dependencies.forEach(dependency => console.log(`- ${dependency}`));
56
+ }
57
+ function logDuplicatedDependencies(dependencies, isDev = false) {
58
+ if (dependencies.length === 0) {
59
+ return;
60
+ }
61
+ console.log(chalk.red(`\n❌ The following ${isDev ? 'devDependencies' : 'dependencies'} are duplicated with @shopify/shop-minis-runtime:`));
62
+ dependencies.forEach(dependency => console.log(`- ${dependency}`));
63
+ }
64
+ function getPackageJsonByPath(packageJsonPath) {
65
+ let packageJson = {};
66
+ try {
67
+ const packageJsonString = fs.readFileSync(packageJsonPath).toString('utf-8');
68
+ packageJson = JSON.parse(packageJsonString);
69
+ }
70
+ catch {
71
+ throw new AbortError(`Failed to read from file on path ${packageJsonPath}`);
72
+ }
73
+ return packageJson;
74
+ }
75
+ function logTroubleshootInstructions() {
76
+ console.log(chalk.cyan(`\nℹ️ This error is potentially fixable with the ${chalk.bold('--fix')} option.`));
77
+ console.log(chalk.cyan('\nℹ️ If you want to fix this error manually, try:'));
78
+ console.log('1. Remove the invalid dependencies and/or devDependencies from your package.json');
79
+ console.log('2. Remove the node_modules folder and the dependencies lockfile (package-lock.json or yarn.lock)');
80
+ console.log('3. Reinstall dependencies');
81
+ console.log('4. Commit the changes to the package.json and lockfile');
82
+ }
83
+ async function removeInvalidDependencies({ packageJsonPath, duplicatedDependencies, duplicatedDevDependencies, nonSupportedDependencies, }) {
84
+ if (!duplicatedDependencies.length &&
85
+ !duplicatedDevDependencies.length &&
86
+ !nonSupportedDependencies.length) {
87
+ return;
88
+ }
89
+ const packageJson = getPackageJsonByPath(packageJsonPath);
90
+ nonSupportedDependencies.forEach(dependency => {
91
+ delete packageJson.dependencies[dependency];
92
+ });
93
+ duplicatedDependencies.forEach(dependency => {
94
+ delete packageJson.dependencies[dependency];
95
+ });
96
+ duplicatedDevDependencies.forEach(devDependency => {
97
+ delete packageJson.devDependencies[devDependency];
98
+ });
99
+ fs.writeFileSync(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}\n`, // keep the new line at the end of the file
100
+ {
101
+ encoding: 'utf-8',
102
+ });
103
+ await wrapWithLoadingIndicator(hardResetDependencies(), {
104
+ loadingMessage: 'Removing invalid dependencies and recreating lockfiles...',
105
+ successMessage: 'Dependencies reinstalled',
106
+ });
107
+ }
108
+ //# sourceMappingURL=diagnose-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnose-dependencies.js","sourceRoot":"","sources":["../../../../src/commands/doctor/utils/diagnose-dependencies.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Command } from 'commander';
2
2
  export interface GenerateGraphqlTypesCommandOptions {
3
3
  watch?: boolean;
4
+ verbose?: boolean;
4
5
  }
5
6
  export declare function loadCommand(parentProgram: Command): void;
@@ -1,26 +1,40 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.loadCommand = void 0;
7
- const commander_1 = require("commander");
8
- const chalk_1 = __importDefault(require("chalk"));
9
- const graphql_typescript_definitions_1 = require("graphql-typescript-definitions");
10
- const graphql_config_1 = require("graphql-config");
11
- const minis_manifest_1 = require("../dev/utils/minis-manifest");
12
- function loadCommand(parentProgram) {
13
- const command = new commander_1.Command()
1
+ import { createRequire } from 'node:module';
2
+ import { execSync } from 'node:child_process';
3
+ import { Command } from 'commander';
4
+ import chalk from 'chalk';
5
+ import { GraphQLConfig } from 'graphql-config';
6
+ import { getMiniManifest } from '../../utils/minis-manifest.js';
7
+ import { maybeApplyPatches } from '../../utils/patch-package.js';
8
+ import { getRunBinCommand } from '../../utils/package-manager.js';
9
+ // Import these bits as cjs because their esm exports are broken
10
+ // TODO: this way of requiring libraries loses the types
11
+ // https://github.com/Shopify/shop-minis-cli/issues/191
12
+ const { Builder, ExportFormat } = createRequire(import.meta.url)('graphql-typescript-definitions');
13
+ export function loadCommand(parentProgram) {
14
+ const command = new Command()
14
15
  .name('generate-graphql-types')
15
16
  .description('Generate types for all of your .graphql files')
16
17
  .option('--watch', 'enable watch mode')
18
+ .option('--verbose', 'print debugging messages')
17
19
  .action(async (options) => {
20
+ const appliedPatches = maybeApplyPatches(); // we need to patch graphql-typescript-definitions for types to be correct
21
+ // if the patch was applied, we need to rerun the command in a new context to take the applied patch into account
22
+ if (appliedPatches.some(patchName => patchName.startsWith('graphql-typescript-definitions'))) {
23
+ const args = [
24
+ options.watch ? ' --watch' : '',
25
+ options.verbose ? ' --verbose' : '',
26
+ ].join('');
27
+ execSync(await getRunBinCommand(`shop-minis generate-graphql-types ${args}`), {
28
+ stdio: 'inherit',
29
+ });
30
+ return;
31
+ }
18
32
  const miniDir = process.cwd();
19
- const miniHandle = (0, minis_manifest_1.getMiniManifest)().handle;
20
- console.log('Generating graphql types for', chalk_1.default.green(miniHandle), '\n');
33
+ const miniName = getMiniManifest().name;
34
+ console.log('Generating graphql types for', chalk.green(miniName), '\n');
21
35
  // All of the paths below are relative to `miniDir` and refer to dependencies of the mini app itself
22
- const schemaTypesPathConfig = 'node_modules/@shopify/shop-minis-platform-sdk/src/api/types/';
23
- const config = new graphql_config_1.GraphQLConfig({
36
+ const schemaTypesPathConfig = 'node_modules/@shopify/shop-minis-platform-sdk/api/types';
37
+ const config = new GraphQLConfig({
24
38
  config: {
25
39
  schemaPath: 'node_modules/@shopify/shop-minis-platform-sdk/src/api/minis.graphql',
26
40
  includes: [`**/*.graphql`],
@@ -31,26 +45,29 @@ function loadCommand(parentProgram) {
31
45
  },
32
46
  filepath: '',
33
47
  }, []);
34
- const builder = new graphql_typescript_definitions_1.Builder({
48
+ const builderOptions = {
35
49
  cwd: miniDir,
36
50
  addTypename: true,
37
51
  schemaTypesPath: schemaTypesPathConfig,
52
+ exportFormat: ExportFormat.DocumentWithTypedDocumentNode,
53
+ // @ts-expect-error this happens because typescript is loading the same definition of GraphQLConfig from different places
38
54
  config,
39
- });
55
+ };
56
+ const builder = new Builder(builderOptions);
40
57
  const schemas = [];
41
58
  const docs = [];
42
- const builtColor = chalk_1.default.inverse.bold.green(' BUILT ');
43
- const errorColor = chalk_1.default.inverse.bold.red(' ERROR ');
59
+ const builtColor = chalk.inverse.bold.green(' BUILT ');
60
+ const errorColor = chalk.inverse.bold.red(' ERROR ');
44
61
  builder.on('start:docs', () => {
45
62
  docs.length = 0;
46
63
  });
47
64
  builder.on('start:schema', () => {
48
65
  schemas.length = 0;
49
66
  });
50
- builder.on('build:docs', doc => {
67
+ builder.on('build:docs', (doc) => {
51
68
  docs.push(doc);
52
69
  });
53
- builder.on('build:schema', schema => {
70
+ builder.on('build:schema', (schema) => {
54
71
  schemas.push(schema);
55
72
  });
56
73
  builder.on('end:docs', () => {
@@ -60,17 +77,17 @@ function loadCommand(parentProgram) {
60
77
  // Make the paths a bit nicer to look at by removing all the path up to the mini's dir
61
78
  const trimmedDocumentPath = documentPath.replace(miniDir, '');
62
79
  const trimmedDefinitionPath = definitionPath.replace(miniDir, '');
63
- console.log(`${builtColor} ${chalk_1.default.dim(trimmedDocumentPath)} → ${trimmedDefinitionPath}`);
80
+ console.log(`${builtColor} ${chalk.dim(trimmedDocumentPath)} → ${trimmedDefinitionPath}`);
64
81
  });
65
82
  });
66
83
  builder.on('end:schema', () => {
67
84
  // It would be good if there was a way to get `graphql-typescript-definitions` to not build the schema types
68
85
  // but instead we will just ignore it and not tell the user what happened
69
86
  });
70
- builder.on('error', error => {
87
+ builder.on('error', (error) => {
71
88
  console.log(`${errorColor} ${error.message}`);
72
89
  if (error.stack) {
73
- console.log(chalk_1.default.dim(error.stack));
90
+ console.log(chalk.dim(error.stack));
74
91
  }
75
92
  console.log();
76
93
  if (!options.watch) {
@@ -86,5 +103,4 @@ function loadCommand(parentProgram) {
86
103
  });
87
104
  parentProgram.addCommand(command);
88
105
  }
89
- exports.loadCommand = loadCommand;
90
106
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/generate-graphql-types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/generate-graphql-types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const command: Command;
3
+ export declare function loadCommand(parentProgram: Command): Promise<void>;
@@ -0,0 +1,42 @@
1
+ import { Command } from 'commander';
2
+ import envinfo from 'envinfo';
3
+ import { wrapWithLoadingIndicator } from '../../utils/wrap-with-loading-indicator.js';
4
+ import { getPackageVersion } from '../../utils/package-manager.js';
5
+ export const command = new Command()
6
+ .name('info')
7
+ .description('Get relevant version info about OS, toolchain and libraries')
8
+ .option('--verbose', 'print debugging messages')
9
+ .action(async () => {
10
+ const infoPromise = envinfo.run({
11
+ System: ['OS', 'CPU', 'Memory', 'Shell'],
12
+ Binaries: ['Node', 'Yarn', 'npm', 'Watchman'],
13
+ IDEs: ['Xcode', 'Android Studio'],
14
+ Managers: ['CocoaPods'],
15
+ Languages: ['Java'],
16
+ SDKs: ['iOS SDK', 'Android SDK'],
17
+ });
18
+ // we can not use envinfo to fetch these because some of these packages are not direct dependencies of each mini
19
+ // some are transient dependencies via @shopify/shop-minis-runtime
20
+ const packageVersionPromises = [
21
+ getPackageVersion('@shopify/shop-minis-cli'),
22
+ getPackageVersion('@shopify/shop-minis-platform-sdk'),
23
+ getPackageVersion('@shopify/shop-minis-runtime'),
24
+ getPackageVersion('react'),
25
+ getPackageVersion('react-native'),
26
+ ];
27
+ const [info, cliVersion, sdkVersion, runtimeVersion, reactVersion, reactNativeVersion,] = await wrapWithLoadingIndicator(Promise.all([infoPromise, ...packageVersionPromises]), {
28
+ loadingMessage: 'Fetching system information...',
29
+ successMessage: 'System information loaded',
30
+ });
31
+ console.log(`${info} Packages:`);
32
+ console.log(` @shopify/shop-minis-cli: ${cliVersion}`);
33
+ console.log(` @shopify/shop-minis-platform-sdk: ${sdkVersion}`);
34
+ console.log(` @shopify/shop-minis-runtime: ${runtimeVersion}`);
35
+ console.log(` react: ${reactVersion}`);
36
+ console.log(` react-native: ${reactNativeVersion}`);
37
+ console.log(''); // empty line at the end
38
+ });
39
+ export async function loadCommand(parentProgram) {
40
+ parentProgram.addCommand(command);
41
+ }
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/info/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAC,wBAAwB,EAAC,MAAM,4CAA4C,CAAA;AACnF,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAA;AAEhE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KACjC,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;QAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;QAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC;QACjC,QAAQ,EAAE,CAAC,WAAW,CAAC;QACvB,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;KACjC,CAAC,CAAA;IAEF,gHAAgH;IAChH,kEAAkE;IAClE,MAAM,sBAAsB,GAAG;QAC7B,iBAAiB,CAAC,yBAAyB,CAAC;QAC5C,iBAAiB,CAAC,kCAAkC,CAAC;QACrD,iBAAiB,CAAC,6BAA6B,CAAC;QAChD,iBAAiB,CAAC,OAAO,CAAC;QAC1B,iBAAiB,CAAC,cAAc,CAAC;KACzB,CAAA;IAEV,MAAM,CACJ,IAAI,EACJ,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,kBAAkB,EACnB,GAAG,MAAM,wBAAwB,CAChC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,sBAAsB,CAAC,CAAC,EACrD;QACE,cAAc,EAAE,gCAAgC;QAChD,cAAc,EAAE,2BAA2B;KAC5C,CACF,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,aAAa,CAAC,CAAA;IACjC,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAA;IACzD,OAAO,CAAC,GAAG,CAAC,yCAAyC,UAAU,EAAE,CAAC,CAAA;IAClE,OAAO,CAAC,GAAG,CAAC,oCAAoC,cAAc,EAAE,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,EAAE,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,CAAC,qBAAqB,kBAAkB,EAAE,CAAC,CAAA;IACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA,CAAC,wBAAwB;AAC1C,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,aAAsB;IACtD,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function loadCommand(parentProgram: Command): void;
@@ -0,0 +1,81 @@
1
+ import path from 'node:path';
2
+ import fs from 'node:fs';
3
+ import { Command } from 'commander';
4
+ import prompts from 'prompts';
5
+ import { wrapWithLoadingIndicator } from '../../utils/wrap-with-loading-indicator.js';
6
+ import { fetchMini } from '../../data/mini.js';
7
+ import { SHOP_MINIS_ADMIN_API_KEY } from '../config.js';
8
+ import { acceptInvitation } from '../../data/accept-invitation.js';
9
+ function onCancel() {
10
+ console.log('\nCancelled setting up a new Shop Mini\n');
11
+ process.exit(0);
12
+ }
13
+ export function loadCommand(parentProgram) {
14
+ const command = new Command()
15
+ .name('setup')
16
+ .description('Set up a new Shop Mini')
17
+ .action(async () => {
18
+ const { confirmInvitationEmail } = await prompts.prompt({
19
+ type: 'confirm',
20
+ name: 'confirmInvitationEmail',
21
+ message: 'To begin the setup process, please confirm that you have received an invitation email from the Shop Minis team. If you have not, please apply to join the early access program at https://shop.app/minis/apply/.',
22
+ }, { onCancel });
23
+ if (!confirmInvitationEmail) {
24
+ onCancel();
25
+ }
26
+ if (SHOP_MINIS_ADMIN_API_KEY) {
27
+ const { confirmOverwrite } = await prompts.prompt({
28
+ type: 'confirm',
29
+ name: 'confirmOverwrite',
30
+ message: 'This command will overwrite your exiting Shop Minis Admin API Key. If you have an existing .env file, it will be backed up as .env.bak. Do you want to continue?',
31
+ }, { onCancel });
32
+ if (!confirmOverwrite) {
33
+ onCancel();
34
+ }
35
+ }
36
+ const response = await prompts.prompt({
37
+ type: 'text',
38
+ name: 'invitationCode',
39
+ message: `Provide the invitation code from the welcome email:`,
40
+ }, { onCancel });
41
+ const token = await wrapWithLoadingIndicator(acceptInvitation({ code: response.invitationCode }), {
42
+ loadingMessage: 'Fetching API key...',
43
+ successMessage: 'API key fetched',
44
+ });
45
+ const envFilePath = path.join(process.cwd(), '.env');
46
+ if (fs.existsSync(envFilePath)) {
47
+ fs.copyFileSync(envFilePath, `${envFilePath}.bak`);
48
+ }
49
+ fs.writeFileSync(envFilePath, `SHOP_MINIS_API_KEY=${token}\n`, {
50
+ encoding: 'utf-8',
51
+ });
52
+ try {
53
+ const miniInfo = await fetchMini({
54
+ Authorization: `Bearer ${token}`,
55
+ });
56
+ if (miniInfo) {
57
+ const manifestJsonPath = path.join(process.cwd(), 'src/manifest.json');
58
+ const manifestJsonString = fs.readFileSync(manifestJsonPath, {
59
+ encoding: 'utf-8',
60
+ });
61
+ const manifestJson = JSON.parse(manifestJsonString) || {};
62
+ manifestJson.handle = miniInfo.handle;
63
+ fs.writeFileSync(manifestJsonPath, `${JSON.stringify(manifestJson, null, 2)}\n`, {
64
+ encoding: 'utf-8',
65
+ });
66
+ console.log('Your Shop Mini has been set up.');
67
+ }
68
+ }
69
+ catch (error) {
70
+ if (error?.response?.status === 401) {
71
+ console.error('Invalid invitation code.');
72
+ }
73
+ else {
74
+ console.error('An error occurred.');
75
+ console.error(error);
76
+ }
77
+ }
78
+ });
79
+ parentProgram.addCommand(command);
80
+ }
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/setup/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const SUBMISSION_PATHS: {
2
+ SUBMISSION_CACHE_DIR: string;
3
+ };
4
+ export declare const SUBMISSION_VALIDATION: {
5
+ SUBMISSION_DESCRIPTION_MAX_LENGTH: number;
6
+ SUBMISSION_FILE_SIZE_MAX_BYTES: number;
7
+ };
8
+ export declare const generateSubmissionArchiveFilename: () => string;
9
+ export declare const getSubmissionArchivePath: (filename: string) => string;
@@ -0,0 +1,18 @@
1
+ import path from 'node:path';
2
+ import { PATHS } from '../config.js';
3
+ import { getMiniManifest } from '../../utils/minis-manifest.js';
4
+ export const SUBMISSION_PATHS = {
5
+ SUBMISSION_CACHE_DIR: path.resolve(PATHS.CACHE_DIR, 'submissions'),
6
+ };
7
+ export const SUBMISSION_VALIDATION = {
8
+ SUBMISSION_DESCRIPTION_MAX_LENGTH: 2056,
9
+ SUBMISSION_FILE_SIZE_MAX_BYTES: 1000000,
10
+ };
11
+ export const generateSubmissionArchiveFilename = () => {
12
+ const miniHandle = getMiniManifest().handle;
13
+ return `${miniHandle}-${String(Date.now())}.tar.gz`;
14
+ };
15
+ export const getSubmissionArchivePath = (filename) => {
16
+ return path.join(SUBMISSION_PATHS.SUBMISSION_CACHE_DIR, filename);
17
+ };
18
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/submit/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,KAAK,EAAC,MAAM,cAAc,CAAA;AAClC,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAA;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC;CACnE,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,iCAAiC,EAAE,IAAI;IACvC,8BAA8B,EAAE,OAAO;CACxC,CAAA;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,EAAE;IACpD,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAA;IAE3C,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAA;AACrD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAA;AACnE,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { AbortError } from '@shopify/cli-kit/node/error';
2
+ import { CreateSubmissionMutation, CreateUploadMutation, SubmissionsQuery } from '../../data/types/autogenerated/shop-minis-admin-api/graphql.js';
3
+ import { CreateUploadParameters } from '../../data/create-upload.js';
4
+ type UnwrapArray<T> = T extends Array<infer R> ? R : never;
5
+ interface UserErrorShape {
6
+ code: string;
7
+ message: string;
8
+ field?: Array<string> | null;
9
+ }
10
+ interface WrapErrorOptions {
11
+ separator?: string;
12
+ }
13
+ export declare const wrapError: (error: any, message: string, userOptions?: WrapErrorOptions) => Error;
14
+ export declare const userErrorToErrorMessage: ({ code, message, field, }: UserErrorShape) => string;
15
+ export declare const handleCreateUploadErrors: (params: CreateUploadParameters, userErrors?: CreateUploadMutation['submissionUploadCreate']['userErrors']) => void;
16
+ export declare const generateExistingPendingSubmissionError: (pendingSubmission: UnwrapArray<SubmissionsQuery['submissions']['nodes']> | null) => Promise<AbortError>;
17
+ export declare const handleCreateSubmissionErrors: (userErrors?: CreateSubmissionMutation['submissionCreate']['userErrors']) => Promise<void>;
18
+ export declare const handleUploadFileErrors: (error: any) => never;
19
+ export {};
@@ -0,0 +1,87 @@
1
+ import { AbortError } from '@shopify/cli-kit/node/error';
2
+ import { outputDebug } from '@shopify/cli-kit/node/output';
3
+ import { getRunBinCommand } from '../../utils/package-manager.js';
4
+ import { getPendingSubmission } from '../../data/get-submissions.js';
5
+ const wrapErrorDefaultOptions = {
6
+ separator: ': ',
7
+ };
8
+ // Prefix an error with a nice message without loosing the stack
9
+ export const wrapError = (error, message, userOptions = {}) => {
10
+ const options = {
11
+ ...wrapErrorDefaultOptions,
12
+ ...userOptions,
13
+ };
14
+ const err = new Error(`${message}${options.separator}${error?.message ?? 'Unknown error'}`);
15
+ if (error && error?.stack) {
16
+ err.stack = error?.stack;
17
+ }
18
+ return err;
19
+ };
20
+ export const userErrorToErrorMessage = ({ code, message, field, }) => {
21
+ if (!field || field.length === 0)
22
+ return `${message}. (${code})`;
23
+ return `${message}. (${code} for fields ${field.join(', ')})`;
24
+ };
25
+ export const handleCreateUploadErrors = (params, userErrors) => {
26
+ if (!userErrors || userErrors.length === 0)
27
+ return;
28
+ const errorMessages = userErrors.map(userError => {
29
+ switch (userError.code) {
30
+ case 'INVALID_CHECKSUM':
31
+ return `Invalid checksum for uploaded archive: ${params.checksum}`;
32
+ case 'INVALID_FILE_SIZE':
33
+ return `Invalid file size for uploaded archive: ${params.fileSize}`;
34
+ case 'INVALID_MIME_TYPE':
35
+ return `Invalid mime type for uploaded archive: ${params.mimeType}`;
36
+ default:
37
+ return userErrorToErrorMessage(userError);
38
+ }
39
+ });
40
+ throw new AbortError('There was a problem creating your upload', errorMessages);
41
+ };
42
+ export const generateExistingPendingSubmissionError = async (pendingSubmission) => {
43
+ outputDebug(`Existing pending submission found ${pendingSubmission ? JSON.stringify(pendingSubmission) : ''}`);
44
+ const errorMessage = pendingSubmission
45
+ ? `The previous submission (reference: ${pendingSubmission.reference}) was submitted at ${pendingSubmission.submittedAt}.\n\n` +
46
+ `Status of ${pendingSubmission.reference}: ${pendingSubmission.status}`
47
+ : undefined;
48
+ return new AbortError('Already a submission under review', errorMessage, [
49
+ [
50
+ 'Cancel previous submission. Run',
51
+ {
52
+ command: await getRunBinCommand('shop-minis cancel-submission'),
53
+ },
54
+ 'to cancel',
55
+ ],
56
+ [
57
+ 'Cancel this submission. Do nothing else and wait for previous submission to be reviewed.',
58
+ ],
59
+ ]);
60
+ };
61
+ export const handleCreateSubmissionErrors = async (userErrors) => {
62
+ if (!userErrors || userErrors.length === 0)
63
+ return;
64
+ for (const userError of userErrors) {
65
+ if (userError.code === 'ALREADY_PENDING_SUBMISSION') {
66
+ const pendingSubmission = await getPendingSubmission();
67
+ throw await generateExistingPendingSubmissionError(pendingSubmission);
68
+ }
69
+ }
70
+ const errorMessages = userErrors.map(userError => {
71
+ switch (userError.code) {
72
+ case 'FILE_NOT_FOUND':
73
+ return `Your uploaded package could not be found`;
74
+ case 'UPLOAD_NOT_FOUND':
75
+ return `Your upload could not be found`;
76
+ default:
77
+ return userErrorToErrorMessage(userError);
78
+ }
79
+ });
80
+ throw new AbortError('There was a problem creating your submission', errorMessages);
81
+ };
82
+ export const handleUploadFileErrors = (error) => {
83
+ throw wrapError(error, 'There was a problem with your upload\n\n', {
84
+ separator: '',
85
+ });
86
+ };
87
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/commands/submit/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface UploadFileParameters {
2
+ url: string;
3
+ headers: Record<string, string>;
4
+ filepath: string;
5
+ }
6
+ export declare const uploadFile: ({ url, headers, filepath, }: UploadFileParameters) => Promise<void>;
@@ -0,0 +1,10 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { fetch } from '@shopify/cli-kit/node/http';
3
+ export const uploadFile = async ({ url, headers, filepath, }) => {
4
+ await fetch(url, {
5
+ method: 'PUT',
6
+ headers,
7
+ body: readFileSync(filepath),
8
+ });
9
+ };
10
+ //# sourceMappingURL=gcs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gcs.js","sourceRoot":"","sources":["../../../src/commands/submit/gcs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAA;AAEpC,OAAO,EAAC,KAAK,EAAC,MAAM,4BAA4B,CAAA;AAQhD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,EAC/B,GAAG,EACH,OAAO,EACP,QAAQ,GACa,EAAE,EAAE;IACzB,MAAM,KAAK,CAAC,GAAG,EAAE;QACf,MAAM,EAAE,KAAK;QACb,OAAO;QACP,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function loadCommand(parentProgram: Command): void;
@@ -0,0 +1,25 @@
1
+ import { Command } from 'commander';
2
+ import { outputDebug } from '@shopify/cli-kit/node/output';
3
+ import { getMiniManifest } from '../../utils/minis-manifest.js';
4
+ import { codeBuildChecks, completeConfig, doSubmit, preSubmitChecks, } from './submit.js';
5
+ export function loadCommand(parentProgram) {
6
+ const command = new Command()
7
+ .name('submit')
8
+ .description('submit your mini app')
9
+ .option('--description [description]', 'submission description - describes the change')
10
+ .option('--verbose', 'print debugging messages') // compatible with cli-kit
11
+ .action(async (args) => {
12
+ const miniName = getMiniManifest().name;
13
+ outputDebug(`Submit args ${JSON.stringify(args)}`);
14
+ outputDebug(`Submitting mini "${miniName}" at ${process.cwd()}`);
15
+ const continueWithSubmission = await codeBuildChecks();
16
+ if (!continueWithSubmission) {
17
+ process.exit(0);
18
+ }
19
+ await preSubmitChecks();
20
+ const config = await completeConfig(args);
21
+ await doSubmit(config);
22
+ });
23
+ parentProgram.addCommand(command);
24
+ }
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/submit/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;AAE7D,OAAO,EACL,eAAe,EACf,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,MAAM,aAAa,CAAA;AAGpB,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CACL,6BAA6B,EAC7B,+CAA+C,CAChD;SACA,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,0BAA0B;SAC1E,MAAM,CAAC,KAAK,EAAE,IAAuB,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,IAAI,CAAA;QAEvC,WAAW,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClD,WAAW,CAAC,oBAAoB,QAAQ,QAAQ,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAEhE,MAAM,sBAAsB,GAAG,MAAM,eAAe,EAAE,CAAA;QACtD,IAAI,CAAC,sBAAsB,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAChB;QAED,MAAM,eAAe,EAAE,CAAA;QACvB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEJ,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { SubmitCommandArgs, SubmitConfig } from './types.js';
2
+ export declare const codeBuildChecks: () => Promise<boolean>;
3
+ export declare const preSubmitChecks: () => Promise<void>;
4
+ export declare const completeConfig: (args: SubmitCommandArgs) => Promise<SubmitConfig>;
5
+ export declare const doSubmit: (config: SubmitConfig) => Promise<void>;