@shopify/shop-minis-cli 0.0.0-snapshot.20240712123821

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 (452) hide show
  1. package/.eslintrc.cjs +78 -0
  2. package/LICENSE +21 -0
  3. package/README.md +8 -0
  4. package/README_INTERNAL.md +115 -0
  5. package/build/commands/cancel-submission/cancel-submission.d.ts +1 -0
  6. package/build/commands/cancel-submission/cancel-submission.js +57 -0
  7. package/build/commands/cancel-submission/cancel-submission.js.map +1 -0
  8. package/build/commands/cancel-submission/index.d.ts +2 -0
  9. package/build/commands/cancel-submission/index.js +18 -0
  10. package/build/commands/cancel-submission/index.js.map +1 -0
  11. package/build/commands/cancel-submission/types.d.ts +3 -0
  12. package/build/commands/cancel-submission/types.js +2 -0
  13. package/build/commands/cancel-submission/types.js.map +1 -0
  14. package/build/commands/check-submission/index.d.ts +2 -0
  15. package/build/commands/check-submission/index.js +55 -0
  16. package/build/commands/check-submission/index.js.map +1 -0
  17. package/build/commands/check-submission/types.d.ts +3 -0
  18. package/build/commands/check-submission/types.js +2 -0
  19. package/build/commands/check-submission/types.js.map +1 -0
  20. package/build/commands/codemod/index.d.ts +3 -0
  21. package/build/commands/codemod/index.js +47 -0
  22. package/build/commands/codemod/index.js.map +1 -0
  23. package/build/commands/codemod/releases/index.d.ts +7 -0
  24. package/build/commands/codemod/releases/index.js +89 -0
  25. package/build/commands/codemod/releases/index.js.map +1 -0
  26. package/build/commands/codemod/releases/types.d.ts +9 -0
  27. package/build/commands/codemod/releases/types.js +2 -0
  28. package/build/commands/codemod/releases/types.js.map +1 -0
  29. package/build/commands/codemod/releases/v0-0-100.d.ts +3 -0
  30. package/build/commands/codemod/releases/v0-0-100.js +50 -0
  31. package/build/commands/codemod/releases/v0-0-100.js.map +1 -0
  32. package/build/commands/codemod/releases/v0-0-103.d.ts +3 -0
  33. package/build/commands/codemod/releases/v0-0-103.js +43 -0
  34. package/build/commands/codemod/releases/v0-0-103.js.map +1 -0
  35. package/build/commands/codemod/releases/v0-0-105.d.ts +3 -0
  36. package/build/commands/codemod/releases/v0-0-105.js +59 -0
  37. package/build/commands/codemod/releases/v0-0-105.js.map +1 -0
  38. package/build/commands/codemod/releases/v0-0-106.d.ts +3 -0
  39. package/build/commands/codemod/releases/v0-0-106.js +32 -0
  40. package/build/commands/codemod/releases/v0-0-106.js.map +1 -0
  41. package/build/commands/codemod/releases/v0-0-114.d.ts +3 -0
  42. package/build/commands/codemod/releases/v0-0-114.js +48 -0
  43. package/build/commands/codemod/releases/v0-0-114.js.map +1 -0
  44. package/build/commands/codemod/releases/v0-0-115.d.ts +3 -0
  45. package/build/commands/codemod/releases/v0-0-115.js +50 -0
  46. package/build/commands/codemod/releases/v0-0-115.js.map +1 -0
  47. package/build/commands/codemod/releases/v0-0-121.d.ts +3 -0
  48. package/build/commands/codemod/releases/v0-0-121.js +74 -0
  49. package/build/commands/codemod/releases/v0-0-121.js.map +1 -0
  50. package/build/commands/codemod/releases/v0-0-42/index.d.ts +3 -0
  51. package/build/commands/codemod/releases/v0-0-42/index.js +46 -0
  52. package/build/commands/codemod/releases/v0-0-42/index.js.map +1 -0
  53. package/build/commands/codemod/releases/v0-0-42/reset-files.d.ts +7 -0
  54. package/build/commands/codemod/releases/v0-0-42/reset-files.js +83 -0
  55. package/build/commands/codemod/releases/v0-0-42/reset-files.js.map +1 -0
  56. package/build/commands/codemod/releases/v0-0-43.d.ts +3 -0
  57. package/build/commands/codemod/releases/v0-0-43.js +32 -0
  58. package/build/commands/codemod/releases/v0-0-43.js.map +1 -0
  59. package/build/commands/codemod/releases/v0-0-44.d.ts +3 -0
  60. package/build/commands/codemod/releases/v0-0-44.js +214 -0
  61. package/build/commands/codemod/releases/v0-0-44.js.map +1 -0
  62. package/build/commands/codemod/releases/v0-0-45.d.ts +3 -0
  63. package/build/commands/codemod/releases/v0-0-45.js +23 -0
  64. package/build/commands/codemod/releases/v0-0-45.js.map +1 -0
  65. package/build/commands/codemod/releases/v0-0-50.d.ts +3 -0
  66. package/build/commands/codemod/releases/v0-0-50.js +34 -0
  67. package/build/commands/codemod/releases/v0-0-50.js.map +1 -0
  68. package/build/commands/codemod/releases/v0-0-54.d.ts +3 -0
  69. package/build/commands/codemod/releases/v0-0-54.js +70 -0
  70. package/build/commands/codemod/releases/v0-0-54.js.map +1 -0
  71. package/build/commands/codemod/releases/v0-0-56.d.ts +3 -0
  72. package/build/commands/codemod/releases/v0-0-56.js +48 -0
  73. package/build/commands/codemod/releases/v0-0-56.js.map +1 -0
  74. package/build/commands/codemod/releases/v0-0-57.d.ts +3 -0
  75. package/build/commands/codemod/releases/v0-0-57.js +41 -0
  76. package/build/commands/codemod/releases/v0-0-57.js.map +1 -0
  77. package/build/commands/codemod/releases/v0-0-58.d.ts +3 -0
  78. package/build/commands/codemod/releases/v0-0-58.js +68 -0
  79. package/build/commands/codemod/releases/v0-0-58.js.map +1 -0
  80. package/build/commands/codemod/releases/v0-0-61.d.ts +3 -0
  81. package/build/commands/codemod/releases/v0-0-61.js +30 -0
  82. package/build/commands/codemod/releases/v0-0-61.js.map +1 -0
  83. package/build/commands/codemod/releases/v0-0-63.d.ts +3 -0
  84. package/build/commands/codemod/releases/v0-0-63.js +42 -0
  85. package/build/commands/codemod/releases/v0-0-63.js.map +1 -0
  86. package/build/commands/codemod/releases/v0-0-64.d.ts +3 -0
  87. package/build/commands/codemod/releases/v0-0-64.js +47 -0
  88. package/build/commands/codemod/releases/v0-0-64.js.map +1 -0
  89. package/build/commands/codemod/releases/v0-0-75.d.ts +3 -0
  90. package/build/commands/codemod/releases/v0-0-75.js +30 -0
  91. package/build/commands/codemod/releases/v0-0-75.js.map +1 -0
  92. package/build/commands/codemod/releases/v0-0-76.d.ts +3 -0
  93. package/build/commands/codemod/releases/v0-0-76.js +32 -0
  94. package/build/commands/codemod/releases/v0-0-76.js.map +1 -0
  95. package/build/commands/codemod/releases/v0-0-77.d.ts +3 -0
  96. package/build/commands/codemod/releases/v0-0-77.js +39 -0
  97. package/build/commands/codemod/releases/v0-0-77.js.map +1 -0
  98. package/build/commands/codemod/releases/v0-0-79.d.ts +3 -0
  99. package/build/commands/codemod/releases/v0-0-79.js +35 -0
  100. package/build/commands/codemod/releases/v0-0-79.js.map +1 -0
  101. package/build/commands/codemod/releases/v0-0-84.d.ts +3 -0
  102. package/build/commands/codemod/releases/v0-0-84.js +41 -0
  103. package/build/commands/codemod/releases/v0-0-84.js.map +1 -0
  104. package/build/commands/codemod/releases/v0-0-85.d.ts +3 -0
  105. package/build/commands/codemod/releases/v0-0-85.js +60 -0
  106. package/build/commands/codemod/releases/v0-0-85.js.map +1 -0
  107. package/build/commands/codemod/releases/v0-0-89.d.ts +3 -0
  108. package/build/commands/codemod/releases/v0-0-89.js +60 -0
  109. package/build/commands/codemod/releases/v0-0-89.js.map +1 -0
  110. package/build/commands/codemod/releases/v0-0-91/index.d.ts +3 -0
  111. package/build/commands/codemod/releases/v0-0-91/index.js +38 -0
  112. package/build/commands/codemod/releases/v0-0-91/index.js.map +1 -0
  113. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.d.ts +5 -0
  114. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.js +45 -0
  115. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.js.map +1 -0
  116. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.d.ts +1 -0
  117. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.js +97 -0
  118. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.js.map +1 -0
  119. package/build/commands/codemod/releases/v0-0-92.d.ts +3 -0
  120. package/build/commands/codemod/releases/v0-0-92.js +38 -0
  121. package/build/commands/codemod/releases/v0-0-92.js.map +1 -0
  122. package/build/commands/codemod/releases/v0-0-93/blank/App-after.d.ts +1 -0
  123. package/build/commands/codemod/releases/v0-0-93/blank/App-after.js +15 -0
  124. package/build/commands/codemod/releases/v0-0-93/blank/App-after.js.map +1 -0
  125. package/build/commands/codemod/releases/v0-0-93/blank/App-before.d.ts +1 -0
  126. package/build/commands/codemod/releases/v0-0-93/blank/App-before.js +13 -0
  127. package/build/commands/codemod/releases/v0-0-93/blank/App-before.js.map +1 -0
  128. package/build/commands/codemod/releases/v0-0-93/index.d.ts +6 -0
  129. package/build/commands/codemod/releases/v0-0-93/index.js +7 -0
  130. package/build/commands/codemod/releases/v0-0-93/index.js.map +1 -0
  131. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.d.ts +1 -0
  132. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.js +53 -0
  133. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.js.map +1 -0
  134. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.d.ts +1 -0
  135. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.js +43 -0
  136. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.js.map +1 -0
  137. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.d.ts +1 -0
  138. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.js +49 -0
  139. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.js.map +1 -0
  140. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.d.ts +1 -0
  141. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.js +42 -0
  142. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.js.map +1 -0
  143. package/build/commands/codemod/releases/v0-0-93.d.ts +3 -0
  144. package/build/commands/codemod/releases/v0-0-93.js +48 -0
  145. package/build/commands/codemod/releases/v0-0-93.js.map +1 -0
  146. package/build/commands/codemod/releases/v0-0-97/index.d.ts +3 -0
  147. package/build/commands/codemod/releases/v0-0-97/index.js +20 -0
  148. package/build/commands/codemod/releases/v0-0-97/index.js.map +1 -0
  149. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.d.ts +1 -0
  150. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.js +47 -0
  151. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.js.map +1 -0
  152. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.d.ts +1 -0
  153. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.js +105 -0
  154. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.js.map +1 -0
  155. package/build/commands/config.d.ts +14 -0
  156. package/build/commands/config.js +42 -0
  157. package/build/commands/config.js.map +1 -0
  158. package/build/commands/create-extension/constants.d.ts +24 -0
  159. package/build/commands/create-extension/constants.js +68 -0
  160. package/build/commands/create-extension/constants.js.map +1 -0
  161. package/build/commands/create-extension/index.d.ts +2 -0
  162. package/build/commands/create-extension/index.js +122 -0
  163. package/build/commands/create-extension/index.js.map +1 -0
  164. package/build/commands/create-extension/types.d.ts +11 -0
  165. package/build/commands/create-extension/types.js +7 -0
  166. package/build/commands/create-extension/types.js.map +1 -0
  167. package/build/commands/create-extension/utils/add-target-to-config.d.ts +2 -0
  168. package/build/commands/create-extension/utils/add-target-to-config.js +56 -0
  169. package/build/commands/create-extension/utils/add-target-to-config.js.map +1 -0
  170. package/build/commands/create-extension/utils/create-from-template.d.ts +3 -0
  171. package/build/commands/create-extension/utils/create-from-template.js +46 -0
  172. package/build/commands/create-extension/utils/create-from-template.js.map +1 -0
  173. package/build/commands/create-mini/index.d.ts +2 -0
  174. package/build/commands/create-mini/index.js +137 -0
  175. package/build/commands/create-mini/index.js.map +1 -0
  176. package/build/commands/create-mini/utils/template-app.d.ts +1 -0
  177. package/build/commands/create-mini/utils/template-app.js +47 -0
  178. package/build/commands/create-mini/utils/template-app.js.map +1 -0
  179. package/build/commands/dev/index.d.ts +12 -0
  180. package/build/commands/dev/index.js +75 -0
  181. package/build/commands/dev/index.js.map +1 -0
  182. package/build/commands/dev/utils/android.d.ts +18 -0
  183. package/build/commands/dev/utils/android.js +153 -0
  184. package/build/commands/dev/utils/android.js.map +1 -0
  185. package/build/commands/dev/utils/binaries.d.ts +5 -0
  186. package/build/commands/dev/utils/binaries.js +17 -0
  187. package/build/commands/dev/utils/binaries.js.map +1 -0
  188. package/build/commands/dev/utils/build-type.d.ts +2 -0
  189. package/build/commands/dev/utils/build-type.js +14 -0
  190. package/build/commands/dev/utils/build-type.js.map +1 -0
  191. package/build/commands/dev/utils/deeplink.d.ts +14 -0
  192. package/build/commands/dev/utils/deeplink.js +58 -0
  193. package/build/commands/dev/utils/deeplink.js.map +1 -0
  194. package/build/commands/dev/utils/interactive-terminal.d.ts +25 -0
  195. package/build/commands/dev/utils/interactive-terminal.js +210 -0
  196. package/build/commands/dev/utils/interactive-terminal.js.map +1 -0
  197. package/build/commands/dev/utils/metro/metro-config.d.ts +2 -0
  198. package/build/commands/dev/utils/metro/metro-config.js +27 -0
  199. package/build/commands/dev/utils/metro/metro-config.js.map +1 -0
  200. package/build/commands/dev/utils/metro/metro-minis-module-resolver.d.ts +6 -0
  201. package/build/commands/dev/utils/metro/metro-minis-module-resolver.js +11 -0
  202. package/build/commands/dev/utils/metro/metro-minis-module-resolver.js.map +1 -0
  203. package/build/commands/dev/utils/metro/metro-reporter.d.ts +13 -0
  204. package/build/commands/dev/utils/metro/metro-reporter.js +27 -0
  205. package/build/commands/dev/utils/metro/metro-reporter.js.map +1 -0
  206. package/build/commands/dev/utils/metro/metro-server-middleware.d.ts +10 -0
  207. package/build/commands/dev/utils/metro/metro-server-middleware.js +74 -0
  208. package/build/commands/dev/utils/metro/metro-server-middleware.js.map +1 -0
  209. package/build/commands/dev/utils/metro/metro-server.d.ts +6 -0
  210. package/build/commands/dev/utils/metro/metro-server.js +26 -0
  211. package/build/commands/dev/utils/metro/metro-server.js.map +1 -0
  212. package/build/commands/dev/utils/network.d.ts +20 -0
  213. package/build/commands/dev/utils/network.js +129 -0
  214. package/build/commands/dev/utils/network.js.map +1 -0
  215. package/build/commands/dev/utils/platform.d.ts +18 -0
  216. package/build/commands/dev/utils/platform.js +41 -0
  217. package/build/commands/dev/utils/platform.js.map +1 -0
  218. package/build/commands/dev/utils/prompt-binary-upgrade.d.ts +1 -0
  219. package/build/commands/dev/utils/prompt-binary-upgrade.js +12 -0
  220. package/build/commands/dev/utils/prompt-binary-upgrade.js.map +1 -0
  221. package/build/commands/dev/utils/qr-code.d.ts +1 -0
  222. package/build/commands/dev/utils/qr-code.js +5 -0
  223. package/build/commands/dev/utils/qr-code.js.map +1 -0
  224. package/build/commands/dev/utils/react-native-version.d.ts +4 -0
  225. package/build/commands/dev/utils/react-native-version.js +23 -0
  226. package/build/commands/dev/utils/react-native-version.js.map +1 -0
  227. package/build/commands/dev/utils/simulator.d.ts +22 -0
  228. package/build/commands/dev/utils/simulator.js +95 -0
  229. package/build/commands/dev/utils/simulator.js.map +1 -0
  230. package/build/commands/dev/utils/start-app/config.d.ts +5 -0
  231. package/build/commands/dev/utils/start-app/config.js +25 -0
  232. package/build/commands/dev/utils/start-app/config.js.map +1 -0
  233. package/build/commands/dev/utils/start-app/start-app-with-options.d.ts +2 -0
  234. package/build/commands/dev/utils/start-app/start-app-with-options.js +94 -0
  235. package/build/commands/dev/utils/start-app/start-app-with-options.js.map +1 -0
  236. package/build/commands/dev/utils/start-app/start-app.d.ts +2 -0
  237. package/build/commands/dev/utils/start-app/start-app.js +10 -0
  238. package/build/commands/dev/utils/start-app/start-app.js.map +1 -0
  239. package/build/commands/dev/utils/start-app/types.d.ts +20 -0
  240. package/build/commands/dev/utils/start-app/types.js +2 -0
  241. package/build/commands/dev/utils/start-app/types.js.map +1 -0
  242. package/build/commands/dev/utils/types.d.ts +24 -0
  243. package/build/commands/dev/utils/types.js +7 -0
  244. package/build/commands/dev/utils/types.js.map +1 -0
  245. package/build/commands/dev/utils/version.d.ts +64 -0
  246. package/build/commands/dev/utils/version.js +101 -0
  247. package/build/commands/dev/utils/version.js.map +1 -0
  248. package/build/commands/dev/utils/with-retries.d.ts +4 -0
  249. package/build/commands/dev/utils/with-retries.js +24 -0
  250. package/build/commands/dev/utils/with-retries.js.map +1 -0
  251. package/build/commands/doctor/index.d.ts +6 -0
  252. package/build/commands/doctor/index.js +21 -0
  253. package/build/commands/doctor/index.js.map +1 -0
  254. package/build/commands/doctor/utils/diagnose-dependencies.d.ts +7 -0
  255. package/build/commands/doctor/utils/diagnose-dependencies.js +113 -0
  256. package/build/commands/doctor/utils/diagnose-dependencies.js.map +1 -0
  257. package/build/commands/features/index.d.ts +6 -0
  258. package/build/commands/features/index.js +135 -0
  259. package/build/commands/features/index.js.map +1 -0
  260. package/build/commands/generate-graphql-types/index.d.ts +6 -0
  261. package/build/commands/generate-graphql-types/index.js +33 -0
  262. package/build/commands/generate-graphql-types/index.js.map +1 -0
  263. package/build/commands/generate-graphql-types/utils/generate-graphql-types.d.ts +2 -0
  264. package/build/commands/generate-graphql-types/utils/generate-graphql-types.js +101 -0
  265. package/build/commands/generate-graphql-types/utils/generate-graphql-types.js.map +1 -0
  266. package/build/commands/info/index.d.ts +3 -0
  267. package/build/commands/info/index.js +42 -0
  268. package/build/commands/info/index.js.map +1 -0
  269. package/build/commands/setup/index.d.ts +2 -0
  270. package/build/commands/setup/index.js +82 -0
  271. package/build/commands/setup/index.js.map +1 -0
  272. package/build/commands/submit/config.d.ts +9 -0
  273. package/build/commands/submit/config.js +18 -0
  274. package/build/commands/submit/config.js.map +1 -0
  275. package/build/commands/submit/errors.d.ts +19 -0
  276. package/build/commands/submit/errors.js +87 -0
  277. package/build/commands/submit/errors.js.map +1 -0
  278. package/build/commands/submit/gcs.d.ts +6 -0
  279. package/build/commands/submit/gcs.js +21 -0
  280. package/build/commands/submit/gcs.js.map +1 -0
  281. package/build/commands/submit/index.d.ts +2 -0
  282. package/build/commands/submit/index.js +25 -0
  283. package/build/commands/submit/index.js.map +1 -0
  284. package/build/commands/submit/submit.d.ts +5 -0
  285. package/build/commands/submit/submit.js +225 -0
  286. package/build/commands/submit/submit.js.map +1 -0
  287. package/build/commands/submit/tasks.d.ts +37 -0
  288. package/build/commands/submit/tasks.js +91 -0
  289. package/build/commands/submit/tasks.js.map +1 -0
  290. package/build/commands/submit/types.d.ts +14 -0
  291. package/build/commands/submit/types.js +2 -0
  292. package/build/commands/submit/types.js.map +1 -0
  293. package/build/commands/submit/utils/assert-core-dependencies-version.d.ts +1 -0
  294. package/build/commands/submit/utils/assert-core-dependencies-version.js +58 -0
  295. package/build/commands/submit/utils/assert-core-dependencies-version.js.map +1 -0
  296. package/build/commands/submit/utils/request-entry-point-params.d.ts +1 -0
  297. package/build/commands/submit/utils/request-entry-point-params.js +41 -0
  298. package/build/commands/submit/utils/request-entry-point-params.js.map +1 -0
  299. package/build/commands/submit/validation.d.ts +1 -0
  300. package/build/commands/submit/validation.js +11 -0
  301. package/build/commands/submit/validation.js.map +1 -0
  302. package/build/commands/upgrade/index.d.ts +13 -0
  303. package/build/commands/upgrade/index.js +65 -0
  304. package/build/commands/upgrade/index.js.map +1 -0
  305. package/build/commands/upgrade/utils/clear-metro-cache.d.ts +1 -0
  306. package/build/commands/upgrade/utils/clear-metro-cache.js +12 -0
  307. package/build/commands/upgrade/utils/clear-metro-cache.js.map +1 -0
  308. package/build/commands/upgrade/utils/cli.d.ts +1 -0
  309. package/build/commands/upgrade/utils/cli.js +15 -0
  310. package/build/commands/upgrade/utils/cli.js.map +1 -0
  311. package/build/commands/validate-manifest/index.d.ts +3 -0
  312. package/build/commands/validate-manifest/index.js +29 -0
  313. package/build/commands/validate-manifest/index.js.map +1 -0
  314. package/build/constants/extensions.d.ts +26 -0
  315. package/build/constants/extensions.js +31 -0
  316. package/build/constants/extensions.js.map +1 -0
  317. package/build/data/accept-invitation.d.ts +4 -0
  318. package/build/data/accept-invitation.js +16 -0
  319. package/build/data/accept-invitation.js.map +1 -0
  320. package/build/data/cancel-submission.d.ts +22 -0
  321. package/build/data/cancel-submission.js +26 -0
  322. package/build/data/cancel-submission.js.map +1 -0
  323. package/build/data/create-submission.d.ts +20 -0
  324. package/build/data/create-submission.js +27 -0
  325. package/build/data/create-submission.js.map +1 -0
  326. package/build/data/create-upload.d.ts +21 -0
  327. package/build/data/create-upload.js +40 -0
  328. package/build/data/create-upload.js.map +1 -0
  329. package/build/data/get-submissions.d.ts +27 -0
  330. package/build/data/get-submissions.js +33 -0
  331. package/build/data/get-submissions.js.map +1 -0
  332. package/build/data/gql-client.d.ts +8 -0
  333. package/build/data/gql-client.js +9 -0
  334. package/build/data/gql-client.js.map +1 -0
  335. package/build/data/mini.d.ts +5 -0
  336. package/build/data/mini.js +14 -0
  337. package/build/data/mini.js.map +1 -0
  338. package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.d.ts +13 -0
  339. package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.js +7 -0
  340. package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.js.map +1 -0
  341. package/build/data/types/autogenerated/shop-minis-admin-api/gql.d.ts +75 -0
  342. package/build/data/types/autogenerated/shop-minis-admin-api/gql.js +24 -0
  343. package/build/data/types/autogenerated/shop-minis-admin-api/gql.js.map +1 -0
  344. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.d.ts +1745 -0
  345. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js +1072 -0
  346. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js.map +1 -0
  347. package/build/data/types/autogenerated/shop-minis-admin-api/index.d.ts +2 -0
  348. package/build/data/types/autogenerated/shop-minis-admin-api/index.js +3 -0
  349. package/build/data/types/autogenerated/shop-minis-admin-api/index.js.map +1 -0
  350. package/build/dev-panel/asset-manifest.json +13 -0
  351. package/build/dev-panel/checkmark.svg +3 -0
  352. package/build/dev-panel/chevron.svg +3 -0
  353. package/build/dev-panel/copy.svg +4 -0
  354. package/build/dev-panel/get-started.svg +3 -0
  355. package/build/dev-panel/how-to.svg +3 -0
  356. package/build/dev-panel/index.html +1 -0
  357. package/build/dev-panel/references.svg +3 -0
  358. package/build/dev-panel/robots.txt +3 -0
  359. package/build/dev-panel/static/css/main.7f1ee407.css +2 -0
  360. package/build/dev-panel/static/css/main.7f1ee407.css.map +1 -0
  361. package/build/dev-panel/static/js/main.6625699c.js +3 -0
  362. package/build/dev-panel/static/js/main.6625699c.js.LICENSE.txt +41 -0
  363. package/build/dev-panel/static/js/main.6625699c.js.map +1 -0
  364. package/build/dev-panel/topics.svg +3 -0
  365. package/build/index.d.ts +2 -0
  366. package/build/index.js +47 -0
  367. package/build/index.js.map +1 -0
  368. package/build/schemas/manifest.schema.json +214 -0
  369. package/build/templates-index.d.ts +6 -0
  370. package/build/templates-index.js +19 -0
  371. package/build/templates-index.js.map +1 -0
  372. package/build/utils/archive.d.ts +30 -0
  373. package/build/utils/archive.js +38 -0
  374. package/build/utils/archive.js.map +1 -0
  375. package/build/utils/codemod.d.ts +86 -0
  376. package/build/utils/codemod.js +161 -0
  377. package/build/utils/codemod.js.map +1 -0
  378. package/build/utils/common-tasks.d.ts +1 -0
  379. package/build/utils/common-tasks.js +49 -0
  380. package/build/utils/common-tasks.js.map +1 -0
  381. package/build/utils/development-params.d.ts +13 -0
  382. package/build/utils/development-params.js +44 -0
  383. package/build/utils/development-params.js.map +1 -0
  384. package/build/utils/exec-async-child-process.d.ts +18 -0
  385. package/build/utils/exec-async-child-process.js +41 -0
  386. package/build/utils/exec-async-child-process.js.map +1 -0
  387. package/build/utils/extensions.d.ts +13 -0
  388. package/build/utils/extensions.js +87 -0
  389. package/build/utils/extensions.js.map +1 -0
  390. package/build/utils/file.d.ts +1 -0
  391. package/build/utils/file.js +7 -0
  392. package/build/utils/file.js.map +1 -0
  393. package/build/utils/minis-manifest.d.ts +8 -0
  394. package/build/utils/minis-manifest.js +67 -0
  395. package/build/utils/minis-manifest.js.map +1 -0
  396. package/build/utils/package-manager.d.ts +42 -0
  397. package/build/utils/package-manager.js +107 -0
  398. package/build/utils/package-manager.js.map +1 -0
  399. package/build/utils/patch-package.d.ts +5 -0
  400. package/build/utils/patch-package.js +76 -0
  401. package/build/utils/patch-package.js.map +1 -0
  402. package/build/utils/path.d.ts +1 -0
  403. package/build/utils/path.js +8 -0
  404. package/build/utils/path.js.map +1 -0
  405. package/build/utils/replace-strings-in-template.d.ts +1 -0
  406. package/build/utils/replace-strings-in-template.js +15 -0
  407. package/build/utils/replace-strings-in-template.js.map +1 -0
  408. package/build/utils/semver.d.ts +1 -0
  409. package/build/utils/semver.js +19 -0
  410. package/build/utils/semver.js.map +1 -0
  411. package/build/utils/wrap-with-loading-indicator.d.ts +9 -0
  412. package/build/utils/wrap-with-loading-indicator.js +16 -0
  413. package/build/utils/wrap-with-loading-indicator.js.map +1 -0
  414. package/package.json +102 -0
  415. package/scripts/graphql-codegen.ts +23 -0
  416. package/scripts/test-template.ts +66 -0
  417. package/shipit.snapshot.yml +9 -0
  418. package/templates/__template_blank/src/App.tsx +24 -0
  419. package/templates/__template_blank/src/index.tsx +9 -0
  420. package/templates/__template_common/.eslintignore +1 -0
  421. package/templates/__template_common/.eslintrc.js +3 -0
  422. package/templates/__template_common/.graphqlrc.js +1 -0
  423. package/templates/__template_common/.prettierrc.json +8 -0
  424. package/templates/__template_common/assets.d.ts +14 -0
  425. package/templates/__template_common/babel.config.js +5 -0
  426. package/templates/__template_common/gitignore +5 -0
  427. package/templates/__template_common/index.tsx +7 -0
  428. package/templates/__template_common/metro.config.js +5 -0
  429. package/templates/__template_common/package.json +38 -0
  430. package/templates/__template_common/src/manifest.json +6 -0
  431. package/templates/__template_common/tsconfig.json +41 -0
  432. package/templates/__template_shoppable_posts/src/App.tsx +37 -0
  433. package/templates/__template_shoppable_posts/src/index.tsx +9 -0
  434. package/templates/__template_shoppable_videos/src/App.tsx +34 -0
  435. package/templates/__template_shoppable_videos/src/index.tsx +9 -0
  436. package/templates/extensions/components/__template_blank/render.tsx +11 -0
  437. package/templates/extensions/components/__template_bundle-collection/render.tsx +31 -0
  438. package/templates/extensions/components/__template_bundle-collection/seed.ts +26 -0
  439. package/templates/extensions/components/__template_bundle-selector/render.tsx +51 -0
  440. package/templates/extensions/components/__template_bundle-selector/seed.ts +72 -0
  441. package/templates/extensions/components/__template_default-card/render.tsx +24 -0
  442. package/templates/extensions/components/__template_default-card/seed.ts +10 -0
  443. package/templates/extensions/components/__template_image-collection/render.tsx +17 -0
  444. package/templates/extensions/components/__template_image-collection/seed.ts +70 -0
  445. package/templates/extensions/components/__template_link/render.tsx +17 -0
  446. package/templates/extensions/components/__template_link/seed.ts +5 -0
  447. package/templates/extensions/components/__template_product-offer-card/render.tsx +17 -0
  448. package/templates/extensions/components/__template_product-offer-card/seed.ts +44 -0
  449. package/templates/extensions/components/__template_video-collection/render.tsx +17 -0
  450. package/templates/extensions/components/__template_video-collection/seed.ts +37 -0
  451. package/templates/extensions/queries/__template_product-page/input.graphql +6 -0
  452. package/templates/extensions/queries/__template_product-page/input.graphql.d.ts +26 -0
@@ -0,0 +1,50 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ import { getRunBinCommand } from '../../../utils/package-manager.js';
5
+ import { execAsync } from '../../../utils/exec-async-child-process.js';
6
+ /**
7
+ * Updates the index file to consider that now partners may use ViewerRoot in their mini app config
8
+ *
9
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.99...v0.0.100
10
+ */
11
+ async function applyUpgrade() {
12
+ const indexTsxPath = path.join(process.cwd(), 'index.tsx');
13
+ const srcIndexTsxPath = path.join(process.cwd(), 'src', 'index.tsx');
14
+ try {
15
+ // add reference to MiniApp.ViewerRoot in the root index.tsx
16
+ // we get tsc errors otherwise
17
+ const indexTsxContent = await readFile(indexTsxPath, {
18
+ encoding: 'utf-8',
19
+ });
20
+ const newIndexTsxContent = indexTsxContent.replace('renderDevelopmentMini(MiniApp.Root,', 'renderDevelopmentMini(MiniApp.Root || MiniApp.ViewerRoot,');
21
+ await writeFile(indexTsxPath, newIndexTsxContent, {
22
+ encoding: 'utf-8',
23
+ });
24
+ // replace Root: in the mini app config definition with ViewerRoot:
25
+ const srcIndexTsxContent = await readFile(srcIndexTsxPath, {
26
+ encoding: 'utf-8',
27
+ });
28
+ const newSrcIndexTsxContent = srcIndexTsxContent.replace('Root:', 'ViewerRoot:');
29
+ await writeFile(srcIndexTsxPath, newSrcIndexTsxContent, {
30
+ encoding: 'utf-8',
31
+ });
32
+ const prettierCmd = await getRunBinCommand(`prettier -w ${indexTsxPath} ${srcIndexTsxContent}`);
33
+ await execAsync({
34
+ cmd: prettierCmd,
35
+ });
36
+ }
37
+ catch (error) {
38
+ // If index.tsx or src/index doesn't exist or is unreadable for some reason, we don't need to do anything
39
+ }
40
+ }
41
+ const releaseNotes = [
42
+ 'Remove usage of deprecated Root attribute in MiniAppConfig in favour of ViewerRoot',
43
+ ];
44
+ const exports = {
45
+ releaseNotes,
46
+ applyUpgrade,
47
+ version: new SemVer('0.0.100'),
48
+ };
49
+ export default exports;
50
+ //# sourceMappingURL=v0-0-100.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-100.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-100.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAE7B,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,4CAA4C,CAAA;AAIpE;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;IAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAEpE,IAAI;QACF,4DAA4D;QAC5D,8BAA8B;QAC9B,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE;YACnD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QACF,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,CAChD,qCAAqC,EACrC,2DAA2D,CAC5D,CAAA;QACD,MAAM,SAAS,CAAC,YAAY,EAAE,kBAAkB,EAAE;YAChD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,mEAAmE;QACnE,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE;YACzD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QACF,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,OAAO,CACtD,OAAO,EACP,aAAa,CACd,CAAA;QACD,MAAM,SAAS,CAAC,eAAe,EAAE,qBAAqB,EAAE;YACtD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,eAAe,YAAY,IAAI,kBAAkB,EAAE,CACpD,CAAA;QAED,MAAM,SAAS,CAAC;YACd,GAAG,EAAE,WAAW;SACjB,CAAC,CAAA;KACH;IAAC,OAAO,KAAK,EAAE;QACd,yGAAyG;KAC1G;AACH,CAAC;AAED,MAAM,YAAY,GAAa;IAC7B,oFAAoF;CACrF,CAAA;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;CAC/B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,43 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ import { getRunBinCommand } from '../../../utils/package-manager.js';
5
+ import { execAsync } from '../../../utils/exec-async-child-process.js';
6
+ /**
7
+ * Updates usage of renderDevelopmentMini. Use the whole mini config as param instead of just the viewer component
8
+ *
9
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.102...v0.0.103
10
+ */
11
+ async function applyUpgrade() {
12
+ const indexTsxPath = path.join(process.cwd(), 'index.tsx');
13
+ try {
14
+ // add reference to MiniApp.ViewerRoot in the root index.tsx
15
+ // we get tsc errors otherwise
16
+ const indexTsxContent = await readFile(indexTsxPath, {
17
+ encoding: 'utf-8',
18
+ });
19
+ const newIndexTsxContent = indexTsxContent
20
+ .replace('renderDevelopmentMini(MiniApp.Root,', 'renderDevelopmentMini(MiniApp,')
21
+ .replace('renderDevelopmentMini(MiniApp.Root || MiniApp.ViewerRoot,', 'renderDevelopmentMini(MiniApp,')
22
+ .replace('renderDevelopmentMini(MiniApp.ViewerRoot || MiniApp.Root,', 'renderDevelopmentMini(MiniApp,')
23
+ .replace('renderDevelopmentMini(MiniApp.ViewerRoot,', 'renderDevelopmentMini(MiniApp,');
24
+ await writeFile(indexTsxPath, newIndexTsxContent, {
25
+ encoding: 'utf-8',
26
+ });
27
+ const prettierCmd = await getRunBinCommand(`prettier -w ${indexTsxPath} ${newIndexTsxContent}`);
28
+ await execAsync({
29
+ cmd: prettierCmd,
30
+ });
31
+ }
32
+ catch (error) {
33
+ // If index.tsx doesn't exist or is unreadable for some reason, we don't need to do anything
34
+ }
35
+ }
36
+ const releaseNotes = ['Update usage of renderDevelopmentMini'];
37
+ const exports = {
38
+ releaseNotes,
39
+ applyUpgrade,
40
+ version: new SemVer('0.0.103'),
41
+ };
42
+ export default exports;
43
+ //# sourceMappingURL=v0-0-103.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-103.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-103.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAE7B,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,4CAA4C,CAAA;AAIpE;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;IAE1D,IAAI;QACF,4DAA4D;QAC5D,8BAA8B;QAC9B,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE;YACnD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QACF,MAAM,kBAAkB,GAAG,eAAe;aACvC,OAAO,CACN,qCAAqC,EACrC,gCAAgC,CACjC;aACA,OAAO,CACN,2DAA2D,EAC3D,gCAAgC,CACjC;aACA,OAAO,CACN,2DAA2D,EAC3D,gCAAgC,CACjC;aACA,OAAO,CACN,2CAA2C,EAC3C,gCAAgC,CACjC,CAAA;QACH,MAAM,SAAS,CAAC,YAAY,EAAE,kBAAkB,EAAE;YAChD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,eAAe,YAAY,IAAI,kBAAkB,EAAE,CACpD,CAAA;QAED,MAAM,SAAS,CAAC;YACd,GAAG,EAAE,WAAW;SACjB,CAAC,CAAA;KACH;IAAC,OAAO,KAAK,EAAE;QACd,4FAA4F;KAC7F;AACH,CAAC;AAED,MAAM,YAAY,GAAa,CAAC,uCAAuC,CAAC,CAAA;AAExE,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;CAC/B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,59 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ /**
5
+ * Removes ad-hoc eslint config in favour of importing it from the minis runtime
6
+ * Adds graphqlrc config file to minis
7
+ *
8
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.104...v0.0.105
9
+ */
10
+ async function applyUpgrade() {
11
+ const eslintConfigPath = path.join(process.cwd(), '.eslintrc.js');
12
+ try {
13
+ const eslintConfig = await readFile(eslintConfigPath, {
14
+ encoding: 'utf-8',
15
+ });
16
+ // only replace the eslint config if it was not changed
17
+ // partners that modified it will need to update manually
18
+ const updatedEslintConfig = eslintConfig.replace(legacyEslintConfig, newEslintConfig);
19
+ await writeFile(eslintConfigPath, updatedEslintConfig, {
20
+ encoding: 'utf-8',
21
+ });
22
+ const graphqlConfigPath = path.join(process.cwd(), '.graphqlrc.js');
23
+ await writeFile(graphqlConfigPath, graphqlConfig, {
24
+ encoding: 'utf-8',
25
+ });
26
+ }
27
+ catch {
28
+ // do nothing
29
+ }
30
+ }
31
+ const graphqlConfig = "module.exports = require('@shopify/shop-minis-runtime/graphqlrc')\n";
32
+ const legacyEslintConfig = `module.exports = {
33
+ root: true,
34
+ extends: ['plugin:@shopify/shop-minis/all'],
35
+ settings: {
36
+ react: {
37
+ version: 'detect',
38
+ },
39
+ },
40
+ parserOptions: {
41
+ ecmaVersion: 6,
42
+ project: './tsconfig.json',
43
+ schema:
44
+ 'node_modules/@shopify/shop-minis-platform-sdk/src/api/schema/minis.graphql',
45
+ operations: '**/*.graphql',
46
+ },
47
+ }
48
+ `;
49
+ const newEslintConfig = `const {minisEslintConfig} = require('@shopify/shop-minis-runtime/eslint-config')
50
+
51
+ module.exports = minisEslintConfig
52
+ `;
53
+ const exports = {
54
+ releaseNotes: ['Updates eslint config', 'Updates graphqlrc config'],
55
+ applyUpgrade,
56
+ version: new SemVer('0.0.105'),
57
+ };
58
+ export default exports;
59
+ //# sourceMappingURL=v0-0-105.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-105.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-105.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B;;;;;GAKG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IAEjE,IAAI;QACF,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YACpD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QACF,uDAAuD;QACvD,yDAAyD;QACzD,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAC9C,kBAAkB,EAClB,eAAe,CAChB,CAAA;QACD,MAAM,SAAS,CAAC,gBAAgB,EAAE,mBAAmB,EAAE;YACrD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAA;QACnE,MAAM,SAAS,CAAC,iBAAiB,EAAE,aAAa,EAAE;YAChD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;KACH;IAAC,MAAM;QACN,aAAa;KACd;AACH,CAAC;AAED,MAAM,aAAa,GACjB,qEAAqE,CAAA;AAEvE,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;CAgB1B,CAAA;AAED,MAAM,eAAe,GAAG;;;CAGvB,CAAA;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY,EAAE,CAAC,uBAAuB,EAAE,0BAA0B,CAAC;IACnE,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;CAC/B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,32 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ /**
5
+ * Add graphql resolution in package.json
6
+ *
7
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.105...v0.0.106
8
+ */
9
+ async function applyUpgrade() {
10
+ const packageJsonPath = path.join(process.cwd(), 'package.json');
11
+ const packageJsonString = await readFile(packageJsonPath, {
12
+ encoding: 'utf-8',
13
+ });
14
+ const packageJson = JSON.parse(packageJsonString) || {};
15
+ packageJson.resolutions ||= {};
16
+ packageJson.resolutions = {
17
+ ...packageJson.resolutions,
18
+ graphql: '15.8.0',
19
+ };
20
+ // persist updated package.json
21
+ await writeFile(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}\n`, // keep the new line at the end of the file
22
+ {
23
+ encoding: 'utf-8',
24
+ });
25
+ }
26
+ const exports = {
27
+ releaseNotes: ['Adds graphql resolution to package.json'],
28
+ applyUpgrade,
29
+ version: new SemVer('0.0.106'),
30
+ };
31
+ export default exports;
32
+ //# sourceMappingURL=v0-0-106.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-106.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-106.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IAChE,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE;QACxD,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAA;IAEvD,WAAW,CAAC,WAAW,KAAK,EAAE,CAAA;IAC9B,WAAW,CAAC,WAAW,GAAG;QACxB,GAAG,WAAW,CAAC,WAAW;QAC1B,OAAO,EAAE,QAAQ;KAClB,CAAA;IAED,+BAA+B;IAC/B,MAAM,SAAS,CACb,eAAe,EACf,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,2CAA2C;IACxF;QACE,QAAQ,EAAE,OAAO;KAClB,CACF,CAAA;AACH,CAAC;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY,EAAE,CAAC,yCAAyC,CAAC;IACzD,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;CAC/B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,48 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ import { getPackageLatestVersionCommand } from '../../../utils/package-manager.js';
5
+ import { execAsync } from '../../../utils/exec-async-child-process.js';
6
+ /**
7
+ * Add shop-minis-extensions and shop-minis-sdk as direct dependencies of the mini
8
+ *
9
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.113...v0.0.114
10
+ */
11
+ async function applyUpgrade() {
12
+ const packageJsonPath = path.join(process.cwd(), 'package.json');
13
+ const packageJsonString = await readFile(packageJsonPath, {
14
+ encoding: 'utf-8',
15
+ });
16
+ const packageJson = JSON.parse(packageJsonString) || {};
17
+ packageJson.dependencies = {
18
+ '@shopify/shop-minis-platform-sdk': await fetchLatestVersion('@shopify/shop-minis-platform-sdk', '0.1.96'),
19
+ '@shopify/shop-minis-runtime': packageJson.dependencies['@shopify/shop-minis-runtime'],
20
+ '@shopify/shop-minis-ui-extensions': await fetchLatestVersion('@shopify/shop-minis-ui-extensions', '0.0.5'),
21
+ };
22
+ // persist updated package.json
23
+ await writeFile(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}\n`, // keep the new line at the end of the file
24
+ {
25
+ encoding: 'utf-8',
26
+ });
27
+ }
28
+ const exports = {
29
+ releaseNotes: [
30
+ '@shopify/shop-minis-platform-sdk and @shopify/shop-minis-ui-extensions are now listed in your project dependencies',
31
+ ],
32
+ applyUpgrade,
33
+ version: new SemVer('0.0.114'),
34
+ };
35
+ export default exports;
36
+ async function fetchLatestVersion(packageName, fallbackVersion) {
37
+ try {
38
+ const getLatestVersionCommand = await getPackageLatestVersionCommand(packageName);
39
+ const { stdout: latestMinisRuntimeVersionStdout } = await execAsync({
40
+ cmd: getLatestVersionCommand,
41
+ });
42
+ return latestMinisRuntimeVersionStdout[0];
43
+ }
44
+ catch {
45
+ return fallbackVersion;
46
+ }
47
+ }
48
+ //# sourceMappingURL=v0-0-114.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-114.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-114.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAE7B,OAAO,EAAC,8BAA8B,EAAC,MAAM,mCAAmC,CAAA;AAChF,OAAO,EAAC,SAAS,EAAC,MAAM,4CAA4C,CAAA;AAIpE;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IAChE,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE;QACxD,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAA;IAEvD,WAAW,CAAC,YAAY,GAAG;QACzB,kCAAkC,EAAE,MAAM,kBAAkB,CAC1D,kCAAkC,EAClC,QAAQ,CACT;QACD,6BAA6B,EAC3B,WAAW,CAAC,YAAY,CAAC,6BAA6B,CAAC;QACzD,mCAAmC,EAAE,MAAM,kBAAkB,CAC3D,mCAAmC,EACnC,OAAO,CACR;KACF,CAAA;IAED,+BAA+B;IAC/B,MAAM,SAAS,CACb,eAAe,EACf,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,2CAA2C;IACxF;QACE,QAAQ,EAAE,OAAO;KAClB,CACF,CAAA;AACH,CAAC;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY,EAAE;QACZ,oHAAoH;KACrH;IACD,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;CAC/B,CAAA;AAED,eAAe,OAAO,CAAA;AAEtB,KAAK,UAAU,kBAAkB,CAC/B,WAAmB,EACnB,eAAuB;IAEvB,IAAI;QACF,MAAM,uBAAuB,GAAG,MAAM,8BAA8B,CAClE,WAAW,CACZ,CAAA;QAED,MAAM,EAAC,MAAM,EAAE,+BAA+B,EAAC,GAAG,MAAM,SAAS,CAAC;YAChE,GAAG,EAAE,uBAAuB;SAC7B,CAAC,CAAA;QACF,OAAO,+BAA+B,CAAC,CAAC,CAAC,CAAA;KAC1C;IAAC,MAAM;QACN,OAAO,eAAe,CAAA;KACvB;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,50 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ import JSON5 from 'json5';
5
+ import { getRunBinCommand } from '../../../utils/package-manager.js';
6
+ import { execAsync } from '../../../utils/exec-async-child-process.js';
7
+ /**
8
+ * Add fallback typescript resolution for runtime dependencies
9
+ *
10
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.114...v0.0.115
11
+ */
12
+ async function applyUpgrade() {
13
+ try {
14
+ const tsconfigJsonPath = path.join(process.cwd(), 'tsconfig.json');
15
+ const tsconfigJsonString = await readFile(tsconfigJsonPath, {
16
+ encoding: 'utf-8',
17
+ });
18
+ const tsconfig = JSON5.parse(tsconfigJsonString);
19
+ tsconfig.compilerOptions = tsconfig.compilerOptions || {};
20
+ tsconfig.compilerOptions.paths = tsconfig.compilerOptions.paths || {};
21
+ tsconfig.compilerOptions.paths['*'] =
22
+ tsconfig.compilerOptions.paths['*'] || [];
23
+ const fallbackResolution = './node_modules/@shopify/shop-minis-runtime/node_modules/*';
24
+ if (tsconfig.compilerOptions.paths['*'].includes(fallbackResolution)) {
25
+ return;
26
+ }
27
+ tsconfig.compilerOptions.paths['*'].push(fallbackResolution);
28
+ // persist updated package.json
29
+ await writeFile(tsconfigJsonPath, `${JSON.stringify(tsconfig, null, 2)}\n`, // keep the new line at the end of the file
30
+ {
31
+ encoding: 'utf-8',
32
+ });
33
+ const prettierCmd = await getRunBinCommand(`prettier -w ${tsconfigJsonPath}`);
34
+ await execAsync({
35
+ cmd: prettierCmd,
36
+ });
37
+ }
38
+ catch {
39
+ // do nothing
40
+ }
41
+ }
42
+ const exports = {
43
+ releaseNotes: [
44
+ 'Add fallback resolution path to tsconfig to be able to grab dependencies nested in shop-minis-runtime',
45
+ ],
46
+ applyUpgrade,
47
+ version: new SemVer('0.0.115'),
48
+ };
49
+ export default exports;
50
+ //# sourceMappingURL=v0-0-115.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-115.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-115.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,4CAA4C,CAAA;AAIpE;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,IAAI;QACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAA;QAClE,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAC1D,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAEhD,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAA;QACzD,QAAQ,CAAC,eAAe,CAAC,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAA;QACrE,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;YACjC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAE3C,MAAM,kBAAkB,GACtB,2DAA2D,CAAA;QAE7D,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACpE,OAAM;SACP;QAED,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAE5D,+BAA+B;QAC/B,MAAM,SAAS,CACb,gBAAgB,EAChB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,2CAA2C;QACrF;YACE,QAAQ,EAAE,OAAO;SAClB,CACF,CAAA;QAED,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,eAAe,gBAAgB,EAAE,CAClC,CAAA;QACD,MAAM,SAAS,CAAC;YACd,GAAG,EAAE,WAAW;SACjB,CAAC,CAAA;KACH;IAAC,MAAM;QACN,aAAa;KACd;AACH,CAAC;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY,EAAE;QACZ,uGAAuG;KACxG;IACD,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;CAC/B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,74 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ /**
5
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.120...v0.0.121
6
+ */
7
+ async function applyUpgrade() {
8
+ if (process.env.INTERNAL_CODEMODS) {
9
+ const existingAppTsxPath = path.join(process.cwd(), 'src', 'App.tsx');
10
+ let existingAppTsxContent = null;
11
+ try {
12
+ existingAppTsxContent = fs.readFileSync(existingAppTsxPath, {
13
+ encoding: 'utf-8',
14
+ });
15
+ }
16
+ catch (error) {
17
+ // If the App.tsx file doesn't exist or is unreadable for some reason, we don't need to do anything
18
+ return;
19
+ }
20
+ // Only apply the upgrade if the App.tsx file is still the old blank template
21
+ if (existingAppTsxContent === oldBlankTemplateAppContent) {
22
+ fs.writeFileSync(existingAppTsxPath, newBlankTemplateAppContent, {
23
+ encoding: 'utf-8',
24
+ });
25
+ }
26
+ }
27
+ }
28
+ const oldBlankTemplateAppContent = `import {StatusBar} from 'react-native'
29
+ import {Box, Text, SafeAreaView} from '@shopify/shop-minis-platform-sdk'
30
+
31
+ export function App() {
32
+ return (
33
+ <Box flex={1} backgroundColor="backgrounds-regular">
34
+ <StatusBar barStyle="dark-content" />
35
+ <SafeAreaView style={{flex: 1, justifyContent: 'center'}}>
36
+ <Text textAlign="center">Fill in the blank</Text>
37
+ </SafeAreaView>
38
+ </Box>
39
+ )
40
+ }
41
+ `;
42
+ const newBlankTemplateAppContent = `import {StatusBar} from 'react-native'
43
+ import {
44
+ Box,
45
+ Text,
46
+ SafeAreaView,
47
+ useMinisParams,
48
+ } from '@shopify/shop-minis-platform-sdk'
49
+
50
+ export function App() {
51
+ const {extensionData} = useMinisParams()
52
+ return (
53
+ <Box flex={1} backgroundColor="backgrounds-regular">
54
+ <StatusBar barStyle="dark-content" />
55
+ <SafeAreaView style={{flex: 1, justifyContent: 'center'}}>
56
+ <Text textAlign="center">Fill in the blank</Text>
57
+ {extensionData ? (
58
+ <Text textAlign="center">
59
+ Data from the extension: {JSON.stringify(extensionData)}
60
+ </Text>
61
+ ) : null}
62
+ </SafeAreaView>
63
+ </Box>
64
+ )
65
+ }
66
+ `;
67
+ const releaseNotes = ['Add extensionData usage to the blank template'];
68
+ const exports = {
69
+ releaseNotes,
70
+ applyUpgrade,
71
+ version: new SemVer('0.0.121'),
72
+ };
73
+ export default exports;
74
+ //# sourceMappingURL=v0-0-121.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-121.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-121.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B;;GAEG;AACH,KAAK,UAAU,YAAY;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;QACrE,IAAI,qBAAqB,GAAG,IAAI,CAAA;QAEhC,IAAI;YACF,qBAAqB,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE;gBAC1D,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAA;SACH;QAAC,OAAO,KAAK,EAAE;YACd,mGAAmG;YACnG,OAAM;SACP;QAED,6EAA6E;QAC7E,IAAI,qBAAqB,KAAK,0BAA0B,EAAE;YACxD,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,0BAA0B,EAAE;gBAC/D,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAA;SACH;KACF;AACH,CAAC;AAED,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;CAalC,CAAA;AAED,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBlC,CAAA;AAED,MAAM,YAAY,GAAa,CAAC,+CAA+C,CAAC,CAAA;AAEhF,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;CAC/B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from '../types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,46 @@
1
+ import path from 'node:path';
2
+ import os from 'node:os';
3
+ import { mkdtemp } from 'node:fs/promises';
4
+ import prompts from 'prompts';
5
+ import { outputDebug } from '@shopify/cli-kit/node/output';
6
+ import { SemVer } from 'semver';
7
+ import { wrapWithLoadingIndicator } from '../../../../utils/wrap-with-loading-indicator.js';
8
+ import { prepareResetFiles, resetFiles } from './reset-files.js';
9
+ async function applyUpgrade(miniHandle, options) {
10
+ const tmpDir = await mkdtemp(path.join(os.tmpdir()));
11
+ outputDebug(`Created tmp dir: ${tmpDir}`);
12
+ const diff = await wrapWithLoadingIndicator(prepareResetFiles(miniHandle, tmpDir), {
13
+ loadingMessage: 'Preparing files...',
14
+ successMessage: 'Files ready',
15
+ });
16
+ // Are we changing any of the mini's files?
17
+ const changesToMake = diff.changed.length > 0;
18
+ // Assume we want to continue on to run the copy & install
19
+ let shouldContinue = true;
20
+ // If there's changes to be made to files in the mini
21
+ // then first ask if this is ok
22
+ if (changesToMake && !options.skipPrompts) {
23
+ const promptResult = await prompts({
24
+ type: 'confirm',
25
+ initial: true,
26
+ name: 'shouldContinue',
27
+ message: `This command will overwrite the following files: ${diff.changed.join(', ')}, do you want to continue?`,
28
+ });
29
+ shouldContinue = promptResult.shouldContinue;
30
+ }
31
+ // If the user did not want files to be updated we skip that bit
32
+ if (shouldContinue) {
33
+ await wrapWithLoadingIndicator(resetFiles(tmpDir), {
34
+ loadingMessage: 'Updating files...',
35
+ successMessage: 'Files updated',
36
+ });
37
+ }
38
+ }
39
+ const releaseNotes = ['Reset configuration files to match base Minis template'];
40
+ const exports = {
41
+ version: new SemVer('0.0.42'),
42
+ applyUpgrade,
43
+ releaseNotes,
44
+ };
45
+ export default exports;
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-42/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAExC,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAE7B,OAAO,EAAC,wBAAwB,EAAC,MAAM,kDAAkD,CAAA;AAMzF,OAAO,EAAC,iBAAiB,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAE9D,KAAK,UAAU,YAAY,CACzB,UAAkB,EAClB,OAAmC;IAEnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAEpD,WAAW,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAA;IAEzC,MAAM,IAAI,GAAG,MAAM,wBAAwB,CACzC,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,EACrC;QACE,cAAc,EAAE,oBAAoB;QACpC,cAAc,EAAE,aAAa;KAC9B,CACF,CAAA;IAED,2CAA2C;IAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IAE7C,0DAA0D;IAC1D,IAAI,cAAc,GAAG,IAAI,CAAA;IAEzB,qDAAqD;IACrD,+BAA+B;IAC/B,IAAI,aAAa,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;QACzC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;YACjC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,oDAAoD,IAAI,CAAC,OAAO,CAAC,IAAI,CAC5E,IAAI,CACL,4BAA4B;SAC9B,CAAC,CAAA;QAEF,cAAc,GAAG,YAAY,CAAC,cAAc,CAAA;KAC7C;IAED,gEAAgE;IAChE,IAAI,cAAc,EAAE;QAClB,MAAM,wBAAwB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACjD,cAAc,EAAE,mBAAmB;YACnC,cAAc,EAAE,eAAe;SAChC,CAAC,CAAA;KACH;AACH,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,wDAAwD,CAAC,CAAA;AAE/E,MAAM,OAAO,GAA8B;IACzC,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;IAC7B,YAAY;IACZ,YAAY;CACb,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,7 @@
1
+ export declare function prepareResetFiles(miniHandle: string, tmpDir: string): Promise<{
2
+ added: string[];
3
+ removed: string[];
4
+ changed: string[];
5
+ unchanged: string[];
6
+ }>;
7
+ export declare function resetFiles(tmpDir: string): Promise<void>;
@@ -0,0 +1,83 @@
1
+ import url from 'node:url';
2
+ import { rm } from 'node:fs/promises';
3
+ import path from 'path';
4
+ import { copy, move } from 'fs-extra';
5
+ import glob from 'glob';
6
+ import { outputDebug } from '@shopify/cli-kit/node/output';
7
+ import { replaceStringsInTemplate } from '../../../../utils/replace-strings-in-template.js';
8
+ import { CLI_VERSION } from '../../../config.js';
9
+ import { getFileChecksum } from '../../../../utils/file.js';
10
+ const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
11
+ // Items we expect to find in the mini's root dir that we do not care about
12
+ // for the purposes for upgrading the mini
13
+ const IGNORED_FILES = [
14
+ '.git/**/*',
15
+ '.minis-cache/**/*',
16
+ 'node_modules/**/*',
17
+ 'src/**/*',
18
+ 'yarn.lock',
19
+ 'package-lock.json',
20
+ ];
21
+ function getFiles(dir, ignore = []) {
22
+ return glob('**', {
23
+ ignore,
24
+ cwd: dir,
25
+ nodir: true,
26
+ dot: true,
27
+ });
28
+ }
29
+ async function isDifferent(file1, file2) {
30
+ const file1Checksum = await getFileChecksum(file1);
31
+ const file2Checksum = await getFileChecksum(file2);
32
+ return file1Checksum !== file2Checksum;
33
+ }
34
+ export async function prepareResetFiles(miniHandle, tmpDir) {
35
+ const miniDestinationDir = path.resolve(process.cwd());
36
+ const stringsToReplace = {
37
+ __SHOP_MINIS_CLI_VERSION__: CLI_VERSION,
38
+ __MINI_APP_HANDLE_KEBAB_CASE__: miniHandle,
39
+ };
40
+ // __dirname refers to the linked directory when using `yarn link` so
41
+ // testing this in dev mode is not 100% accurate
42
+ const commonTemplateFilesDir = path.join(__dirname, '../../../../../templates', '__template_common');
43
+ outputDebug(`Copying from ${commonTemplateFilesDir} to ${tmpDir}`);
44
+ await copy(commonTemplateFilesDir, tmpDir);
45
+ await move(path.join(tmpDir, 'gitignore'), path.join(tmpDir, '.gitignore'));
46
+ await rm(path.join(tmpDir, 'src'), { recursive: true });
47
+ await replaceStringsInTemplate(tmpDir, stringsToReplace);
48
+ // We find all files from the the common template
49
+ const tmpDirFiles = await getFiles(tmpDir);
50
+ // We use an ignore list for files in the mini root dir that we expect to exist but we know we don't need to manage
51
+ const miniDestinationDirFiles = await getFiles(miniDestinationDir, IGNORED_FILES);
52
+ const fileSet = new Set([...tmpDirFiles, ...miniDestinationDirFiles]);
53
+ const diff = {
54
+ added: [],
55
+ removed: [],
56
+ changed: [],
57
+ unchanged: [],
58
+ };
59
+ for (const file of fileSet) {
60
+ const tmpDirFileFullPath = path.join(tmpDir, file);
61
+ const miniDestinationDirFileFullPath = path.join(miniDestinationDir, file);
62
+ if (!tmpDirFiles.includes(file)) {
63
+ diff.added.push(file);
64
+ }
65
+ else if (!miniDestinationDirFiles.includes(file)) {
66
+ diff.removed.push(file);
67
+ }
68
+ else if (await isDifferent(tmpDirFileFullPath, miniDestinationDirFileFullPath)) {
69
+ diff.changed.push(file);
70
+ }
71
+ else {
72
+ diff.unchanged.push(file);
73
+ }
74
+ }
75
+ outputDebug(`Copy diff: ${JSON.stringify(diff, null, 2)}`);
76
+ return diff;
77
+ }
78
+ export async function resetFiles(tmpDir) {
79
+ const miniDestinationDir = path.resolve(process.cwd());
80
+ outputDebug(`Copying from ${tmpDir} to ${miniDestinationDir}`);
81
+ await copy(tmpDir, miniDestinationDir);
82
+ }
83
+ //# sourceMappingURL=reset-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-files.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-42/reset-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,32 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ /**
5
+ * - Adds url-parse and @types/url-parse dependencies
6
+ *
7
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.42...v0.0.43
8
+ */
9
+ async function applyUpgrade() {
10
+ const packageJsonPath = path.join(process.cwd(), 'package.json');
11
+ const packageJsonString = fs.readFileSync(packageJsonPath, {
12
+ encoding: 'utf-8',
13
+ });
14
+ const packageJson = JSON.parse(packageJsonString);
15
+ // add url-parse and @types/url-parse dependencies
16
+ packageJson.devDependencies ||= {};
17
+ packageJson.devDependencies['url-parse'] = '^1.5.10';
18
+ packageJson.devDependencies['@types/url-parse'] = '^1.4.8';
19
+ // persist updated package.json
20
+ fs.writeFileSync(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}\n`, // keep the new line at the end of the file
21
+ {
22
+ encoding: 'utf-8',
23
+ });
24
+ }
25
+ const releaseNotes = ['Added dependencies url-parse and @types/url-parse.'];
26
+ const exports = {
27
+ releaseNotes,
28
+ applyUpgrade,
29
+ version: new SemVer('0.0.43'),
30
+ };
31
+ export default exports;
32
+ //# sourceMappingURL=v0-0-43.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-43.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-43.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IAChE,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE;QACzD,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAEjD,kDAAkD;IAClD,WAAW,CAAC,eAAe,KAAK,EAAE,CAAA;IAClC,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;IACpD,WAAW,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAA;IAE1D,+BAA+B;IAC/B,EAAE,CAAC,aAAa,CACd,eAAe,EACf,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,2CAA2C;IACxF;QACE,QAAQ,EAAE,OAAO;KAClB,CACF,CAAA;AACH,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,oDAAoD,CAAC,CAAA;AAE3E,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;CAC9B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;