@shopify/shop-minis-cli 0.0.171 → 0.0.173

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/README_INTERNAL.md +153 -0
  2. package/build/commands/app/index.js +1 -2
  3. package/build/commands/app/index.js.map +1 -1
  4. package/build/commands/cancel-submission/cancel-submission.js +2 -2
  5. package/build/commands/cancel-submission/cancel-submission.js.map +1 -1
  6. package/build/commands/cancel-submission/index.js +1 -1
  7. package/build/commands/cancel-submission/index.js.map +1 -1
  8. package/build/commands/check-submission/index.js +13 -6
  9. package/build/commands/check-submission/index.js.map +1 -1
  10. package/build/commands/codemod/index.js +0 -9
  11. package/build/commands/codemod/index.js.map +1 -1
  12. package/build/commands/codemod/releases/index.js +2 -72
  13. package/build/commands/codemod/releases/index.js.map +1 -1
  14. package/build/commands/config.d.ts +2 -2
  15. package/build/commands/config.js +3 -2
  16. package/build/commands/config.js.map +1 -1
  17. package/build/commands/create/examples/default/.cursorrules +25 -0
  18. package/{templates/__template_common/gitignore → build/commands/create/examples/default/_gitignore} +0 -1
  19. package/build/commands/create/examples/default/index.html +15 -0
  20. package/build/commands/create/examples/default/package.json +18 -0
  21. package/build/commands/create/examples/default/src/App.tsx +25 -0
  22. package/build/commands/create/examples/default/src/icon.png +0 -0
  23. package/build/commands/create/examples/default/src/index.css +1 -0
  24. package/build/commands/create/examples/default/src/main.tsx +14 -0
  25. package/build/commands/create/examples/default/src/manifest.json +6 -0
  26. package/build/commands/{create-mini/standalone/examples/with-getting-started → create/examples/default}/tsconfig.json +6 -14
  27. package/build/commands/create/examples/default/vite.config.mjs +11 -0
  28. package/build/commands/{create-mini/standalone → create}/index.js +6 -26
  29. package/build/commands/create/index.js.map +1 -0
  30. package/build/commands/{create-mini → create}/utils/examples.d.ts +1 -1
  31. package/build/commands/{create-mini → create}/utils/examples.js +13 -9
  32. package/build/commands/create/utils/examples.js.map +1 -0
  33. package/build/commands/create/utils/index.js.map +1 -0
  34. package/build/commands/dev/index.d.ts +0 -11
  35. package/build/commands/dev/index.js +32 -58
  36. package/build/commands/dev/index.js.map +1 -1
  37. package/build/commands/dev/types.d.ts +46 -0
  38. package/build/commands/dev/{utils/types.js → types.js} +5 -0
  39. package/build/commands/dev/types.js.map +1 -0
  40. package/build/commands/dev/utils/binaries.d.ts +1 -1
  41. package/build/commands/dev/utils/build-type.d.ts +1 -1
  42. package/build/commands/dev/utils/build-type.js +1 -1
  43. package/build/commands/dev/utils/build-type.js.map +1 -1
  44. package/build/commands/dev/utils/deeplink.d.ts +3 -15
  45. package/build/commands/dev/utils/deeplink.js +12 -59
  46. package/build/commands/dev/utils/deeplink.js.map +1 -1
  47. package/build/commands/dev/utils/interactive-terminal.d.ts +6 -5
  48. package/build/commands/dev/utils/interactive-terminal.js +25 -65
  49. package/build/commands/dev/utils/interactive-terminal.js.map +1 -1
  50. package/build/commands/dev/utils/network.d.ts +1 -2
  51. package/build/commands/dev/utils/network.js.map +1 -1
  52. package/build/commands/dev/utils/platform.d.ts +1 -4
  53. package/build/commands/dev/utils/platform.js +1 -5
  54. package/build/commands/dev/utils/platform.js.map +1 -1
  55. package/build/commands/dev/utils/start-app/config.d.ts +1 -2
  56. package/build/commands/dev/utils/start-app/config.js +1 -1
  57. package/build/commands/dev/utils/start-app/config.js.map +1 -1
  58. package/build/commands/dev/utils/start-app/start-app-with-options.d.ts +1 -1
  59. package/build/commands/dev/utils/start-app/start-app-with-options.js +5 -3
  60. package/build/commands/dev/utils/start-app/start-app-with-options.js.map +1 -1
  61. package/build/commands/dev/utils/start-app/start-app.d.ts +1 -1
  62. package/build/commands/dev/utils/start-app/start-app.js.map +1 -1
  63. package/build/commands/dev/utils/version.d.ts +1 -2
  64. package/build/commands/dev/utils/version.js +3 -2
  65. package/build/commands/dev/utils/version.js.map +1 -1
  66. package/build/commands/dev/utils/web-server.d.ts +1 -0
  67. package/build/commands/dev/utils/web-server.js +16 -0
  68. package/build/commands/dev/utils/web-server.js.map +1 -0
  69. package/build/commands/doctor/index.js +10 -3
  70. package/build/commands/doctor/index.js.map +1 -1
  71. package/build/commands/features/index.js +2 -2
  72. package/build/commands/features/index.js.map +1 -1
  73. package/build/commands/info/index.js +3 -11
  74. package/build/commands/info/index.js.map +1 -1
  75. package/build/commands/install/index.d.ts +2 -0
  76. package/build/commands/install/index.js +65 -0
  77. package/build/commands/install/index.js.map +1 -0
  78. package/build/commands/setup/index.js +9 -1
  79. package/build/commands/setup/index.js.map +1 -1
  80. package/build/commands/submit/config.js +1 -1
  81. package/build/commands/submit/errors.js +24 -2
  82. package/build/commands/submit/errors.js.map +1 -1
  83. package/build/commands/submit/index.js +18 -2
  84. package/build/commands/submit/index.js.map +1 -1
  85. package/build/commands/submit/submit.d.ts +2 -2
  86. package/build/commands/submit/submit.js +63 -53
  87. package/build/commands/submit/submit.js.map +1 -1
  88. package/build/commands/submit/tasks.d.ts +2 -1
  89. package/build/commands/submit/tasks.js +5 -4
  90. package/build/commands/submit/tasks.js.map +1 -1
  91. package/build/commands/submit/types.d.ts +5 -0
  92. package/build/commands/submit/utils/assert-core-dependencies-version.d.ts +1 -3
  93. package/build/commands/submit/utils/assert-core-dependencies-version.js +6 -85
  94. package/build/commands/submit/utils/assert-core-dependencies-version.js.map +1 -1
  95. package/build/commands/sync-user-metafield-definitions/index.js +7 -5
  96. package/build/commands/sync-user-metafield-definitions/index.js.map +1 -1
  97. package/build/commands/upgrade/index.d.ts +0 -1
  98. package/build/commands/upgrade/index.js +20 -56
  99. package/build/commands/upgrade/index.js.map +1 -1
  100. package/build/constants/dev-panel.d.ts +3 -0
  101. package/build/constants/dev-panel.js +4 -0
  102. package/build/constants/dev-panel.js.map +1 -0
  103. package/build/data/create-submission.d.ts +2 -1
  104. package/build/data/create-submission.js +13 -4
  105. package/build/data/create-submission.js.map +1 -1
  106. package/build/data/get-submissions.d.ts +3 -2
  107. package/build/data/get-submissions.js +3 -1
  108. package/build/data/get-submissions.js.map +1 -1
  109. package/build/data/types/autogenerated/shop-minis-admin-api/gql.d.ts +3 -2
  110. package/build/data/types/autogenerated/shop-minis-admin-api/gql.js +1 -1
  111. package/build/data/types/autogenerated/shop-minis-admin-api/gql.js.map +1 -1
  112. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.d.ts +11 -3
  113. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js +21 -1
  114. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js.map +1 -1
  115. package/build/index.d.ts +1 -1
  116. package/build/index.js +1 -0
  117. package/build/index.js.map +1 -1
  118. package/build/program.js +5 -7
  119. package/build/program.js.map +1 -1
  120. package/build/schemas/manifest.schema.json +9 -210
  121. package/build/utils/allowed-dependencies.d.ts +5 -0
  122. package/build/utils/allowed-dependencies.js +21 -0
  123. package/build/utils/allowed-dependencies.js.map +1 -0
  124. package/build/utils/dependencies.d.ts +7 -0
  125. package/build/utils/dependencies.js +275 -0
  126. package/build/utils/dependencies.js.map +1 -0
  127. package/build/utils/minis-manifest.js +0 -7
  128. package/build/utils/minis-manifest.js.map +1 -1
  129. package/build/utils/package-manager.d.ts +25 -13
  130. package/build/utils/package-manager.js +56 -36
  131. package/build/utils/package-manager.js.map +1 -1
  132. package/package.json +7 -15
  133. package/build/commands/codemod/releases/v0-0-100.d.ts +0 -3
  134. package/build/commands/codemod/releases/v0-0-100.js +0 -50
  135. package/build/commands/codemod/releases/v0-0-100.js.map +0 -1
  136. package/build/commands/codemod/releases/v0-0-103.d.ts +0 -3
  137. package/build/commands/codemod/releases/v0-0-103.js +0 -43
  138. package/build/commands/codemod/releases/v0-0-103.js.map +0 -1
  139. package/build/commands/codemod/releases/v0-0-105.d.ts +0 -3
  140. package/build/commands/codemod/releases/v0-0-105.js +0 -59
  141. package/build/commands/codemod/releases/v0-0-105.js.map +0 -1
  142. package/build/commands/codemod/releases/v0-0-106.d.ts +0 -3
  143. package/build/commands/codemod/releases/v0-0-106.js +0 -32
  144. package/build/commands/codemod/releases/v0-0-106.js.map +0 -1
  145. package/build/commands/codemod/releases/v0-0-114.d.ts +0 -3
  146. package/build/commands/codemod/releases/v0-0-114.js +0 -48
  147. package/build/commands/codemod/releases/v0-0-114.js.map +0 -1
  148. package/build/commands/codemod/releases/v0-0-115.d.ts +0 -3
  149. package/build/commands/codemod/releases/v0-0-115.js +0 -50
  150. package/build/commands/codemod/releases/v0-0-115.js.map +0 -1
  151. package/build/commands/codemod/releases/v0-0-121.d.ts +0 -3
  152. package/build/commands/codemod/releases/v0-0-121.js +0 -74
  153. package/build/commands/codemod/releases/v0-0-121.js.map +0 -1
  154. package/build/commands/codemod/releases/v0-0-123.d.ts +0 -3
  155. package/build/commands/codemod/releases/v0-0-123.js +0 -33
  156. package/build/commands/codemod/releases/v0-0-123.js.map +0 -1
  157. package/build/commands/codemod/releases/v0-0-125.d.ts +0 -3
  158. package/build/commands/codemod/releases/v0-0-125.js +0 -37
  159. package/build/commands/codemod/releases/v0-0-125.js.map +0 -1
  160. package/build/commands/codemod/releases/v0-0-130.d.ts +0 -3
  161. package/build/commands/codemod/releases/v0-0-130.js +0 -26
  162. package/build/commands/codemod/releases/v0-0-130.js.map +0 -1
  163. package/build/commands/codemod/releases/v0-0-139.d.ts +0 -3
  164. package/build/commands/codemod/releases/v0-0-139.js +0 -26
  165. package/build/commands/codemod/releases/v0-0-139.js.map +0 -1
  166. package/build/commands/codemod/releases/v0-0-163.d.ts +0 -3
  167. package/build/commands/codemod/releases/v0-0-163.js +0 -26
  168. package/build/commands/codemod/releases/v0-0-163.js.map +0 -1
  169. package/build/commands/codemod/releases/v0-0-42/index.d.ts +0 -3
  170. package/build/commands/codemod/releases/v0-0-42/index.js +0 -46
  171. package/build/commands/codemod/releases/v0-0-42/index.js.map +0 -1
  172. package/build/commands/codemod/releases/v0-0-42/reset-files.d.ts +0 -7
  173. package/build/commands/codemod/releases/v0-0-42/reset-files.js +0 -83
  174. package/build/commands/codemod/releases/v0-0-42/reset-files.js.map +0 -1
  175. package/build/commands/codemod/releases/v0-0-43.d.ts +0 -3
  176. package/build/commands/codemod/releases/v0-0-43.js +0 -32
  177. package/build/commands/codemod/releases/v0-0-43.js.map +0 -1
  178. package/build/commands/codemod/releases/v0-0-44.d.ts +0 -3
  179. package/build/commands/codemod/releases/v0-0-44.js +0 -214
  180. package/build/commands/codemod/releases/v0-0-44.js.map +0 -1
  181. package/build/commands/codemod/releases/v0-0-45.d.ts +0 -3
  182. package/build/commands/codemod/releases/v0-0-45.js +0 -23
  183. package/build/commands/codemod/releases/v0-0-45.js.map +0 -1
  184. package/build/commands/codemod/releases/v0-0-50.d.ts +0 -3
  185. package/build/commands/codemod/releases/v0-0-50.js +0 -34
  186. package/build/commands/codemod/releases/v0-0-50.js.map +0 -1
  187. package/build/commands/codemod/releases/v0-0-54.d.ts +0 -3
  188. package/build/commands/codemod/releases/v0-0-54.js +0 -70
  189. package/build/commands/codemod/releases/v0-0-54.js.map +0 -1
  190. package/build/commands/codemod/releases/v0-0-56.d.ts +0 -3
  191. package/build/commands/codemod/releases/v0-0-56.js +0 -48
  192. package/build/commands/codemod/releases/v0-0-56.js.map +0 -1
  193. package/build/commands/codemod/releases/v0-0-57.d.ts +0 -3
  194. package/build/commands/codemod/releases/v0-0-57.js +0 -41
  195. package/build/commands/codemod/releases/v0-0-57.js.map +0 -1
  196. package/build/commands/codemod/releases/v0-0-58.d.ts +0 -3
  197. package/build/commands/codemod/releases/v0-0-58.js +0 -68
  198. package/build/commands/codemod/releases/v0-0-58.js.map +0 -1
  199. package/build/commands/codemod/releases/v0-0-61.d.ts +0 -3
  200. package/build/commands/codemod/releases/v0-0-61.js +0 -30
  201. package/build/commands/codemod/releases/v0-0-61.js.map +0 -1
  202. package/build/commands/codemod/releases/v0-0-63.d.ts +0 -3
  203. package/build/commands/codemod/releases/v0-0-63.js +0 -42
  204. package/build/commands/codemod/releases/v0-0-63.js.map +0 -1
  205. package/build/commands/codemod/releases/v0-0-64.d.ts +0 -3
  206. package/build/commands/codemod/releases/v0-0-64.js +0 -47
  207. package/build/commands/codemod/releases/v0-0-64.js.map +0 -1
  208. package/build/commands/codemod/releases/v0-0-75.d.ts +0 -3
  209. package/build/commands/codemod/releases/v0-0-75.js +0 -30
  210. package/build/commands/codemod/releases/v0-0-75.js.map +0 -1
  211. package/build/commands/codemod/releases/v0-0-76.d.ts +0 -3
  212. package/build/commands/codemod/releases/v0-0-76.js +0 -32
  213. package/build/commands/codemod/releases/v0-0-76.js.map +0 -1
  214. package/build/commands/codemod/releases/v0-0-77.d.ts +0 -3
  215. package/build/commands/codemod/releases/v0-0-77.js +0 -39
  216. package/build/commands/codemod/releases/v0-0-77.js.map +0 -1
  217. package/build/commands/codemod/releases/v0-0-79.d.ts +0 -3
  218. package/build/commands/codemod/releases/v0-0-79.js +0 -35
  219. package/build/commands/codemod/releases/v0-0-79.js.map +0 -1
  220. package/build/commands/codemod/releases/v0-0-84.d.ts +0 -3
  221. package/build/commands/codemod/releases/v0-0-84.js +0 -41
  222. package/build/commands/codemod/releases/v0-0-84.js.map +0 -1
  223. package/build/commands/codemod/releases/v0-0-85.d.ts +0 -3
  224. package/build/commands/codemod/releases/v0-0-85.js +0 -60
  225. package/build/commands/codemod/releases/v0-0-85.js.map +0 -1
  226. package/build/commands/codemod/releases/v0-0-89.d.ts +0 -3
  227. package/build/commands/codemod/releases/v0-0-89.js +0 -60
  228. package/build/commands/codemod/releases/v0-0-89.js.map +0 -1
  229. package/build/commands/codemod/releases/v0-0-91/index.d.ts +0 -3
  230. package/build/commands/codemod/releases/v0-0-91/index.js +0 -38
  231. package/build/commands/codemod/releases/v0-0-91/index.js.map +0 -1
  232. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.d.ts +0 -5
  233. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.js +0 -45
  234. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.js.map +0 -1
  235. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.d.ts +0 -1
  236. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.js +0 -97
  237. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.js.map +0 -1
  238. package/build/commands/codemod/releases/v0-0-92.d.ts +0 -3
  239. package/build/commands/codemod/releases/v0-0-92.js +0 -38
  240. package/build/commands/codemod/releases/v0-0-92.js.map +0 -1
  241. package/build/commands/codemod/releases/v0-0-93/blank/App-after.d.ts +0 -1
  242. package/build/commands/codemod/releases/v0-0-93/blank/App-after.js +0 -15
  243. package/build/commands/codemod/releases/v0-0-93/blank/App-after.js.map +0 -1
  244. package/build/commands/codemod/releases/v0-0-93/blank/App-before.d.ts +0 -1
  245. package/build/commands/codemod/releases/v0-0-93/blank/App-before.js +0 -13
  246. package/build/commands/codemod/releases/v0-0-93/blank/App-before.js.map +0 -1
  247. package/build/commands/codemod/releases/v0-0-93/index.d.ts +0 -6
  248. package/build/commands/codemod/releases/v0-0-93/index.js +0 -7
  249. package/build/commands/codemod/releases/v0-0-93/index.js.map +0 -1
  250. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.d.ts +0 -1
  251. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.js +0 -53
  252. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.js.map +0 -1
  253. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.d.ts +0 -1
  254. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.js +0 -43
  255. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.js.map +0 -1
  256. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.d.ts +0 -1
  257. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.js +0 -49
  258. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.js.map +0 -1
  259. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.d.ts +0 -1
  260. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.js +0 -42
  261. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.js.map +0 -1
  262. package/build/commands/codemod/releases/v0-0-93.d.ts +0 -3
  263. package/build/commands/codemod/releases/v0-0-93.js +0 -48
  264. package/build/commands/codemod/releases/v0-0-93.js.map +0 -1
  265. package/build/commands/codemod/releases/v0-0-97/index.d.ts +0 -3
  266. package/build/commands/codemod/releases/v0-0-97/index.js +0 -20
  267. package/build/commands/codemod/releases/v0-0-97/index.js.map +0 -1
  268. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.d.ts +0 -1
  269. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.js +0 -47
  270. package/build/commands/codemod/releases/v0-0-97/migrate-to-new-theme.js.map +0 -1
  271. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.d.ts +0 -1
  272. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.js +0 -105
  273. package/build/commands/codemod/releases/v0-0-97/remove-theme-from-config.js.map +0 -1
  274. package/build/commands/create-extension/constants.d.ts +0 -44
  275. package/build/commands/create-extension/constants.js +0 -111
  276. package/build/commands/create-extension/constants.js.map +0 -1
  277. package/build/commands/create-extension/index.js +0 -71
  278. package/build/commands/create-extension/index.js.map +0 -1
  279. package/build/commands/create-extension/types.d.ts +0 -13
  280. package/build/commands/create-extension/types.js +0 -8
  281. package/build/commands/create-extension/types.js.map +0 -1
  282. package/build/commands/create-extension/utils/add-target-to-config.d.ts +0 -2
  283. package/build/commands/create-extension/utils/add-target-to-config.js +0 -48
  284. package/build/commands/create-extension/utils/add-target-to-config.js.map +0 -1
  285. package/build/commands/create-extension/utils/create-extension-files.d.ts +0 -11
  286. package/build/commands/create-extension/utils/create-extension-files.js +0 -96
  287. package/build/commands/create-extension/utils/create-extension-files.js.map +0 -1
  288. package/build/commands/create-extension/utils/create-from-template.d.ts +0 -3
  289. package/build/commands/create-extension/utils/create-from-template.js +0 -47
  290. package/build/commands/create-extension/utils/create-from-template.js.map +0 -1
  291. package/build/commands/create-extension/utils/format-extension-files.d.ts +0 -1
  292. package/build/commands/create-extension/utils/format-extension-files.js +0 -22
  293. package/build/commands/create-extension/utils/format-extension-files.js.map +0 -1
  294. package/build/commands/create-mini/index.d.ts +0 -2
  295. package/build/commands/create-mini/index.js +0 -11
  296. package/build/commands/create-mini/index.js.map +0 -1
  297. package/build/commands/create-mini/legacy/index.d.ts +0 -2
  298. package/build/commands/create-mini/legacy/index.js +0 -176
  299. package/build/commands/create-mini/legacy/index.js.map +0 -1
  300. package/build/commands/create-mini/legacy/utils/template-app.d.ts +0 -2
  301. package/build/commands/create-mini/legacy/utils/template-app.js +0 -84
  302. package/build/commands/create-mini/legacy/utils/template-app.js.map +0 -1
  303. package/build/commands/create-mini/standalone/examples/with-camera-access/.eslintignore +0 -1
  304. package/build/commands/create-mini/standalone/examples/with-camera-access/.eslintrc.js +0 -3
  305. package/build/commands/create-mini/standalone/examples/with-camera-access/.graphqlrc.js +0 -1
  306. package/build/commands/create-mini/standalone/examples/with-camera-access/.prettierrc.json +0 -8
  307. package/build/commands/create-mini/standalone/examples/with-camera-access/README.md +0 -30
  308. package/build/commands/create-mini/standalone/examples/with-camera-access/assets.d.ts +0 -14
  309. package/build/commands/create-mini/standalone/examples/with-camera-access/babel.config.js +0 -5
  310. package/build/commands/create-mini/standalone/examples/with-camera-access/index.tsx +0 -5
  311. package/build/commands/create-mini/standalone/examples/with-camera-access/metro.config.js +0 -3
  312. package/build/commands/create-mini/standalone/examples/with-camera-access/package.json +0 -33
  313. package/build/commands/create-mini/standalone/examples/with-camera-access/src/App.tsx +0 -152
  314. package/build/commands/create-mini/standalone/examples/with-camera-access/src/index.tsx +0 -9
  315. package/build/commands/create-mini/standalone/examples/with-camera-access/src/manifest.json +0 -5
  316. package/build/commands/create-mini/standalone/examples/with-camera-access/tsconfig.json +0 -41
  317. package/build/commands/create-mini/standalone/examples/with-fal-ai/.eslintignore +0 -1
  318. package/build/commands/create-mini/standalone/examples/with-fal-ai/.eslintrc.js +0 -3
  319. package/build/commands/create-mini/standalone/examples/with-fal-ai/.graphqlrc.js +0 -1
  320. package/build/commands/create-mini/standalone/examples/with-fal-ai/.prettierrc.json +0 -8
  321. package/build/commands/create-mini/standalone/examples/with-fal-ai/README.md +0 -46
  322. package/build/commands/create-mini/standalone/examples/with-fal-ai/assets.d.ts +0 -14
  323. package/build/commands/create-mini/standalone/examples/with-fal-ai/babel.config.js +0 -5
  324. package/build/commands/create-mini/standalone/examples/with-fal-ai/index.tsx +0 -5
  325. package/build/commands/create-mini/standalone/examples/with-fal-ai/metro.config.js +0 -3
  326. package/build/commands/create-mini/standalone/examples/with-fal-ai/package.json +0 -33
  327. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/App.tsx +0 -5
  328. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/index.tsx +0 -9
  329. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/manifest.json +0 -21
  330. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/screens/HomeScreen.tsx +0 -142
  331. package/build/commands/create-mini/standalone/examples/with-fal-ai/tsconfig.json +0 -41
  332. package/build/commands/create-mini/standalone/examples/with-getting-started/.eslintignore +0 -1
  333. package/build/commands/create-mini/standalone/examples/with-getting-started/.eslintrc.js +0 -3
  334. package/build/commands/create-mini/standalone/examples/with-getting-started/.graphqlrc.js +0 -1
  335. package/build/commands/create-mini/standalone/examples/with-getting-started/.prettierrc.json +0 -8
  336. package/build/commands/create-mini/standalone/examples/with-getting-started/README.md +0 -18
  337. package/build/commands/create-mini/standalone/examples/with-getting-started/assets.d.ts +0 -14
  338. package/build/commands/create-mini/standalone/examples/with-getting-started/babel.config.js +0 -5
  339. package/build/commands/create-mini/standalone/examples/with-getting-started/index.tsx +0 -5
  340. package/build/commands/create-mini/standalone/examples/with-getting-started/metro.config.js +0 -3
  341. package/build/commands/create-mini/standalone/examples/with-getting-started/package.json +0 -33
  342. package/build/commands/create-mini/standalone/examples/with-getting-started/src/App.tsx +0 -23
  343. package/build/commands/create-mini/standalone/examples/with-getting-started/src/index.tsx +0 -9
  344. package/build/commands/create-mini/standalone/examples/with-getting-started/src/manifest.json +0 -5
  345. package/build/commands/create-mini/standalone/examples/with-getting-started/src/screens/HomeScreen.tsx +0 -133
  346. package/build/commands/create-mini/standalone/examples/with-getting-started/src/screens/NativeFeaturesScreen.tsx +0 -138
  347. package/build/commands/create-mini/standalone/examples/with-getting-started/src/types/screens.ts +0 -5
  348. package/build/commands/create-mini/standalone/examples/with-search/.eslintignore +0 -1
  349. package/build/commands/create-mini/standalone/examples/with-search/.eslintrc.js +0 -3
  350. package/build/commands/create-mini/standalone/examples/with-search/.graphqlrc.js +0 -1
  351. package/build/commands/create-mini/standalone/examples/with-search/.prettierrc.json +0 -8
  352. package/build/commands/create-mini/standalone/examples/with-search/README.md +0 -25
  353. package/build/commands/create-mini/standalone/examples/with-search/assets.d.ts +0 -14
  354. package/build/commands/create-mini/standalone/examples/with-search/babel.config.js +0 -5
  355. package/build/commands/create-mini/standalone/examples/with-search/index.tsx +0 -5
  356. package/build/commands/create-mini/standalone/examples/with-search/metro.config.js +0 -3
  357. package/build/commands/create-mini/standalone/examples/with-search/package.json +0 -33
  358. package/build/commands/create-mini/standalone/examples/with-search/src/App.tsx +0 -23
  359. package/build/commands/create-mini/standalone/examples/with-search/src/components/HeaderAction.tsx +0 -32
  360. package/build/commands/create-mini/standalone/examples/with-search/src/components/ShopCard.tsx +0 -92
  361. package/build/commands/create-mini/standalone/examples/with-search/src/index.tsx +0 -9
  362. package/build/commands/create-mini/standalone/examples/with-search/src/manifest.json +0 -7
  363. package/build/commands/create-mini/standalone/examples/with-search/src/screens/MerchantSearchScreen.tsx +0 -126
  364. package/build/commands/create-mini/standalone/examples/with-search/src/screens/ProductSearchScreen.tsx +0 -115
  365. package/build/commands/create-mini/standalone/examples/with-search/src/types/screens.ts +0 -6
  366. package/build/commands/create-mini/standalone/examples/with-search/tsconfig.json +0 -41
  367. package/build/commands/create-mini/standalone/examples/with-user-data/.eslintignore +0 -1
  368. package/build/commands/create-mini/standalone/examples/with-user-data/.eslintrc.js +0 -3
  369. package/build/commands/create-mini/standalone/examples/with-user-data/.graphqlrc.js +0 -1
  370. package/build/commands/create-mini/standalone/examples/with-user-data/.prettierrc.json +0 -8
  371. package/build/commands/create-mini/standalone/examples/with-user-data/README.md +0 -26
  372. package/build/commands/create-mini/standalone/examples/with-user-data/assets.d.ts +0 -14
  373. package/build/commands/create-mini/standalone/examples/with-user-data/babel.config.js +0 -5
  374. package/build/commands/create-mini/standalone/examples/with-user-data/index.tsx +0 -5
  375. package/build/commands/create-mini/standalone/examples/with-user-data/metro.config.js +0 -3
  376. package/build/commands/create-mini/standalone/examples/with-user-data/package.json +0 -33
  377. package/build/commands/create-mini/standalone/examples/with-user-data/src/App.tsx +0 -5
  378. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/ProductSection.tsx +0 -39
  379. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/SectionStyles.ts +0 -9
  380. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/ShopCard.tsx +0 -42
  381. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/ShopSection.tsx +0 -40
  382. package/build/commands/create-mini/standalone/examples/with-user-data/src/index.tsx +0 -9
  383. package/build/commands/create-mini/standalone/examples/with-user-data/src/manifest.json +0 -10
  384. package/build/commands/create-mini/standalone/examples/with-user-data/src/screens/HomeScreen.tsx +0 -67
  385. package/build/commands/create-mini/standalone/examples/with-user-data/tsconfig.json +0 -41
  386. package/build/commands/create-mini/standalone/index.d.ts +0 -2
  387. package/build/commands/create-mini/standalone/index.js.map +0 -1
  388. package/build/commands/create-mini/utils/examples.js.map +0 -1
  389. package/build/commands/create-mini/utils/index.js.map +0 -1
  390. package/build/commands/dev/utils/app-screens.d.ts +0 -9
  391. package/build/commands/dev/utils/app-screens.js +0 -170
  392. package/build/commands/dev/utils/app-screens.js.map +0 -1
  393. package/build/commands/dev/utils/metro/metro-config.d.ts +0 -2
  394. package/build/commands/dev/utils/metro/metro-config.js +0 -29
  395. package/build/commands/dev/utils/metro/metro-config.js.map +0 -1
  396. package/build/commands/dev/utils/metro/metro-minis-module-resolver.d.ts +0 -6
  397. package/build/commands/dev/utils/metro/metro-minis-module-resolver.js +0 -11
  398. package/build/commands/dev/utils/metro/metro-minis-module-resolver.js.map +0 -1
  399. package/build/commands/dev/utils/metro/metro-reporter.d.ts +0 -21
  400. package/build/commands/dev/utils/metro/metro-reporter.js +0 -46
  401. package/build/commands/dev/utils/metro/metro-reporter.js.map +0 -1
  402. package/build/commands/dev/utils/metro/metro-server-middleware.d.ts +0 -10
  403. package/build/commands/dev/utils/metro/metro-server-middleware.js +0 -74
  404. package/build/commands/dev/utils/metro/metro-server-middleware.js.map +0 -1
  405. package/build/commands/dev/utils/metro/metro-server.d.ts +0 -6
  406. package/build/commands/dev/utils/metro/metro-server.js +0 -26
  407. package/build/commands/dev/utils/metro/metro-server.js.map +0 -1
  408. package/build/commands/dev/utils/start-app/types.d.ts +0 -14
  409. package/build/commands/dev/utils/start-app/types.js +0 -2
  410. package/build/commands/dev/utils/start-app/types.js.map +0 -1
  411. package/build/commands/dev/utils/types.d.ts +0 -24
  412. package/build/commands/dev/utils/types.js.map +0 -1
  413. package/build/commands/doctor/utils/diagnose-dependencies.d.ts +0 -8
  414. package/build/commands/doctor/utils/diagnose-dependencies.js +0 -190
  415. package/build/commands/doctor/utils/diagnose-dependencies.js.map +0 -1
  416. package/build/commands/generate-graphql-types/index.d.ts +0 -6
  417. package/build/commands/generate-graphql-types/index.js +0 -36
  418. package/build/commands/generate-graphql-types/index.js.map +0 -1
  419. package/build/commands/generate-graphql-types/utils/generate-graphql-types.d.ts +0 -2
  420. package/build/commands/generate-graphql-types/utils/generate-graphql-types.js +0 -67
  421. package/build/commands/generate-graphql-types/utils/generate-graphql-types.js.map +0 -1
  422. package/build/commands/generate-graphql-types/utils/get-graphql-config.d.ts +0 -1
  423. package/build/commands/generate-graphql-types/utils/get-graphql-config.js +0 -39
  424. package/build/commands/generate-graphql-types/utils/get-graphql-config.js.map +0 -1
  425. package/build/commands/generate-graphql-types/utils/get-graphql-config.spec.d.ts +0 -1
  426. package/build/commands/generate-graphql-types/utils/get-graphql-config.spec.js +0 -62
  427. package/build/commands/generate-graphql-types/utils/get-graphql-config.spec.js.map +0 -1
  428. package/build/commands/generate-graphql-types/utils/require.d.ts +0 -2
  429. package/build/commands/generate-graphql-types/utils/require.js +0 -3
  430. package/build/commands/generate-graphql-types/utils/require.js.map +0 -1
  431. package/build/commands/submit/utils/request-entry-point-params.d.ts +0 -1
  432. package/build/commands/submit/utils/request-entry-point-params.js +0 -43
  433. package/build/commands/submit/utils/request-entry-point-params.js.map +0 -1
  434. package/build/commands/upgrade/utils/clear-metro-cache.d.ts +0 -1
  435. package/build/commands/upgrade/utils/clear-metro-cache.js +0 -12
  436. package/build/commands/upgrade/utils/clear-metro-cache.js.map +0 -1
  437. package/build/commands/upgrade/utils/cli.d.ts +0 -1
  438. package/build/commands/upgrade/utils/cli.js +0 -15
  439. package/build/commands/upgrade/utils/cli.js.map +0 -1
  440. package/build/constants/extensions.d.ts +0 -21
  441. package/build/constants/extensions.js +0 -25
  442. package/build/constants/extensions.js.map +0 -1
  443. package/build/constants/templates.d.ts +0 -7
  444. package/build/constants/templates.js +0 -8
  445. package/build/constants/templates.js.map +0 -1
  446. package/build/templates-index.d.ts +0 -6
  447. package/build/templates-index.js +0 -24
  448. package/build/templates-index.js.map +0 -1
  449. package/build/utils/development-params.d.ts +0 -13
  450. package/build/utils/development-params.js +0 -44
  451. package/build/utils/development-params.js.map +0 -1
  452. package/build/utils/extensions.d.ts +0 -13
  453. package/build/utils/extensions.js +0 -87
  454. package/build/utils/extensions.js.map +0 -1
  455. package/build/utils/patch-package.d.ts +0 -5
  456. package/build/utils/patch-package.js +0 -79
  457. package/build/utils/patch-package.js.map +0 -1
  458. package/build/utils/semver.d.ts +0 -1
  459. package/build/utils/semver.js +0 -19
  460. package/build/utils/semver.js.map +0 -1
  461. package/build/utils/standalone.d.ts +0 -2
  462. package/build/utils/standalone.js +0 -15
  463. package/build/utils/standalone.js.map +0 -1
  464. package/scripts/test-create-mini-legacy.ts +0 -63
  465. package/scripts/test-create-mini-standalone.ts +0 -80
  466. package/shipit.snapshot.yml +0 -9
  467. package/templates/__template_blank/src/App.tsx +0 -24
  468. package/templates/__template_blank/src/index.tsx +0 -9
  469. package/templates/__template_common/.eslintignore +0 -1
  470. package/templates/__template_common/.eslintrc.js +0 -3
  471. package/templates/__template_common/.graphqlrc.js +0 -1
  472. package/templates/__template_common/.prettierrc.json +0 -8
  473. package/templates/__template_common/assets.d.ts +0 -14
  474. package/templates/__template_common/babel.config.js +0 -5
  475. package/templates/__template_common/index.tsx +0 -5
  476. package/templates/__template_common/metro.config.js +0 -5
  477. package/templates/__template_common/package.json +0 -35
  478. package/templates/__template_common/src/manifest.json +0 -6
  479. package/templates/__template_common/tsconfig.json +0 -41
  480. package/templates/__template_getting_started/src/App.tsx +0 -23
  481. package/templates/__template_getting_started/src/index.tsx +0 -9
  482. package/templates/__template_getting_started/src/manifest.json +0 -7
  483. package/templates/__template_getting_started/src/screens/HomeScreen.tsx +0 -131
  484. package/templates/__template_getting_started/src/screens/NativeFeaturesScreen.tsx +0 -137
  485. package/templates/__template_getting_started/src/types/screens.ts +0 -5
  486. package/templates/__template_shoppable_posts/src/App.tsx +0 -42
  487. package/templates/__template_shoppable_posts/src/index.tsx +0 -9
  488. package/templates/__template_shoppable_videos/src/App.tsx +0 -39
  489. package/templates/__template_shoppable_videos/src/index.tsx +0 -9
  490. package/templates/extensions/components/__template_blank/render.tsx +0 -18
  491. package/templates/extensions/components/__template_bundle-collection/render.tsx +0 -31
  492. package/templates/extensions/components/__template_bundle-collection/seed.ts +0 -26
  493. package/templates/extensions/components/__template_bundle-selector/render.tsx +0 -51
  494. package/templates/extensions/components/__template_bundle-selector/seed.ts +0 -72
  495. package/templates/extensions/components/__template_default-card/render.tsx +0 -24
  496. package/templates/extensions/components/__template_default-card/seed.ts +0 -10
  497. package/templates/extensions/components/__template_image-collection/render.tsx +0 -17
  498. package/templates/extensions/components/__template_image-collection/seed.ts +0 -70
  499. package/templates/extensions/components/__template_link/render.tsx +0 -17
  500. package/templates/extensions/components/__template_link/seed.ts +0 -5
  501. package/templates/extensions/components/__template_product-offer-card/render.tsx +0 -17
  502. package/templates/extensions/components/__template_product-offer-card/seed.ts +0 -44
  503. package/templates/extensions/components/__template_survey-single-response/render.tsx +0 -26
  504. package/templates/extensions/components/__template_survey-single-response/seed.ts +0 -22
  505. package/templates/extensions/components/__template_video-collection/render.tsx +0 -17
  506. package/templates/extensions/components/__template_video-collection/seed.ts +0 -37
  507. package/templates/extensions/queries/__template_order-confirmation-page/input.graphql +0 -5
  508. package/templates/extensions/queries/__template_order-confirmation-page/input.graphql.d.ts +0 -24
  509. package/templates/extensions/queries/__template_order-management-page/input.graphql +0 -5
  510. package/templates/extensions/queries/__template_order-management-page/input.graphql.d.ts +0 -24
  511. package/templates/extensions/queries/__template_product-page/input.graphql +0 -9
  512. package/templates/extensions/queries/__template_product-page/input.graphql.d.ts +0 -36
  513. package/templates/extensions/queries/__template_store-page/input.graphql +0 -5
  514. package/templates/extensions/queries/__template_store-page/input.graphql.d.ts +0 -24
  515. /package/build/commands/{create-extension → create}/index.d.ts +0 -0
  516. /package/build/commands/{create-mini → create}/utils/index.d.ts +0 -0
  517. /package/build/commands/{create-mini → create}/utils/index.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AAExC,WAAW,EAAE;KACV,IAAI,CAAC,OAAO,CAAC,EAAE;IACd,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,sFAAsF;QACtF,OAAO,CAAC,IAAI,EAAE,CAAA;KACf;IACD,OAAO,CAAC,KAAK,EAAE,CAAA;AACjB,CAAC,CAAC;KACD,KAAK,CAAC,GAAG,CAAC,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AAExC,WAAW,EAAE;KACV,IAAI,CAAC,OAAO,CAAC,EAAE;IACd,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,sFAAsF;QACtF,OAAO,CAAC,IAAI,EAAE,CAAA;KACf;IACD,OAAO,CAAC,KAAK,EAAE,CAAA;AACjB,CAAC,CAAC;KACD,KAAK,CAAC,GAAG,CAAC,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA;AAEJ,cAAc,iCAAiC,CAAA"}
package/build/program.js CHANGED
@@ -2,13 +2,11 @@ import { Command } from 'commander';
2
2
  import { loadCommand as loadCancelSubmissionCommand } from './commands/cancel-submission/index.js';
3
3
  import { loadCommand as loadCheckSubmissionCommand } from './commands/check-submission/index.js';
4
4
  import { loadCommand as loadCodemodCommand } from './commands/codemod/index.js';
5
- import { CLI_VERSION } from './commands/config.js';
6
- import { loadCommand as loadCreateExtensionCommand } from './commands/create-extension/index.js';
7
- import { loadCommand as loadCreateMiniCommand } from './commands/create-mini/index.js';
5
+ import { CURRENT_CLI_VERSION } from './commands/config.js';
6
+ import { loadCommand as loadCreateMiniCommand } from './commands/create/index.js';
8
7
  import { loadCommand as loadDevCommand } from './commands/dev/index.js';
9
8
  import { command as doctorCommand } from './commands/doctor/index.js';
10
9
  import { command as featuresCommand } from './commands/features/index.js';
11
- import { loadCommand as loadGenerateGraphqlTypesCommand } from './commands/generate-graphql-types/index.js';
12
10
  import { loadCommand as loadInfoCommand } from './commands/info/index.js';
13
11
  import { loadCommand as loadSetupCommand } from './commands/setup/index.js';
14
12
  import { loadCommand as loadSubmitCommand } from './commands/submit/index.js';
@@ -19,15 +17,15 @@ import { loadCommand as loadAppCommand } from './commands/app/index.js';
19
17
  import { loadCommand as loadSecretsCommand } from './commands/secrets/index.js';
20
18
  import { loadCommand as loadProxiesCommand } from './commands/proxies/index.js';
21
19
  import { loadCommand as loadReportsCommand } from './commands/reports/index.js';
20
+ import { command as installCommand } from './commands/install/index.js';
22
21
  export async function loadProgram() {
23
22
  const program = new Command();
24
23
  program
25
24
  .name('shop-minis')
26
25
  .description('CLI for Shop Minis development')
27
- .version(CLI_VERSION);
26
+ .version(CURRENT_CLI_VERSION);
28
27
  loadCreateMiniCommand(program);
29
28
  await loadDevCommand(program);
30
- loadGenerateGraphqlTypesCommand(program);
31
29
  loadSubmitCommand(program);
32
30
  loadCancelSubmissionCommand(program);
33
31
  loadCheckSubmissionCommand(program);
@@ -36,7 +34,6 @@ export async function loadProgram() {
36
34
  loadCodemodCommand(program);
37
35
  loadInfoCommand(program);
38
36
  loadSetupCommand(program);
39
- loadCreateExtensionCommand(program);
40
37
  loadAppCommand(program);
41
38
  loadSyncUserMetafiledDefinitionsCommand(program);
42
39
  loadSecretsCommand(program);
@@ -44,6 +41,7 @@ export async function loadProgram() {
44
41
  loadReportsCommand(program);
45
42
  program.addCommand(doctorCommand);
46
43
  program.addCommand(featuresCommand);
44
+ program.addCommand(installCommand);
47
45
  return program;
48
46
  }
49
47
  //# sourceMappingURL=program.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAC,WAAW,IAAI,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AAChG,OAAO,EAAC,WAAW,IAAI,0BAA0B,EAAC,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAC,WAAW,IAAI,0BAA0B,EAAC,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAC,WAAW,IAAI,qBAAqB,EAAC,MAAM,iCAAiC,CAAA;AACpF,OAAO,EAAC,WAAW,IAAI,cAAc,EAAC,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAC,WAAW,IAAI,+BAA+B,EAAC,MAAM,4CAA4C,CAAA;AACzG,OAAO,EAAC,WAAW,IAAI,eAAe,EAAC,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAC,WAAW,IAAI,gBAAgB,EAAC,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AAChG,OAAO,EAAC,WAAW,IAAI,uCAAuC,EAAC,MAAM,qDAAqD,CAAA;AAC1H,OAAO,EAAC,WAAW,IAAI,cAAc,EAAC,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAE7E,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,OAAO;SACJ,IAAI,CAAC,YAAY,CAAC;SAClB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,OAAO,CAAC,WAAW,CAAC,CAAA;IAEvB,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;IAC7B,+BAA+B,CAAC,OAAO,CAAC,CAAA;IACxC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC1B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,0BAA0B,CAAC,OAAO,CAAC,CAAA;IACnC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,eAAe,CAAC,OAAO,CAAC,CAAA;IACxB,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACzB,0BAA0B,CAAC,OAAO,CAAC,CAAA;IACnC,cAAc,CAAC,OAAO,CAAC,CAAA;IACvB,uCAAuC,CAAC,OAAO,CAAC,CAAA;IAChD,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAE3B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACjC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;IAEnC,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAC,WAAW,IAAI,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AAChG,OAAO,EAAC,WAAW,IAAI,0BAA0B,EAAC,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAC,WAAW,IAAI,qBAAqB,EAAC,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAC,WAAW,IAAI,cAAc,EAAC,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAC,WAAW,IAAI,eAAe,EAAC,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAC,WAAW,IAAI,gBAAgB,EAAC,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AAChG,OAAO,EAAC,WAAW,IAAI,uCAAuC,EAAC,MAAM,qDAAqD,CAAA;AAC1H,OAAO,EAAC,WAAW,IAAI,cAAc,EAAC,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,6BAA6B,CAAA;AAErE,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,OAAO;SACJ,IAAI,CAAC,YAAY,CAAC;SAClB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAE/B,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;IAC7B,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC1B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,0BAA0B,CAAC,OAAO,CAAC,CAAA;IACnC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,eAAe,CAAC,OAAO,CAAC,CAAA;IACxB,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACzB,cAAc,CAAC,OAAO,CAAC,CAAA;IACvB,uCAAuC,CAAC,OAAO,CAAC,CAAA;IAChD,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAE3B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACjC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;IACnC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IAElC,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -18,134 +18,6 @@
18
18
  "type": "string",
19
19
  "description": "The description of the Mini"
20
20
  },
21
- "activation_subpath": {
22
- "type": "string",
23
- "description": "A route on your Mini's Shopify app that will be used to activate (enable entry points) your Mini for the first time. This route path will be appended to the end of the admin URL of the Shopify app. For example, the value 'activate' will correspond to the URL https://admin.shopify.com/store/example-store/apps/my-handle/activate",
24
- "pattern": "^(?:[a-z0-9~-]+/)*[a-z0-9~-]+$"
25
- },
26
- "notification_topics": {
27
- "type": "array",
28
- "description": "Specifies the reason for communication and the scope for messages. An example of a topic could be live streaming related notifications related to a merchant",
29
- "items": {
30
- "type": "object",
31
- "required": ["handle", "description", "scope"],
32
- "properties": {
33
- "handle": {
34
- "type": "string",
35
- "description": "Text identifier of the topic"
36
- },
37
- "description": {
38
- "type": "string",
39
- "description": "Reason for the communication using the topic"
40
- },
41
- "scope": {
42
- "type": "string",
43
- "description": "The scope in which messages are processed for the topic. SHOP means each message will be processed in the scope of a specific merchant, PRODUCT means each message will be processed in the scope of a specific product",
44
- "enum": ["SHOP", "PRODUCT"]
45
- }
46
- }
47
- }
48
- },
49
- "notification_templates": {
50
- "type": "array",
51
- "description": "Specify the message which will be sent to subscribers when notification is triggered by the mutation",
52
- "items": {
53
- "type": "object",
54
- "required": [
55
- "handle",
56
- "topic_handle",
57
- "title",
58
- "body",
59
- "cooldown_minutes"
60
- ],
61
- "properties": {
62
- "handle": {
63
- "type": "string",
64
- "description": "Text identifier of the template"
65
- },
66
- "topic_handle": {
67
- "type": "string",
68
- "description": "Reference to a notification topic"
69
- },
70
- "title": {
71
- "type": "string",
72
- "description": "Template of notification title, supports interpolation using the Liquid template language"
73
- },
74
- "body": {
75
- "type": "string",
76
- "description": "Template of notification body, supports interpolation using the Liquid template language"
77
- },
78
- "cooldown_minutes": {
79
- "type": "number",
80
- "description": "How often the template allowes to send the exact same message to the same user, in minutes"
81
- }
82
- }
83
- }
84
- },
85
- "entry_points": {
86
- "type": "array",
87
- "description": "A list of entry points that the Mini supports",
88
- "items": {
89
- "type": "object",
90
- "properties": {
91
- "location": {
92
- "type": "string",
93
- "enum": [
94
- "PRODUCT_PAGE",
95
- "STORE_PAGE",
96
- "PRODUCT_PAGE_CONTEXT_MENU",
97
- "STORE_PAGE_CONTEXT_MENU",
98
- "ORDER_CONFIRMATION_PAGE",
99
- "ORDER_MANAGEMENT_PAGE",
100
- "HOME_FEED"
101
- ]
102
- },
103
- "type": {
104
- "type": "string",
105
- "enum": [
106
- "LINK",
107
- "DEFAULT_CARD",
108
- "IMAGE_COLLECTION",
109
- "VIDEO_COLLECTION",
110
- "EVENT_CARD_V2",
111
- "PRODUCT_OFFER_CARD",
112
- "IMAGE_COLLECTION_V2",
113
- "VIDEO_COLLECTION_V2"
114
- ]
115
- }
116
- },
117
- "allOf": [
118
- {
119
- "if": {"properties": {"type": {"const": "LINK"}}},
120
- "then": {"required": ["location"]}
121
- },
122
- {
123
- "if": {"properties": {"type": {"const": "DEFAULT_CARD"}}},
124
- "then": {"required": ["location"]}
125
- },
126
- {
127
- "if": {"properties": {"type": {"const": "IMAGE_COLLECTION"}}},
128
- "then": {"required": ["location"]}
129
- },
130
- {
131
- "if": {"properties": {"type": {"const": "IMAGE_COLLECTION_V2"}}},
132
- "then": {"required": ["location"]}
133
- },
134
- {
135
- "if": {"properties": {"type": {"const": "VIDEO_COLLECTION"}}},
136
- "then": {"required": ["location"]}
137
- },
138
- {
139
- "if": {"properties": {"type": {"const": "VIDEO_COLLECTION_V2"}}},
140
- "then": {"required": ["location"]}
141
- },
142
- {
143
- "if": {"properties": {"type": {"const": "EVENT_CARD_V2"}}},
144
- "then": {"required": ["location"]}
145
- }
146
- ]
147
- }
148
- },
149
21
  "trusted_domains": {
150
22
  "type": "array",
151
23
  "description": "A list of domains that the minis uses to make requests and fetch information. Requests to domains that are not in this list will fail in production.",
@@ -154,15 +26,6 @@
154
26
  "type": "string"
155
27
  }
156
28
  },
157
- "features": {
158
- "type": "array",
159
- "description": "A list of optional features that your Mini has enabled",
160
- "uniqueItems": true,
161
- "items": {
162
- "type": "string",
163
- "enum": ["FULL_BLEED_VIEWER", "STANDALONE"]
164
- }
165
- },
166
29
  "permissions": {
167
30
  "type": "array",
168
31
  "description": "A list of optional permissions that your Mini requires",
@@ -172,80 +35,16 @@
172
35
  "enum": ["CAMERA", "GALLERY", "MICROPHONE"]
173
36
  }
174
37
  },
175
- "user_metafield_definitions": {
176
- "type": "array",
177
- "description": "A list user metafield definitions",
178
- "uniqueItems": true,
179
- "items": {
180
- "type": "object",
181
- "required": ["name", "description", "type", "key"],
182
- "properties": {
183
- "name": {
184
- "type": "string"
185
- },
186
- "description": {
187
- "type": "string"
188
- },
189
- "type": {
190
- "type": "string",
191
- "enum": ["single_line_text_field"]
192
- },
193
- "key": {
194
- "type": "string"
195
- }
196
- }
197
- }
38
+ "privacy_policy_url": {
39
+ "type": "string",
40
+ "description": "A URL to the Privacy Policy for this Mini.",
41
+ "pattern": "^https?://.*"
198
42
  },
199
- "proxies": {
200
- "type": "array",
201
- "description": "A list of urls to proxy requests to. This enables secure secrets management and rate limiting.",
202
- "uniqueItems": true,
203
- "items": {
204
- "type": "object",
205
- "properties": {
206
- "target_url_pattern": {
207
- "type": "string",
208
- "description": "The pattern to match URLs against for this proxy",
209
- "examples": ["https://api.example.com/foo/*"],
210
- "pattern": "^https?://.*"
211
- },
212
- "allowed_methods": {
213
- "type": "array",
214
- "description": "Only these methods will be proxied",
215
- "items": {
216
- "type": "string",
217
- "enum": ["GET", "POST", "PUT", "DELETE", "PATCH"]
218
- }
219
- },
220
- "appended_headers": {
221
- "type": "array",
222
- "description": "Headers to append to the proxied request. These can include interpolated secrets.",
223
- "items": {
224
- "type": "string"
225
- },
226
- "examples": [
227
- "Content-Type: application/json",
228
- "Authorization: Bearer {{ secrets.my_api_key }}"
229
- ]
230
- },
231
- "user_rate_limit_requests": {
232
- "type": "number",
233
- "description": "User rate limiting based on number of requests per interval"
234
- },
235
- "user_rate_limit_interval": {
236
- "type": "number",
237
- "description": "User rate limiting interval in seconds"
238
- },
239
- "body_json_schema": {
240
- "type": "object",
241
- "description": "The JSON schema for the body of the proxied request"
242
- }
243
- },
244
- "required": ["target_url_pattern"],
245
- "unevaluatedProperties": false,
246
- "additionalProperties": false
247
- }
43
+ "terms_url": {
44
+ "type": "string",
45
+ "description": "A URL to the Terms of Service for this Mini.",
46
+ "pattern": "^https?://.*"
248
47
  }
249
48
  },
250
- "required": ["name", "handle"]
49
+ "required": ["name", "handle", "privacy_policy_url", "terms_url"]
251
50
  }
@@ -0,0 +1,5 @@
1
+ export declare const REQUIRED_DEPENDENCIES: Record<string, string>;
2
+ export declare const OPTIONAL_DEPENDENCIES: Record<string, string>;
3
+ export declare const ALLOWED_DEPENDENCIES: {
4
+ [x: string]: string;
5
+ };
@@ -0,0 +1,21 @@
1
+ // For information on how to determine if a dependency is safe to allow,
2
+ // and instructions for adding new optional dependencies, see:
3
+ // README_INTERNAL.md#updating-allowed-dependencies
4
+ export const REQUIRED_DEPENDENCIES = {
5
+ '@shopify/shop-minis-react': '*',
6
+ react: '18.2.0',
7
+ 'react-dom': '18.2.0',
8
+ };
9
+ export const OPTIONAL_DEPENDENCIES = {
10
+ '@fal-ai/client': '1.6.0',
11
+ '@mediapipe/pose': '0.5.1675469404',
12
+ '@react-three/fiber': '9.2.0',
13
+ aframe: '1.7.1',
14
+ 'mind-ar': '1.2.5',
15
+ three: '0.178.0',
16
+ };
17
+ export const ALLOWED_DEPENDENCIES = {
18
+ ...REQUIRED_DEPENDENCIES,
19
+ ...OPTIONAL_DEPENDENCIES,
20
+ };
21
+ //# sourceMappingURL=allowed-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed-dependencies.js","sourceRoot":"","sources":["../../src/utils/allowed-dependencies.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,8DAA8D;AAC9D,mDAAmD;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,2BAA2B,EAAE,GAAG;IAChC,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,QAAQ;CACtB,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,gBAAgB,EAAE,OAAO;IACzB,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAAE,OAAO;IAC7B,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,SAAS;CACjB,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,qBAAqB;IACxB,GAAG,qBAAqB;CACzB,CAAA"}
@@ -0,0 +1,7 @@
1
+ export declare const isExactVersion: (version: string) => boolean;
2
+ export declare const resolveDependencyVersion: (dependency: string, version: string) => Promise<string>;
3
+ export declare const installDependencies: (dependencySpecs: string[]) => Promise<void>;
4
+ export declare const gatherRequiredDependencies: () => Promise<Record<string, string>>;
5
+ export declare const warnDependencies: () => Promise<void>;
6
+ export declare const checkDependencies: () => Promise<boolean>;
7
+ export declare const fixDependencies: () => Promise<void>;
@@ -0,0 +1,275 @@
1
+ import semver from 'semver';
2
+ import { renderSuccess, renderWarning } from '@shopify/cli-kit/node/ui';
3
+ import { getPackageVersions, getPackageVersionMatching, installPackages, uninstallPackages, getPackageManager, getInstalledPackages, } from './package-manager.js';
4
+ import { ALLOWED_DEPENDENCIES, REQUIRED_DEPENDENCIES, } from './allowed-dependencies.js';
5
+ // Types and Enums
6
+ var DependencyStatus;
7
+ (function (DependencyStatus) {
8
+ DependencyStatus[DependencyStatus["REQUIRED_MISSING"] = 0] = "REQUIRED_MISSING";
9
+ DependencyStatus[DependencyStatus["NOT_APPROVED"] = 1] = "NOT_APPROVED";
10
+ DependencyStatus[DependencyStatus["VERSION_NOT_APPROVED"] = 2] = "VERSION_NOT_APPROVED";
11
+ DependencyStatus[DependencyStatus["VERSION_NOT_EXACT"] = 3] = "VERSION_NOT_EXACT";
12
+ DependencyStatus[DependencyStatus["VALID"] = 4] = "VALID";
13
+ })(DependencyStatus || (DependencyStatus = {}));
14
+ // Low-level utility functions
15
+ export const isExactVersion = (version) => {
16
+ // Check if version is exact (not a range)
17
+ return semver.valid(version) !== null;
18
+ };
19
+ const parsePackageSpec = (spec) => {
20
+ const lastAtIndex = spec.lastIndexOf('@');
21
+ if (lastAtIndex > 0) {
22
+ return {
23
+ name: spec.substring(0, lastAtIndex),
24
+ version: spec.substring(lastAtIndex + 1),
25
+ };
26
+ }
27
+ return { name: spec };
28
+ };
29
+ const versionViolatesConstraint = (version, allowedVersion) => {
30
+ return (allowedVersion !== '*' &&
31
+ isExactVersion(version) &&
32
+ !semver.satisfies(version, allowedVersion));
33
+ };
34
+ // Analysis helper functions
35
+ const isRequiredMissing = (context) => {
36
+ return context.isRequired && !context.installedVersion;
37
+ };
38
+ const isNotApproved = (context) => {
39
+ return context.installedVersion !== undefined && !context.allowedVersion;
40
+ };
41
+ const isVersionNotApproved = (context) => {
42
+ return (context.installedVersion !== undefined &&
43
+ context.allowedVersion !== undefined &&
44
+ versionViolatesConstraint(context.installedVersion, context.allowedVersion));
45
+ };
46
+ const isVersionNotExact = (context) => {
47
+ return (context.installedVersion !== undefined &&
48
+ !isExactVersion(context.installedVersion));
49
+ };
50
+ // Core analysis functions
51
+ const analyzeDependency = (name, context) => {
52
+ const { installedVersion, allowedVersion } = context;
53
+ let status;
54
+ if (isRequiredMissing(context)) {
55
+ status = DependencyStatus.REQUIRED_MISSING;
56
+ }
57
+ else if (isNotApproved(context)) {
58
+ status = DependencyStatus.NOT_APPROVED;
59
+ }
60
+ else if (isVersionNotApproved(context)) {
61
+ status = DependencyStatus.VERSION_NOT_APPROVED;
62
+ }
63
+ else if (isVersionNotExact(context)) {
64
+ status = DependencyStatus.VERSION_NOT_EXACT;
65
+ }
66
+ else {
67
+ status = DependencyStatus.VALID;
68
+ }
69
+ return { name, status, installedVersion, allowedVersion };
70
+ };
71
+ const analyzeDependencies = (packageDependencies) => {
72
+ const dependencyNames = new Set([
73
+ ...Object.keys(REQUIRED_DEPENDENCIES),
74
+ ...Object.keys(packageDependencies),
75
+ ]);
76
+ const results = [];
77
+ for (const name of dependencyNames) {
78
+ const result = analyzeDependency(name, {
79
+ installedVersion: packageDependencies[name],
80
+ allowedVersion: ALLOWED_DEPENDENCIES[name],
81
+ isRequired: REQUIRED_DEPENDENCIES[name] !== undefined,
82
+ });
83
+ results.push(result);
84
+ }
85
+ return results;
86
+ };
87
+ // Rendering functions
88
+ const getErrorMessage = (result) => {
89
+ const { name, installedVersion, status } = result;
90
+ const nameWithVersion = installedVersion
91
+ ? `${name}@${installedVersion}`
92
+ : name;
93
+ switch (status) {
94
+ case DependencyStatus.REQUIRED_MISSING:
95
+ return `${name} (required)`;
96
+ case DependencyStatus.NOT_APPROVED:
97
+ return `${nameWithVersion} (not approved)`;
98
+ case DependencyStatus.VERSION_NOT_APPROVED:
99
+ return `${nameWithVersion} (version not approved)`;
100
+ case DependencyStatus.VERSION_NOT_EXACT:
101
+ return `${nameWithVersion} (version not exact)`;
102
+ case DependencyStatus.VALID:
103
+ return nameWithVersion;
104
+ }
105
+ };
106
+ const renderDependencyCheck = async (results) => {
107
+ const items = results.map(result => {
108
+ const message = getErrorMessage(result);
109
+ return result.status === DependencyStatus.VALID ? message : { error: message };
110
+ });
111
+ const hasIssues = results.some(result => result.status !== DependencyStatus.VALID);
112
+ if (hasIssues) {
113
+ const packageManager = await getPackageManager();
114
+ const fixCommand = packageManager === 'yarn'
115
+ ? 'yarn shop-minis install --fix'
116
+ : 'npx shop-minis install --fix';
117
+ renderWarning({
118
+ headline: 'Dependency validation failed',
119
+ body: items.length > 0 ? { list: { items } } : 'No dependencies found',
120
+ nextSteps: [
121
+ ['Fix dependency issues automatically', { command: fixCommand }],
122
+ ],
123
+ });
124
+ return;
125
+ }
126
+ renderSuccess({
127
+ headline: 'All dependencies are valid',
128
+ body: items.length > 0 ? { list: { items } } : 'No dependencies to validate',
129
+ });
130
+ };
131
+ // Public API functions
132
+ export const resolveDependencyVersion = async (dependency, version) => {
133
+ // Check if dependency is allowed
134
+ if (!ALLOWED_DEPENDENCIES[dependency]) {
135
+ throw new Error(`${dependency} is not an allowed dependency`);
136
+ }
137
+ const allowedVersion = ALLOWED_DEPENDENCIES[dependency];
138
+ // If allowed version is "*", any version is acceptable
139
+ if (allowedVersion === '*') {
140
+ try {
141
+ const availableVersions = await getPackageVersionMatching(`${dependency}@"${version}"`);
142
+ // If it's an array, get the latest one; if it's a string, use it directly
143
+ return Array.isArray(availableVersions)
144
+ ? availableVersions[availableVersions.length - 1]
145
+ : availableVersions;
146
+ }
147
+ catch (error) {
148
+ throw new Error(`No version of ${dependency} satisfies ${version}`);
149
+ }
150
+ }
151
+ // Find versions that satisfy both constraints
152
+ try {
153
+ const allVersions = await getPackageVersions(dependency);
154
+ const compatibleVersions = allVersions.filter((ver) => semver.satisfies(ver, version) && semver.satisfies(ver, allowedVersion));
155
+ if (compatibleVersions.length === 0) {
156
+ throw new Error(`No version of ${dependency} satisfies both provided version "${version}" and allowed version "${allowedVersion}"`);
157
+ }
158
+ // Return the latest compatible version
159
+ return compatibleVersions.sort(semver.rcompare)[0];
160
+ }
161
+ catch (error) {
162
+ if (error instanceof Error && error.message.includes('No version of')) {
163
+ throw error;
164
+ }
165
+ throw new Error(`Failed to resolve version for ${dependency}: ${error}`);
166
+ }
167
+ };
168
+ export const installDependencies = async (dependencySpecs) => {
169
+ if (dependencySpecs.length === 0)
170
+ return;
171
+ const packagesToInstall = [];
172
+ // Resolve versions for all dependencies first
173
+ for (const dependencySpec of dependencySpecs) {
174
+ const { name: packageName, version } = parsePackageSpec(dependencySpec);
175
+ const specifiedVersion = version ?? ALLOWED_DEPENDENCIES[packageName];
176
+ const resolvedVersion = await resolveDependencyVersion(packageName, specifiedVersion ?? '*');
177
+ packagesToInstall.push(`${packageName}@${resolvedVersion}`);
178
+ }
179
+ try {
180
+ await installPackages(packagesToInstall, true);
181
+ }
182
+ catch (error) {
183
+ throw new Error(`Failed to install packages: ${packagesToInstall.join(', ')}`);
184
+ }
185
+ };
186
+ export const gatherRequiredDependencies = async () => {
187
+ const packagesToInstall = {};
188
+ // Resolve versions for all dependencies first
189
+ for (const [packageName, allowedVersion] of Object.entries(REQUIRED_DEPENDENCIES)) {
190
+ const resolvedVersion = await resolveDependencyVersion(packageName, allowedVersion);
191
+ packagesToInstall[packageName] = resolvedVersion;
192
+ }
193
+ return packagesToInstall;
194
+ };
195
+ export const warnDependencies = async () => {
196
+ const packageDependencies = getInstalledPackages();
197
+ const results = analyzeDependencies(packageDependencies);
198
+ if (results.some(result => result.status !== DependencyStatus.VALID)) {
199
+ renderWarning({
200
+ body: [
201
+ 'You have dependency issues. Run',
202
+ { command: 'npx shop-minis install --check' },
203
+ 'for details',
204
+ ],
205
+ });
206
+ }
207
+ };
208
+ export const checkDependencies = async () => {
209
+ const packageDependencies = getInstalledPackages();
210
+ const results = analyzeDependencies(packageDependencies);
211
+ await renderDependencyCheck(results);
212
+ return results.some(result => result.status !== DependencyStatus.VALID);
213
+ };
214
+ export const fixDependencies = async () => {
215
+ const packageDependencies = getInstalledPackages();
216
+ const results = analyzeDependencies(packageDependencies);
217
+ // Now apply fixes based on the status of each dependency
218
+ const packagesToInstall = {};
219
+ const packagesToRemove = [];
220
+ const changes = [];
221
+ for (const result of results) {
222
+ const { name, status, installedVersion, allowedVersion } = result;
223
+ switch (status) {
224
+ case DependencyStatus.REQUIRED_MISSING:
225
+ // Add missing required dependency
226
+ packagesToInstall[name] = await resolveDependencyVersion(name, REQUIRED_DEPENDENCIES[name]);
227
+ changes.push(`Added ${name}@${packagesToInstall[name]}`);
228
+ break;
229
+ case DependencyStatus.NOT_APPROVED:
230
+ // Remove unapproved dependency
231
+ packagesToRemove.push(name);
232
+ changes.push(`Removed ${name}`);
233
+ break;
234
+ case DependencyStatus.VERSION_NOT_APPROVED:
235
+ // Update to approved version
236
+ packagesToInstall[name] = await resolveDependencyVersion(name, allowedVersion);
237
+ changes.push(`Updated ${name}: ${installedVersion} → ${packagesToInstall[name]}`);
238
+ break;
239
+ case DependencyStatus.VERSION_NOT_EXACT:
240
+ try {
241
+ packagesToInstall[name] = await resolveDependencyVersion(name, installedVersion);
242
+ }
243
+ catch (error) {
244
+ packagesToInstall[name] = await resolveDependencyVersion(name, allowedVersion);
245
+ }
246
+ changes.push(`Updated ${name}: ${installedVersion} → ${packagesToInstall[name]}`);
247
+ break;
248
+ }
249
+ }
250
+ // Remove dependencies that are no longer needed
251
+ if (packagesToRemove.length > 0) {
252
+ await uninstallPackages(packagesToRemove);
253
+ }
254
+ if (Object.keys(packagesToInstall).length > 0) {
255
+ await installPackages(Object.entries(packagesToInstall).map(([name, version]) => `${name}@${version}`), true);
256
+ }
257
+ // Single render call based on results
258
+ if (changes.length > 0) {
259
+ renderSuccess({
260
+ headline: 'Dependencies fixed',
261
+ body: {
262
+ list: {
263
+ items: changes,
264
+ },
265
+ },
266
+ });
267
+ }
268
+ else {
269
+ renderSuccess({
270
+ headline: 'Dependencies are already valid',
271
+ body: 'No changes were needed',
272
+ });
273
+ }
274
+ };
275
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":"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"}