@shopify/cli 3.69.4 → 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 (540) hide show
  1. package/{dist/assets/cli-ruby/LICENSE → LICENSE} +0 -2
  2. package/dist/chunk-2PUMVRDO.js +131 -0
  3. package/dist/{chunk-KM4TMAQ2.js → chunk-335KXO4I.js} +12 -8
  4. package/dist/{chunk-HV364V3E.js → chunk-43YGIE7Y.js} +2 -2
  5. package/dist/chunk-47OJGAFT.js +28 -0
  6. package/dist/chunk-5OP2SA7G.js +3634 -0
  7. package/dist/{chunk-YNL4XNMX.js → chunk-5QQTRGJ7.js} +4 -4
  8. package/dist/{chunk-FWX3KCDM.js → chunk-7GNQ7YY4.js} +7 -7
  9. package/dist/{chunk-2JRUKBKX.js → chunk-AT4IG4GJ.js} +32 -216
  10. package/dist/{chunk-BMTELIUS.js → chunk-BMNDAI5O.js} +4 -4
  11. package/dist/{chunk-6XKWVDB6.js → chunk-CBBS4CV7.js} +3 -3
  12. package/dist/{chunk-27ILOE3X.js → chunk-CBD6UXLA.js} +8 -8
  13. package/dist/chunk-DVTWERMH.js +105 -0
  14. package/dist/{chunk-FX2HB3CJ.js → chunk-E2SYFYJU.js} +4 -4
  15. package/dist/{chunk-JHVVETTP.js → chunk-FDJVVEGH.js} +17 -7
  16. package/dist/{chunk-7NPDPZ22.js → chunk-GDYKHT64.js} +2610 -6199
  17. package/dist/{chunk-EJGKAHVK.js → chunk-I3IIDOBX.js} +3 -3
  18. package/dist/{chunk-ISDSND4L.js → chunk-JLK5OMFF.js} +2 -2
  19. package/dist/{chunk-N3U3EHOE.js → chunk-KYBCPKPL.js} +3 -3
  20. package/dist/{chunk-S2IXL3EU.js → chunk-LN444KRM.js} +2 -2
  21. package/dist/chunk-MH5JSAVK.js +28 -0
  22. package/dist/{chunk-TLZ4ZBH3.js → chunk-MMQOVZDR.js} +6 -4
  23. package/dist/{chunk-UQUVQV3X.js → chunk-MQXHFQM3.js} +4 -4
  24. package/dist/{chunk-F54UWMGQ.js → chunk-MRDDDATQ.js} +3 -3
  25. package/dist/{chunk-6IATSQ3X.js → chunk-N2DEYZD6.js} +3 -3
  26. package/dist/{chunk-334DJQUN.js → chunk-N4X7XQWN.js} +2 -2
  27. package/dist/{chunk-YPWRQ5AU.js → chunk-ND6AGPC6.js} +3 -3
  28. package/dist/{chunk-A3JXD7N7.js → chunk-NEOIQ6PN.js} +3 -3
  29. package/dist/{chunk-OWCYMR5Y.js → chunk-NH4U4X67.js} +3 -3
  30. package/dist/{chunk-VQ3R5DHS.js → chunk-NYFXBTWK.js} +3 -3
  31. package/dist/{chunk-GYP4MV72.js → chunk-P6ABWRKD.js} +7 -7
  32. package/dist/{chunk-2NCWYVM4.js → chunk-PJKCWDDX.js} +117 -117
  33. package/dist/{chunk-VHEJRU4K.js → chunk-PKE54TAY.js} +5 -5
  34. package/dist/{chunk-FVUAIT37.js → chunk-RUK73IAH.js} +2 -2
  35. package/dist/{chunk-RYTZQSHH.js → chunk-SYRHCENA.js} +2 -2
  36. package/dist/{chunk-K3GASX6Y.js → chunk-TCTXUAZT.js} +3 -3
  37. package/dist/chunk-UOZCMFCN.js +160 -0
  38. package/dist/{chunk-7B5FNNVB.js → chunk-VFQMUAHB.js} +4 -4
  39. package/dist/{chunk-ORDEDRCZ.js → chunk-VHAXHYTL.js} +3 -3
  40. package/dist/{chunk-CPEFXM7T.js → chunk-VT3VJHZ7.js} +4 -4
  41. package/dist/{chunk-TV5WOUSX.js → chunk-WI6MEN7U.js} +2 -2
  42. package/dist/{chunk-WHP4CEBJ.js → chunk-WN3FKMKB.js} +14 -14
  43. package/dist/{chunk-Y3MSANL5.js → chunk-X6F3DHKX.js} +2 -2
  44. package/dist/{chunk-P7JUHQKL.js → chunk-XEDHKQZA.js} +4 -3
  45. package/dist/{chunk-BRO6DC7D.js → chunk-XSMWYZDC.js} +17 -23
  46. package/dist/cli/commands/auth/logout.js +20 -18
  47. package/dist/cli/commands/auth/logout.test.js +25 -23
  48. package/dist/cli/commands/cache/clear.d.ts +6 -0
  49. package/dist/cli/commands/cache/clear.js +35 -0
  50. package/dist/cli/commands/debug/command-flags.js +19 -17
  51. package/dist/cli/commands/demo/catalog.js +20 -18
  52. package/dist/cli/commands/demo/generate-file.js +20 -18
  53. package/dist/cli/commands/demo/index.js +20 -18
  54. package/dist/cli/commands/demo/print-ai-prompt.js +20 -18
  55. package/dist/cli/commands/docs/generate.js +19 -17
  56. package/dist/cli/commands/docs/generate.test.js +19 -17
  57. package/dist/cli/commands/help.js +19 -17
  58. package/dist/cli/commands/kitchen-sink/async.js +20 -18
  59. package/dist/cli/commands/kitchen-sink/async.test.js +20 -18
  60. package/dist/cli/commands/kitchen-sink/index.js +22 -20
  61. package/dist/cli/commands/kitchen-sink/index.test.js +22 -20
  62. package/dist/cli/commands/kitchen-sink/prompts.js +20 -18
  63. package/dist/cli/commands/kitchen-sink/prompts.test.js +20 -18
  64. package/dist/cli/commands/kitchen-sink/static.js +20 -18
  65. package/dist/cli/commands/kitchen-sink/static.test.js +20 -18
  66. package/dist/cli/commands/notifications/generate.d.ts +6 -0
  67. package/dist/cli/commands/notifications/generate.js +36 -0
  68. package/dist/cli/commands/notifications/list.d.ts +6 -0
  69. package/dist/cli/commands/notifications/list.js +36 -0
  70. package/dist/cli/commands/search.js +20 -18
  71. package/dist/cli/commands/upgrade.js +20 -18
  72. package/dist/cli/commands/version.js +20 -18
  73. package/dist/cli/commands/version.test.js +20 -18
  74. package/dist/cli/services/commands/notifications.d.ts +2 -0
  75. package/dist/cli/services/commands/notifications.js +31 -0
  76. package/dist/cli/services/commands/search.js +9 -9
  77. package/dist/cli/services/commands/search.test.js +9 -9
  78. package/dist/cli/services/commands/version.js +10 -10
  79. package/dist/cli/services/commands/version.test.js +11 -11
  80. package/dist/cli/services/demo.js +9 -9
  81. package/dist/cli/services/demo.test.js +11 -11
  82. package/dist/cli/services/kitchen-sink/async.js +9 -9
  83. package/dist/cli/services/kitchen-sink/prompts.js +9 -9
  84. package/dist/cli/services/kitchen-sink/static.js +9 -9
  85. package/dist/cli/services/upgrade.js +10 -10
  86. package/dist/cli/services/upgrade.test.js +12 -12
  87. package/dist/{constants-T7JXE5K7.js → constants-QFFDI47A.js} +6 -4
  88. package/dist/{custom-oclif-loader-TBU3GENB.js → custom-oclif-loader-IZLFCRGJ.js} +11 -11
  89. package/dist/data/filters.json +39 -16
  90. package/dist/data/latest.json +1 -1
  91. package/dist/data/objects.json +164 -6
  92. package/dist/data/shopify_system_translations.json +32 -3
  93. package/dist/{del-7ZS2Z64N.js → del-FEQWOMIX.js} +2 -2
  94. package/dist/{error-handler-IL72ACEX.js → error-handler-DAI5HMQW.js} +17 -16
  95. package/dist/hooks/postrun.js +14 -13
  96. package/dist/hooks/prerun.js +14 -13
  97. package/dist/index.js +9901 -8692
  98. package/dist/{lib-JHUCJTHS.js → lib-JJXX7GH6.js} +5 -5
  99. package/dist/{local-OE2I46PA.js → local-QD6GDUUE.js} +9 -9
  100. package/dist/{morph-UIXWG2S7.js → morph-FN23MJ2S.js} +2 -2
  101. package/dist/{node-SDBKEHIV.js → node-4XKDIIJ7.js} +21 -19
  102. package/dist/{node-package-manager-LPDV6HZY.js → node-package-manager-IEZ6F5VN.js} +10 -10
  103. package/dist/{system-SGABHAU2.js → system-KSIGUX64.js} +9 -9
  104. package/dist/tsconfig.tsbuildinfo +1 -1
  105. package/dist/{ui-WB42ZV4M.js → ui-BUB4OWO7.js} +9 -9
  106. package/dist/{workerd-YWTPL4SF.js → workerd-DIIGDIHZ.js} +21 -19
  107. package/oclif.manifest.json +60 -93
  108. package/package.json +6 -6
  109. package/dist/assets/cli-ruby/.devcontainer.json +0 -5
  110. package/dist/assets/cli-ruby/.rubocop.yml +0 -102
  111. package/dist/assets/cli-ruby/.rubocop_todo.yml +0 -24
  112. package/dist/assets/cli-ruby/CHANGELOG.md +0 -634
  113. package/dist/assets/cli-ruby/CONTRIBUTING.md +0 -3
  114. package/dist/assets/cli-ruby/Codespace.dockerfile +0 -35
  115. package/dist/assets/cli-ruby/Gemfile +0 -32
  116. package/dist/assets/cli-ruby/README.md +0 -30
  117. package/dist/assets/cli-ruby/Rakefile +0 -167
  118. package/dist/assets/cli-ruby/SECURITY.md +0 -59
  119. package/dist/assets/cli-ruby/Tests.dockerfile +0 -35
  120. package/dist/assets/cli-ruby/assets/logo.png +0 -0
  121. package/dist/assets/cli-ruby/bin/console +0 -11
  122. package/dist/assets/cli-ruby/bin/load_shopify.rb +0 -22
  123. package/dist/assets/cli-ruby/bin/shopify +0 -67
  124. package/dist/assets/cli-ruby/bin/shopify.bat +0 -3
  125. package/dist/assets/cli-ruby/bin/update-deps +0 -97
  126. package/dist/assets/cli-ruby/dev.yml +0 -29
  127. package/dist/assets/cli-ruby/docs/README.md +0 -13
  128. package/dist/assets/cli-ruby/docs/contributors/testing.md +0 -27
  129. package/dist/assets/cli-ruby/docs/users/installation.md +0 -3
  130. package/dist/assets/cli-ruby/docs/users/migrate-from-themekit.md +0 -18
  131. package/dist/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.1.0.gz.sha256 +0 -1
  132. package/dist/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.2.0.gz.sha256 +0 -1
  133. package/dist/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.2.1.gz.sha256 +0 -1
  134. package/dist/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.3.0.gz.sha256 +0 -1
  135. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.1.0.gz.sha256 +0 -1
  136. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.2.0.gz.sha256 +0 -1
  137. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.2.1.gz.sha256 +0 -1
  138. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.3.0.gz.sha256 +0 -1
  139. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.1.0.gz.sha256 +0 -1
  140. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.2.0.gz.sha256 +0 -1
  141. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.2.1.gz.sha256 +0 -1
  142. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.3.0.gz.sha256 +0 -1
  143. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.1.0.gz.sha256 +0 -1
  144. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.2.0.gz.sha256 +0 -1
  145. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.2.1.gz.sha256 +0 -1
  146. package/dist/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.3.0.gz.sha256 +0 -1
  147. package/dist/assets/cli-ruby/ext/javy/javy.rb +0 -204
  148. package/dist/assets/cli-ruby/ext/javy/version +0 -1
  149. package/dist/assets/cli-ruby/ext/shopify-extensions/extconf.rb +0 -21
  150. package/dist/assets/cli-ruby/ext/shopify-extensions/shopify_extensions.rb +0 -152
  151. package/dist/assets/cli-ruby/ext/shopify-extensions/version +0 -1
  152. package/dist/assets/cli-ruby/features/support/assertions.rb +0 -17
  153. package/dist/assets/cli-ruby/features/support/cli.rb +0 -7
  154. package/dist/assets/cli-ruby/features/support/process.rb +0 -27
  155. package/dist/assets/cli-ruby/features/support/requires.rb +0 -3
  156. package/dist/assets/cli-ruby/lib/docgen/class_template.md.erb +0 -81
  157. package/dist/assets/cli-ruby/lib/docgen/index_template.md.erb +0 -5
  158. package/dist/assets/cli-ruby/lib/docgen/markdown.rb +0 -101
  159. package/dist/assets/cli-ruby/lib/graphql/admin_introspection.graphql +0 -87
  160. package/dist/assets/cli-ruby/lib/graphql/all_organizations.graphql +0 -19
  161. package/dist/assets/cli-ruby/lib/graphql/all_orgs_with_apps.graphql +0 -30
  162. package/dist/assets/cli-ruby/lib/graphql/api_versions.graphql +0 -6
  163. package/dist/assets/cli-ruby/lib/graphql/convert_dev_to_test_store.graphql +0 -10
  164. package/dist/assets/cli-ruby/lib/graphql/create_app.graphql +0 -20
  165. package/dist/assets/cli-ruby/lib/graphql/create_customer.graphql +0 -9
  166. package/dist/assets/cli-ruby/lib/graphql/create_draft_order.graphql +0 -8
  167. package/dist/assets/cli-ruby/lib/graphql/create_product.graphql +0 -9
  168. package/dist/assets/cli-ruby/lib/graphql/extension_create.graphql +0 -37
  169. package/dist/assets/cli-ruby/lib/graphql/extension_update_draft.graphql +0 -19
  170. package/dist/assets/cli-ruby/lib/graphql/fetch_specifications.graphql +0 -14
  171. package/dist/assets/cli-ruby/lib/graphql/find_organization.graphql +0 -18
  172. package/dist/assets/cli-ruby/lib/graphql/find_organization_with_apps.graphql +0 -20
  173. package/dist/assets/cli-ruby/lib/graphql/get_app_by_api_key.graphql +0 -9
  174. package/dist/assets/cli-ruby/lib/graphql/get_app_urls.graphql +0 -6
  175. package/dist/assets/cli-ruby/lib/graphql/get_extension_registrations.graphql +0 -28
  176. package/dist/assets/cli-ruby/lib/graphql/get_variant_id.graphql +0 -16
  177. package/dist/assets/cli-ruby/lib/graphql/update_dashboard_urls.graphql +0 -8
  178. package/dist/assets/cli-ruby/lib/project_types/extension/cli.rb +0 -75
  179. package/dist/assets/cli-ruby/lib/project_types/extension/commands/extension_command.rb +0 -29
  180. package/dist/assets/cli-ruby/lib/project_types/extension/commands/serve.rb +0 -164
  181. package/dist/assets/cli-ruby/lib/project_types/extension/errors.rb +0 -9
  182. package/dist/assets/cli-ruby/lib/project_types/extension/extension_project.rb +0 -151
  183. package/dist/assets/cli-ruby/lib/project_types/extension/extension_project_keys.rb +0 -12
  184. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo.rb +0 -50
  185. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_config.rb +0 -59
  186. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_dependencies.rb +0 -28
  187. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_runtime.rb +0 -15
  188. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_serve.rb +0 -115
  189. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_setup.rb +0 -54
  190. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_setup_step.rb +0 -31
  191. package/dist/assets/cli-ruby/lib/project_types/extension/features/argo_setup_steps.rb +0 -51
  192. package/dist/assets/cli-ruby/lib/project_types/extension/features/runtimes/admin.rb +0 -29
  193. package/dist/assets/cli-ruby/lib/project_types/extension/features/runtimes/base.rb +0 -19
  194. package/dist/assets/cli-ruby/lib/project_types/extension/features/runtimes/checkout_post_purchase.rb +0 -23
  195. package/dist/assets/cli-ruby/lib/project_types/extension/features/runtimes/checkout_ui_extension.rb +0 -29
  196. package/dist/assets/cli-ruby/lib/project_types/extension/loaders/project.rb +0 -50
  197. package/dist/assets/cli-ruby/lib/project_types/extension/loaders/specification_handler.rb +0 -22
  198. package/dist/assets/cli-ruby/lib/project_types/extension/messages/message_loading.rb +0 -34
  199. package/dist/assets/cli-ruby/lib/project_types/extension/messages/messages.rb +0 -320
  200. package/dist/assets/cli-ruby/lib/project_types/extension/models/app.rb +0 -14
  201. package/dist/assets/cli-ruby/lib/project_types/extension/models/lazy_specification_handler.rb +0 -12
  202. package/dist/assets/cli-ruby/lib/project_types/extension/models/specification.rb +0 -41
  203. package/dist/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/default.rb +0 -145
  204. package/dist/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/theme_app_extension.rb +0 -134
  205. package/dist/assets/cli-ruby/lib/project_types/extension/models/specifications.rb +0 -91
  206. package/dist/assets/cli-ruby/lib/project_types/extension/models/validation_error.rb +0 -17
  207. package/dist/assets/cli-ruby/lib/project_types/extension/models/version.rb +0 -15
  208. package/dist/assets/cli-ruby/lib/project_types/extension/tasks/configure_features.rb +0 -73
  209. package/dist/assets/cli-ruby/lib/project_types/extension/tasks/configure_options.rb +0 -21
  210. package/dist/assets/cli-ruby/lib/project_types/extension/tasks/converters/validation_error_converter.rb +0 -25
  211. package/dist/assets/cli-ruby/lib/project_types/extension/tasks/converters/version_converter.rb +0 -28
  212. package/dist/assets/cli-ruby/lib/project_types/extension/tasks/fetch_specifications.rb +0 -21
  213. package/dist/assets/cli-ruby/lib/project_types/node/cli.rb +0 -12
  214. package/dist/assets/cli-ruby/lib/project_types/node/forms/create.rb +0 -45
  215. package/dist/assets/cli-ruby/lib/project_types/node/messages/messages.rb +0 -33
  216. package/dist/assets/cli-ruby/lib/project_types/php/cli.rb +0 -16
  217. package/dist/assets/cli-ruby/lib/project_types/php/forms/create.rb +0 -44
  218. package/dist/assets/cli-ruby/lib/project_types/php/messages/messages.rb +0 -29
  219. package/dist/assets/cli-ruby/lib/project_types/rails/cli.rb +0 -15
  220. package/dist/assets/cli-ruby/lib/project_types/rails/forms/create.rb +0 -75
  221. package/dist/assets/cli-ruby/lib/project_types/rails/gem.rb +0 -110
  222. package/dist/assets/cli-ruby/lib/project_types/rails/messages/messages.rb +0 -101
  223. package/dist/assets/cli-ruby/lib/project_types/script/cli.rb +0 -27
  224. package/dist/assets/cli-ruby/lib/project_types/script/commands/connect.rb +0 -16
  225. package/dist/assets/cli-ruby/lib/project_types/script/commands/create.rb +0 -24
  226. package/dist/assets/cli-ruby/lib/project_types/script/commands/javy.rb +0 -24
  227. package/dist/assets/cli-ruby/lib/project_types/script/commands/push.rb +0 -26
  228. package/dist/assets/cli-ruby/lib/project_types/script/loaders/project.rb +0 -46
  229. package/dist/assets/cli-ruby/lib/project_types/script/loaders/specification_handler.rb +0 -22
  230. package/dist/assets/cli-ruby/lib/project_types/script/messages/messages.rb +0 -11
  231. package/dist/assets/cli-ruby/lib/project_types/theme/cli.rb +0 -33
  232. package/dist/assets/cli-ruby/lib/project_types/theme/commands/common/root_helper.rb +0 -94
  233. package/dist/assets/cli-ruby/lib/project_types/theme/commands/common/shop_helper.rb +0 -13
  234. package/dist/assets/cli-ruby/lib/project_types/theme/commands/console.rb +0 -23
  235. package/dist/assets/cli-ruby/lib/project_types/theme/commands/delete.rb +0 -70
  236. package/dist/assets/cli-ruby/lib/project_types/theme/commands/init.rb +0 -46
  237. package/dist/assets/cli-ruby/lib/project_types/theme/commands/list.rb +0 -33
  238. package/dist/assets/cli-ruby/lib/project_types/theme/commands/open.rb +0 -73
  239. package/dist/assets/cli-ruby/lib/project_types/theme/commands/package.rb +0 -73
  240. package/dist/assets/cli-ruby/lib/project_types/theme/commands/publish.rb +0 -49
  241. package/dist/assets/cli-ruby/lib/project_types/theme/commands/pull.rb +0 -118
  242. package/dist/assets/cli-ruby/lib/project_types/theme/commands/push.rb +0 -160
  243. package/dist/assets/cli-ruby/lib/project_types/theme/commands/serve.rb +0 -91
  244. package/dist/assets/cli-ruby/lib/project_types/theme/commands/share.rb +0 -62
  245. package/dist/assets/cli-ruby/lib/project_types/theme/commands/token.rb +0 -22
  246. package/dist/assets/cli-ruby/lib/project_types/theme/conversions/base_glob.rb +0 -65
  247. package/dist/assets/cli-ruby/lib/project_types/theme/conversions/ignore_glob.rb +0 -15
  248. package/dist/assets/cli-ruby/lib/project_types/theme/conversions/include_glob.rb +0 -15
  249. package/dist/assets/cli-ruby/lib/project_types/theme/forms/confirm_store.rb +0 -15
  250. package/dist/assets/cli-ruby/lib/project_types/theme/forms/select.rb +0 -34
  251. package/dist/assets/cli-ruby/lib/project_types/theme/messages/messages.rb +0 -429
  252. package/dist/assets/cli-ruby/lib/project_types/theme/models/specification_handlers/theme.rb +0 -19
  253. package/dist/assets/cli-ruby/lib/project_types/theme/presenters/theme_presenter.rb +0 -48
  254. package/dist/assets/cli-ruby/lib/project_types/theme/presenters/themes_presenter.rb +0 -29
  255. package/dist/assets/cli-ruby/lib/project_types/theme/ui/sync_progress_bar.rb +0 -20
  256. package/dist/assets/cli-ruby/lib/rubygems_plugin.rb +0 -26
  257. package/dist/assets/cli-ruby/lib/shopify_cli/admin_api.rb +0 -160
  258. package/dist/assets/cli-ruby/lib/shopify_cli/api.rb +0 -130
  259. package/dist/assets/cli-ruby/lib/shopify_cli/command/project_command.rb +0 -31
  260. package/dist/assets/cli-ruby/lib/shopify_cli/command/sub_command.rb +0 -20
  261. package/dist/assets/cli-ruby/lib/shopify_cli/command.rb +0 -166
  262. package/dist/assets/cli-ruby/lib/shopify_cli/commands.rb +0 -21
  263. package/dist/assets/cli-ruby/lib/shopify_cli/constants.rb +0 -101
  264. package/dist/assets/cli-ruby/lib/shopify_cli/context.rb +0 -709
  265. package/dist/assets/cli-ruby/lib/shopify_cli/core/cli_version.rb +0 -20
  266. package/dist/assets/cli-ruby/lib/shopify_cli/core/entry_point.rb +0 -64
  267. package/dist/assets/cli-ruby/lib/shopify_cli/core/executor.rb +0 -23
  268. package/dist/assets/cli-ruby/lib/shopify_cli/core/finalize.rb +0 -13
  269. package/dist/assets/cli-ruby/lib/shopify_cli/core/monorail.rb +0 -122
  270. package/dist/assets/cli-ruby/lib/shopify_cli/core.rb +0 -8
  271. package/dist/assets/cli-ruby/lib/shopify_cli/db.rb +0 -114
  272. package/dist/assets/cli-ruby/lib/shopify_cli/environment.rb +0 -217
  273. package/dist/assets/cli-ruby/lib/shopify_cli/exception_reporter.rb +0 -80
  274. package/dist/assets/cli-ruby/lib/shopify_cli/feature.rb +0 -95
  275. package/dist/assets/cli-ruby/lib/shopify_cli/file_system_listener.rb +0 -30
  276. package/dist/assets/cli-ruby/lib/shopify_cli/form.rb +0 -42
  277. package/dist/assets/cli-ruby/lib/shopify_cli/git.rb +0 -320
  278. package/dist/assets/cli-ruby/lib/shopify_cli/github/issue_url_generator.rb +0 -30
  279. package/dist/assets/cli-ruby/lib/shopify_cli/github.rb +0 -5
  280. package/dist/assets/cli-ruby/lib/shopify_cli/helpers/haikunator.rb +0 -92
  281. package/dist/assets/cli-ruby/lib/shopify_cli/helpers.rb +0 -5
  282. package/dist/assets/cli-ruby/lib/shopify_cli/http_request.rb +0 -43
  283. package/dist/assets/cli-ruby/lib/shopify_cli/identity_auth/env_auth_token.rb +0 -34
  284. package/dist/assets/cli-ruby/lib/shopify_cli/identity_auth.rb +0 -332
  285. package/dist/assets/cli-ruby/lib/shopify_cli/js_system.rb +0 -115
  286. package/dist/assets/cli-ruby/lib/shopify_cli/lazy_delegator.rb +0 -55
  287. package/dist/assets/cli-ruby/lib/shopify_cli/messages/messages.rb +0 -863
  288. package/dist/assets/cli-ruby/lib/shopify_cli/method_object.rb +0 -123
  289. package/dist/assets/cli-ruby/lib/shopify_cli/migrator/migration.rb +0 -27
  290. package/dist/assets/cli-ruby/lib/shopify_cli/migrator/migrations/1631709766_noop.rb +0 -13
  291. package/dist/assets/cli-ruby/lib/shopify_cli/migrator/migrations/1633691650_merge_reporting_configuration.rb +0 -41
  292. package/dist/assets/cli-ruby/lib/shopify_cli/migrator.rb +0 -46
  293. package/dist/assets/cli-ruby/lib/shopify_cli/options.rb +0 -40
  294. package/dist/assets/cli-ruby/lib/shopify_cli/partners_api/app_extensions/job.rb +0 -36
  295. package/dist/assets/cli-ruby/lib/shopify_cli/partners_api/app_extensions.rb +0 -46
  296. package/dist/assets/cli-ruby/lib/shopify_cli/partners_api/organizations.rb +0 -45
  297. package/dist/assets/cli-ruby/lib/shopify_cli/partners_api.rb +0 -91
  298. package/dist/assets/cli-ruby/lib/shopify_cli/project.rb +0 -199
  299. package/dist/assets/cli-ruby/lib/shopify_cli/project_type.rb +0 -66
  300. package/dist/assets/cli-ruby/lib/shopify_cli/reporting_configuration_controller.rb +0 -29
  301. package/dist/assets/cli-ruby/lib/shopify_cli/resolve_constant.rb +0 -25
  302. package/dist/assets/cli-ruby/lib/shopify_cli/resources/env_file.rb +0 -108
  303. package/dist/assets/cli-ruby/lib/shopify_cli/resources.rb +0 -5
  304. package/dist/assets/cli-ruby/lib/shopify_cli/result.rb +0 -448
  305. package/dist/assets/cli-ruby/lib/shopify_cli/shopifolk.rb +0 -82
  306. package/dist/assets/cli-ruby/lib/shopify_cli/task.rb +0 -20
  307. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/confirm_store.rb +0 -18
  308. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/create_api_client.rb +0 -40
  309. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_authenticated.rb +0 -19
  310. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_dev_store.rb +0 -41
  311. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_env.rb +0 -90
  312. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_git_dependency.rb +0 -14
  313. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_loopback_url.rb +0 -20
  314. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/ensure_project_type.rb +0 -14
  315. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/select_org_and_shop.rb +0 -81
  316. package/dist/assets/cli-ruby/lib/shopify_cli/tasks/update_dashboard_urls.rb +0 -57
  317. package/dist/assets/cli-ruby/lib/shopify_cli/tasks.rb +0 -44
  318. package/dist/assets/cli-ruby/lib/shopify_cli/theme/backoff_helper.rb +0 -47
  319. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/cdn_fonts.rb +0 -82
  320. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/certificate_manager.rb +0 -79
  321. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/errors.rb +0 -9
  322. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/header_hash.rb +0 -98
  323. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hooks/file_change_hook.rb +0 -77
  324. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/remote_file_deleter.rb +0 -62
  325. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/remote_file_reloader.rb +0 -63
  326. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/hot-reload-no-script.html +0 -27
  327. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/hot_reload.js +0 -48
  328. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/sse_client.js +0 -43
  329. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/theme.js +0 -114
  330. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/theme_extension.js +0 -121
  331. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/script_injector.rb +0 -57
  332. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/sections_index.rb +0 -50
  333. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload.rb +0 -75
  334. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/local_assets.rb +0 -101
  335. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy.rb +0 -313
  336. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy_param_builder.rb +0 -84
  337. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/reload_mode.rb +0 -34
  338. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/remote_watcher/json_files_update_job.rb +0 -35
  339. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/remote_watcher.rb +0 -44
  340. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/sse.rb +0 -75
  341. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/watcher.rb +0 -64
  342. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server/web_server.rb +0 -140
  343. package/dist/assets/cli-ruby/lib/shopify_cli/theme/dev_server.rb +0 -332
  344. package/dist/assets/cli-ruby/lib/shopify_cli/theme/development_theme.rb +0 -101
  345. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/app_extension.rb +0 -40
  346. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hooks/file_change_hook.rb +0 -76
  347. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hot_reload/script_injector.rb +0 -30
  348. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hot_reload.rb +0 -13
  349. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/local_assets.rb +0 -31
  350. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/proxy_param_builder.rb +0 -94
  351. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/watcher.rb +0 -49
  352. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server.rb +0 -175
  353. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/host_theme.rb +0 -109
  354. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/ignore_helper.rb +0 -35
  355. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer/extension_serve_job.rb +0 -120
  356. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer/operation.rb +0 -25
  357. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer.rb +0 -100
  358. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/ui/host_theme_progress_bar.rb +0 -35
  359. package/dist/assets/cli-ruby/lib/shopify_cli/theme/extension/ui/host_theme_raw_progress_bar.rb +0 -40
  360. package/dist/assets/cli-ruby/lib/shopify_cli/theme/file.rb +0 -133
  361. package/dist/assets/cli-ruby/lib/shopify_cli/theme/filter/path_matcher.rb +0 -38
  362. package/dist/assets/cli-ruby/lib/shopify_cli/theme/ignore_filter.rb +0 -112
  363. package/dist/assets/cli-ruby/lib/shopify_cli/theme/ignore_helper.rb +0 -37
  364. package/dist/assets/cli-ruby/lib/shopify_cli/theme/include_filter.rb +0 -67
  365. package/dist/assets/cli-ruby/lib/shopify_cli/theme/mime_type.rb +0 -34
  366. package/dist/assets/cli-ruby/lib/shopify_cli/theme/notifier.rb +0 -52
  367. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/api.rb +0 -109
  368. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/auth_dev_server.rb +0 -93
  369. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/auth_middleware.rb +0 -97
  370. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/remote_evaluator.rb +0 -166
  371. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/resources/success.html +0 -78
  372. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/resources/template.liquid +0 -15
  373. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl/snippet.rb +0 -81
  374. package/dist/assets/cli-ruby/lib/shopify_cli/theme/repl.rb +0 -88
  375. package/dist/assets/cli-ruby/lib/shopify_cli/theme/root.rb +0 -62
  376. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/checksums.rb +0 -66
  377. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/downloader.rb +0 -63
  378. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/error_reporter.rb +0 -45
  379. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/merger.rb +0 -53
  380. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/operation.rb +0 -49
  381. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/standard_reporter.rb +0 -32
  382. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/unsupported_script_warning.rb +0 -90
  383. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk.rb +0 -133
  384. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_item.rb +0 -64
  385. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_job.rb +0 -139
  386. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_request.rb +0 -30
  387. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/apply_to_all.rb +0 -41
  388. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/apply_to_all_form.rb +0 -37
  389. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/base_strategy_form.rb +0 -64
  390. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/select_delete_strategy.rb +0 -29
  391. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/select_update_strategy.rb +0 -30
  392. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/json_delete_handler.rb +0 -49
  393. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/json_update_handler.rb +0 -71
  394. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader.rb +0 -231
  395. package/dist/assets/cli-ruby/lib/shopify_cli/theme/syncer.rb +0 -391
  396. package/dist/assets/cli-ruby/lib/shopify_cli/theme/theme.rb +0 -212
  397. package/dist/assets/cli-ruby/lib/shopify_cli/theme/theme_access_api.rb +0 -89
  398. package/dist/assets/cli-ruby/lib/shopify_cli/theme/theme_admin_api.rb +0 -101
  399. package/dist/assets/cli-ruby/lib/shopify_cli/thread_pool/job.rb +0 -35
  400. package/dist/assets/cli-ruby/lib/shopify_cli/thread_pool.rb +0 -49
  401. package/dist/assets/cli-ruby/lib/shopify_cli/transform_data_structure.rb +0 -87
  402. package/dist/assets/cli-ruby/lib/shopify_cli/utilities.rb +0 -21
  403. package/dist/assets/cli-ruby/lib/shopify_cli/version.rb +0 -3
  404. package/dist/assets/cli-ruby/lib/shopify_cli.rb +0 -182
  405. package/dist/assets/cli-ruby/shipit.rubygems.yml +0 -3
  406. package/dist/assets/cli-ruby/shopify-cli.gemspec +0 -46
  407. package/dist/assets/cli-ruby/shopify-dev +0 -16
  408. package/dist/assets/cli-ruby/test/minitest_ext.rb +0 -115
  409. package/dist/assets/cli-ruby/test/project_types/extension/extension_test_helpers.rb +0 -70
  410. package/dist/assets/cli-ruby/test/shopify-cli/migrator/migrations/migration_helper.rb +0 -20
  411. package/dist/assets/cli-ruby/test/test_helpers.rb +0 -16
  412. package/dist/assets/cli-ruby/utilities/constants.rb +0 -7
  413. package/dist/assets/cli-ruby/utilities/docker/container.rb +0 -104
  414. package/dist/assets/cli-ruby/utilities/docker.rb +0 -89
  415. package/dist/assets/cli-ruby/utilities/utilities.rb +0 -6
  416. package/dist/assets/cli-ruby/vendor/deps/cli-kit/REVISION +0 -1
  417. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/autocall.rb +0 -21
  418. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/base_command.rb +0 -49
  419. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/command_registry.rb +0 -94
  420. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/config.rb +0 -133
  421. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/error_handler.rb +0 -123
  422. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb +0 -79
  423. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/ini.rb +0 -102
  424. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/levenshtein.rb +0 -82
  425. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/logger.rb +0 -82
  426. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/resolver.rb +0 -60
  427. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/ruby_backports/enumerable.rb +0 -6
  428. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/support/test_helper.rb +0 -244
  429. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/support.rb +0 -9
  430. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/system.rb +0 -243
  431. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/util.rb +0 -193
  432. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/version.rb +0 -5
  433. package/dist/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit.rb +0 -60
  434. package/dist/assets/cli-ruby/vendor/deps/cli-ui/REVISION +0 -1
  435. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/ansi.rb +0 -157
  436. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/color.rb +0 -84
  437. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/formatter.rb +0 -193
  438. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_stack.rb +0 -98
  439. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style/box.rb +0 -166
  440. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style/bracket.rb +0 -139
  441. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style.rb +0 -120
  442. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame.rb +0 -269
  443. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/glyph.rb +0 -84
  444. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/os.rb +0 -73
  445. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/printer.rb +0 -59
  446. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/progress.rb +0 -90
  447. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/progress_plain.rb +0 -50
  448. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt/interactive_options.rb +0 -484
  449. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt/options_handler.rb +0 -29
  450. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt.rb +0 -282
  451. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner/async.rb +0 -40
  452. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner/spin_group.rb +0 -263
  453. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner.rb +0 -66
  454. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/stdout_router.rb +0 -232
  455. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/terminal.rb +0 -46
  456. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/truncater.rb +0 -102
  457. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/version.rb +0 -5
  458. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb +0 -27
  459. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets/status.rb +0 -61
  460. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets.rb +0 -77
  461. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/wrap.rb +0 -56
  462. package/dist/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui.rb +0 -234
  463. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/LICENSE +0 -22
  464. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/README.md +0 -67
  465. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/Rakefile +0 -54
  466. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/lib/ruby2_keywords.rb +0 -57
  467. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/ruby2_keywords.gemspec +0 -18
  468. package/dist/assets/cli-ruby/vendor/deps/ruby2_keywords/test/test_keyword.rb +0 -41
  469. package/dist/assets/cli-ruby/vendor/deps/smart_properties/REVISION +0 -1
  470. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/errors.rb +0 -114
  471. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/property.rb +0 -168
  472. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/property_collection.rb +0 -83
  473. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/validations/ancestor.rb +0 -27
  474. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/validations.rb +0 -8
  475. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/version.rb +0 -3
  476. package/dist/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties.rb +0 -174
  477. package/dist/assets/cli-ruby/vendor/deps/webrick/Gemfile +0 -3
  478. package/dist/assets/cli-ruby/vendor/deps/webrick/LICENSE.txt +0 -22
  479. package/dist/assets/cli-ruby/vendor/deps/webrick/README.md +0 -61
  480. package/dist/assets/cli-ruby/vendor/deps/webrick/Rakefile +0 -10
  481. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/accesslog.rb +0 -157
  482. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/cgi.rb +0 -313
  483. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/compat.rb +0 -36
  484. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/config.rb +0 -158
  485. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/cookie.rb +0 -172
  486. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/htmlutils.rb +0 -30
  487. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/authenticator.rb +0 -117
  488. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/basicauth.rb +0 -116
  489. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/digestauth.rb +0 -395
  490. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htdigest.rb +0 -132
  491. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htgroup.rb +0 -97
  492. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htpasswd.rb +0 -158
  493. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/userdb.rb +0 -53
  494. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth.rb +0 -96
  495. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpproxy.rb +0 -354
  496. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httprequest.rb +0 -636
  497. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpresponse.rb +0 -564
  498. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/https.rb +0 -152
  499. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpserver.rb +0 -294
  500. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/abstract.rb +0 -152
  501. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/cgi_runner.rb +0 -47
  502. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/cgihandler.rb +0 -126
  503. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/erbhandler.rb +0 -88
  504. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/filehandler.rb +0 -552
  505. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/prochandler.rb +0 -47
  506. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet.rb +0 -23
  507. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpstatus.rb +0 -194
  508. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httputils.rb +0 -512
  509. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpversion.rb +0 -76
  510. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/log.rb +0 -156
  511. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/server.rb +0 -381
  512. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/ssl.rb +0 -215
  513. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/utils.rb +0 -265
  514. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick/version.rb +0 -18
  515. package/dist/assets/cli-ruby/vendor/deps/webrick/lib/webrick.rb +0 -232
  516. package/dist/assets/cli-ruby/vendor/deps/webrick/webrick.gemspec +0 -74
  517. package/dist/assets/cli-ruby/vendor/gen/lib/gen/commands/help.rb +0 -20
  518. package/dist/assets/cli-ruby/vendor/gen/lib/gen/commands/new.rb +0 -21
  519. package/dist/assets/cli-ruby/vendor/gen/lib/gen/commands.rb +0 -18
  520. package/dist/assets/cli-ruby/vendor/gen/lib/gen/entry_point.rb +0 -10
  521. package/dist/assets/cli-ruby/vendor/gen/lib/gen/generator.rb +0 -165
  522. package/dist/assets/cli-ruby/vendor/gen/lib/gen.rb +0 -39
  523. package/dist/assets/cli-ruby/vendor/gen/template/Gemfile +0 -10
  524. package/dist/assets/cli-ruby/vendor/gen/template/README.md +0 -1
  525. package/dist/assets/cli-ruby/vendor/gen/template/bin/testunit +0 -23
  526. package/dist/assets/cli-ruby/vendor/gen/template/bin/update-deps +0 -97
  527. package/dist/assets/cli-ruby/vendor/gen/template/dev-gems.yml +0 -3
  528. package/dist/assets/cli-ruby/vendor/gen/template/dev-vendor.yml +0 -4
  529. package/dist/assets/cli-ruby/vendor/gen/template/exe/__app__-gems +0 -17
  530. package/dist/assets/cli-ruby/vendor/gen/template/exe/__app__-vendor +0 -18
  531. package/dist/assets/cli-ruby/vendor/gen/template/lib/__app__/commands/example.rb +0 -19
  532. package/dist/assets/cli-ruby/vendor/gen/template/lib/__app__/commands/help.rb +0 -21
  533. package/dist/assets/cli-ruby/vendor/gen/template/lib/__app__/commands.rb +0 -18
  534. package/dist/assets/cli-ruby/vendor/gen/template/lib/__app__/entry_point.rb +0 -10
  535. package/dist/assets/cli-ruby/vendor/gen/template/lib/__app__.rb +0 -33
  536. package/dist/assets/cli-ruby/vendor/gen/template/test/example_test.rb +0 -17
  537. package/dist/assets/cli-ruby/vendor/gen/template/test/test_helper.rb +0 -22
  538. package/dist/assets/cli-ruby/vendor/lib/semantic/LICENSE +0 -20
  539. package/dist/assets/cli-ruby/vendor/lib/semantic/semantic.rb +0 -4
  540. 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