@shopify/cli 3.69.3 → 3.70.0

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 (550) hide show
  1. package/{dist/assets/cli-ruby/LICENSE → LICENSE} +0 -2
  2. package/dist/assets/hydrogen/starter/CHANGELOG.md +147 -0
  3. package/dist/assets/hydrogen/starter/app/components/ProductForm.tsx +1 -1
  4. package/dist/assets/hydrogen/starter/app/root.tsx +1 -1
  5. package/dist/assets/hydrogen/starter/app/routes/[sitemap.xml].tsx +6 -166
  6. package/dist/assets/hydrogen/starter/app/routes/cart.tsx +2 -1
  7. package/dist/assets/hydrogen/starter/app/routes/products.$handle.tsx +3 -1
  8. package/dist/assets/hydrogen/starter/app/routes/sitemap.$type.$page[.xml].tsx +24 -0
  9. package/dist/assets/hydrogen/starter/package.json +10 -10
  10. package/dist/assets/hydrogen/starter/storefrontapi.generated.d.ts +11 -37
  11. package/dist/chunk-2PUMVRDO.js +131 -0
  12. package/dist/{chunk-WJCZFW37.js → chunk-335KXO4I.js} +12 -8
  13. package/dist/{chunk-MLSNFFTR.js → chunk-43YGIE7Y.js} +2 -2
  14. package/dist/chunk-47OJGAFT.js +28 -0
  15. package/dist/chunk-5OP2SA7G.js +3634 -0
  16. package/dist/{chunk-BZO3BX6M.js → chunk-5QQTRGJ7.js} +4 -4
  17. package/dist/{chunk-V5DOEDF4.js → chunk-7GNQ7YY4.js} +7 -7
  18. package/dist/{chunk-RTXVY32Y.js → chunk-AT4IG4GJ.js} +32 -216
  19. package/dist/{chunk-T65TTGOS.js → chunk-BMNDAI5O.js} +4 -4
  20. package/dist/{chunk-6XKWVDB6.js → chunk-CBBS4CV7.js} +3 -3
  21. package/dist/{chunk-27ILOE3X.js → chunk-CBD6UXLA.js} +8 -8
  22. package/dist/chunk-DVTWERMH.js +105 -0
  23. package/dist/{chunk-KNW6BL2Q.js → chunk-E2SYFYJU.js} +4 -4
  24. package/dist/{chunk-7D77RINN.js → chunk-FDJVVEGH.js} +17 -7
  25. package/dist/{chunk-65CKWSWQ.js → chunk-GDYKHT64.js} +2610 -6199
  26. package/dist/{chunk-NIFSDRC3.js → chunk-I3IIDOBX.js} +3 -3
  27. package/dist/{chunk-ZCYPTS6V.js → chunk-JLK5OMFF.js} +2 -2
  28. package/dist/{chunk-WHHRKJDE.js → chunk-KYBCPKPL.js} +3 -3
  29. package/dist/{chunk-AKHBZYBW.js → chunk-LN444KRM.js} +2 -2
  30. package/dist/chunk-MH5JSAVK.js +28 -0
  31. package/dist/{chunk-7GWY3FA4.js → chunk-MMQOVZDR.js} +6 -4
  32. package/dist/{chunk-RHX2I4MG.js → chunk-MQXHFQM3.js} +4 -4
  33. package/dist/{chunk-PO7KPJGR.js → chunk-MRDDDATQ.js} +3 -3
  34. package/dist/{chunk-UL6L7ZS3.js → chunk-N2DEYZD6.js} +3 -3
  35. package/dist/{chunk-WITDBDKW.js → chunk-N4X7XQWN.js} +2 -2
  36. package/dist/{chunk-AN5WQN4K.js → chunk-ND6AGPC6.js} +3 -3
  37. package/dist/{chunk-A3JXD7N7.js → chunk-NEOIQ6PN.js} +3 -3
  38. package/dist/{chunk-KGLQ4JD4.js → chunk-NH4U4X67.js} +3 -3
  39. package/dist/{chunk-AZKJLRVK.js → chunk-NYFXBTWK.js} +3 -3
  40. package/dist/{chunk-ERVB6ERU.js → chunk-OWLPHMUA.js} +3 -3
  41. package/dist/{chunk-Y54K4MPH.js → chunk-P6ABWRKD.js} +7 -7
  42. package/dist/{chunk-B6RI3XO4.js → chunk-PJKCWDDX.js} +117 -117
  43. package/dist/{chunk-2Q5IM74H.js → chunk-PKE54TAY.js} +5 -5
  44. package/dist/{chunk-JGXT3WUR.js → chunk-RUK73IAH.js} +2 -2
  45. package/dist/{chunk-IUHYP3QG.js → chunk-SYRHCENA.js} +2 -2
  46. package/dist/{chunk-XROTFVTO.js → chunk-TCTXUAZT.js} +3 -3
  47. package/dist/chunk-UOZCMFCN.js +160 -0
  48. package/dist/{chunk-VEEUPLAO.js → chunk-VFQMUAHB.js} +4 -4
  49. package/dist/{chunk-I66GPBMO.js → chunk-VHAXHYTL.js} +3 -3
  50. package/dist/{chunk-F2NOZSYG.js → chunk-VT3VJHZ7.js} +4 -4
  51. package/dist/{chunk-ACM5TZH6.js → chunk-WI6MEN7U.js} +2 -2
  52. package/dist/{chunk-OWPU7LGF.js → chunk-WN3FKMKB.js} +14 -14
  53. package/dist/{chunk-FRDQIYC3.js → chunk-X6F3DHKX.js} +2 -2
  54. package/dist/{chunk-P7JUHQKL.js → chunk-XEDHKQZA.js} +4 -3
  55. package/dist/{chunk-5O3Y6TSZ.js → chunk-XSMWYZDC.js} +86 -106
  56. package/dist/cli/commands/auth/logout.js +20 -18
  57. package/dist/cli/commands/auth/logout.test.js +25 -23
  58. package/dist/cli/commands/cache/clear.d.ts +6 -0
  59. package/dist/cli/commands/cache/clear.js +35 -0
  60. package/dist/cli/commands/debug/command-flags.js +19 -17
  61. package/dist/cli/commands/demo/catalog.js +20 -18
  62. package/dist/cli/commands/demo/generate-file.js +20 -18
  63. package/dist/cli/commands/demo/index.js +20 -18
  64. package/dist/cli/commands/demo/print-ai-prompt.js +20 -18
  65. package/dist/cli/commands/docs/generate.js +19 -17
  66. package/dist/cli/commands/docs/generate.test.js +19 -17
  67. package/dist/cli/commands/help.js +19 -17
  68. package/dist/cli/commands/kitchen-sink/async.js +20 -18
  69. package/dist/cli/commands/kitchen-sink/async.test.js +20 -18
  70. package/dist/cli/commands/kitchen-sink/index.js +22 -20
  71. package/dist/cli/commands/kitchen-sink/index.test.js +22 -20
  72. package/dist/cli/commands/kitchen-sink/prompts.js +20 -18
  73. package/dist/cli/commands/kitchen-sink/prompts.test.js +20 -18
  74. package/dist/cli/commands/kitchen-sink/static.js +20 -18
  75. package/dist/cli/commands/kitchen-sink/static.test.js +20 -18
  76. package/dist/cli/commands/notifications/generate.d.ts +6 -0
  77. package/dist/cli/commands/notifications/generate.js +36 -0
  78. package/dist/cli/commands/notifications/list.d.ts +6 -0
  79. package/dist/cli/commands/notifications/list.js +36 -0
  80. package/dist/cli/commands/search.js +20 -18
  81. package/dist/cli/commands/upgrade.js +20 -18
  82. package/dist/cli/commands/version.js +20 -18
  83. package/dist/cli/commands/version.test.js +20 -18
  84. package/dist/cli/services/commands/notifications.d.ts +2 -0
  85. package/dist/cli/services/commands/notifications.js +31 -0
  86. package/dist/cli/services/commands/search.js +9 -9
  87. package/dist/cli/services/commands/search.test.js +9 -9
  88. package/dist/cli/services/commands/version.js +10 -10
  89. package/dist/cli/services/commands/version.test.js +11 -11
  90. package/dist/cli/services/demo.js +9 -9
  91. package/dist/cli/services/demo.test.js +11 -11
  92. package/dist/cli/services/kitchen-sink/async.js +9 -9
  93. package/dist/cli/services/kitchen-sink/prompts.js +9 -9
  94. package/dist/cli/services/kitchen-sink/static.js +9 -9
  95. package/dist/cli/services/upgrade.js +10 -10
  96. package/dist/cli/services/upgrade.test.js +12 -12
  97. package/dist/{constants-T7JXE5K7.js → constants-QFFDI47A.js} +6 -4
  98. package/dist/{custom-oclif-loader-YBMJNE6U.js → custom-oclif-loader-IZLFCRGJ.js} +11 -11
  99. package/dist/data/filters.json +39 -16
  100. package/dist/data/latest.json +1 -1
  101. package/dist/data/objects.json +164 -6
  102. package/dist/data/shopify_system_translations.json +32 -3
  103. package/dist/{del-7ZS2Z64N.js → del-FEQWOMIX.js} +2 -2
  104. package/dist/{error-handler-A4P3264C.js → error-handler-DAI5HMQW.js} +17 -16
  105. package/dist/hooks/postrun.js +14 -13
  106. package/dist/hooks/prerun.js +14 -13
  107. package/dist/index.js +13542 -10915
  108. package/dist/{lib-JHUCJTHS.js → lib-JJXX7GH6.js} +5 -5
  109. package/dist/{local-ZKVS3PQJ.js → local-QD6GDUUE.js} +9 -9
  110. package/dist/{morph-QZYXTRWT.js → morph-FN23MJ2S.js} +10 -10
  111. package/dist/{node-UHHST6UJ.js → node-4XKDIIJ7.js} +23 -21
  112. package/dist/{node-package-manager-EU3ZOEFD.js → node-package-manager-IEZ6F5VN.js} +10 -10
  113. package/dist/{system-L7HP2PAP.js → system-KSIGUX64.js} +9 -9
  114. package/dist/tsconfig.tsbuildinfo +1 -1
  115. package/dist/{ui-HXNDVEEG.js → ui-BUB4OWO7.js} +9 -9
  116. package/dist/{workerd-7CGH4YHE.js → workerd-DIIGDIHZ.js} +22 -20
  117. package/oclif.manifest.json +61 -104
  118. package/package.json +7 -7
  119. package/dist/assets/cli-ruby/.devcontainer.json +0 -5
  120. package/dist/assets/cli-ruby/.rubocop.yml +0 -102
  121. package/dist/assets/cli-ruby/.rubocop_todo.yml +0 -24
  122. package/dist/assets/cli-ruby/CHANGELOG.md +0 -634
  123. package/dist/assets/cli-ruby/CONTRIBUTING.md +0 -3
  124. package/dist/assets/cli-ruby/Codespace.dockerfile +0 -35
  125. package/dist/assets/cli-ruby/Gemfile +0 -32
  126. package/dist/assets/cli-ruby/README.md +0 -30
  127. package/dist/assets/cli-ruby/Rakefile +0 -167
  128. package/dist/assets/cli-ruby/SECURITY.md +0 -59
  129. package/dist/assets/cli-ruby/Tests.dockerfile +0 -35
  130. package/dist/assets/cli-ruby/assets/logo.png +0 -0
  131. package/dist/assets/cli-ruby/bin/console +0 -11
  132. package/dist/assets/cli-ruby/bin/load_shopify.rb +0 -22
  133. package/dist/assets/cli-ruby/bin/shopify +0 -67
  134. package/dist/assets/cli-ruby/bin/shopify.bat +0 -3
  135. package/dist/assets/cli-ruby/bin/update-deps +0 -97
  136. package/dist/assets/cli-ruby/dev.yml +0 -29
  137. package/dist/assets/cli-ruby/docs/README.md +0 -13
  138. package/dist/assets/cli-ruby/docs/contributors/testing.md +0 -27
  139. package/dist/assets/cli-ruby/docs/users/installation.md +0 -3
  140. package/dist/assets/cli-ruby/docs/users/migrate-from-themekit.md +0 -18
  141. package/dist/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.1.0.gz.sha256 +0 -1
  142. package/dist/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.2.0.gz.sha256 +0 -1
  143. package/dist/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.2.1.gz.sha256 +0 -1
  144. package/dist/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.3.0.gz.sha256 +0 -1
  145. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.1.0.gz.sha256 +0 -1
  146. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.2.0.gz.sha256 +0 -1
  147. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.2.1.gz.sha256 +0 -1
  148. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.3.0.gz.sha256 +0 -1
  149. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.1.0.gz.sha256 +0 -1
  150. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.2.0.gz.sha256 +0 -1
  151. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.2.1.gz.sha256 +0 -1
  152. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.3.0.gz.sha256 +0 -1
  153. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.1.0.gz.sha256 +0 -1
  154. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.2.0.gz.sha256 +0 -1
  155. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.2.1.gz.sha256 +0 -1
  156. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.3.0.gz.sha256 +0 -1
  157. package/dist/assets/cli-ruby/ext/javy/javy.rb +0 -204
  158. package/dist/assets/cli-ruby/ext/javy/version +0 -1
  159. package/dist/assets/cli-ruby/ext/shopify-extensions/extconf.rb +0 -21
  160. package/dist/assets/cli-ruby/ext/shopify-extensions/shopify_extensions.rb +0 -152
  161. package/dist/assets/cli-ruby/ext/shopify-extensions/version +0 -1
  162. package/dist/assets/cli-ruby/features/support/assertions.rb +0 -17
  163. package/dist/assets/cli-ruby/features/support/cli.rb +0 -7
  164. package/dist/assets/cli-ruby/features/support/process.rb +0 -27
  165. package/dist/assets/cli-ruby/features/support/requires.rb +0 -3
  166. package/dist/assets/cli-ruby/lib/docgen/class_template.md.erb +0 -81
  167. package/dist/assets/cli-ruby/lib/docgen/index_template.md.erb +0 -5
  168. package/dist/assets/cli-ruby/lib/docgen/markdown.rb +0 -101
  169. package/dist/assets/cli-ruby/lib/graphql/admin_introspection.graphql +0 -87
  170. package/dist/assets/cli-ruby/lib/graphql/all_organizations.graphql +0 -19
  171. package/dist/assets/cli-ruby/lib/graphql/all_orgs_with_apps.graphql +0 -30
  172. package/dist/assets/cli-ruby/lib/graphql/api_versions.graphql +0 -6
  173. package/dist/assets/cli-ruby/lib/graphql/convert_dev_to_test_store.graphql +0 -10
  174. package/dist/assets/cli-ruby/lib/graphql/create_app.graphql +0 -20
  175. package/dist/assets/cli-ruby/lib/graphql/create_customer.graphql +0 -9
  176. package/dist/assets/cli-ruby/lib/graphql/create_draft_order.graphql +0 -8
  177. package/dist/assets/cli-ruby/lib/graphql/create_product.graphql +0 -9
  178. package/dist/assets/cli-ruby/lib/graphql/extension_create.graphql +0 -37
  179. package/dist/assets/cli-ruby/lib/graphql/extension_update_draft.graphql +0 -19
  180. package/dist/assets/cli-ruby/lib/graphql/fetch_specifications.graphql +0 -14
  181. package/dist/assets/cli-ruby/lib/graphql/find_organization.graphql +0 -18
  182. package/dist/assets/cli-ruby/lib/graphql/find_organization_with_apps.graphql +0 -20
  183. package/dist/assets/cli-ruby/lib/graphql/get_app_by_api_key.graphql +0 -9
  184. package/dist/assets/cli-ruby/lib/graphql/get_app_urls.graphql +0 -6
  185. package/dist/assets/cli-ruby/lib/graphql/get_extension_registrations.graphql +0 -28
  186. package/dist/assets/cli-ruby/lib/graphql/get_variant_id.graphql +0 -16
  187. package/dist/assets/cli-ruby/lib/graphql/update_dashboard_urls.graphql +0 -8
  188. package/dist/assets/cli-ruby/lib/project_types/extension/cli.rb +0 -75
  189. package/dist/assets/cli-ruby/lib/project_types/extension/commands/extension_command.rb +0 -29
  190. package/dist/assets/cli-ruby/lib/project_types/extension/commands/serve.rb +0 -164
  191. package/dist/assets/cli-ruby/lib/project_types/extension/errors.rb +0 -9
  192. package/dist/assets/cli-ruby/lib/project_types/extension/extension_project.rb +0 -151
  193. package/dist/assets/cli-ruby/lib/project_types/extension/extension_project_keys.rb +0 -12
  194. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo.rb +0 -50
  195. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_config.rb +0 -59
  196. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_dependencies.rb +0 -28
  197. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_runtime.rb +0 -15
  198. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_serve.rb +0 -115
  199. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_setup.rb +0 -54
  200. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_setup_step.rb +0 -31
  201. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_setup_steps.rb +0 -51
  202. package/dist/assets/cli-ruby/lib/project_types/extension/features/runtimes/admin.rb +0 -29
  203. package/dist/assets/cli-ruby/lib/project_types/extension/features/runtimes/base.rb +0 -19
  204. package/dist/assets/cli-ruby/lib/project_types/extension/features/runtimes/checkout_post_purchase.rb +0 -23
  205. package/dist/assets/cli-ruby/lib/project_types/extension/features/runtimes/checkout_ui_extension.rb +0 -29
  206. package/dist/assets/cli-ruby/lib/project_types/extension/loaders/project.rb +0 -50
  207. package/dist/assets/cli-ruby/lib/project_types/extension/loaders/specification_handler.rb +0 -22
  208. package/dist/assets/cli-ruby/lib/project_types/extension/messages/message_loading.rb +0 -34
  209. package/dist/assets/cli-ruby/lib/project_types/extension/messages/messages.rb +0 -320
  210. package/dist/assets/cli-ruby/lib/project_types/extension/models/app.rb +0 -14
  211. package/dist/assets/cli-ruby/lib/project_types/extension/models/lazy_specification_handler.rb +0 -12
  212. package/dist/assets/cli-ruby/lib/project_types/extension/models/specification.rb +0 -41
  213. package/dist/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/default.rb +0 -145
  214. package/dist/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/theme_app_extension.rb +0 -134
  215. package/dist/assets/cli-ruby/lib/project_types/extension/models/specifications.rb +0 -91
  216. package/dist/assets/cli-ruby/lib/project_types/extension/models/validation_error.rb +0 -17
  217. package/dist/assets/cli-ruby/lib/project_types/extension/models/version.rb +0 -15
  218. package/dist/assets/cli-ruby/lib/project_types/extension/tasks/configure_features.rb +0 -73
  219. package/dist/assets/cli-ruby/lib/project_types/extension/tasks/configure_options.rb +0 -21
  220. package/dist/assets/cli-ruby/lib/project_types/extension/tasks/converters/validation_error_converter.rb +0 -25
  221. package/dist/assets/cli-ruby/lib/project_types/extension/tasks/converters/version_converter.rb +0 -28
  222. package/dist/assets/cli-ruby/lib/project_types/extension/tasks/fetch_specifications.rb +0 -21
  223. package/dist/assets/cli-ruby/lib/project_types/node/cli.rb +0 -12
  224. package/dist/assets/cli-ruby/lib/project_types/node/forms/create.rb +0 -45
  225. package/dist/assets/cli-ruby/lib/project_types/node/messages/messages.rb +0 -33
  226. package/dist/assets/cli-ruby/lib/project_types/php/cli.rb +0 -16
  227. package/dist/assets/cli-ruby/lib/project_types/php/forms/create.rb +0 -44
  228. package/dist/assets/cli-ruby/lib/project_types/php/messages/messages.rb +0 -29
  229. package/dist/assets/cli-ruby/lib/project_types/rails/cli.rb +0 -15
  230. package/dist/assets/cli-ruby/lib/project_types/rails/forms/create.rb +0 -75
  231. package/dist/assets/cli-ruby/lib/project_types/rails/gem.rb +0 -110
  232. package/dist/assets/cli-ruby/lib/project_types/rails/messages/messages.rb +0 -101
  233. package/dist/assets/cli-ruby/lib/project_types/script/cli.rb +0 -27
  234. package/dist/assets/cli-ruby/lib/project_types/script/commands/connect.rb +0 -16
  235. package/dist/assets/cli-ruby/lib/project_types/script/commands/create.rb +0 -24
  236. package/dist/assets/cli-ruby/lib/project_types/script/commands/javy.rb +0 -24
  237. package/dist/assets/cli-ruby/lib/project_types/script/commands/push.rb +0 -26
  238. package/dist/assets/cli-ruby/lib/project_types/script/loaders/project.rb +0 -46
  239. package/dist/assets/cli-ruby/lib/project_types/script/loaders/specification_handler.rb +0 -22
  240. package/dist/assets/cli-ruby/lib/project_types/script/messages/messages.rb +0 -11
  241. package/dist/assets/cli-ruby/lib/project_types/theme/cli.rb +0 -33
  242. package/dist/assets/cli-ruby/lib/project_types/theme/commands/common/root_helper.rb +0 -94
  243. package/dist/assets/cli-ruby/lib/project_types/theme/commands/common/shop_helper.rb +0 -13
  244. package/dist/assets/cli-ruby/lib/project_types/theme/commands/console.rb +0 -23
  245. package/dist/assets/cli-ruby/lib/project_types/theme/commands/delete.rb +0 -70
  246. package/dist/assets/cli-ruby/lib/project_types/theme/commands/init.rb +0 -46
  247. package/dist/assets/cli-ruby/lib/project_types/theme/commands/list.rb +0 -33
  248. package/dist/assets/cli-ruby/lib/project_types/theme/commands/open.rb +0 -73
  249. package/dist/assets/cli-ruby/lib/project_types/theme/commands/package.rb +0 -73
  250. package/dist/assets/cli-ruby/lib/project_types/theme/commands/publish.rb +0 -49
  251. package/dist/assets/cli-ruby/lib/project_types/theme/commands/pull.rb +0 -118
  252. package/dist/assets/cli-ruby/lib/project_types/theme/commands/push.rb +0 -160
  253. package/dist/assets/cli-ruby/lib/project_types/theme/commands/serve.rb +0 -91
  254. package/dist/assets/cli-ruby/lib/project_types/theme/commands/share.rb +0 -62
  255. package/dist/assets/cli-ruby/lib/project_types/theme/commands/token.rb +0 -22
  256. package/dist/assets/cli-ruby/lib/project_types/theme/conversions/base_glob.rb +0 -65
  257. package/dist/assets/cli-ruby/lib/project_types/theme/conversions/ignore_glob.rb +0 -15
  258. package/dist/assets/cli-ruby/lib/project_types/theme/conversions/include_glob.rb +0 -15
  259. package/dist/assets/cli-ruby/lib/project_types/theme/forms/confirm_store.rb +0 -15
  260. package/dist/assets/cli-ruby/lib/project_types/theme/forms/select.rb +0 -34
  261. package/dist/assets/cli-ruby/lib/project_types/theme/messages/messages.rb +0 -429
  262. package/dist/assets/cli-ruby/lib/project_types/theme/models/specification_handlers/theme.rb +0 -19
  263. package/dist/assets/cli-ruby/lib/project_types/theme/presenters/theme_presenter.rb +0 -48
  264. package/dist/assets/cli-ruby/lib/project_types/theme/presenters/themes_presenter.rb +0 -29
  265. package/dist/assets/cli-ruby/lib/project_types/theme/ui/sync_progress_bar.rb +0 -20
  266. package/dist/assets/cli-ruby/lib/rubygems_plugin.rb +0 -26
  267. package/dist/assets/cli-ruby/lib/shopify_cli/admin_api.rb +0 -160
  268. package/dist/assets/cli-ruby/lib/shopify_cli/api.rb +0 -130
  269. package/dist/assets/cli-ruby/lib/shopify_cli/command/project_command.rb +0 -31
  270. package/dist/assets/cli-ruby/lib/shopify_cli/command/sub_command.rb +0 -20
  271. package/dist/assets/cli-ruby/lib/shopify_cli/command.rb +0 -166
  272. package/dist/assets/cli-ruby/lib/shopify_cli/commands.rb +0 -21
  273. package/dist/assets/cli-ruby/lib/shopify_cli/constants.rb +0 -101
  274. package/dist/assets/cli-ruby/lib/shopify_cli/context.rb +0 -709
  275. package/dist/assets/cli-ruby/lib/shopify_cli/core/cli_version.rb +0 -20
  276. package/dist/assets/cli-ruby/lib/shopify_cli/core/entry_point.rb +0 -64
  277. package/dist/assets/cli-ruby/lib/shopify_cli/core/executor.rb +0 -23
  278. package/dist/assets/cli-ruby/lib/shopify_cli/core/finalize.rb +0 -13
  279. package/dist/assets/cli-ruby/lib/shopify_cli/core/monorail.rb +0 -122
  280. package/dist/assets/cli-ruby/lib/shopify_cli/core.rb +0 -8
  281. package/dist/assets/cli-ruby/lib/shopify_cli/db.rb +0 -114
  282. package/dist/assets/cli-ruby/lib/shopify_cli/environment.rb +0 -217
  283. package/dist/assets/cli-ruby/lib/shopify_cli/exception_reporter.rb +0 -80
  284. package/dist/assets/cli-ruby/lib/shopify_cli/feature.rb +0 -95
  285. package/dist/assets/cli-ruby/lib/shopify_cli/file_system_listener.rb +0 -30
  286. package/dist/assets/cli-ruby/lib/shopify_cli/form.rb +0 -42
  287. package/dist/assets/cli-ruby/lib/shopify_cli/git.rb +0 -320
  288. package/dist/assets/cli-ruby/lib/shopify_cli/github/issue_url_generator.rb +0 -30
  289. package/dist/assets/cli-ruby/lib/shopify_cli/github.rb +0 -5
  290. package/dist/assets/cli-ruby/lib/shopify_cli/helpers/haikunator.rb +0 -92
  291. package/dist/assets/cli-ruby/lib/shopify_cli/helpers.rb +0 -5
  292. package/dist/assets/cli-ruby/lib/shopify_cli/http_request.rb +0 -43
  293. package/dist/assets/cli-ruby/lib/shopify_cli/identity_auth/env_auth_token.rb +0 -34
  294. package/dist/assets/cli-ruby/lib/shopify_cli/identity_auth.rb +0 -332
  295. package/dist/assets/cli-ruby/lib/shopify_cli/js_system.rb +0 -115
  296. package/dist/assets/cli-ruby/lib/shopify_cli/lazy_delegator.rb +0 -55
  297. package/dist/assets/cli-ruby/lib/shopify_cli/messages/messages.rb +0 -863
  298. package/dist/assets/cli-ruby/lib/shopify_cli/method_object.rb +0 -123
  299. package/dist/assets/cli-ruby/lib/shopify_cli/migrator/migration.rb +0 -27
  300. package/dist/assets/cli-ruby/lib/shopify_cli/migrator/migrations/1631709766_noop.rb +0 -13
  301. package/dist/assets/cli-ruby/lib/shopify_cli/migrator/migrations/1633691650_merge_reporting_configuration.rb +0 -41
  302. package/dist/assets/cli-ruby/lib/shopify_cli/migrator.rb +0 -46
  303. package/dist/assets/cli-ruby/lib/shopify_cli/options.rb +0 -40
  304. package/dist/assets/cli-ruby/lib/shopify_cli/partners_api/app_extensions/job.rb +0 -36
  305. package/dist/assets/cli-ruby/lib/shopify_cli/partners_api/app_extensions.rb +0 -46
  306. package/dist/assets/cli-ruby/lib/shopify_cli/partners_api/organizations.rb +0 -45
  307. package/dist/assets/cli-ruby/lib/shopify_cli/partners_api.rb +0 -91
  308. package/dist/assets/cli-ruby/lib/shopify_cli/project.rb +0 -199
  309. package/dist/assets/cli-ruby/lib/shopify_cli/project_type.rb +0 -66
  310. package/dist/assets/cli-ruby/lib/shopify_cli/reporting_configuration_controller.rb +0 -29
  311. package/dist/assets/cli-ruby/lib/shopify_cli/resolve_constant.rb +0 -25
  312. package/dist/assets/cli-ruby/lib/shopify_cli/resources/env_file.rb +0 -108
  313. package/dist/assets/cli-ruby/lib/shopify_cli/resources.rb +0 -5
  314. package/dist/assets/cli-ruby/lib/shopify_cli/result.rb +0 -448
  315. package/dist/assets/cli-ruby/lib/shopify_cli/shopifolk.rb +0 -82
  316. package/dist/assets/cli-ruby/lib/shopify_cli/task.rb +0 -20
  317. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/confirm_store.rb +0 -18
  318. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/create_api_client.rb +0 -40
  319. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_authenticated.rb +0 -19
  320. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_dev_store.rb +0 -41
  321. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_env.rb +0 -90
  322. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_git_dependency.rb +0 -14
  323. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_loopback_url.rb +0 -20
  324. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_project_type.rb +0 -14
  325. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/select_org_and_shop.rb +0 -81
  326. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/update_dashboard_urls.rb +0 -57
  327. package/dist/assets/cli-ruby/lib/shopify_cli/tasks.rb +0 -44
  328. package/dist/assets/cli-ruby/lib/shopify_cli/theme/backoff_helper.rb +0 -47
  329. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/cdn_fonts.rb +0 -82
  330. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/certificate_manager.rb +0 -79
  331. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/errors.rb +0 -9
  332. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/header_hash.rb +0 -98
  333. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hooks/file_change_hook.rb +0 -77
  334. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/remote_file_deleter.rb +0 -62
  335. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/remote_file_reloader.rb +0 -63
  336. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/hot-reload-no-script.html +0 -27
  337. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/hot_reload.js +0 -48
  338. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/sse_client.js +0 -43
  339. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/theme.js +0 -114
  340. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/theme_extension.js +0 -121
  341. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/script_injector.rb +0 -57
  342. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/sections_index.rb +0 -50
  343. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload.rb +0 -75
  344. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/local_assets.rb +0 -101
  345. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy.rb +0 -313
  346. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy_param_builder.rb +0 -84
  347. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/reload_mode.rb +0 -34
  348. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/remote_watcher/json_files_update_job.rb +0 -35
  349. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/remote_watcher.rb +0 -44
  350. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/sse.rb +0 -75
  351. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/watcher.rb +0 -64
  352. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/web_server.rb +0 -140
  353. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server.rb +0 -332
  354. package/dist/assets/cli-ruby/lib/shopify_cli/theme/development_theme.rb +0 -101
  355. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/app_extension.rb +0 -40
  356. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hooks/file_change_hook.rb +0 -76
  357. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hot_reload/script_injector.rb +0 -30
  358. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hot_reload.rb +0 -13
  359. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/local_assets.rb +0 -31
  360. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/proxy_param_builder.rb +0 -94
  361. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/watcher.rb +0 -49
  362. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server.rb +0 -175
  363. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/host_theme.rb +0 -109
  364. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/ignore_helper.rb +0 -35
  365. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer/extension_serve_job.rb +0 -120
  366. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer/operation.rb +0 -25
  367. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer.rb +0 -100
  368. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/ui/host_theme_progress_bar.rb +0 -35
  369. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/ui/host_theme_raw_progress_bar.rb +0 -40
  370. package/dist/assets/cli-ruby/lib/shopify_cli/theme/file.rb +0 -133
  371. package/dist/assets/cli-ruby/lib/shopify_cli/theme/filter/path_matcher.rb +0 -38
  372. package/dist/assets/cli-ruby/lib/shopify_cli/theme/ignore_filter.rb +0 -112
  373. package/dist/assets/cli-ruby/lib/shopify_cli/theme/ignore_helper.rb +0 -37
  374. package/dist/assets/cli-ruby/lib/shopify_cli/theme/include_filter.rb +0 -67
  375. package/dist/assets/cli-ruby/lib/shopify_cli/theme/mime_type.rb +0 -34
  376. package/dist/assets/cli-ruby/lib/shopify_cli/theme/notifier.rb +0 -52
  377. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/api.rb +0 -109
  378. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/auth_dev_server.rb +0 -93
  379. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/auth_middleware.rb +0 -97
  380. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/remote_evaluator.rb +0 -166
  381. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/resources/success.html +0 -78
  382. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/resources/template.liquid +0 -15
  383. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/snippet.rb +0 -81
  384. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl.rb +0 -88
  385. package/dist/assets/cli-ruby/lib/shopify_cli/theme/root.rb +0 -62
  386. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/checksums.rb +0 -66
  387. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/downloader.rb +0 -63
  388. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/error_reporter.rb +0 -45
  389. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/merger.rb +0 -53
  390. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/operation.rb +0 -49
  391. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/standard_reporter.rb +0 -32
  392. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/unsupported_script_warning.rb +0 -90
  393. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk.rb +0 -133
  394. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_item.rb +0 -64
  395. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_job.rb +0 -139
  396. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_request.rb +0 -30
  397. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/apply_to_all.rb +0 -41
  398. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/apply_to_all_form.rb +0 -37
  399. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/base_strategy_form.rb +0 -64
  400. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/select_delete_strategy.rb +0 -29
  401. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/select_update_strategy.rb +0 -30
  402. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/json_delete_handler.rb +0 -49
  403. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/json_update_handler.rb +0 -71
  404. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader.rb +0 -231
  405. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer.rb +0 -391
  406. package/dist/assets/cli-ruby/lib/shopify_cli/theme/theme.rb +0 -212
  407. package/dist/assets/cli-ruby/lib/shopify_cli/theme/theme_access_api.rb +0 -89
  408. package/dist/assets/cli-ruby/lib/shopify_cli/theme/theme_admin_api.rb +0 -101
  409. package/dist/assets/cli-ruby/lib/shopify_cli/thread_pool/job.rb +0 -35
  410. package/dist/assets/cli-ruby/lib/shopify_cli/thread_pool.rb +0 -49
  411. package/dist/assets/cli-ruby/lib/shopify_cli/transform_data_structure.rb +0 -87
  412. package/dist/assets/cli-ruby/lib/shopify_cli/utilities.rb +0 -21
  413. package/dist/assets/cli-ruby/lib/shopify_cli/version.rb +0 -3
  414. package/dist/assets/cli-ruby/lib/shopify_cli.rb +0 -182
  415. package/dist/assets/cli-ruby/shipit.rubygems.yml +0 -3
  416. package/dist/assets/cli-ruby/shopify-cli.gemspec +0 -46
  417. package/dist/assets/cli-ruby/shopify-dev +0 -16
  418. package/dist/assets/cli-ruby/test/minitest_ext.rb +0 -115
  419. package/dist/assets/cli-ruby/test/project_types/extension/extension_test_helpers.rb +0 -70
  420. package/dist/assets/cli-ruby/test/shopify-cli/migrator/migrations/migration_helper.rb +0 -20
  421. package/dist/assets/cli-ruby/test/test_helpers.rb +0 -16
  422. package/dist/assets/cli-ruby/utilities/constants.rb +0 -7
  423. package/dist/assets/cli-ruby/utilities/docker/container.rb +0 -104
  424. package/dist/assets/cli-ruby/utilities/docker.rb +0 -89
  425. package/dist/assets/cli-ruby/utilities/utilities.rb +0 -6
  426. package/dist/assets/cli-ruby/vendor/deps/cli-kit/REVISION +0 -1
  427. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/autocall.rb +0 -21
  428. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/base_command.rb +0 -49
  429. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/command_registry.rb +0 -94
  430. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/config.rb +0 -133
  431. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/error_handler.rb +0 -123
  432. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb +0 -79
  433. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/ini.rb +0 -102
  434. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/levenshtein.rb +0 -82
  435. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/logger.rb +0 -82
  436. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/resolver.rb +0 -60
  437. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/ruby_backports/enumerable.rb +0 -6
  438. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/support/test_helper.rb +0 -244
  439. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/support.rb +0 -9
  440. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/system.rb +0 -243
  441. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/util.rb +0 -193
  442. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/version.rb +0 -5
  443. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit.rb +0 -60
  444. package/dist/assets/cli-ruby/vendor/deps/cli-ui/REVISION +0 -1
  445. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/ansi.rb +0 -157
  446. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/color.rb +0 -84
  447. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/formatter.rb +0 -193
  448. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_stack.rb +0 -98
  449. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style/box.rb +0 -166
  450. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style/bracket.rb +0 -139
  451. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style.rb +0 -120
  452. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame.rb +0 -269
  453. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/glyph.rb +0 -84
  454. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/os.rb +0 -73
  455. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/printer.rb +0 -59
  456. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/progress.rb +0 -90
  457. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/progress_plain.rb +0 -50
  458. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt/interactive_options.rb +0 -484
  459. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt/options_handler.rb +0 -29
  460. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt.rb +0 -282
  461. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner/async.rb +0 -40
  462. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner/spin_group.rb +0 -263
  463. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner.rb +0 -66
  464. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/stdout_router.rb +0 -232
  465. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/terminal.rb +0 -46
  466. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/truncater.rb +0 -102
  467. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/version.rb +0 -5
  468. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb +0 -27
  469. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets/status.rb +0 -61
  470. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets.rb +0 -77
  471. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/wrap.rb +0 -56
  472. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui.rb +0 -234
  473. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/LICENSE +0 -22
  474. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/README.md +0 -67
  475. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/Rakefile +0 -54
  476. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/lib/ruby2_keywords.rb +0 -57
  477. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/ruby2_keywords.gemspec +0 -18
  478. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/test/test_keyword.rb +0 -41
  479. package/dist/assets/cli-ruby/vendor/deps/smart_properties/REVISION +0 -1
  480. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/errors.rb +0 -114
  481. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/property.rb +0 -168
  482. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/property_collection.rb +0 -83
  483. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/validations/ancestor.rb +0 -27
  484. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/validations.rb +0 -8
  485. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/version.rb +0 -3
  486. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties.rb +0 -174
  487. package/dist/assets/cli-ruby/vendor/deps/webrick/Gemfile +0 -3
  488. package/dist/assets/cli-ruby/vendor/deps/webrick/LICENSE.txt +0 -22
  489. package/dist/assets/cli-ruby/vendor/deps/webrick/README.md +0 -61
  490. package/dist/assets/cli-ruby/vendor/deps/webrick/Rakefile +0 -10
  491. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/accesslog.rb +0 -157
  492. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/cgi.rb +0 -313
  493. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/compat.rb +0 -36
  494. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/config.rb +0 -158
  495. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/cookie.rb +0 -172
  496. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/htmlutils.rb +0 -30
  497. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/authenticator.rb +0 -117
  498. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/basicauth.rb +0 -116
  499. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/digestauth.rb +0 -395
  500. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htdigest.rb +0 -132
  501. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htgroup.rb +0 -97
  502. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htpasswd.rb +0 -158
  503. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/userdb.rb +0 -53
  504. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth.rb +0 -96
  505. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpproxy.rb +0 -354
  506. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httprequest.rb +0 -636
  507. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpresponse.rb +0 -564
  508. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/https.rb +0 -152
  509. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpserver.rb +0 -294
  510. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/abstract.rb +0 -152
  511. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/cgi_runner.rb +0 -47
  512. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/cgihandler.rb +0 -126
  513. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/erbhandler.rb +0 -88
  514. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/filehandler.rb +0 -552
  515. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/prochandler.rb +0 -47
  516. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet.rb +0 -23
  517. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpstatus.rb +0 -194
  518. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httputils.rb +0 -512
  519. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpversion.rb +0 -76
  520. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/log.rb +0 -156
  521. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/server.rb +0 -381
  522. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/ssl.rb +0 -215
  523. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/utils.rb +0 -265
  524. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/version.rb +0 -18
  525. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick.rb +0 -232
  526. package/dist/assets/cli-ruby/vendor/deps/webrick/webrick.gemspec +0 -74
  527. package/dist/assets/cli-ruby/vendor/gen/lib/gen/commands/help.rb +0 -20
  528. package/dist/assets/cli-ruby/vendor/gen/lib/gen/commands/new.rb +0 -21
  529. package/dist/assets/cli-ruby/vendor/gen/lib/gen/commands.rb +0 -18
  530. package/dist/assets/cli-ruby/vendor/gen/lib/gen/entry_point.rb +0 -10
  531. package/dist/assets/cli-ruby/vendor/gen/lib/gen/generator.rb +0 -165
  532. package/dist/assets/cli-ruby/vendor/gen/lib/gen.rb +0 -39
  533. package/dist/assets/cli-ruby/vendor/gen/template/Gemfile +0 -10
  534. package/dist/assets/cli-ruby/vendor/gen/template/README.md +0 -1
  535. package/dist/assets/cli-ruby/vendor/gen/template/bin/testunit +0 -23
  536. package/dist/assets/cli-ruby/vendor/gen/template/bin/update-deps +0 -97
  537. package/dist/assets/cli-ruby/vendor/gen/template/dev-gems.yml +0 -3
  538. package/dist/assets/cli-ruby/vendor/gen/template/dev-vendor.yml +0 -4
  539. package/dist/assets/cli-ruby/vendor/gen/template/exe/__app__-gems +0 -17
  540. package/dist/assets/cli-ruby/vendor/gen/template/exe/__app__-vendor +0 -18
  541. package/dist/assets/cli-ruby/vendor/gen/template/lib/__app__/commands/example.rb +0 -19
  542. package/dist/assets/cli-ruby/vendor/gen/template/lib/__app__/commands/help.rb +0 -21
  543. package/dist/assets/cli-ruby/vendor/gen/template/lib/__app__/commands.rb +0 -18
  544. package/dist/assets/cli-ruby/vendor/gen/template/lib/__app__/entry_point.rb +0 -10
  545. package/dist/assets/cli-ruby/vendor/gen/template/lib/__app__.rb +0 -33
  546. package/dist/assets/cli-ruby/vendor/gen/template/test/example_test.rb +0 -17
  547. package/dist/assets/cli-ruby/vendor/gen/template/test/test_helper.rb +0 -22
  548. package/dist/assets/cli-ruby/vendor/lib/semantic/LICENSE +0 -20
  549. package/dist/assets/cli-ruby/vendor/lib/semantic/semantic.rb +0 -4
  550. package/dist/assets/cli-ruby/vendor/lib/semantic/version.rb +0 -179
@@ -1,133 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "shopify_cli/thread_pool"
4
- require "shopify_cli/theme/backoff_helper"
5
-
6
- require_relative "bulk_job"
7
-
8
- module ShopifyCLI
9
- module Theme
10
- class Syncer
11
- class Uploader
12
- class Bulk
13
- include ShopifyCLI::Theme::BackoffHelper
14
-
15
- MAX_BULK_BYTESIZE = 102_400 # 100KB
16
- MAX_BULK_FILES = 10 # 10 files
17
- SHUTDOWN_TIMEOUT = 20 # 20 seconds
18
- SHUTDOWN_RETRY_INTERVAL = 0.2 # 200 milliseconds
19
-
20
- attr_reader :ctx, :theme, :admin_api
21
-
22
- def initialize(ctx, theme, admin_api, pool_size: 15)
23
- @ctx = ctx
24
- @theme = theme
25
- @admin_api = admin_api
26
- @pending_items = []
27
- @in_progress_items = []
28
-
29
- # Mutex used to coordinate changes in the `@pending_items` shared
30
- # accross the `@thread_pool` threads
31
- @pending_items_mutex = Mutex.new
32
-
33
- # Mutex used to coordinate changes in the `@in_progress_items`
34
- # shared accross the `@thread_pool` threads
35
- @in_progress_items_mutex = Mutex.new
36
-
37
- # Initialize thread pool and the jobs
38
- @thread_pool = initialize_thread_pool!(pool_size)
39
-
40
- # Initialize backoff helper on main thread to pause all jobs when
41
- # requests are reaching API rate limits
42
- initialize_backoff_helper!(margin: pool_size, backoff_delay: 5)
43
- end
44
-
45
- def enqueue(bulk_item)
46
- @pending_items_mutex.synchronize { @pending_items << bulk_item }
47
- end
48
-
49
- def shutdown
50
- wait_bulk_items
51
- @thread_pool.shutdown
52
- end
53
-
54
- def consume_bulk_items
55
- items = []
56
- items_bytesize = 0
57
-
58
- @pending_items_mutex.synchronize do
59
- has_enough_items = false
60
- has_enough_bytesize = false
61
-
62
- until has_enough_items || has_enough_bytesize || @pending_items.empty?
63
- bulk_item = @pending_items.first
64
-
65
- has_enough_items = items.size + 1 > MAX_BULK_FILES
66
- has_enough_bytesize = items_bytesize + bulk_item.size > MAX_BULK_BYTESIZE
67
-
68
- break if items.any? && (has_enough_items || has_enough_bytesize)
69
-
70
- items << bulk_item
71
- items_bytesize += bulk_item.size
72
-
73
- @pending_items.shift
74
- end
75
- end
76
-
77
- @in_progress_items_mutex.synchronize do
78
- @in_progress_items += items
79
- end
80
-
81
- [items, items_bytesize]
82
- end
83
-
84
- def clean_in_progress_items(items)
85
- @in_progress_items_mutex.synchronize do
86
- @in_progress_items -= items
87
- end
88
- end
89
-
90
- def remaining_items
91
- @pending_items + @in_progress_items
92
- end
93
-
94
- private
95
-
96
- def wait_bulk_items
97
- start_time = Time.now
98
-
99
- wait(SHUTDOWN_RETRY_INTERVAL) while remaining_items? && start_time - Time.now < SHUTDOWN_TIMEOUT
100
-
101
- files = remaining_items.map { |item| "- #{item.key}" }.join("\n")
102
-
103
- log("shutdown, remaining_items=#{remaining_items.size}\n#{files}")
104
- end
105
-
106
- def remaining_items?
107
- !@pending_items.empty? || !@in_progress_items.empty?
108
- end
109
-
110
- def initialize_thread_pool!(pool_size)
111
- ShopifyCLI::ThreadPool
112
- .new(pool_size: pool_size)
113
- .tap do |thread_pool|
114
- pool_size.times { thread_pool.schedule(spawn_job) }
115
- end
116
- end
117
-
118
- def spawn_job
119
- BulkJob.new(ctx, self)
120
- end
121
-
122
- def log(message)
123
- ctx.debug("[Bulk] #{message}")
124
- end
125
-
126
- def wait(seconds)
127
- sleep(seconds)
128
- end
129
- end
130
- end
131
- end
132
- end
133
- end
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "shopify_cli/thread_pool/job"
4
-
5
- module ShopifyCLI
6
- module Theme
7
- class Syncer
8
- class Uploader
9
- class BulkItem
10
- attr_reader :file, :block
11
- attr_accessor :retries
12
-
13
- def initialize(file, &block)
14
- @file = file
15
- @block = block
16
- @retries = 0
17
- end
18
-
19
- def to_h
20
- { body: body }
21
- end
22
-
23
- def to_s
24
- "#<#{self.class.name} key=#{key}, retries=#{retries}>"
25
- end
26
-
27
- def liquid?
28
- file.liquid?
29
- end
30
-
31
- def key
32
- file.relative_path
33
- end
34
-
35
- def size
36
- @size ||= body.bytesize
37
- end
38
-
39
- def body
40
- @body ||= JSON.generate(asset: asset)
41
- end
42
-
43
- def asset
44
- @asset ||= asset_hash
45
- end
46
-
47
- private
48
-
49
- def asset_hash
50
- asset = { key: file.relative_path }
51
-
52
- if file.text?
53
- asset[:value] = file.read
54
- else
55
- asset[:attachment] = Base64.encode64(file.read)
56
- end
57
-
58
- asset
59
- end
60
- end
61
- end
62
- end
63
- end
64
- end
@@ -1,139 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "shopify_cli/thread_pool/job"
4
-
5
- require_relative "bulk_request"
6
-
7
- module ShopifyCLI
8
- module Theme
9
- class Syncer
10
- class Uploader
11
- class BulkJob < ShopifyCLI::ThreadPool::Job
12
- INTERVAL = 0.2 # 200ms
13
- MAX_RETRIES = 10
14
-
15
- attr_reader :ctx, :bulk, :admin_api
16
-
17
- def initialize(ctx, bulk)
18
- super(INTERVAL)
19
-
20
- @ctx = ctx
21
- @bulk = bulk
22
- @admin_api = bulk.admin_api
23
-
24
- # Mutex used to coordinate changes in the bulk items
25
- @bulk_item_mutex = Mutex.new
26
-
27
- # Mutex used to coordinate changes in the bulk items
28
- @bulk_item_mutex = Mutex.new
29
- end
30
-
31
- def perform!
32
- bulk.wait_for_backoff!
33
-
34
- # Fetch bulk items
35
- bulk_items, bulk_size = bulk.consume_bulk_items
36
- return if bulk_items.empty?
37
-
38
- # Perform bulk request
39
- log("job request: size=#{bulk_items.size}, bytesize=#{bulk_size}")
40
- bulk_status, bulk_body, response = rest_request(bulk_items)
41
- bulk.backoff_if_near_limit!(response)
42
- log("job response: http_status=#{bulk_status}")
43
-
44
- # Abort execution when a fatal error happens
45
- return stable_flag_suggestion! if bulk_status != 207
46
-
47
- # Handle item reponses
48
- responses = parse_responses(bulk_body)
49
- responses
50
- .each_with_index do |tuple, index|
51
- status, body = tuple
52
- bulk_item = bulk_items[index]
53
- handle_item_response(bulk_item, status, body, response)
54
- end
55
- ensure
56
- bulk.clean_in_progress_items(bulk_items)
57
- end
58
-
59
- private
60
-
61
- def handle_item_response(bulk_item, status, body, response)
62
- if status == 200
63
- return handle_success(bulk_item, status, body, response)
64
- end
65
-
66
- if bulk_item.retries < MAX_RETRIES
67
- return handle_retry(bulk_item, status, body, response)
68
- end
69
-
70
- handle_error(bulk_item, status, body)
71
- end
72
-
73
- def handle_success(bulk_item, status, body, response)
74
- log("bulk item success (item=#{bulk_item.key})")
75
-
76
- @bulk_item_mutex.synchronize do
77
- bulk_item.block.call(status, body, response)
78
- end
79
- end
80
-
81
- def handle_retry(bulk_item, status, _body, _response)
82
- key = bulk_item.key
83
- retries = bulk_item.retries
84
-
85
- log("bulk item error (item=#{key}, status=#{status}, retries=#{retries})")
86
-
87
- @bulk_item_mutex.synchronize do
88
- bulk_item.retries += 1
89
- bulk.enqueue(bulk_item)
90
- end
91
- end
92
-
93
- def handle_error(bulk_item, status, body)
94
- log("bulk item fatal error (item=#{bulk_item.key}, status=#{status})")
95
-
96
- @bulk_item_mutex.synchronize do
97
- bulk_item.block.call(status, body, error_response(body))
98
- end
99
- end
100
-
101
- def stable_flag_suggestion!
102
- ctx.abort(ctx.message("theme.stable_flag_suggestion"))
103
- end
104
-
105
- def rest_request(bulk_items)
106
- theme = bulk.theme
107
- args = BulkRequest.new(theme, bulk_items).to_h
108
-
109
- measure("bulk rest_request") { admin_api.rest_request(**args) }
110
- end
111
-
112
- def measure(subject)
113
- return yield unless ctx.debug?
114
-
115
- start_time = Time.now
116
- result = yield
117
- time_elapsed = (Time.now - start_time) * 1000
118
-
119
- log("#{subject} time: #{time_elapsed}ms")
120
-
121
- result
122
- end
123
-
124
- def parse_responses(body)
125
- body["results"]&.map { |r| [r["code"], r["body"]] } || []
126
- end
127
-
128
- def error_response(body)
129
- ShopifyCLI::API::APIRequestError.new(body, response: { body: body })
130
- end
131
-
132
- def log(message)
133
- ctx.debug("[BulkJob ##{object_id}] #{message}")
134
- end
135
- end
136
- end
137
- end
138
- end
139
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ShopifyCLI
4
- module Theme
5
- class Syncer
6
- class Uploader
7
- class BulkRequest
8
- def initialize(theme, bulk_items)
9
- @theme = theme
10
- @bulk_items = bulk_items
11
- end
12
-
13
- def to_h
14
- {
15
- path: "themes/#{@theme.id}/assets/bulk.json",
16
- method: "PUT",
17
- body: JSON.generate({ assets: assets }),
18
- }
19
- end
20
-
21
- private
22
-
23
- def assets
24
- @bulk_items.map(&:asset)
25
- end
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "apply_to_all_form"
4
-
5
- module ShopifyCLI
6
- module Theme
7
- class Syncer
8
- class Uploader
9
- module Forms
10
- class ApplyToAll
11
- attr_reader :value
12
-
13
- def initialize(ctx, number_of_files)
14
- @ctx = ctx
15
- @number_of_files = number_of_files
16
- @value = nil
17
- @apply = nil
18
- end
19
-
20
- def apply?(value)
21
- return unless @number_of_files > 1
22
-
23
- if @apply.nil?
24
- @apply = ask.apply?
25
- @value = value if @apply
26
- end
27
-
28
- @apply
29
- end
30
-
31
- private
32
-
33
- def ask
34
- ApplyToAllForm.ask(@ctx, [], number_of_files: @number_of_files)
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ShopifyCLI
4
- module Theme
5
- class Syncer
6
- class Uploader
7
- module Forms
8
- class ApplyToAllForm < ShopifyCLI::Form
9
- attr_accessor :apply
10
- flag_arguments :number_of_files
11
-
12
- def ask
13
- title = message("title", number_of_files - 1)
14
-
15
- self.apply = CLI::UI::Prompt.ask(title, allow_empty: false) do |handler|
16
- handler.option(message("yes")) { true }
17
- handler.option(message("no")) { false }
18
- end
19
-
20
- self
21
- end
22
-
23
- def apply?
24
- apply
25
- end
26
-
27
- private
28
-
29
- def message(key, *params)
30
- ctx.message("theme.serve.syncer.forms.apply_to_all.#{key}", *params)
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ShopifyCLI
4
- module Theme
5
- class Syncer
6
- class Uploader
7
- module Forms
8
- class BaseStrategyForm < ShopifyCLI::Form
9
- attr_accessor :strategy
10
-
11
- def ask
12
- ctx.puts(title_context(file))
13
-
14
- self.strategy = CLI::UI::Prompt.ask(title_question, allow_empty: false) do |handler|
15
- strategies.each do |strategy|
16
- handler.option(as_text(strategy)) { strategy }
17
- end
18
- end
19
-
20
- exit_cli if self.strategy == :exit
21
-
22
- self
23
- end
24
-
25
- protected
26
-
27
- ##
28
- # List of strategies that populate the form options
29
- #
30
- def strategies
31
- raise "`#{self.class.name}#strategies' must be defined"
32
- end
33
-
34
- ##
35
- # Message prefix for the form title and options (strategies).
36
- # See the methods `title` and `as_text`
37
- #
38
- def prefix
39
- raise "`#{self.class.name}#prefix' must be defined"
40
- end
41
-
42
- private
43
-
44
- def exit_cli
45
- exit(0)
46
- end
47
-
48
- def title_context(file)
49
- ctx.message("#{prefix}.title_context", file.relative_path)
50
- end
51
-
52
- def title_question
53
- ctx.message("#{prefix}.title_question")
54
- end
55
-
56
- def as_text(strategy)
57
- ctx.message("#{prefix}.#{strategy}")
58
- end
59
- end
60
- end
61
- end
62
- end
63
- end
64
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "base_strategy_form"
4
-
5
- module ShopifyCLI
6
- module Theme
7
- class Syncer
8
- class Uploader
9
- module Forms
10
- class SelectDeleteStrategy < BaseStrategyForm
11
- flag_arguments :file
12
-
13
- def strategies
14
- %i[
15
- delete
16
- restore
17
- exit
18
- ]
19
- end
20
-
21
- def prefix
22
- "theme.serve.syncer.forms.delete_strategy"
23
- end
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "base_strategy_form"
4
-
5
- module ShopifyCLI
6
- module Theme
7
- class Syncer
8
- class Uploader
9
- module Forms
10
- class SelectUpdateStrategy < BaseStrategyForm
11
- flag_arguments :file, :exists_remotely
12
-
13
- def strategies
14
- %i[
15
- keep_remote
16
- keep_local
17
- union_merge
18
- exit
19
- ]
20
- end
21
-
22
- def prefix
23
- "theme.serve.syncer.forms.#{exists_remotely ? "update_strategy" : "update_remote_deleted_strategy"}"
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "forms/apply_to_all"
4
- require_relative "forms/select_delete_strategy"
5
-
6
- module ShopifyCLI
7
- module Theme
8
- class Syncer
9
- class Uploader
10
- module JsonDeleteHandler
11
- def enqueue_json_deletes(files)
12
- return enqueue_deletes(files) if overwrite_json?
13
-
14
- # Handle conflicts when JSON files cannot be overwritten
15
- handle_delete_conflicts(files)
16
- end
17
-
18
- private
19
-
20
- def handle_delete_conflicts(files)
21
- to_delete = []
22
- to_get = []
23
-
24
- apply_to_all = Forms::ApplyToAll.new(ctx, files.size)
25
-
26
- files.each do |file|
27
- delete_strategy = apply_to_all.value || ask_delete_strategy(file)
28
- apply_to_all.apply?(delete_strategy)
29
-
30
- case delete_strategy
31
- when :delete
32
- to_delete << file
33
- when :restore
34
- to_get << file
35
- end
36
- end
37
-
38
- enqueue_deletes(to_delete)
39
- enqueue_get(to_get)
40
- end
41
-
42
- def ask_delete_strategy(file)
43
- Forms::SelectDeleteStrategy.ask(ctx, [], file: file).strategy
44
- end
45
- end
46
- end
47
- end
48
- end
49
- end
@@ -1,71 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "forms/apply_to_all"
4
- require_relative "forms/select_update_strategy"
5
-
6
- module ShopifyCLI
7
- module Theme
8
- class Syncer
9
- class Uploader
10
- module JsonUpdateHandler
11
- def enqueue_json_updates(files)
12
- return enqueue_updates(files) if overwrite_json?
13
-
14
- # Handle conflicts when JSON files cannot be overwritten
15
- handle_update_conflicts(files)
16
- end
17
-
18
- private
19
-
20
- def handle_update_conflicts(files)
21
- to_get = []
22
- to_delete = []
23
- to_update = []
24
- to_union_merge = []
25
-
26
- apply_to_all = Forms::ApplyToAll.new(ctx, files.size)
27
-
28
- files.each do |file|
29
- update_strategy = apply_to_all.value || ask_update_strategy(file)
30
- apply_to_all.apply?(update_strategy)
31
-
32
- case update_strategy
33
- when :keep_remote
34
- if file_exist_remotely?(file)
35
- to_get << file
36
- else
37
- delete_locally(file)
38
- end
39
- when :keep_local
40
- to_update << file
41
- when :union_merge
42
- if file_exist_remotely?(file)
43
- to_union_merge << file
44
- else
45
- to_update << file
46
- end
47
- end
48
- end
49
-
50
- enqueue_get(to_get)
51
- enqueue_deletes(to_delete)
52
- enqueue_updates(to_update)
53
- enqueue_union_merges(to_union_merge)
54
- end
55
-
56
- def file_exist_remotely?(file)
57
- !checksums[file.relative_path].nil?
58
- end
59
-
60
- def delete_locally(file)
61
- ::File.delete(file.absolute_path)
62
- end
63
-
64
- def ask_update_strategy(file)
65
- Forms::SelectUpdateStrategy.ask(ctx, [], file: file, exists_remotely: file_exist_remotely?(file)).strategy
66
- end
67
- end
68
- end
69
- end
70
- end
71
- end