@shopify/cli-kit 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 (514) hide show
  1. package/{assets/cli-ruby/LICENSE → LICENSE} +0 -2
  2. package/dist/cli/api/graphql/admin/generated/get_theme_file_bodies.d.ts +41 -0
  3. package/dist/cli/api/graphql/admin/generated/get_theme_file_bodies.js +165 -0
  4. package/dist/cli/api/graphql/admin/generated/get_theme_file_bodies.js.map +1 -0
  5. package/dist/cli/api/graphql/admin/generated/get_theme_file_checksums.d.ts +29 -0
  6. package/dist/cli/api/graphql/admin/generated/get_theme_file_checksums.js +100 -0
  7. package/dist/cli/api/graphql/admin/generated/get_theme_file_checksums.js.map +1 -0
  8. package/dist/cli/api/graphql/admin/generated/theme_delete.d.ts +17 -0
  9. package/dist/cli/api/graphql/admin/generated/theme_delete.js +53 -0
  10. package/dist/cli/api/graphql/admin/generated/theme_delete.js.map +1 -0
  11. package/dist/cli/api/graphql/admin/generated/theme_publish.d.ts +21 -0
  12. package/dist/cli/api/graphql/admin/generated/theme_publish.js +65 -0
  13. package/dist/cli/api/graphql/admin/generated/theme_publish.js.map +1 -0
  14. package/dist/cli/api/graphql/admin/generated/theme_update.d.ts +23 -0
  15. package/dist/cli/api/graphql/admin/generated/theme_update.js +75 -0
  16. package/dist/cli/api/graphql/admin/generated/theme_update.js.map +1 -0
  17. package/dist/private/node/api/graphql.d.ts +2 -2
  18. package/dist/private/node/api/graphql.js +4 -4
  19. package/dist/private/node/api/graphql.js.map +1 -1
  20. package/dist/private/node/api/headers.js +1 -1
  21. package/dist/private/node/api/headers.js.map +1 -1
  22. package/dist/private/node/api/rest.d.ts +1 -2
  23. package/dist/private/node/api/rest.js +2 -3
  24. package/dist/private/node/api/rest.js.map +1 -1
  25. package/dist/private/node/api.js +12 -1
  26. package/dist/private/node/api.js.map +1 -1
  27. package/dist/private/node/conf-store.d.ts +9 -4
  28. package/dist/private/node/conf-store.js +8 -6
  29. package/dist/private/node/conf-store.js.map +1 -1
  30. package/dist/private/node/constants.d.ts +1 -0
  31. package/dist/private/node/constants.js +1 -0
  32. package/dist/private/node/constants.js.map +1 -1
  33. package/dist/private/node/session/schema.d.ts +40 -40
  34. package/dist/private/node/ui/components/ConcurrentOutput.d.ts +1 -0
  35. package/dist/private/node/ui/components/ConcurrentOutput.js +4 -2
  36. package/dist/private/node/ui/components/ConcurrentOutput.js.map +1 -1
  37. package/dist/public/common/version.d.ts +1 -1
  38. package/dist/public/common/version.js +1 -1
  39. package/dist/public/common/version.js.map +1 -1
  40. package/dist/public/node/analytics.js +1 -2
  41. package/dist/public/node/analytics.js.map +1 -1
  42. package/dist/public/node/api/admin.d.ts +2 -1
  43. package/dist/public/node/api/admin.js +25 -9
  44. package/dist/public/node/api/admin.js.map +1 -1
  45. package/dist/public/node/api/graphql.js +1 -1
  46. package/dist/public/node/api/graphql.js.map +1 -1
  47. package/dist/public/node/base-command.js +4 -0
  48. package/dist/public/node/base-command.js.map +1 -1
  49. package/dist/public/node/cli.d.ts +4 -0
  50. package/dist/public/node/cli.js +7 -1
  51. package/dist/public/node/cli.js.map +1 -1
  52. package/dist/public/node/context/local.js +7 -0
  53. package/dist/public/node/context/local.js.map +1 -1
  54. package/dist/public/node/error-handler.js +1 -1
  55. package/dist/public/node/error-handler.js.map +1 -1
  56. package/dist/public/node/error.js +4 -13
  57. package/dist/public/node/error.js.map +1 -1
  58. package/dist/public/node/global-context.d.ts +15 -0
  59. package/dist/public/node/global-context.js +29 -0
  60. package/dist/public/node/global-context.js.map +1 -0
  61. package/dist/public/node/is-global.js +2 -1
  62. package/dist/public/node/is-global.js.map +1 -1
  63. package/dist/public/node/node-package-manager.js +1 -1
  64. package/dist/public/node/node-package-manager.js.map +1 -1
  65. package/dist/public/node/notifications-system.d.ts +191 -0
  66. package/dist/public/node/notifications-system.js +234 -0
  67. package/dist/public/node/notifications-system.js.map +1 -0
  68. package/dist/public/node/themes/api.d.ts +4 -12
  69. package/dist/public/node/themes/api.js +162 -32
  70. package/dist/public/node/themes/api.js.map +1 -1
  71. package/dist/public/node/themes/types.d.ts +1 -0
  72. package/dist/public/node/themes/types.js.map +1 -1
  73. package/dist/public/node/themes/utils.d.ts +2 -0
  74. package/dist/public/node/themes/utils.js +11 -0
  75. package/dist/public/node/themes/utils.js.map +1 -1
  76. package/dist/public/node/version.d.ts +13 -0
  77. package/dist/public/node/version.js +38 -0
  78. package/dist/public/node/version.js.map +1 -0
  79. package/dist/tsconfig.tsbuildinfo +1 -1
  80. package/package.json +4 -5
  81. package/assets/cli-ruby/.devcontainer.json +0 -5
  82. package/assets/cli-ruby/.rubocop.yml +0 -102
  83. package/assets/cli-ruby/.rubocop_todo.yml +0 -24
  84. package/assets/cli-ruby/CHANGELOG.md +0 -634
  85. package/assets/cli-ruby/CONTRIBUTING.md +0 -3
  86. package/assets/cli-ruby/Codespace.dockerfile +0 -35
  87. package/assets/cli-ruby/Gemfile +0 -32
  88. package/assets/cli-ruby/README.md +0 -30
  89. package/assets/cli-ruby/Rakefile +0 -167
  90. package/assets/cli-ruby/SECURITY.md +0 -59
  91. package/assets/cli-ruby/Tests.dockerfile +0 -35
  92. package/assets/cli-ruby/assets/logo.png +0 -0
  93. package/assets/cli-ruby/bin/console +0 -11
  94. package/assets/cli-ruby/bin/load_shopify.rb +0 -22
  95. package/assets/cli-ruby/bin/shopify +0 -67
  96. package/assets/cli-ruby/bin/shopify.bat +0 -3
  97. package/assets/cli-ruby/dev.yml +0 -29
  98. package/assets/cli-ruby/docs/README.md +0 -13
  99. package/assets/cli-ruby/docs/contributors/testing.md +0 -27
  100. package/assets/cli-ruby/docs/users/installation.md +0 -3
  101. package/assets/cli-ruby/docs/users/migrate-from-themekit.md +0 -18
  102. package/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.1.0.gz.sha256 +0 -1
  103. package/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.2.0.gz.sha256 +0 -1
  104. package/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.2.1.gz.sha256 +0 -1
  105. package/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.3.0.gz.sha256 +0 -1
  106. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.1.0.gz.sha256 +0 -1
  107. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.2.0.gz.sha256 +0 -1
  108. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.2.1.gz.sha256 +0 -1
  109. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.3.0.gz.sha256 +0 -1
  110. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.1.0.gz.sha256 +0 -1
  111. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.2.0.gz.sha256 +0 -1
  112. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.2.1.gz.sha256 +0 -1
  113. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.3.0.gz.sha256 +0 -1
  114. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.1.0.gz.sha256 +0 -1
  115. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.2.0.gz.sha256 +0 -1
  116. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.2.1.gz.sha256 +0 -1
  117. package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.3.0.gz.sha256 +0 -1
  118. package/assets/cli-ruby/ext/javy/javy.rb +0 -204
  119. package/assets/cli-ruby/ext/javy/version +0 -1
  120. package/assets/cli-ruby/ext/shopify-extensions/extconf.rb +0 -21
  121. package/assets/cli-ruby/ext/shopify-extensions/shopify_extensions.rb +0 -152
  122. package/assets/cli-ruby/ext/shopify-extensions/version +0 -1
  123. package/assets/cli-ruby/features/support/assertions.rb +0 -17
  124. package/assets/cli-ruby/features/support/cli.rb +0 -7
  125. package/assets/cli-ruby/features/support/process.rb +0 -27
  126. package/assets/cli-ruby/features/support/requires.rb +0 -3
  127. package/assets/cli-ruby/lib/docgen/class_template.md.erb +0 -81
  128. package/assets/cli-ruby/lib/docgen/index_template.md.erb +0 -5
  129. package/assets/cli-ruby/lib/docgen/markdown.rb +0 -101
  130. package/assets/cli-ruby/lib/graphql/admin_introspection.graphql +0 -87
  131. package/assets/cli-ruby/lib/graphql/all_organizations.graphql +0 -19
  132. package/assets/cli-ruby/lib/graphql/all_orgs_with_apps.graphql +0 -30
  133. package/assets/cli-ruby/lib/graphql/api_versions.graphql +0 -6
  134. package/assets/cli-ruby/lib/graphql/convert_dev_to_test_store.graphql +0 -10
  135. package/assets/cli-ruby/lib/graphql/create_app.graphql +0 -20
  136. package/assets/cli-ruby/lib/graphql/create_customer.graphql +0 -9
  137. package/assets/cli-ruby/lib/graphql/create_draft_order.graphql +0 -8
  138. package/assets/cli-ruby/lib/graphql/create_product.graphql +0 -9
  139. package/assets/cli-ruby/lib/graphql/extension_create.graphql +0 -37
  140. package/assets/cli-ruby/lib/graphql/extension_update_draft.graphql +0 -19
  141. package/assets/cli-ruby/lib/graphql/fetch_specifications.graphql +0 -14
  142. package/assets/cli-ruby/lib/graphql/find_organization.graphql +0 -18
  143. package/assets/cli-ruby/lib/graphql/find_organization_with_apps.graphql +0 -20
  144. package/assets/cli-ruby/lib/graphql/get_app_by_api_key.graphql +0 -9
  145. package/assets/cli-ruby/lib/graphql/get_app_urls.graphql +0 -6
  146. package/assets/cli-ruby/lib/graphql/get_extension_registrations.graphql +0 -28
  147. package/assets/cli-ruby/lib/graphql/get_variant_id.graphql +0 -16
  148. package/assets/cli-ruby/lib/graphql/update_dashboard_urls.graphql +0 -8
  149. package/assets/cli-ruby/lib/project_types/extension/cli.rb +0 -75
  150. package/assets/cli-ruby/lib/project_types/extension/commands/extension_command.rb +0 -29
  151. package/assets/cli-ruby/lib/project_types/extension/commands/serve.rb +0 -164
  152. package/assets/cli-ruby/lib/project_types/extension/errors.rb +0 -9
  153. package/assets/cli-ruby/lib/project_types/extension/extension_project.rb +0 -151
  154. package/assets/cli-ruby/lib/project_types/extension/extension_project_keys.rb +0 -12
  155. package/assets/cli-ruby/lib/project_types/extension/features/argo.rb +0 -50
  156. package/assets/cli-ruby/lib/project_types/extension/features/argo_config.rb +0 -59
  157. package/assets/cli-ruby/lib/project_types/extension/features/argo_dependencies.rb +0 -28
  158. package/assets/cli-ruby/lib/project_types/extension/features/argo_runtime.rb +0 -15
  159. package/assets/cli-ruby/lib/project_types/extension/features/argo_serve.rb +0 -115
  160. package/assets/cli-ruby/lib/project_types/extension/features/argo_setup.rb +0 -54
  161. package/assets/cli-ruby/lib/project_types/extension/features/argo_setup_step.rb +0 -31
  162. package/assets/cli-ruby/lib/project_types/extension/features/argo_setup_steps.rb +0 -51
  163. package/assets/cli-ruby/lib/project_types/extension/features/runtimes/admin.rb +0 -29
  164. package/assets/cli-ruby/lib/project_types/extension/features/runtimes/base.rb +0 -19
  165. package/assets/cli-ruby/lib/project_types/extension/features/runtimes/checkout_post_purchase.rb +0 -23
  166. package/assets/cli-ruby/lib/project_types/extension/features/runtimes/checkout_ui_extension.rb +0 -29
  167. package/assets/cli-ruby/lib/project_types/extension/loaders/project.rb +0 -50
  168. package/assets/cli-ruby/lib/project_types/extension/loaders/specification_handler.rb +0 -22
  169. package/assets/cli-ruby/lib/project_types/extension/messages/message_loading.rb +0 -34
  170. package/assets/cli-ruby/lib/project_types/extension/messages/messages.rb +0 -320
  171. package/assets/cli-ruby/lib/project_types/extension/models/app.rb +0 -14
  172. package/assets/cli-ruby/lib/project_types/extension/models/lazy_specification_handler.rb +0 -12
  173. package/assets/cli-ruby/lib/project_types/extension/models/specification.rb +0 -41
  174. package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/default.rb +0 -145
  175. package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/theme_app_extension.rb +0 -134
  176. package/assets/cli-ruby/lib/project_types/extension/models/specifications.rb +0 -91
  177. package/assets/cli-ruby/lib/project_types/extension/models/validation_error.rb +0 -17
  178. package/assets/cli-ruby/lib/project_types/extension/models/version.rb +0 -15
  179. package/assets/cli-ruby/lib/project_types/extension/tasks/configure_features.rb +0 -73
  180. package/assets/cli-ruby/lib/project_types/extension/tasks/configure_options.rb +0 -21
  181. package/assets/cli-ruby/lib/project_types/extension/tasks/converters/validation_error_converter.rb +0 -25
  182. package/assets/cli-ruby/lib/project_types/extension/tasks/converters/version_converter.rb +0 -28
  183. package/assets/cli-ruby/lib/project_types/extension/tasks/fetch_specifications.rb +0 -21
  184. package/assets/cli-ruby/lib/project_types/node/cli.rb +0 -12
  185. package/assets/cli-ruby/lib/project_types/node/forms/create.rb +0 -45
  186. package/assets/cli-ruby/lib/project_types/node/messages/messages.rb +0 -33
  187. package/assets/cli-ruby/lib/project_types/php/cli.rb +0 -16
  188. package/assets/cli-ruby/lib/project_types/php/forms/create.rb +0 -44
  189. package/assets/cli-ruby/lib/project_types/php/messages/messages.rb +0 -29
  190. package/assets/cli-ruby/lib/project_types/rails/cli.rb +0 -15
  191. package/assets/cli-ruby/lib/project_types/rails/forms/create.rb +0 -75
  192. package/assets/cli-ruby/lib/project_types/rails/gem.rb +0 -110
  193. package/assets/cli-ruby/lib/project_types/rails/messages/messages.rb +0 -101
  194. package/assets/cli-ruby/lib/project_types/script/cli.rb +0 -27
  195. package/assets/cli-ruby/lib/project_types/script/commands/connect.rb +0 -16
  196. package/assets/cli-ruby/lib/project_types/script/commands/create.rb +0 -24
  197. package/assets/cli-ruby/lib/project_types/script/commands/javy.rb +0 -24
  198. package/assets/cli-ruby/lib/project_types/script/commands/push.rb +0 -26
  199. package/assets/cli-ruby/lib/project_types/script/loaders/project.rb +0 -46
  200. package/assets/cli-ruby/lib/project_types/script/loaders/specification_handler.rb +0 -22
  201. package/assets/cli-ruby/lib/project_types/script/messages/messages.rb +0 -11
  202. package/assets/cli-ruby/lib/project_types/theme/cli.rb +0 -33
  203. package/assets/cli-ruby/lib/project_types/theme/commands/common/root_helper.rb +0 -94
  204. package/assets/cli-ruby/lib/project_types/theme/commands/common/shop_helper.rb +0 -13
  205. package/assets/cli-ruby/lib/project_types/theme/commands/console.rb +0 -23
  206. package/assets/cli-ruby/lib/project_types/theme/commands/delete.rb +0 -70
  207. package/assets/cli-ruby/lib/project_types/theme/commands/init.rb +0 -46
  208. package/assets/cli-ruby/lib/project_types/theme/commands/list.rb +0 -33
  209. package/assets/cli-ruby/lib/project_types/theme/commands/open.rb +0 -73
  210. package/assets/cli-ruby/lib/project_types/theme/commands/package.rb +0 -73
  211. package/assets/cli-ruby/lib/project_types/theme/commands/publish.rb +0 -49
  212. package/assets/cli-ruby/lib/project_types/theme/commands/pull.rb +0 -118
  213. package/assets/cli-ruby/lib/project_types/theme/commands/push.rb +0 -160
  214. package/assets/cli-ruby/lib/project_types/theme/commands/serve.rb +0 -91
  215. package/assets/cli-ruby/lib/project_types/theme/commands/share.rb +0 -62
  216. package/assets/cli-ruby/lib/project_types/theme/commands/token.rb +0 -22
  217. package/assets/cli-ruby/lib/project_types/theme/conversions/base_glob.rb +0 -65
  218. package/assets/cli-ruby/lib/project_types/theme/conversions/ignore_glob.rb +0 -15
  219. package/assets/cli-ruby/lib/project_types/theme/conversions/include_glob.rb +0 -15
  220. package/assets/cli-ruby/lib/project_types/theme/forms/confirm_store.rb +0 -15
  221. package/assets/cli-ruby/lib/project_types/theme/forms/select.rb +0 -34
  222. package/assets/cli-ruby/lib/project_types/theme/messages/messages.rb +0 -429
  223. package/assets/cli-ruby/lib/project_types/theme/models/specification_handlers/theme.rb +0 -19
  224. package/assets/cli-ruby/lib/project_types/theme/presenters/theme_presenter.rb +0 -48
  225. package/assets/cli-ruby/lib/project_types/theme/presenters/themes_presenter.rb +0 -29
  226. package/assets/cli-ruby/lib/project_types/theme/ui/sync_progress_bar.rb +0 -20
  227. package/assets/cli-ruby/lib/rubygems_plugin.rb +0 -26
  228. package/assets/cli-ruby/lib/shopify_cli/admin_api.rb +0 -160
  229. package/assets/cli-ruby/lib/shopify_cli/api.rb +0 -130
  230. package/assets/cli-ruby/lib/shopify_cli/command/project_command.rb +0 -31
  231. package/assets/cli-ruby/lib/shopify_cli/command/sub_command.rb +0 -20
  232. package/assets/cli-ruby/lib/shopify_cli/command.rb +0 -166
  233. package/assets/cli-ruby/lib/shopify_cli/commands.rb +0 -21
  234. package/assets/cli-ruby/lib/shopify_cli/constants.rb +0 -101
  235. package/assets/cli-ruby/lib/shopify_cli/context.rb +0 -709
  236. package/assets/cli-ruby/lib/shopify_cli/core/cli_version.rb +0 -20
  237. package/assets/cli-ruby/lib/shopify_cli/core/entry_point.rb +0 -64
  238. package/assets/cli-ruby/lib/shopify_cli/core/executor.rb +0 -23
  239. package/assets/cli-ruby/lib/shopify_cli/core/finalize.rb +0 -13
  240. package/assets/cli-ruby/lib/shopify_cli/core/monorail.rb +0 -122
  241. package/assets/cli-ruby/lib/shopify_cli/core.rb +0 -8
  242. package/assets/cli-ruby/lib/shopify_cli/db.rb +0 -114
  243. package/assets/cli-ruby/lib/shopify_cli/environment.rb +0 -217
  244. package/assets/cli-ruby/lib/shopify_cli/exception_reporter.rb +0 -80
  245. package/assets/cli-ruby/lib/shopify_cli/feature.rb +0 -95
  246. package/assets/cli-ruby/lib/shopify_cli/file_system_listener.rb +0 -30
  247. package/assets/cli-ruby/lib/shopify_cli/form.rb +0 -42
  248. package/assets/cli-ruby/lib/shopify_cli/git.rb +0 -320
  249. package/assets/cli-ruby/lib/shopify_cli/github/issue_url_generator.rb +0 -30
  250. package/assets/cli-ruby/lib/shopify_cli/github.rb +0 -5
  251. package/assets/cli-ruby/lib/shopify_cli/helpers/haikunator.rb +0 -92
  252. package/assets/cli-ruby/lib/shopify_cli/helpers.rb +0 -5
  253. package/assets/cli-ruby/lib/shopify_cli/http_request.rb +0 -43
  254. package/assets/cli-ruby/lib/shopify_cli/identity_auth/env_auth_token.rb +0 -34
  255. package/assets/cli-ruby/lib/shopify_cli/identity_auth.rb +0 -332
  256. package/assets/cli-ruby/lib/shopify_cli/js_system.rb +0 -115
  257. package/assets/cli-ruby/lib/shopify_cli/lazy_delegator.rb +0 -55
  258. package/assets/cli-ruby/lib/shopify_cli/messages/messages.rb +0 -863
  259. package/assets/cli-ruby/lib/shopify_cli/method_object.rb +0 -123
  260. package/assets/cli-ruby/lib/shopify_cli/migrator/migration.rb +0 -27
  261. package/assets/cli-ruby/lib/shopify_cli/migrator/migrations/1631709766_noop.rb +0 -13
  262. package/assets/cli-ruby/lib/shopify_cli/migrator/migrations/1633691650_merge_reporting_configuration.rb +0 -41
  263. package/assets/cli-ruby/lib/shopify_cli/migrator.rb +0 -46
  264. package/assets/cli-ruby/lib/shopify_cli/options.rb +0 -40
  265. package/assets/cli-ruby/lib/shopify_cli/partners_api/app_extensions/job.rb +0 -36
  266. package/assets/cli-ruby/lib/shopify_cli/partners_api/app_extensions.rb +0 -46
  267. package/assets/cli-ruby/lib/shopify_cli/partners_api/organizations.rb +0 -45
  268. package/assets/cli-ruby/lib/shopify_cli/partners_api.rb +0 -91
  269. package/assets/cli-ruby/lib/shopify_cli/project.rb +0 -199
  270. package/assets/cli-ruby/lib/shopify_cli/project_type.rb +0 -66
  271. package/assets/cli-ruby/lib/shopify_cli/reporting_configuration_controller.rb +0 -29
  272. package/assets/cli-ruby/lib/shopify_cli/resolve_constant.rb +0 -25
  273. package/assets/cli-ruby/lib/shopify_cli/resources/env_file.rb +0 -108
  274. package/assets/cli-ruby/lib/shopify_cli/resources.rb +0 -5
  275. package/assets/cli-ruby/lib/shopify_cli/result.rb +0 -448
  276. package/assets/cli-ruby/lib/shopify_cli/shopifolk.rb +0 -82
  277. package/assets/cli-ruby/lib/shopify_cli/task.rb +0 -20
  278. package/assets/cli-ruby/lib/shopify_cli/tasks/confirm_store.rb +0 -18
  279. package/assets/cli-ruby/lib/shopify_cli/tasks/create_api_client.rb +0 -40
  280. package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_authenticated.rb +0 -19
  281. package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_dev_store.rb +0 -41
  282. package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_env.rb +0 -90
  283. package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_git_dependency.rb +0 -14
  284. package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_loopback_url.rb +0 -20
  285. package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_project_type.rb +0 -14
  286. package/assets/cli-ruby/lib/shopify_cli/tasks/select_org_and_shop.rb +0 -81
  287. package/assets/cli-ruby/lib/shopify_cli/tasks/update_dashboard_urls.rb +0 -57
  288. package/assets/cli-ruby/lib/shopify_cli/tasks.rb +0 -44
  289. package/assets/cli-ruby/lib/shopify_cli/theme/backoff_helper.rb +0 -47
  290. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/cdn_fonts.rb +0 -82
  291. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/certificate_manager.rb +0 -79
  292. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/errors.rb +0 -9
  293. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/header_hash.rb +0 -98
  294. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hooks/file_change_hook.rb +0 -77
  295. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/remote_file_deleter.rb +0 -62
  296. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/remote_file_reloader.rb +0 -63
  297. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/hot-reload-no-script.html +0 -27
  298. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/hot_reload.js +0 -48
  299. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/sse_client.js +0 -43
  300. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/theme.js +0 -114
  301. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/theme_extension.js +0 -121
  302. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/script_injector.rb +0 -57
  303. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/sections_index.rb +0 -50
  304. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload.rb +0 -75
  305. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/local_assets.rb +0 -101
  306. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy.rb +0 -313
  307. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy_param_builder.rb +0 -84
  308. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/reload_mode.rb +0 -34
  309. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/remote_watcher/json_files_update_job.rb +0 -35
  310. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/remote_watcher.rb +0 -44
  311. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/sse.rb +0 -75
  312. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/watcher.rb +0 -64
  313. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/web_server.rb +0 -140
  314. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server.rb +0 -332
  315. package/assets/cli-ruby/lib/shopify_cli/theme/development_theme.rb +0 -101
  316. package/assets/cli-ruby/lib/shopify_cli/theme/extension/app_extension.rb +0 -40
  317. package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hooks/file_change_hook.rb +0 -76
  318. package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hot_reload/script_injector.rb +0 -30
  319. package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hot_reload.rb +0 -13
  320. package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/local_assets.rb +0 -31
  321. package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/proxy_param_builder.rb +0 -94
  322. package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/watcher.rb +0 -49
  323. package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server.rb +0 -175
  324. package/assets/cli-ruby/lib/shopify_cli/theme/extension/host_theme.rb +0 -109
  325. package/assets/cli-ruby/lib/shopify_cli/theme/extension/ignore_helper.rb +0 -35
  326. package/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer/extension_serve_job.rb +0 -120
  327. package/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer/operation.rb +0 -25
  328. package/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer.rb +0 -100
  329. package/assets/cli-ruby/lib/shopify_cli/theme/extension/ui/host_theme_progress_bar.rb +0 -35
  330. package/assets/cli-ruby/lib/shopify_cli/theme/extension/ui/host_theme_raw_progress_bar.rb +0 -40
  331. package/assets/cli-ruby/lib/shopify_cli/theme/file.rb +0 -133
  332. package/assets/cli-ruby/lib/shopify_cli/theme/filter/path_matcher.rb +0 -38
  333. package/assets/cli-ruby/lib/shopify_cli/theme/ignore_filter.rb +0 -112
  334. package/assets/cli-ruby/lib/shopify_cli/theme/ignore_helper.rb +0 -37
  335. package/assets/cli-ruby/lib/shopify_cli/theme/include_filter.rb +0 -67
  336. package/assets/cli-ruby/lib/shopify_cli/theme/mime_type.rb +0 -34
  337. package/assets/cli-ruby/lib/shopify_cli/theme/notifier.rb +0 -52
  338. package/assets/cli-ruby/lib/shopify_cli/theme/repl/api.rb +0 -109
  339. package/assets/cli-ruby/lib/shopify_cli/theme/repl/auth_dev_server.rb +0 -93
  340. package/assets/cli-ruby/lib/shopify_cli/theme/repl/auth_middleware.rb +0 -97
  341. package/assets/cli-ruby/lib/shopify_cli/theme/repl/remote_evaluator.rb +0 -166
  342. package/assets/cli-ruby/lib/shopify_cli/theme/repl/resources/success.html +0 -78
  343. package/assets/cli-ruby/lib/shopify_cli/theme/repl/resources/template.liquid +0 -15
  344. package/assets/cli-ruby/lib/shopify_cli/theme/repl/snippet.rb +0 -81
  345. package/assets/cli-ruby/lib/shopify_cli/theme/repl.rb +0 -88
  346. package/assets/cli-ruby/lib/shopify_cli/theme/root.rb +0 -62
  347. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/checksums.rb +0 -66
  348. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/downloader.rb +0 -63
  349. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/error_reporter.rb +0 -45
  350. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/merger.rb +0 -53
  351. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/operation.rb +0 -49
  352. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/standard_reporter.rb +0 -32
  353. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/unsupported_script_warning.rb +0 -90
  354. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk.rb +0 -133
  355. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_item.rb +0 -64
  356. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_job.rb +0 -139
  357. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_request.rb +0 -30
  358. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/apply_to_all.rb +0 -41
  359. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/apply_to_all_form.rb +0 -37
  360. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/base_strategy_form.rb +0 -64
  361. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/select_delete_strategy.rb +0 -29
  362. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/select_update_strategy.rb +0 -30
  363. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/json_delete_handler.rb +0 -49
  364. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/json_update_handler.rb +0 -71
  365. package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader.rb +0 -231
  366. package/assets/cli-ruby/lib/shopify_cli/theme/syncer.rb +0 -391
  367. package/assets/cli-ruby/lib/shopify_cli/theme/theme.rb +0 -212
  368. package/assets/cli-ruby/lib/shopify_cli/theme/theme_access_api.rb +0 -89
  369. package/assets/cli-ruby/lib/shopify_cli/theme/theme_admin_api.rb +0 -101
  370. package/assets/cli-ruby/lib/shopify_cli/thread_pool/job.rb +0 -35
  371. package/assets/cli-ruby/lib/shopify_cli/thread_pool.rb +0 -49
  372. package/assets/cli-ruby/lib/shopify_cli/transform_data_structure.rb +0 -87
  373. package/assets/cli-ruby/lib/shopify_cli/utilities.rb +0 -21
  374. package/assets/cli-ruby/lib/shopify_cli/version.rb +0 -3
  375. package/assets/cli-ruby/lib/shopify_cli.rb +0 -182
  376. package/assets/cli-ruby/shipit.rubygems.yml +0 -3
  377. package/assets/cli-ruby/shopify-cli.gemspec +0 -46
  378. package/assets/cli-ruby/shopify-dev +0 -16
  379. package/assets/cli-ruby/test/minitest_ext.rb +0 -115
  380. package/assets/cli-ruby/test/project_types/extension/extension_test_helpers.rb +0 -70
  381. package/assets/cli-ruby/test/shopify-cli/migrator/migrations/migration_helper.rb +0 -20
  382. package/assets/cli-ruby/test/test_helpers.rb +0 -16
  383. package/assets/cli-ruby/utilities/constants.rb +0 -7
  384. package/assets/cli-ruby/utilities/docker/container.rb +0 -104
  385. package/assets/cli-ruby/utilities/docker.rb +0 -89
  386. package/assets/cli-ruby/utilities/utilities.rb +0 -6
  387. package/assets/cli-ruby/vendor/deps/cli-kit/REVISION +0 -1
  388. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/autocall.rb +0 -21
  389. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/base_command.rb +0 -49
  390. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/command_registry.rb +0 -94
  391. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/config.rb +0 -133
  392. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/error_handler.rb +0 -123
  393. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb +0 -79
  394. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/ini.rb +0 -102
  395. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/levenshtein.rb +0 -82
  396. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/logger.rb +0 -82
  397. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/resolver.rb +0 -60
  398. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/ruby_backports/enumerable.rb +0 -6
  399. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/support/test_helper.rb +0 -244
  400. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/support.rb +0 -9
  401. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/system.rb +0 -243
  402. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/util.rb +0 -193
  403. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/version.rb +0 -5
  404. package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit.rb +0 -60
  405. package/assets/cli-ruby/vendor/deps/cli-ui/REVISION +0 -1
  406. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/ansi.rb +0 -157
  407. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/color.rb +0 -84
  408. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/formatter.rb +0 -193
  409. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_stack.rb +0 -98
  410. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style/box.rb +0 -166
  411. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style/bracket.rb +0 -139
  412. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style.rb +0 -120
  413. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame.rb +0 -269
  414. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/glyph.rb +0 -84
  415. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/os.rb +0 -73
  416. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/printer.rb +0 -59
  417. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/progress.rb +0 -90
  418. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/progress_plain.rb +0 -50
  419. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt/interactive_options.rb +0 -484
  420. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt/options_handler.rb +0 -29
  421. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt.rb +0 -282
  422. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner/async.rb +0 -40
  423. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner/spin_group.rb +0 -263
  424. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner.rb +0 -66
  425. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/stdout_router.rb +0 -232
  426. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/terminal.rb +0 -46
  427. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/truncater.rb +0 -102
  428. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/version.rb +0 -5
  429. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb +0 -27
  430. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets/status.rb +0 -61
  431. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets.rb +0 -77
  432. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/wrap.rb +0 -56
  433. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui.rb +0 -234
  434. package/assets/cli-ruby/vendor/deps/ruby2_keywords/LICENSE +0 -22
  435. package/assets/cli-ruby/vendor/deps/ruby2_keywords/README.md +0 -67
  436. package/assets/cli-ruby/vendor/deps/ruby2_keywords/Rakefile +0 -54
  437. package/assets/cli-ruby/vendor/deps/ruby2_keywords/lib/ruby2_keywords.rb +0 -57
  438. package/assets/cli-ruby/vendor/deps/ruby2_keywords/ruby2_keywords.gemspec +0 -18
  439. package/assets/cli-ruby/vendor/deps/ruby2_keywords/test/test_keyword.rb +0 -41
  440. package/assets/cli-ruby/vendor/deps/smart_properties/REVISION +0 -1
  441. package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/errors.rb +0 -114
  442. package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/property.rb +0 -168
  443. package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/property_collection.rb +0 -83
  444. package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/validations/ancestor.rb +0 -27
  445. package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/validations.rb +0 -8
  446. package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/version.rb +0 -3
  447. package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties.rb +0 -174
  448. package/assets/cli-ruby/vendor/deps/webrick/Gemfile +0 -3
  449. package/assets/cli-ruby/vendor/deps/webrick/LICENSE.txt +0 -22
  450. package/assets/cli-ruby/vendor/deps/webrick/README.md +0 -61
  451. package/assets/cli-ruby/vendor/deps/webrick/Rakefile +0 -10
  452. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/accesslog.rb +0 -157
  453. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/cgi.rb +0 -313
  454. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/compat.rb +0 -36
  455. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/config.rb +0 -158
  456. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/cookie.rb +0 -172
  457. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/htmlutils.rb +0 -30
  458. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/authenticator.rb +0 -117
  459. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/basicauth.rb +0 -116
  460. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/digestauth.rb +0 -395
  461. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htdigest.rb +0 -132
  462. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htgroup.rb +0 -97
  463. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htpasswd.rb +0 -158
  464. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/userdb.rb +0 -53
  465. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth.rb +0 -96
  466. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpproxy.rb +0 -354
  467. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httprequest.rb +0 -636
  468. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpresponse.rb +0 -564
  469. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/https.rb +0 -152
  470. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpserver.rb +0 -294
  471. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/abstract.rb +0 -152
  472. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/cgi_runner.rb +0 -47
  473. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/cgihandler.rb +0 -126
  474. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/erbhandler.rb +0 -88
  475. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/filehandler.rb +0 -552
  476. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/prochandler.rb +0 -47
  477. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet.rb +0 -23
  478. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpstatus.rb +0 -194
  479. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httputils.rb +0 -512
  480. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpversion.rb +0 -76
  481. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/log.rb +0 -156
  482. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/server.rb +0 -381
  483. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/ssl.rb +0 -215
  484. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/utils.rb +0 -265
  485. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/version.rb +0 -18
  486. package/assets/cli-ruby/vendor/deps/webrick/lib/webrick.rb +0 -232
  487. package/assets/cli-ruby/vendor/deps/webrick/webrick.gemspec +0 -74
  488. package/assets/cli-ruby/vendor/gen/lib/gen/commands/help.rb +0 -20
  489. package/assets/cli-ruby/vendor/gen/lib/gen/commands/new.rb +0 -21
  490. package/assets/cli-ruby/vendor/gen/lib/gen/commands.rb +0 -18
  491. package/assets/cli-ruby/vendor/gen/lib/gen/entry_point.rb +0 -10
  492. package/assets/cli-ruby/vendor/gen/lib/gen/generator.rb +0 -165
  493. package/assets/cli-ruby/vendor/gen/lib/gen.rb +0 -39
  494. package/assets/cli-ruby/vendor/gen/template/Gemfile +0 -10
  495. package/assets/cli-ruby/vendor/gen/template/README.md +0 -1
  496. package/assets/cli-ruby/vendor/gen/template/bin/testunit +0 -23
  497. package/assets/cli-ruby/vendor/gen/template/bin/update-deps +0 -97
  498. package/assets/cli-ruby/vendor/gen/template/dev-gems.yml +0 -3
  499. package/assets/cli-ruby/vendor/gen/template/dev-vendor.yml +0 -4
  500. package/assets/cli-ruby/vendor/gen/template/exe/__app__-gems +0 -17
  501. package/assets/cli-ruby/vendor/gen/template/exe/__app__-vendor +0 -18
  502. package/assets/cli-ruby/vendor/gen/template/lib/__app__/commands/example.rb +0 -19
  503. package/assets/cli-ruby/vendor/gen/template/lib/__app__/commands/help.rb +0 -21
  504. package/assets/cli-ruby/vendor/gen/template/lib/__app__/commands.rb +0 -18
  505. package/assets/cli-ruby/vendor/gen/template/lib/__app__/entry_point.rb +0 -10
  506. package/assets/cli-ruby/vendor/gen/template/lib/__app__.rb +0 -33
  507. package/assets/cli-ruby/vendor/gen/template/test/example_test.rb +0 -17
  508. package/assets/cli-ruby/vendor/gen/template/test/test_helper.rb +0 -22
  509. package/assets/cli-ruby/vendor/lib/semantic/LICENSE +0 -20
  510. package/assets/cli-ruby/vendor/lib/semantic/semantic.rb +0 -4
  511. package/assets/cli-ruby/vendor/lib/semantic/version.rb +0 -179
  512. package/dist/public/node/ruby.d.ts +0 -38
  513. package/dist/public/node/ruby.js +0 -327
  514. package/dist/public/node/ruby.js.map +0 -1
@@ -1,182 +0,0 @@
1
- # Make sure we are using UTF 8 encoding
2
- Encoding.default_external = Encoding::UTF_8
3
- Encoding.default_internal = Encoding::UTF_8
4
-
5
- Thread.report_on_exception = false
6
-
7
- # Contains backports from newer rubies to make our lives easier
8
- # require_relative 'support/ruby_backports'
9
-
10
- # See bin/load_shopify.rb
11
- ENV["PATH"] = ENV["PATH"].split(":").select { |p| p.start_with?("/", "~") }.join(":") unless defined?($original_env)
12
-
13
- # Load vendor and CLI UI/Kit.
14
- # Nothing else should be loaded at this point and nothing else should be added to the load path on boot
15
- vendor_path = File.expand_path("../../vendor/lib", __FILE__)
16
- $LOAD_PATH.unshift(vendor_path) unless $LOAD_PATH.include?(vendor_path)
17
-
18
- deps = %w(cli-ui cli-kit smart_properties ruby2_keywords webrick)
19
- deps.each do |dep|
20
- vendor_path = File.expand_path("../../vendor/deps/#{dep}/lib", __FILE__)
21
- $LOAD_PATH.unshift(vendor_path) unless $LOAD_PATH.include?(vendor_path)
22
- end
23
-
24
- require "ruby2_keywords"
25
- require "cli/ui"
26
- require "cli/kit"
27
- require "smart_properties"
28
- require_relative "shopify_cli/version"
29
- require_relative "shopify_cli/migrator"
30
- require_relative "shopify_cli/exception_reporter"
31
-
32
- # Enable stdout routing. At this point all calls to STDOUT (and STDERR) will go through this class.
33
- # See https://github.com/Shopify/cli-ui/blob/main/lib/cli/ui/stdout_router.rb for more info
34
- CLI::UI::StdoutRouter.enable
35
-
36
- # The main file to load for `shopify-cli`
37
- # Contains all high level constants, exit management, exception management,
38
- # autoloads for commands, tasks, helpers, etc
39
- #
40
- # It is recommended to read through CLI Kit (https://github.com/shopify/cli-kit) and a CLI Kit example
41
- # (https://github.com/Shopify/cli-kit-example) to fully understand how shopify-cli functions
42
- module ShopifyCLI
43
- extend CLI::Kit::Autocall
44
-
45
- TOOL_NAME = "shopify"
46
- TOOL_FULL_NAME = "Shopify CLI"
47
- ROOT = File.expand_path("../..", __FILE__)
48
- PROJECT_TYPES_DIR = File.join(ROOT, "lib", "project_types")
49
- TEMP_DIR = File.join(ROOT, ".tmp")
50
-
51
- # programmer emoji if default install location, else wrench emoji
52
- EMOJI = ROOT == "/opt/shopify" ? "\u{1f469}\u{200d}\u{1f4bb}" : "\u{1f527}"
53
- # shrug or boom emoji
54
- FAILMOJI = ROOT == "/opt/shopify" ? "\u{1f937}" : "\u{1f4a5}"
55
-
56
- # Exit management in `shopify-cli` follows the management set out by CLI Kit.
57
- # https://github.com/Shopify/cli-kit/blob/main/lib/cli/kit.rb
58
- # That is to say, we differentiate between exit success (0), exit failure (1), and exit bug (not 1)
59
- #
60
- # These should *never* be called outside of the entrypoint and its delegations.
61
- EXIT_FAILURE_BUT_NOT_BUG = CLI::Kit::EXIT_FAILURE_BUT_NOT_BUG
62
- EXIT_BUG = CLI::Kit::EXIT_BUG
63
- EXIT_SUCCESS = CLI::Kit::EXIT_SUCCESS
64
-
65
- # `shopify-cli` uses CLI Kit's exception management
66
- # These are documented here: https://github.com/Shopify/cli-kit/blob/main/lib/cli/kit.rb
67
- #
68
- # You should never subclass these exceptions, but instead rescue another exception and re-raise.
69
- # AbortSilent and BugSilent should never have messages. They are mostly used when we output explanations
70
- # and need to exit
71
- GenericAbort = CLI::Kit::GenericAbort
72
- Abort = CLI::Kit::Abort
73
- Bug = CLI::Kit::Bug
74
- BugSilent = CLI::Kit::BugSilent
75
- AbortSilent = CLI::Kit::AbortSilent
76
-
77
- # The rest of this file outlines classes and modules required by the shopify-cli
78
- # application and CLI kit framework.
79
- # To understand how this works, read https://github.com/Shopify/cli-kit/blob/main/lib/cli/kit.rb
80
-
81
- # ShopifyCLI::Config
82
- autocall(:Config) { CLI::Kit::Config.new(tool_name: TOOL_NAME) }
83
- # ShopifyCLI::Logger
84
- autocall(:Logger) { CLI::Kit::Logger.new(debug_log_file: ShopifyCLI.debug_log_file) }
85
- # ShopifyCLI::Resolver
86
- autocall(:Resolver) do
87
- CLI::Kit::Resolver.new(
88
- tool_name: TOOL_NAME,
89
- command_registry: ShopifyCLI::Commands::Registry
90
- )
91
- end
92
- # ShopifyCLI::ErrorHandler
93
- autocall(:ErrorHandler) do
94
- CLI::Kit::ErrorHandler.new(
95
- log_file: ShopifyCLI.log_file,
96
- exception_reporter: ->() { ShopifyCLI::ExceptionReporter },
97
- )
98
- end
99
-
100
- autoload :AdminAPI, "shopify_cli/admin_api"
101
- autoload :API, "shopify_cli/api"
102
- autoload :Command, "shopify_cli/command"
103
- autoload :Commands, "shopify_cli/commands"
104
- autoload :Constants, "shopify_cli/constants"
105
- autoload :Context, "shopify_cli/context"
106
- autoload :Core, "shopify_cli/core"
107
- autoload :DB, "shopify_cli/db"
108
- autoload :Environment, "shopify_cli/environment"
109
- autoload :Feature, "shopify_cli/feature"
110
- autoload :Form, "shopify_cli/form"
111
- autoload :Git, "shopify_cli/git"
112
- autoload :GitHub, "shopify_cli/github"
113
- autoload :Helpers, "shopify_cli/helpers"
114
- autoload :IdentityAuth, "shopify_cli/identity_auth"
115
- autoload :JsSystem, "shopify_cli/js_system"
116
- autoload :LazyDelegator, "shopify_cli/lazy_delegator"
117
- autoload :MethodObject, "shopify_cli/method_object"
118
- autoload :Options, "shopify_cli/options"
119
- autoload :PartnersAPI, "shopify_cli/partners_api"
120
- autoload :Project, "shopify_cli/project"
121
- autoload :ProjectType, "shopify_cli/project_type"
122
- autoload :ReportingConfigurationController, "shopify_cli/reporting_configuration_controller"
123
- autoload :ResolveConstant, "shopify_cli/resolve_constant"
124
- autoload :Resources, "shopify_cli/resources"
125
- autoload :Result, "shopify_cli/result"
126
- autoload :Shopifolk, "shopify_cli/shopifolk"
127
- autoload :Task, "shopify_cli/task"
128
- autoload :Tasks, "shopify_cli/tasks"
129
- autoload :TransformDataStructure, "shopify_cli/transform_data_structure"
130
- autoload :Utilities, "shopify_cli/utilities"
131
-
132
- require "shopify_cli/messages/messages"
133
- Context.load_messages(ShopifyCLI::Messages::MESSAGES)
134
-
135
- # cli-ui utilities for capturing the output close the stream while capturing.
136
- # By setting the value here we persist the tty value for the whole lifetime of the process.
137
- Environment.interactive = $stdin.tty?
138
-
139
- def self.cache_dir
140
- cache_dir = if Environment.test?
141
- TEMP_DIR
142
- elsif ENV["LOCALAPPDATA"].nil?
143
- File.join(File.expand_path(ENV.fetch("XDG_CACHE_HOME", "~/.cache")), TOOL_NAME)
144
- else
145
- File.join(File.expand_path(ENV["LOCALAPPDATA"]), TOOL_NAME)
146
- end
147
-
148
- # Make sure the cache dir always exists
149
- @cache_dir_exists ||= FileUtils.mkdir_p(cache_dir)
150
-
151
- cache_dir
152
- end
153
-
154
- def self.tool_config_path
155
- if Environment.test?
156
- TEMP_DIR
157
- elsif ENV["APPDATA"].nil?
158
- File.join(File.expand_path(ENV.fetch("XDG_CONFIG_HOME", "~/.config")), TOOL_NAME)
159
- else
160
- File.join(File.expand_path(ENV["APPDATA"]), TOOL_NAME)
161
- end
162
- end
163
-
164
- def self.log_file
165
- File.join(tool_config_path, "logs", "log.log")
166
- end
167
-
168
- def self.debug_log_file
169
- File.join(tool_config_path, "logs", "debug.log")
170
- end
171
-
172
- def self.sha
173
- return @sha if defined?(@sha)
174
- @sha = Git.sha(dir: ShopifyCLI::ROOT)
175
- end
176
-
177
- # Migrate runs migrations that migrate the state of the environment
178
- # in which the CLI runs.
179
- unless ShopifyCLI::Environment.test? || ShopifyCLI::Environment.development?
180
- ShopifyCLI::Migrator.migrate
181
- end
182
- end
@@ -1,3 +0,0 @@
1
- deploy:
2
- post:
3
- - bundle exec rake notify_version_to_bugsnag
@@ -1,46 +0,0 @@
1
- require_relative "lib/shopify_cli/version"
2
-
3
- Gem::Specification.new do |spec|
4
- spec.name = "shopify-cli"
5
- spec.version = ShopifyCLI::VERSION
6
- spec.authors = ["Shopify"]
7
- spec.email = ["dev-tools-education@shopify.com"]
8
- spec.license = "MIT"
9
-
10
- spec.summary = "Shopify CLI helps you build Shopify apps faster."
11
- spec.description = <<~HERE
12
- Shopify CLI helps you build Shopify apps faster. It quickly scaffolds Node.js
13
- and Ruby on Rails embedded apps. It also automates many common tasks in the
14
- development process and lets you quickly add popular features, such as billing
15
- and webhooks.
16
- HERE
17
- spec.homepage = "https://shopify.github.io/shopify-cli/"
18
- spec.required_ruby_version = Gem::Requirement.new(">= 2.7")
19
-
20
- spec.metadata["allowed_push_host"] = "https://rubygems.org"
21
-
22
- spec.metadata["homepage_uri"] = spec.homepage
23
- spec.metadata["source_code_uri"] = "https://github.com/Shopify/shopify-cli"
24
- spec.metadata["changelog_uri"] = "https://github.com/Shopify/shopify-cli/blob/main/CHANGELOG.md"
25
-
26
- # Specify which files should be added to the gem when it is released.
27
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
28
- spec.files = Dir.chdir(File.expand_path("..", __FILE__)) do
29
- %x(git ls-files -z).split("\x0").reject do |f|
30
- f.match(%r{^(test|spec|features|packaging)/}) ||
31
- f.match(%r{^bin/(update-deps|shopify.bat)$})
32
- end
33
- end
34
- spec.bindir = "bin"
35
- spec.require_paths = ["lib", "vendor"]
36
- spec.executables << "shopify"
37
-
38
- spec.add_development_dependency("bundler", ">= 2.3.11")
39
- spec.add_development_dependency("rake", "~> 12.3", ">= 12.3.3")
40
- spec.add_development_dependency("minitest", "~> 5.0")
41
-
42
- spec.add_dependency("bugsnag", "~> 6.22")
43
- spec.add_dependency("listen", "~> 3.7.0")
44
-
45
- spec.extensions = ["ext/shopify-extensions/extconf.rb"]
46
- end
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require_relative "./bin/load_shopify"
4
-
5
- exit(proc do
6
- ShopifyCLI::ErrorHandler.call do
7
- ShopifyCLI::Core::EntryPoint.call(ARGV.dup)
8
- end
9
- rescue StandardError => error
10
- ShopifyCLI::ErrorHandler.exception = error
11
- if ShopifyCLI::Environment.print_stacktrace?
12
- raise error
13
- else
14
- 1
15
- end
16
- end.call)
@@ -1,115 +0,0 @@
1
- module Minitest
2
- module Assertions
3
- def assert_nothing_raised(*)
4
- yield
5
- end
6
- end
7
-
8
- class Test
9
- FIXTURE_DIR = File.expand_path("fixtures", File.dirname(__FILE__))
10
- CONFIG_FILE = CLI::Kit::Config.new(tool_name: ShopifyCLI::TOOL_NAME).file
11
-
12
- include TestHelpers::Project
13
-
14
- def setup
15
- @minitest_ext_setup_called = true
16
- if File.exist?(CONFIG_FILE)
17
- @config_sha_before = Digest::SHA256.hexdigest(File.read(CONFIG_FILE))
18
- end
19
- project_context("project")
20
- ::ShopifyCLI::Project.clear
21
- super
22
- end
23
-
24
- def teardown
25
- # Some tests stub the File class, but we need to call the real methods when checking if the config file has
26
- # changed.
27
- #
28
- # We could unstub them individually:
29
- # File.unstub(:read)
30
- # File.unstub(:exist?)
31
- #
32
- # Or we can use `mocha_teardown` which is documented as "only for use by authors of test libraries" but seems safe
33
- # here.
34
-
35
- mocha_teardown
36
-
37
- if File.exist?(CONFIG_FILE)
38
- @config_sha_after = Digest::SHA256.hexdigest(File.read(CONFIG_FILE))
39
- end
40
-
41
- raise "Local #{CONFIG_FILE} was modified by a test" unless @config_sha_before == @config_sha_after
42
-
43
- unless @minitest_ext_setup_called
44
- raise "teardown called without setup - you may have forgotten to call `super`"
45
- end
46
-
47
- @minitest_ext_setup_called = nil
48
- super
49
- end
50
-
51
- def run_cmd(cmd, split_cmd = true)
52
- stub_prompt_for_cli_updates
53
- stub_new_version_check
54
-
55
- new_cmd = split_cmd ? cmd.split : cmd
56
- ShopifyCLI::Core::EntryPoint.call(new_cmd, @context)
57
- end
58
-
59
- def capture_io(strip_ansi: false, &block)
60
- cap = CLI::UI::StdoutRouter::Capture.new(with_frame_inset: true, &block)
61
- @context.output_captured = true if @context
62
- cap.run
63
- @context.output_captured = false if @context
64
- [cap.stdout, cap.stderr].map do |s|
65
- strip_ansi ? CLI::UI::ANSI.strip_codes(s) : s
66
- end
67
- end
68
-
69
- def capture_io_and_assert_raises(exception_class)
70
- io = []
71
- io << capture_io do
72
- exception = assert_raises(exception_class) { yield }
73
- io << CLI::UI.fmt(exception.message.gsub("{{x}} ", ""))
74
- end
75
- end
76
-
77
- def assert_message_output(io:, expected_content:)
78
- all_output = io.join
79
-
80
- Array(expected_content).each do |expected|
81
- assert_includes all_output, CLI::UI.fmt(expected)
82
- end
83
- end
84
-
85
- def to_s # :nodoc:
86
- if passed? && !skipped?
87
- return location
88
- end
89
- failures.flat_map do |failure|
90
- [
91
- "#{failure.result_label}:",
92
- "#{location}:",
93
- failure.message.force_encoding(Encoding::UTF_8),
94
- ]
95
- end.join("\n")
96
- end
97
-
98
- private
99
-
100
- def stub_prompt_for_cli_updates
101
- ShopifyCLI::Config.stubs(:get_section).with("autoupdate").returns("enabled" => "true")
102
- end
103
-
104
- def stub_new_version_check
105
- stub_request(:get, ShopifyCLI::Context::GEM_LATEST_URI)
106
- .with(headers: {
107
- "Accept" => "*/*",
108
- "Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
109
- "Host" => "rubygems.org",
110
- "User-Agent" => "Ruby",
111
- })
112
- .to_return(status: 200, body: "{\"version\":\"#{ShopifyCLI::VERSION}\"}", headers: {})
113
- end
114
- end
115
- end
@@ -1,70 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Extension
4
- module ExtensionTestHelpers
5
- autoload :FakeExtensionProject, "project_types/extension/extension_test_helpers/fake_extension_project"
6
- autoload :TestExtension, "project_types/extension/extension_test_helpers/test_extension"
7
- autoload :TestExtensionSetup, "project_types/extension/extension_test_helpers/test_extension_setup"
8
- autoload :TempProjectSetup, "project_types/extension/extension_test_helpers/temp_project_setup"
9
- autoload :DummyArgo, "project_types/extension/extension_test_helpers/dummy_argo"
10
- autoload :DummySpecifications, "project_types/extension/extension_test_helpers/dummy_specifications"
11
-
12
- module Stubs
13
- autoload :GetOrganizations, "project_types/extension/extension_test_helpers/stubs/get_organizations"
14
- autoload :GetApp, "project_types/extension/extension_test_helpers/stubs/get_app"
15
- autoload :CreateExtension, "project_types/extension/extension_test_helpers/stubs/create_extension"
16
- autoload :UpdateDraft, "project_types/extension/extension_test_helpers/stubs/update_draft"
17
- autoload :ArgoScript, "project_types/extension/extension_test_helpers/stubs/argo_script"
18
- autoload :FetchSpecifications, "project_types/extension/extension_test_helpers/stubs/fetch_specifications"
19
- end
20
-
21
- def self.test_specifications(type_identifier: "TEST_EXTENSION")
22
- DummySpecifications.build(
23
- identifier: type_identifier.downcase,
24
- custom_handler_root: File.expand_path("../", __FILE__),
25
- custom_handler_namespace: ::Extension::ExtensionTestHelpers,
26
- )
27
- end
28
-
29
- def self.test_specification_handler(type_identifier: "TEST_EXTENSION")
30
- specification_handler = test_specifications[type_identifier]
31
- if specification_handler.nil?
32
- raise "Unable to retrieve specification handler due to broken test setup"
33
- end
34
-
35
- specification_handler
36
- end
37
-
38
- def self.fake_extension_project(
39
- with_mocks: false,
40
- api_key: "TEST_KEY",
41
- api_secret: "TEST_SECRET",
42
- directory: "fake/dir",
43
- title: "Test",
44
- type_identifier: "TEST_EXTENSION",
45
- registration_id: 55,
46
- registration_uuid: "db946ca8-a925-11eb-bcbc-0242ac130002"
47
- )
48
- project = FakeExtensionProject.new(
49
- directory: directory,
50
- api_key: api_key,
51
- api_secret: api_secret,
52
- title: title,
53
- type: type_identifier,
54
- registration_id: registration_id,
55
- registration_uuid: registration_uuid
56
- )
57
-
58
- if with_mocks
59
- ShopifyCLI::Project.stubs(:current).returns(project)
60
- ShopifyCLI::Project.stubs(:has_current?).returns(true)
61
- ExtensionProject.stubs(:current).returns(project)
62
- Extension::Loaders::Project.stubs(:load).returns(project)
63
- specifications = test_specifications(type_identifier: type_identifier)
64
- Models::Specifications.stubs(:new).returns(specifications)
65
- end
66
-
67
- project
68
- end
69
- end
70
- end
@@ -1,20 +0,0 @@
1
- require "test_helper"
2
-
3
- module ShopifyCLI
4
- module Migrator
5
- module Migrations
6
- module MigrationHelper
7
- def self.included(base)
8
- base.extend(ClassMethods)
9
- end
10
-
11
- module ClassMethods
12
- def require_migration(path)
13
- migration_name = File.basename(path).gsub("_test.rb", "")
14
- require("shopify_cli/migrator/migrations/#{migration_name}")
15
- end
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
- module TestHelpers
3
- autoload :Command, "test_helpers/command"
4
- autoload :Constants, "test_helpers/constants"
5
- autoload :FakeTask, "test_helpers/fake_task"
6
- autoload :FakeContext, "test_helpers/fake_context"
7
- autoload :FakeDB, "test_helpers/fake_db"
8
- autoload :FakeFS, "test_helpers/fake_fs"
9
- autoload :FakeProject, "test_helpers/fake_project"
10
- autoload :FakeUI, "test_helpers/fake_ui"
11
- autoload :Partners, "test_helpers/partners"
12
- autoload :Project, "test_helpers/project"
13
- autoload :Shopifolk, "test_helpers/shopifolk"
14
- autoload :Singleton, "test_helpers/singleton"
15
- autoload :TemporaryDirectory, "test_helpers/temporary_directory"
16
- end
@@ -1,7 +0,0 @@
1
- module Utilities
2
- module Constants
3
- module Paths
4
- ROOT = File.expand_path("..", __dir__)
5
- end
6
- end
7
- end
@@ -1,104 +0,0 @@
1
- require "open3"
2
- require "colorize"
3
-
4
- module Utilities
5
- module Docker
6
- class Container
7
- SHOPIFY_PATH = "/usr/src/app"
8
- SHOPIFY_BIN_PATH = "/usr/src/app/bin/shopify"
9
-
10
- Error = Class.new(StandardError)
11
-
12
- attr_reader :id, :env, :cwd, :xdg_config_home, :xdg_cache_home
13
-
14
- def initialize(id:, env:, cwd:)
15
- @id = id
16
- @cwd = cwd
17
- @xdg_config_home = File.join(cwd, ".config")
18
- @xdg_cache_home = File.join(cwd, ".cache")
19
- @env = env.merge({
20
- "XDG_CONFIG_HOME" => @xdg_config_home,
21
- "XDG_CACHE_HOME" => @xdg_cache_home,
22
- })
23
- end
24
-
25
- def remove
26
- _, stderr, stat = Open3.capture3(
27
- "docker", "rm", "-f", @id
28
- )
29
- raise Error, stderr unless stat.success?
30
- end
31
-
32
- def capture_shopify(*args)
33
- capture(*([SHOPIFY_BIN_PATH] + args))
34
- end
35
-
36
- def capture(*args, relative_dir: nil)
37
- command = ["docker", "exec"]
38
- cwd = if relative_dir.nil?
39
- @cwd
40
- else
41
- File.join(@cwd, relative_dir)
42
- end
43
- command += ["-w", cwd]
44
- @env.each do |env_name, env_value|
45
- command += ["--env", "#{env_name}=#{env_value}"]
46
- end
47
- command << @id
48
- command += args
49
-
50
- out, err, stat = Open3.capture3(*command)
51
- raise Error, err unless stat.success?
52
- out
53
- end
54
-
55
- def exec_shopify(*args, relative_dir: nil)
56
- exec(*([SHOPIFY_BIN_PATH] + args), relative_dir: relative_dir)
57
- end
58
-
59
- def exec(*args, relative_dir: nil)
60
- if ARGV.include?("--verbose")
61
- running_prefix = "Running command: #{args.join(" ")}"
62
- STDOUT.puts(running_prefix.colorize(:yellow).bold)
63
- end
64
- command = ["docker", "exec"]
65
- cwd = if relative_dir.nil?
66
- @cwd
67
- else
68
- File.join(@cwd, relative_dir)
69
- end
70
- command += ["-w", cwd]
71
- @env.each do |env_name, env_value|
72
- command += ["--env", "#{env_name}=#{env_value}"]
73
- end
74
- command << @id
75
- command += args
76
-
77
- docker_prefix = "Docker (#{args.first}):"
78
-
79
- if ARGV.include?("--verbose")
80
- stat = Open3.popen3(*command) do |stdin, stdout, stderr, wait_thread|
81
- Thread.new do
82
- stdout.each { |l| STDOUT.puts("#{docker_prefix.colorize(:cyan).bold} #{l}") } unless stdout&.nil?
83
- end
84
- Thread.new do
85
- stderr.each { |l| STDERR.puts("#{docker_prefix.colorize(:red).bold} #{l}") } unless stderr&.nil?
86
- end
87
- stdin.close
88
-
89
- status = wait_thread.value
90
-
91
- stdout.close
92
- stderr.close
93
-
94
- status
95
- end
96
- raise StandardError, "The command #{args.first} failed" unless stat.success?
97
- else
98
- out, stat = Open3.capture2e(*command)
99
- raise Error, out unless stat.success?
100
- end
101
- end
102
- end
103
- end
104
- end
@@ -1,89 +0,0 @@
1
- require "open3"
2
- require "securerandom"
3
-
4
- module Utilities
5
- module Docker
6
- autoload :Container, "docker/container"
7
-
8
- Error = Class.new(StandardError)
9
-
10
- class << self
11
- def create_container(env: {})
12
- id = SecureRandom.hex
13
- cwd = "/tmp/#{SecureRandom.hex}"
14
-
15
- build_image_if_needed
16
-
17
- _, stderr, stat = Open3.capture3(
18
- "docker", "run",
19
- "-t", "-d",
20
- "--name", id,
21
- "--volume", "#{Shellwords.escape(root_dir)}:/usr/src/app",
22
- image_tag,
23
- "tail", "-f", "/dev/null"
24
- )
25
- raise Error, stderr unless stat.success?
26
-
27
- _, stderr, stat = Open3.capture3(
28
- "docker", "exec",
29
- id,
30
- "mkdir", "-p", cwd
31
- )
32
- raise Error, stderr unless stat.success?
33
-
34
- Container.new(
35
- id: id,
36
- cwd: cwd,
37
- env: env
38
- )
39
- end
40
-
41
- def run_and_rm_container(*args)
42
- build_image_if_needed
43
- system(
44
- "docker", "run",
45
- "-t", "--rm",
46
- "--volume", "#{Shellwords.escape(root_dir)}:/usr/src/app",
47
- image_tag,
48
- *args
49
- ) || abort
50
- end
51
-
52
- private
53
-
54
- def root_dir
55
- File.expand_path("..", __dir__)
56
- end
57
-
58
- def build_image_if_needed
59
- unless image_exists?(image_tag)
60
- puts "Rebuilding the Docker image..."
61
- _, err, stat = Open3.capture3(
62
- "docker", "build", "-t", image_tag, "-f", File.join(root_dir, "Tests.dockerfile"), root_dir
63
- )
64
- raise Error, err unless stat.success?
65
- end
66
- end
67
-
68
- def image_tag
69
- gemfile_lock_path = File.expand_path("./Gemfile.lock", root_dir)
70
- dockerfile_path = File.expand_path("./Tests.dockerfile", root_dir)
71
- fingerprintable_strings = [
72
- File.read(gemfile_lock_path),
73
- File.read(dockerfile_path),
74
- ]
75
- image_sha = Digest::SHA256.hexdigest(fingerprintable_strings.join("-"))
76
- "shopify-cli-#{image_sha}"
77
- end
78
-
79
- def image_exists?(tag)
80
- _, stat = Open3.capture2e(
81
- "docker", "inspect",
82
- "--type=image",
83
- tag
84
- )
85
- stat.success?
86
- end
87
- end
88
- end
89
- end
@@ -1,6 +0,0 @@
1
- $LOAD_PATH.unshift(__dir__) unless $LOAD_PATH.include?(__dir__)
2
-
3
- module Utilities
4
- autoload :Docker, "docker"
5
- autoload :Constants, "constants"
6
- end
@@ -1 +0,0 @@
1
- 6eadd6c7f7fc9217008c2cfb0bc3101cb6cf3b41