@shopify/cli 3.69.3 → 3.70.0

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