@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,75 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ShopifyCLI
4
- module Theme
5
- class DevServer
6
- class HotReload
7
- def initialize(ctx, app, broadcast_hooks: [], script_injector: nil, watcher:, mode:)
8
- @ctx = ctx
9
- @app = app
10
- @mode = mode
11
- @broadcast_hooks = broadcast_hooks
12
- @script_injector = script_injector
13
- @streams = SSE::Streams.new
14
- @watcher = watcher
15
- @watcher.add_observer(self, :notify_streams_of_file_change)
16
- end
17
-
18
- def call(env)
19
- path = env["PATH_INFO"]
20
- if path == "/hot-reload"
21
- create_stream
22
- else
23
- status, headers, body = @app.call(env)
24
-
25
- if request_is_html?(headers) && leads_to_injectable_body?(path)
26
- body = inject_hot_reload_javascript(body)
27
- end
28
-
29
- [status, headers, body]
30
- end
31
- end
32
-
33
- def close
34
- @streams.close
35
- end
36
-
37
- def notify_streams_of_file_change(modified, added, removed)
38
- @broadcast_hooks.each do |hook|
39
- hook.call(modified, added, removed, streams: @streams)
40
- end
41
- end
42
-
43
- private
44
-
45
- def request_is_html?(headers)
46
- headers["content-type"]&.start_with?("text/html")
47
- end
48
-
49
- def leads_to_injectable_body?(path)
50
- path !~ /.+\/sandbox/
51
- end
52
-
53
- def inject_hot_reload_javascript(body)
54
- @script_injector&.inject(body: body, dir: __dir__, mode: @mode)
55
- end
56
-
57
- def create_stream
58
- stream = @streams.new
59
-
60
- @ctx.debug("[HotReload] Connected to SSE stream")
61
-
62
- [
63
- 200,
64
- {
65
- "Content-Type" => "text/event-stream",
66
- "Cache-Control" => "no-cache",
67
- "webrick.chunked" => true,
68
- },
69
- stream,
70
- ]
71
- end
72
- end
73
- end
74
- end
75
- end
@@ -1,101 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ShopifyCLI
4
- module Theme
5
- class DevServer
6
- class LocalAssets
7
- SUPPORTED_EXTENSIONS = [:js, :css].join("|")
8
- CDN_REGEX = %r{(//cdn)\.shopify\.com/s/.+?/(assets/.+?\.(?:#{SUPPORTED_EXTENSIONS}))}
9
- VANITY_CDN_REGEX = %r{(/cdn)/shop/.+?/(assets/.+?\.(?:#{SUPPORTED_EXTENSIONS}))}
10
-
11
- class FileBody
12
- def initialize(path)
13
- @path = path
14
- end
15
-
16
- # Naive implementation. Only used in unit tests.
17
- def each
18
- yield @path.read
19
- end
20
-
21
- # Rack will stream a body that responds to `to_path`
22
- def to_path
23
- @path.to_path
24
- end
25
- end
26
-
27
- def initialize(ctx, app, target)
28
- @ctx = ctx
29
- @app = app
30
- @target = target
31
- end
32
-
33
- def call(env)
34
- path_info = env["PATH_INFO"]
35
- if path_info.start_with?("/assets")
36
- # Serve from disk
37
- serve_file(path_info)
38
- else
39
- # Proxy the request, and replace the URLs in the response
40
- status, headers, body = @app.call(env)
41
- body = replace_asset_urls(body) unless path_info.start_with?("/fonts")
42
- [status, headers, body]
43
- end
44
- end
45
-
46
- def shop_regex
47
- %r{(http:|https:)?//#{shop}/(assets/.+?\.(?:#{SUPPORTED_EXTENSIONS}))}
48
- end
49
-
50
- private
51
-
52
- def replace_asset_urls(body)
53
- replaced_body = body.join
54
- [CDN_REGEX, VANITY_CDN_REGEX, shop_regex].each do |regex|
55
- replaced_body = replaced_body.gsub(regex) do |match|
56
- path = Regexp.last_match[2]
57
- @target.static_asset_paths.include?(path) ? "/#{path}" : match
58
- end
59
- end
60
-
61
- [replaced_body]
62
- rescue ArgumentError => error
63
- return [body.join] if error.message.include?("invalid byte sequence")
64
-
65
- raise error
66
- end
67
-
68
- def serve_fail(status, body)
69
- [
70
- status,
71
- {
72
- "Content-Type" => "text/plain",
73
- "Content-Length" => body.size.to_s,
74
- },
75
- [body],
76
- ]
77
- end
78
-
79
- def serve_file(path_info)
80
- path = @target.root.join(path_info[1..-1])
81
- if path.file? && path.readable? && @target.static_asset_file?(path)
82
- [
83
- 200,
84
- {
85
- "Content-Type" => MimeType.by_filename(path).to_s,
86
- "Content-Length" => path.size.to_s,
87
- },
88
- FileBody.new(path),
89
- ]
90
- else
91
- serve_fail(404, "Not found")
92
- end
93
- end
94
-
95
- def shop
96
- @shop ||= ShopifyCLI::Theme::ThemeAdminAPI.new(@ctx).get_shop_or_abort
97
- end
98
- end
99
- end
100
- end
101
- end
@@ -1,313 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "stringio"
4
- require "time"
5
- require "cgi"
6
- require "net/http"
7
-
8
- require_relative "header_hash"
9
- require_relative "proxy_param_builder"
10
-
11
- module ShopifyCLI
12
- module Theme
13
- class DevServer
14
- HOP_BY_HOP_HEADERS = [
15
- "connection",
16
- "keep-alive",
17
- "proxy-authenticate",
18
- "proxy-authorization",
19
- "te",
20
- "trailer",
21
- "transfer-encoding",
22
- "upgrade",
23
- "content-security-policy",
24
- "content-length",
25
- ]
26
-
27
- class Proxy
28
- SESSION_COOKIE_NAME = "_shopify_essential"
29
- SESSION_COOKIE_REGEXP = /#{SESSION_COOKIE_NAME}=([^;]*)(;|$)/
30
- SESSION_COOKIE_MAX_AGE = 60 * 60 * 23 # 1 day - leeway of 1h
31
- IGNORED_ENDPOINTS = %w[
32
- shopify/monorail
33
- mini-profiler-resources
34
- web-pixels-manager
35
- wpm
36
- ]
37
-
38
- def initialize(ctx, theme, param_builder, cache_cleaned = false)
39
- @ctx = ctx
40
- @theme = theme
41
- @param_builder = param_builder
42
- @cache_cleaned = cache_cleaned
43
-
44
- @core_endpoints = Set.new
45
- @secure_session_id = nil
46
- @last_session_cookie_refresh = nil
47
- end
48
-
49
- def call(env)
50
- return [204, {}, []] if IGNORED_ENDPOINTS.any? { |endpoint| env["PATH_INFO"].include?(endpoint) }
51
-
52
- headers = extract_http_request_headers(env)
53
- is_chrome = headers["User-Agent"] =~ /[Cc]hrome/
54
- headers["Host"] = shop
55
- headers["Cookie"] = add_session_cookie(headers["Cookie"])
56
- headers["Accept-Encoding"] = "none"
57
- headers["User-Agent"] = "Shopify CLI"
58
- query = URI.decode_www_form(env["QUERY_STRING"])
59
- replace_templates = build_replacement_param(env)
60
-
61
- response = set_preview_theme_id(env, query, headers)
62
- return serve_response(response, env) if response
63
-
64
- response = if replace_templates.any?
65
- # Pass to SFR the recently modified templates in `replace_templates` or
66
- # `replace_extension_templates` body param
67
- headers["Authorization"] = "Bearer #{bearer_token}"
68
- form_data = URI.decode_www_form(env["rack.input"].read).to_h
69
- request(
70
- "POST", env["PATH_INFO"],
71
- headers: headers,
72
- query: query,
73
- form_data: form_data.merge(replace_templates).merge(_method: env["REQUEST_METHOD"])
74
- )
75
- else
76
- request(
77
- env["REQUEST_METHOD"], env["PATH_INFO"],
78
- headers: headers,
79
- query: query,
80
- body_stream: (env["rack.input"] if has_body?(headers))
81
- )
82
- end
83
-
84
- headers = get_response_headers(response, env)
85
- headers = modify_headers(headers) unless is_chrome
86
-
87
- unless headers["x-storefront-renderer-rendered"]
88
- @core_endpoints << env["PATH_INFO"]
89
- end
90
-
91
- serve_response(response, env, headers)
92
- end
93
-
94
- def secure_session_id
95
- if secure_session_id_expired?
96
- @ctx.debug("Refreshing preview _shopify_essential cookie")
97
- response = request("HEAD", "/", query: [[:preview_theme_id, theme_id]])
98
- @secure_session_id = extract_shopify_essential_from_response_headers(response)
99
- @last_session_cookie_refresh = Time.now
100
- end
101
-
102
- @secure_session_id
103
- end
104
-
105
- private
106
-
107
- def serve_response(response, env, headers = get_response_headers(response, env))
108
- body = patch_body(env, response.body)
109
- body = [body] unless body.respond_to?(:each)
110
- [response.code, headers, body]
111
- end
112
-
113
- def set_preview_theme_id(env, query, headers)
114
- if env["PATH_INFO"].start_with?("/password")
115
- @cache_cleaned = false
116
- return
117
- end
118
-
119
- return if @cache_cleaned
120
-
121
- @cache_cleaned = true
122
-
123
- query = query.dup
124
- query << ["preview_theme_id", theme_id]
125
-
126
- request(
127
- env["REQUEST_METHOD"], env["PATH_INFO"],
128
- headers: headers,
129
- query: query,
130
- body_stream: (env["rack.input"] if has_body?(headers))
131
- )
132
- end
133
-
134
- def patch_body(env, body)
135
- return [""] unless body
136
-
137
- # Patch custom font asset urls
138
- body = body.gsub(
139
- %r{(url\((["']))?(http:|https:)?//#{shop}(?!/cdn/fonts)(/.*?\.(woff2?|eot|ttf))(\?[^'"\)]*)?(\2\))?\s*}
140
- ) do |_|
141
- match = Regexp.last_match
142
- "#{match[1]}http://#{host(env)}#{match[4]}#{match[6]}#{match[7]} "
143
- end
144
-
145
- # Patch data-base-url attributes
146
- body = body.gsub(%r{(data-base-url=(["']))(http:|https:)?//#{shop}(.*?)(\2)}) do |_|
147
- match = Regexp.last_match
148
- "#{match[1]}http://#{host(env)}#{match[4]}#{match[5]}"
149
- end
150
-
151
- body
152
- end
153
-
154
- def host(env)
155
- env["HTTP_HOST"]
156
- end
157
-
158
- def has_body?(headers)
159
- headers["Content-Length"] || headers["Transfer-Encoding"]
160
- end
161
-
162
- def bearer_token
163
- Environment.storefront_renderer_auth_token ||
164
- ShopifyCLI::DB.get(:storefront_renderer_production_exchange_token) ||
165
- raise(KeyError, "storefront_renderer_production_exchange_token missing")
166
- end
167
-
168
- def extract_http_request_headers(env)
169
- headers = HeaderHash.new
170
-
171
- env.each do |name, value|
172
- next if value.nil?
173
-
174
- if /^HTTP_[A-Z0-9_]+$/.match?(name) || name == "CONTENT_TYPE" || name == "CONTENT_LENGTH"
175
- headers[reconstruct_header_name(name)] = value
176
- end
177
- end
178
-
179
- x_forwarded_for = (headers["X-Forwarded-For"].to_s.split(/, +/) << env["REMOTE_ADDR"]).join(", ")
180
- headers["X-Forwarded-For"] = x_forwarded_for
181
-
182
- headers
183
- end
184
-
185
- def normalize_headers(headers)
186
- mapped = headers.map do |k, v|
187
- [k, v.is_a?(Array) ? v.join("\n") : v]
188
- end
189
- HeaderHash.new(Hash[mapped])
190
- end
191
-
192
- def reconstruct_header_name(name)
193
- name.sub(/^HTTP_/, "").gsub("_", "-")
194
- end
195
-
196
- def add_session_cookie(cookie_header)
197
- cookie_header = if cookie_header
198
- cookie_header.dup
199
- else
200
- +""
201
- end
202
-
203
- expected_session_cookie = "#{SESSION_COOKIE_NAME}=#{secure_session_id};"
204
-
205
- unless cookie_header.include?(SESSION_COOKIE_NAME)
206
- cookie_header << "; " unless cookie_header.empty?
207
- cookie_header << expected_session_cookie
208
- end
209
-
210
- cookie_header
211
- end
212
-
213
- def secure_session_id_expired?
214
- return true unless @secure_session_id && @last_session_cookie_refresh
215
-
216
- Time.now - @last_session_cookie_refresh >= SESSION_COOKIE_MAX_AGE
217
- end
218
-
219
- def extract_shopify_essential_from_response_headers(headers)
220
- return unless headers["set-cookie"]
221
-
222
- headers["set-cookie"][SESSION_COOKIE_REGEXP, 1]
223
- end
224
-
225
- def get_response_headers(response, env)
226
- response_headers = normalize_headers(
227
- response.respond_to?(:headers) ? response.headers : response.to_hash,
228
- )
229
- # According to https://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-14#section-7.1.3.1Acc
230
- # should remove hop-by-hop header fields
231
- # (Taken from Rack::Proxy)
232
- response_headers.reject! { |k| HOP_BY_HOP_HEADERS.include?(k.downcase) }
233
-
234
- if response_headers["location"]&.include?("myshopify.com") ||
235
- response_headers["location"]&.include?("spin.dev")
236
- response_headers["location"].gsub!(%r{(https://#{shop})}, "http://#{host(env)}")
237
- end
238
-
239
- new_session_id = extract_shopify_essential_from_response_headers(response_headers)
240
- if new_session_id
241
- @ctx.debug("Renew _shopify_essential cookie by the response")
242
- @secure_session_id = secure_session_id
243
- end
244
-
245
- response_headers
246
- end
247
-
248
- def request(method, path, headers: nil, query: [], form_data: nil, body_stream: nil)
249
- uri = URI.join("https://#{shop}", path)
250
-
251
- if proxy_via_theme_access_app?(path)
252
- headers = headers ? headers.slice("ACCEPT", "CONTENT-TYPE", "CONTENT-LENGTH", "Cookie") : {}
253
- headers.merge!({
254
- "X-Shopify-Access-Token" => Environment.admin_auth_token,
255
- "X-Shopify-Shop" => shop,
256
- })
257
- uri = URI.join("https://#{ShopifyCLI::Constants::ThemeKitAccess::BASE_URL}", "cli/sfr#{path}")
258
- end
259
-
260
- uri.query = URI.encode_www_form(query + [[:_fd, 0], [:pb, 0]])
261
-
262
- @ctx.debug("Proxying #{method} #{uri}")
263
-
264
- Net::HTTP.start(uri.host, 443, use_ssl: true) do |http|
265
- req_class = Net::HTTP.const_get(method.capitalize)
266
- req = req_class.new(uri)
267
- req.initialize_http_header(headers) if headers
268
- req.set_form_data(form_data) if form_data
269
- req.body_stream = body_stream if body_stream
270
- response = http.request(req)
271
- @ctx.debug("`-> #{response.code} request_id: #{response["x-request-id"]}")
272
- response
273
- end
274
- end
275
-
276
- def shop
277
- @shop ||= @theme.shop
278
- end
279
-
280
- def theme_id
281
- @theme_id ||= @theme.id
282
- end
283
-
284
- def build_replacement_param(env)
285
- @param_builder
286
- .with_core_endpoints(@core_endpoints)
287
- .with_rack_env(env)
288
- .build
289
- end
290
-
291
- def proxy_via_theme_access_app?(path)
292
- return false unless Environment.theme_access_password?
293
- return false if path == "/localization"
294
- return false if path.start_with?("/cart/")
295
-
296
- true
297
- end
298
-
299
- def modify_headers(headers)
300
- if headers["set-cookie"]&.include?("storefront_digest")
301
- headers["set-cookie"] = modify_set_cookie_header_for_safari(headers["set-cookie"])
302
- end
303
-
304
- headers
305
- end
306
-
307
- def modify_set_cookie_header_for_safari(set_cookie_header)
308
- set_cookie_header.gsub("secure;", "secure: false;")
309
- end
310
- end
311
- end
312
- end
313
- end
@@ -1,84 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "cgi"
4
-
5
- module ShopifyCLI
6
- module Theme
7
- class DevServer
8
- class ProxyParamBuilder
9
- def build
10
- # Core doesn't support replace_templates
11
- return {} if core?(current_path)
12
-
13
- (syncer_templates + request_templates)
14
- .select { |file| file.liquid? || file.json? }
15
- .uniq(&:relative_path)
16
- .map { |file| as_param(file) }
17
- .to_h
18
- end
19
-
20
- def with_core_endpoints(core_endpoints)
21
- @core_endpoints = core_endpoints
22
- self
23
- end
24
-
25
- def with_syncer(syncer)
26
- @syncer = syncer
27
- self
28
- end
29
-
30
- def with_rack_env(rack_env)
31
- @rack_env = rack_env
32
- self
33
- end
34
-
35
- def with_theme(theme)
36
- @theme = theme
37
- self
38
- end
39
-
40
- private
41
-
42
- def as_param(file)
43
- ["replace_templates[#{file.relative_path}]", file.read]
44
- end
45
-
46
- def syncer_templates
47
- @syncer&.pending_updates || []
48
- end
49
-
50
- def request_templates
51
- cookie_sections
52
- .map { |section| @theme[section] unless @theme.nil? }
53
- .compact
54
- end
55
-
56
- def cookie_sections
57
- CGI::Cookie.parse(cookie)["hot_reload_files"].join.split(",") || []
58
- rescue StandardError
59
- []
60
- end
61
-
62
- def core?(path)
63
- core_endpoints.include?(path)
64
- end
65
-
66
- def current_path
67
- rack_env["PATH_INFO"]
68
- end
69
-
70
- def cookie
71
- rack_env["HTTP_COOKIE"]
72
- end
73
-
74
- def core_endpoints
75
- @core_endpoints || []
76
- end
77
-
78
- def rack_env
79
- @rack_env || {}
80
- end
81
- end
82
- end
83
- end
84
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ShopifyCLI
4
- module Theme
5
- class DevServer
6
- class ReloadMode
7
- MODES = [:"hot-reload", :"full-page", :off]
8
-
9
- class << self
10
- def default
11
- :"hot-reload"
12
- end
13
-
14
- def get!(mode)
15
- MODES.find { |m| m == mode.to_sym } || raise_error(mode)
16
- end
17
-
18
- private
19
-
20
- def raise_error(invalid_mode)
21
- error_message = ShopifyCLI::Context.message("theme.serve.reload_mode_is_not_valid", invalid_mode)
22
- help_message = ShopifyCLI::Context.message("theme.serve.try_a_valid_reload_mode", valid_modes)
23
-
24
- ShopifyCLI::Context.abort(error_message, help_message)
25
- end
26
-
27
- def valid_modes
28
- MODES.map { |v| "`#{v}`" }.join(", ")
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "shopify_cli/thread_pool/job"
4
-
5
- module ShopifyCLI
6
- module Theme
7
- class DevServer
8
- class RemoteWatcher
9
- class JsonFilesUpdateJob < ShopifyCLI::ThreadPool::Job
10
- def initialize(theme, syncer, interval)
11
- super(interval)
12
-
13
- @theme = theme
14
- @syncer = syncer
15
- end
16
-
17
- def perform!
18
- @syncer.fetch_checksums!
19
- @syncer.enqueue_get(json_files)
20
- end
21
-
22
- private
23
-
24
- def json_files
25
- @theme
26
- .json_files
27
- .reject { |file| @syncer.pending_updates.include?(file) }
28
- .reject { |file| @syncer.broken_file?(file) }
29
- .reject { |file| @syncer.ignore_file?(file) }
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "shopify_cli/thread_pool"
4
-
5
- require_relative "remote_watcher/json_files_update_job"
6
-
7
- module ShopifyCLI
8
- module Theme
9
- class DevServer
10
- class RemoteWatcher
11
- SYNC_INTERVAL = 3 # seconds
12
-
13
- class << self
14
- def to(theme:, syncer:)
15
- new(theme, syncer)
16
- end
17
- end
18
-
19
- def start
20
- thread_pool.schedule(recurring_job)
21
- end
22
-
23
- def stop
24
- thread_pool.shutdown
25
- end
26
-
27
- private
28
-
29
- def initialize(theme, syncer)
30
- @theme = theme
31
- @syncer = syncer
32
- end
33
-
34
- def thread_pool
35
- @thread_pool ||= ShopifyCLI::ThreadPool.new(pool_size: 1)
36
- end
37
-
38
- def recurring_job
39
- JsonFilesUpdateJob.new(@theme, @syncer, SYNC_INTERVAL)
40
- end
41
- end
42
- end
43
- end
44
- end