shopify-cli 2.2.2 → 2.6.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 (267) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -0
  3. data/.github/ISSUE_TEMPLATE.md +0 -4
  4. data/.github/workflows/shopify.yml +104 -0
  5. data/.gitignore +3 -0
  6. data/.rubocop.yml +14 -14
  7. data/.rubocop_todo.yml +3 -3
  8. data/CHANGELOG.md +30 -0
  9. data/CONTRIBUTING.md +23 -0
  10. data/Dockerfile +17 -0
  11. data/Gemfile +1 -0
  12. data/Gemfile.lock +67 -24
  13. data/RELEASING.md +1 -1
  14. data/Rakefile +75 -18
  15. data/bin/console +11 -0
  16. data/bin/shopify +16 -4
  17. data/dev.yml +14 -1
  18. data/ext/shopify-cli/extconf.rb +2 -0
  19. data/ext/shopify-extensions/extconf.rb +21 -0
  20. data/ext/shopify-extensions/shopify_extensions.rb +152 -0
  21. data/ext/shopify-extensions/version +1 -0
  22. data/lib/project_types/extension/cli.rb +19 -3
  23. data/lib/project_types/extension/commands/build.rb +32 -3
  24. data/lib/project_types/extension/commands/check.rb +2 -2
  25. data/lib/project_types/extension/commands/connect.rb +1 -1
  26. data/lib/project_types/extension/commands/create.rb +59 -16
  27. data/lib/project_types/extension/commands/extension_command.rb +1 -1
  28. data/lib/project_types/extension/commands/info.rb +1 -1
  29. data/lib/project_types/extension/commands/push.rb +1 -1
  30. data/lib/project_types/extension/commands/register.rb +2 -2
  31. data/lib/project_types/extension/commands/serve.rb +5 -5
  32. data/lib/project_types/extension/commands/tunnel.rb +6 -6
  33. data/lib/project_types/extension/extension_project.rb +4 -4
  34. data/lib/project_types/extension/features/argo.rb +3 -3
  35. data/lib/project_types/extension/features/argo_config.rb +5 -5
  36. data/lib/project_types/extension/features/argo_serve.rb +21 -6
  37. data/lib/project_types/extension/features/argo_setup.rb +1 -1
  38. data/lib/project_types/extension/features/argo_setup_step.rb +1 -1
  39. data/lib/project_types/extension/features/argo_setup_steps.rb +2 -2
  40. data/lib/project_types/extension/forms/connect.rb +2 -2
  41. data/lib/project_types/extension/forms/create.rb +6 -3
  42. data/lib/project_types/extension/forms/questions/ask_app.rb +2 -2
  43. data/lib/project_types/extension/forms/questions/ask_name.rb +1 -1
  44. data/lib/project_types/extension/forms/questions/ask_registration.rb +2 -2
  45. data/lib/project_types/extension/forms/questions/ask_template.rb +44 -0
  46. data/lib/project_types/extension/forms/questions/ask_type.rb +2 -2
  47. data/lib/project_types/extension/messages/message_loading.rb +2 -2
  48. data/lib/project_types/extension/messages/messages.rb +3 -0
  49. data/lib/project_types/extension/models/development_server.rb +78 -0
  50. data/lib/project_types/extension/models/development_server_requirements.rb +35 -0
  51. data/lib/project_types/extension/models/lazy_specification_handler.rb +1 -1
  52. data/lib/project_types/extension/models/server_config/base.rb +31 -0
  53. data/lib/project_types/extension/models/server_config/development.rb +23 -0
  54. data/lib/project_types/extension/models/server_config/development_entries.rb +38 -0
  55. data/lib/project_types/extension/models/server_config/development_renderer.rb +30 -0
  56. data/lib/project_types/extension/models/server_config/extension.rb +35 -0
  57. data/lib/project_types/extension/models/server_config/root.rb +18 -0
  58. data/lib/project_types/extension/models/server_config/user.rb +10 -0
  59. data/lib/project_types/extension/models/specification.rb +1 -1
  60. data/lib/project_types/extension/models/specification_handlers/checkout_ui_extension.rb +1 -1
  61. data/lib/project_types/extension/models/specification_handlers/default.rb +14 -2
  62. data/lib/project_types/extension/models/specification_handlers/theme_app_extension.rb +1 -1
  63. data/lib/project_types/extension/models/specifications.rb +4 -4
  64. data/lib/project_types/extension/tasks/choose_next_available_port.rb +2 -2
  65. data/lib/project_types/extension/tasks/configure_features.rb +1 -1
  66. data/lib/project_types/extension/tasks/configure_options.rb +1 -1
  67. data/lib/project_types/extension/tasks/converters/product_converter.rb +1 -1
  68. data/lib/project_types/extension/tasks/converters/server_config_converter.rb +31 -0
  69. data/lib/project_types/extension/tasks/create_extension.rb +2 -2
  70. data/lib/project_types/extension/tasks/fetch_specifications.rb +2 -2
  71. data/lib/project_types/extension/tasks/find_npm_packages.rb +5 -5
  72. data/lib/project_types/extension/tasks/get_app.rb +2 -2
  73. data/lib/project_types/extension/tasks/get_apps.rb +2 -2
  74. data/lib/project_types/extension/tasks/get_extensions.rb +2 -2
  75. data/lib/project_types/extension/tasks/get_product.rb +2 -2
  76. data/lib/project_types/extension/tasks/load_server_config.rb +23 -0
  77. data/lib/project_types/extension/tasks/run_extension_command.rb +81 -0
  78. data/lib/project_types/extension/tasks/update_draft.rb +2 -2
  79. data/lib/project_types/node/cli.rb +3 -3
  80. data/lib/project_types/node/commands/connect.rb +4 -4
  81. data/lib/project_types/node/commands/create.rb +10 -14
  82. data/lib/project_types/node/commands/deploy/heroku.rb +4 -4
  83. data/lib/project_types/node/commands/deploy.rb +3 -3
  84. data/lib/project_types/node/commands/generate.rb +2 -2
  85. data/lib/project_types/node/commands/open.rb +3 -3
  86. data/lib/project_types/node/commands/serve.rb +15 -7
  87. data/lib/project_types/node/commands/tunnel.rb +6 -6
  88. data/lib/project_types/node/forms/create.rb +3 -3
  89. data/lib/project_types/node/messages/messages.rb +3 -0
  90. data/lib/project_types/php/cli.rb +27 -0
  91. data/lib/project_types/php/commands/connect.rb +19 -0
  92. data/lib/project_types/php/commands/create.rb +143 -0
  93. data/lib/project_types/php/commands/deploy/heroku.rb +129 -0
  94. data/lib/project_types/php/commands/deploy.rb +32 -0
  95. data/lib/project_types/php/commands/open.rb +16 -0
  96. data/lib/project_types/php/commands/serve.rb +51 -0
  97. data/lib/project_types/php/commands/tunnel.rb +37 -0
  98. data/lib/project_types/php/forms/create.rb +45 -0
  99. data/lib/project_types/php/messages/messages.rb +191 -0
  100. data/lib/project_types/rails/cli.rb +3 -3
  101. data/lib/project_types/rails/commands/connect.rb +4 -4
  102. data/lib/project_types/rails/commands/create.rb +12 -16
  103. data/lib/project_types/rails/commands/deploy/heroku.rb +4 -4
  104. data/lib/project_types/rails/commands/deploy.rb +3 -3
  105. data/lib/project_types/rails/commands/generate/webhook.rb +3 -3
  106. data/lib/project_types/rails/commands/generate.rb +3 -3
  107. data/lib/project_types/rails/commands/open.rb +3 -3
  108. data/lib/project_types/rails/commands/serve.rb +8 -8
  109. data/lib/project_types/rails/commands/tunnel.rb +6 -6
  110. data/lib/project_types/rails/forms/create.rb +3 -3
  111. data/lib/project_types/rails/gem.rb +1 -1
  112. data/lib/project_types/rails/ruby.rb +1 -1
  113. data/lib/project_types/script/cli.rb +16 -6
  114. data/lib/project_types/script/commands/create.rb +4 -2
  115. data/lib/project_types/script/commands/push.rb +2 -2
  116. data/lib/project_types/script/config/extension_points.yml +30 -29
  117. data/lib/project_types/script/forms/create.rb +1 -1
  118. data/lib/project_types/script/layers/application/create_script.rb +32 -12
  119. data/lib/project_types/script/layers/application/extension_points.rb +4 -4
  120. data/lib/project_types/script/layers/application/push_script.rb +13 -1
  121. data/lib/project_types/script/layers/domain/extension_point.rb +13 -45
  122. data/lib/project_types/script/layers/domain/push_package.rb +0 -12
  123. data/lib/project_types/script/layers/domain/script_project.rb +2 -2
  124. data/lib/project_types/script/layers/infrastructure/api_clients/partners_proxy_api_client.rb +57 -0
  125. data/lib/project_types/script/layers/infrastructure/api_clients/script_service_api_client.rb +35 -0
  126. data/lib/project_types/script/layers/infrastructure/command_runner.rb +1 -1
  127. data/lib/project_types/script/layers/infrastructure/errors.rb +5 -0
  128. data/lib/project_types/script/layers/infrastructure/languages/assemblyscript_project_creator.rb +10 -90
  129. data/lib/project_types/script/layers/infrastructure/languages/project_creator.rb +76 -11
  130. data/lib/project_types/script/layers/infrastructure/languages/task_runner.rb +1 -1
  131. data/lib/project_types/script/layers/infrastructure/languages/typescript_project_creator.rb +33 -0
  132. data/lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb +105 -0
  133. data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +1 -1
  134. data/lib/project_types/script/layers/infrastructure/script_project_repository.rb +6 -6
  135. data/lib/project_types/script/layers/infrastructure/script_service.rb +25 -144
  136. data/lib/project_types/script/layers/infrastructure/script_uploader.rb +27 -0
  137. data/lib/project_types/script/layers/infrastructure/service_locator.rb +20 -0
  138. data/lib/project_types/script/messages/messages.rb +4 -0
  139. data/lib/project_types/script/tasks/ensure_env.rb +7 -7
  140. data/lib/project_types/script/ui/error_handler.rb +84 -76
  141. data/lib/project_types/script/ui/printing_spinner.rb +1 -1
  142. data/lib/project_types/theme/cli.rb +3 -3
  143. data/lib/project_types/theme/commands/check.rb +3 -3
  144. data/lib/project_types/theme/commands/delete.rb +7 -7
  145. data/lib/project_types/theme/commands/init.rb +3 -3
  146. data/lib/project_types/theme/commands/language_server.rb +2 -2
  147. data/lib/project_types/theme/commands/package.rb +2 -2
  148. data/lib/project_types/theme/commands/publish.rb +5 -5
  149. data/lib/project_types/theme/commands/pull.rb +15 -9
  150. data/lib/project_types/theme/commands/push.rb +18 -12
  151. data/lib/project_types/theme/commands/serve.rb +4 -4
  152. data/lib/project_types/theme/forms/confirm_store.rb +1 -1
  153. data/lib/project_types/theme/forms/select.rb +2 -2
  154. data/lib/{shopify-cli → shopify_cli}/admin_api/populate_resource_command.rb +3 -3
  155. data/lib/{shopify-cli → shopify_cli}/admin_api/schema.rb +4 -4
  156. data/lib/{shopify-cli → shopify_cli}/admin_api.rb +27 -27
  157. data/lib/{shopify-cli → shopify_cli}/api.rb +8 -8
  158. data/lib/shopify_cli/command/app_sub_command.rb +16 -0
  159. data/lib/{shopify-cli → shopify_cli}/command.rb +3 -3
  160. data/lib/{shopify-cli → shopify_cli}/commands/config.rb +14 -14
  161. data/lib/{shopify-cli → shopify_cli}/commands/help.rb +4 -4
  162. data/lib/{shopify-cli → shopify_cli}/commands/login.rb +7 -7
  163. data/lib/shopify_cli/commands/logout.rb +39 -0
  164. data/lib/{shopify-cli → shopify_cli}/commands/populate/customer.rb +4 -4
  165. data/lib/{shopify-cli → shopify_cli}/commands/populate/draft_order.rb +4 -4
  166. data/lib/{shopify-cli → shopify_cli}/commands/populate/product.rb +4 -4
  167. data/lib/shopify_cli/commands/populate.rb +23 -0
  168. data/lib/shopify_cli/commands/store.rb +15 -0
  169. data/lib/{shopify-cli → shopify_cli}/commands/switch.rb +5 -5
  170. data/lib/{shopify-cli → shopify_cli}/commands/system.rb +10 -10
  171. data/lib/shopify_cli/commands/version.rb +15 -0
  172. data/lib/{shopify-cli → shopify_cli}/commands/whoami.rb +7 -7
  173. data/lib/shopify_cli/commands.rb +34 -0
  174. data/lib/{shopify-cli → shopify_cli}/connect.rb +3 -3
  175. data/lib/shopify_cli/constants.rb +54 -0
  176. data/lib/{shopify-cli → shopify_cli}/context.rb +6 -6
  177. data/lib/{shopify-cli → shopify_cli}/core/entry_point.rb +7 -7
  178. data/lib/{shopify-cli → shopify_cli}/core/executor.rb +8 -4
  179. data/lib/{shopify-cli → shopify_cli}/core/finalize.rb +1 -1
  180. data/lib/{shopify-cli → shopify_cli}/core/help_resolver.rb +2 -2
  181. data/lib/{shopify-cli → shopify_cli}/core/monorail.rb +8 -8
  182. data/lib/shopify_cli/core.rb +8 -0
  183. data/lib/{shopify-cli → shopify_cli}/db.rb +8 -8
  184. data/lib/shopify_cli/environment.rb +91 -0
  185. data/lib/shopify_cli/exception_reporter/permission_controller.rb +54 -0
  186. data/lib/shopify_cli/exception_reporter.rb +55 -0
  187. data/lib/{shopify-cli → shopify_cli}/feature.rb +8 -8
  188. data/lib/{shopify-cli → shopify_cli}/form.rb +2 -2
  189. data/lib/{shopify-cli → shopify_cli}/git.rb +38 -8
  190. data/lib/{shopify-cli → shopify_cli}/helpers/haikunator.rb +1 -1
  191. data/lib/shopify_cli/helpers.rb +5 -0
  192. data/lib/{shopify-cli → shopify_cli}/heroku.rb +38 -13
  193. data/lib/{shopify-cli → shopify_cli}/http_request.rb +1 -1
  194. data/lib/{shopify-cli → shopify_cli}/identity_auth/servlet.rb +1 -1
  195. data/lib/{shopify-cli → shopify_cli}/identity_auth.rb +24 -31
  196. data/lib/{shopify-cli → shopify_cli}/js_deps.rb +7 -7
  197. data/lib/{shopify-cli → shopify_cli}/js_system.rb +10 -10
  198. data/lib/{shopify-cli → shopify_cli}/lazy_delegator.rb +2 -2
  199. data/lib/{shopify-cli → shopify_cli}/messages/messages.rb +44 -2
  200. data/lib/{shopify-cli → shopify_cli}/method_object.rb +15 -8
  201. data/lib/shopify_cli/migrator/migration.rb +27 -0
  202. data/lib/shopify_cli/migrator/migrations/1631709766_noop.rb +13 -0
  203. data/lib/shopify_cli/migrator.rb +48 -0
  204. data/lib/{shopify-cli → shopify_cli}/options.rb +1 -1
  205. data/lib/{shopify-cli → shopify_cli}/packager.rb +8 -8
  206. data/lib/{shopify-cli → shopify_cli}/partners_api/organizations.rb +1 -1
  207. data/lib/{shopify-cli → shopify_cli}/partners_api.rb +16 -40
  208. data/lib/shopify_cli/php_deps.rb +102 -0
  209. data/lib/{shopify-cli → shopify_cli}/process_supervision.rb +23 -21
  210. data/lib/{shopify-cli → shopify_cli}/project.rb +15 -15
  211. data/lib/{shopify-cli → shopify_cli}/project_commands.rb +3 -3
  212. data/lib/{shopify-cli → shopify_cli}/project_type.rb +5 -5
  213. data/lib/{shopify-cli → shopify_cli}/resolve_constant.rb +5 -5
  214. data/lib/{shopify-cli → shopify_cli}/resources/env_file.rb +1 -1
  215. data/lib/shopify_cli/resources.rb +5 -0
  216. data/lib/{shopify-cli → shopify_cli}/result.rb +11 -11
  217. data/lib/{shopify-cli → shopify_cli}/shopifolk.rb +6 -6
  218. data/lib/{shopify-cli → shopify_cli}/sub_command.rb +1 -1
  219. data/lib/{shopify-cli → shopify_cli}/task.rb +1 -1
  220. data/lib/{shopify-cli → shopify_cli}/tasks/confirm_store.rb +3 -3
  221. data/lib/{shopify-cli → shopify_cli}/tasks/create_api_client.rb +4 -4
  222. data/lib/shopify_cli/tasks/ensure_authenticated.rb +13 -0
  223. data/lib/{shopify-cli → shopify_cli}/tasks/ensure_dev_store.rb +5 -5
  224. data/lib/{shopify-cli → shopify_cli}/tasks/ensure_env.rb +3 -3
  225. data/lib/{shopify-cli → shopify_cli}/tasks/ensure_loopback_url.rb +4 -4
  226. data/lib/{shopify-cli → shopify_cli}/tasks/ensure_project_type.rb +3 -3
  227. data/lib/{shopify-cli → shopify_cli}/tasks/select_org_and_shop.rb +8 -8
  228. data/lib/{shopify-cli → shopify_cli}/tasks/update_dashboard_urls.rb +6 -6
  229. data/lib/{shopify-cli → shopify_cli}/tasks.rb +10 -10
  230. data/lib/{shopify-cli → shopify_cli}/theme/dev_server/certificate_manager.rb +5 -5
  231. data/lib/{shopify-cli → shopify_cli}/theme/dev_server/header_hash.rb +5 -1
  232. data/lib/{shopify-cli → shopify_cli}/theme/dev_server/hot-reload.js +0 -0
  233. data/lib/{shopify-cli → shopify_cli}/theme/dev_server/hot_reload.rb +5 -6
  234. data/lib/{shopify-cli → shopify_cli}/theme/dev_server/local_assets.rb +1 -1
  235. data/lib/{shopify-cli → shopify_cli}/theme/dev_server/proxy.rb +15 -3
  236. data/lib/{shopify-cli → shopify_cli}/theme/dev_server/sse.rb +1 -1
  237. data/lib/{shopify-cli → shopify_cli}/theme/dev_server/watcher.rb +1 -1
  238. data/lib/{shopify-cli → shopify_cli}/theme/dev_server/web_server.rb +1 -1
  239. data/lib/{shopify-cli → shopify_cli}/theme/dev_server.rb +3 -3
  240. data/lib/shopify_cli/theme/development_theme.rb +83 -0
  241. data/lib/{shopify-cli → shopify_cli}/theme/file.rb +12 -4
  242. data/lib/{shopify-cli → shopify_cli}/theme/ignore_filter.rb +8 -1
  243. data/lib/{shopify-cli → shopify_cli}/theme/mime_type.rb +1 -1
  244. data/lib/{shopify-cli → shopify_cli}/theme/syncer.rb +7 -7
  245. data/lib/{shopify-cli → shopify_cli}/theme/theme.rb +4 -4
  246. data/lib/{shopify-cli → shopify_cli}/transform_data_structure.rb +4 -4
  247. data/lib/{shopify-cli → shopify_cli}/tunnel.rb +14 -14
  248. data/lib/shopify_cli/version.rb +3 -0
  249. data/lib/shopify_cli.rb +61 -50
  250. data/shopify-cli.gemspec +13 -5
  251. data/utilities/docker.rb +47 -0
  252. data/utilities/utilities.rb +5 -0
  253. metadata +155 -97
  254. data/.github/workflows/build.yml +0 -28
  255. data/lib/project_types/script/layers/infrastructure/languages/rust_project_creator.rb +0 -73
  256. data/lib/project_types/script/layers/infrastructure/languages/rust_task_runner.rb +0 -60
  257. data/lib/shopify-cli/commands/logout.rb +0 -39
  258. data/lib/shopify-cli/commands/populate.rb +0 -23
  259. data/lib/shopify-cli/commands/store.rb +0 -15
  260. data/lib/shopify-cli/commands/version.rb +0 -15
  261. data/lib/shopify-cli/commands.rb +0 -34
  262. data/lib/shopify-cli/core.rb +0 -8
  263. data/lib/shopify-cli/helpers.rb +0 -5
  264. data/lib/shopify-cli/resources.rb +0 -5
  265. data/lib/shopify-cli/tasks/ensure_authenticated.rb +0 -13
  266. data/lib/shopify-cli/theme/development_theme.rb +0 -69
  267. data/lib/shopify-cli/version.rb +0 -3
@@ -1,73 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Script
4
- module Layers
5
- module Infrastructure
6
- module Languages
7
- class RustProjectCreator
8
- include SmartProperties
9
- property! :ctx, accepts: ShopifyCli::Context
10
- property! :extension_point, accepts: Domain::ExtensionPoint
11
- property! :script_name, accepts: String
12
- property! :path_to_project, accepts: String
13
-
14
- ORIGIN_BRANCH = "main"
15
- SAMPLE_PATH = "default"
16
-
17
- def setup_dependencies
18
- git_init
19
- setup_remote
20
- setup_sparse_checkout
21
- pull
22
- clean
23
- set_script_name
24
- end
25
-
26
- def bootstrap
27
- end
28
-
29
- private
30
-
31
- def command_runner
32
- @command_runner ||= CommandRunner.new(ctx: ctx)
33
- end
34
-
35
- def git_init
36
- command_runner.call("git init")
37
- end
38
-
39
- def setup_remote
40
- repo = extension_point.sdks.rust.package
41
- command_runner.call("git remote add -f origin #{repo}")
42
- end
43
-
44
- def setup_sparse_checkout
45
- type = extension_point.type
46
- command_runner.call("git config core.sparsecheckout true")
47
- command_runner.call("echo #{type}/#{SAMPLE_PATH} >> .git/info/sparse-checkout")
48
- end
49
-
50
- def pull
51
- command_runner.call("git pull origin #{ORIGIN_BRANCH}")
52
- end
53
-
54
- def clean
55
- type = extension_point.type
56
- ctx.rm_rf(".git")
57
- source = File.join(path_to_project, File.join(type, SAMPLE_PATH))
58
- FileUtils.copy_entry(source, path_to_project)
59
- ctx.rm_rf(type)
60
- end
61
-
62
- def set_script_name
63
- config_file = "Cargo.toml"
64
- upstream_name = "#{extension_point.type.gsub("_", "-")}-default"
65
- contents = File.read(config_file)
66
- new_contents = contents.sub(upstream_name, script_name)
67
- File.write(config_file, new_contents)
68
- end
69
- end
70
- end
71
- end
72
- end
73
- end
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
- module Script
3
- module Layers
4
- module Infrastructure
5
- module Languages
6
- class RustTaskRunner
7
- attr_reader :ctx
8
-
9
- BUILD_TARGET = "wasm32-unknown-unknown"
10
- METADATA_FILE = "build/metadata.json"
11
- CARGO_BUILD_CMD = "cargo build --target=#{BUILD_TARGET} --release"
12
-
13
- def initialize(ctx, _)
14
- @ctx = ctx
15
- end
16
-
17
- def dependencies_installed?
18
- true
19
- end
20
-
21
- def install_dependencies
22
- end
23
-
24
- def build
25
- compile
26
- bytecode
27
- end
28
-
29
- def compiled_type
30
- "wasm"
31
- end
32
-
33
- def metadata
34
- unless @ctx.file_exist?(METADATA_FILE)
35
- msg = @ctx.message("script.error.metadata_not_found_cause", METADATA_FILE)
36
- raise Domain::Errors::MetadataNotFoundError, msg
37
- end
38
-
39
- raw_contents = File.read(METADATA_FILE)
40
- Domain::Metadata.create_from_json(@ctx, raw_contents)
41
- end
42
-
43
- private
44
-
45
- def compile
46
- CommandRunner.new(ctx: ctx).call(CARGO_BUILD_CMD)
47
- end
48
-
49
- def bytecode
50
- binary_name = "script.wasm"
51
- binary_path = "target/#{BUILD_TARGET}/release/#{binary_name}"
52
- raise Errors::WebAssemblyBinaryNotFoundError unless ctx.file_exist?(binary_path)
53
-
54
- ctx.binread(binary_path)
55
- end
56
- end
57
- end
58
- end
59
- end
60
- end
@@ -1,39 +0,0 @@
1
- require "shopify_cli"
2
- require "shopify-cli/theme/development_theme"
3
-
4
- module ShopifyCli
5
- module Commands
6
- class Logout < ShopifyCli::Command
7
- def call(*)
8
- try_delete_development_theme
9
- ShopifyCli::IdentityAuth.delete_tokens_and_keys
10
- ShopifyCli::DB.del(:shop) if has_shop?
11
- ShopifyCli::DB.del(:organization_id) if has_organization_id?
12
- ShopifyCli::Shopifolk.reset
13
- @ctx.puts(@ctx.message("core.logout.success"))
14
- end
15
-
16
- def self.help
17
- ShopifyCli::Context.message("core.logout.help", ShopifyCli::TOOL_NAME)
18
- end
19
-
20
- private
21
-
22
- def has_shop?
23
- ShopifyCli::DB.exists?(:shop)
24
- end
25
-
26
- def has_organization_id?
27
- ShopifyCli::DB.exists?(:organization_id)
28
- end
29
-
30
- def try_delete_development_theme
31
- return unless has_shop?
32
-
33
- ShopifyCli::Theme::DevelopmentTheme.delete(@ctx)
34
- rescue ShopifyCli::API::APIRequestError
35
- # Ignore since we can't delete it
36
- end
37
- end
38
- end
39
- end
@@ -1,23 +0,0 @@
1
- require "shopify_cli"
2
-
3
- module ShopifyCli
4
- module Commands
5
- class Populate < ShopifyCli::Command
6
- subcommand :Customer, "customers", "shopify-cli/commands/populate/customer"
7
- subcommand :DraftOrder, "draftorders", "shopify-cli/commands/populate/draft_order"
8
- subcommand :Product, "products", "shopify-cli/commands/populate/product"
9
-
10
- def call(_args, _name)
11
- @ctx.puts(self.class.help)
12
- end
13
-
14
- def self.help
15
- ShopifyCli::Context.message("core.populate.help", ShopifyCli::TOOL_NAME)
16
- end
17
-
18
- def self.extended_help
19
- ShopifyCli::Context.message("core.populate.extended_help", ShopifyCli::TOOL_NAME)
20
- end
21
- end
22
- end
23
- end
@@ -1,15 +0,0 @@
1
- require "shopify_cli"
2
-
3
- module ShopifyCli
4
- module Commands
5
- class Store < ShopifyCli::Command
6
- def call(_args, _name)
7
- @ctx.puts(@ctx.message("core.store.shop", ShopifyCli::AdminAPI.get_shop_or_abort(@ctx)))
8
- end
9
-
10
- def self.help
11
- ShopifyCli::Context.message("core.store.help", ShopifyCli::TOOL_NAME)
12
- end
13
- end
14
- end
15
- end
@@ -1,15 +0,0 @@
1
- require "shopify_cli"
2
-
3
- module ShopifyCli
4
- module Commands
5
- class Version < ShopifyCli::Command
6
- def self.help
7
- ShopifyCli::Context.message("core.version.help", ShopifyCli::TOOL_NAME)
8
- end
9
-
10
- def call(_args, _name)
11
- @ctx.puts(ShopifyCli::VERSION.to_s)
12
- end
13
- end
14
- end
15
- end
@@ -1,34 +0,0 @@
1
- require "shopify_cli"
2
-
3
- module ShopifyCli
4
- module Commands
5
- Registry = CLI::Kit::CommandRegistry.new(
6
- default: "help",
7
- contextual_resolver: nil,
8
- )
9
- @core_commands = []
10
-
11
- def self.register(const, cmd, path = nil, is_core = false)
12
- autoload(const, path) if path
13
- Registry.add(->() { const_get(const) }, cmd)
14
- @core_commands.push(cmd) if is_core
15
- end
16
-
17
- def self.core_command?(cmd)
18
- @core_commands.include?(cmd)
19
- end
20
-
21
- register :Config, "config", "shopify-cli/commands/config", true
22
- register :Help, "help", "shopify-cli/commands/help", true
23
- register :Login, "login", "shopify-cli/commands/login", true
24
- register :Logout, "logout", "shopify-cli/commands/logout", true
25
- register :Populate, "populate", "shopify-cli/commands/populate", true
26
- register :Store, "store", "shopify-cli/commands/store", true
27
- register :Switch, "switch", "shopify-cli/commands/switch", true
28
- register :System, "system", "shopify-cli/commands/system", true
29
- register :Version, "version", "shopify-cli/commands/version", true
30
- register :Whoami, "whoami", "shopify-cli/commands/whoami", true
31
-
32
- autoload :Connect, "shopify-cli/commands/connect"
33
- end
34
- end
@@ -1,8 +0,0 @@
1
- module ShopifyCli
2
- module Core
3
- autoload :EntryPoint, "shopify-cli/core/entry_point"
4
- autoload :Executor, "shopify-cli/core/executor"
5
- autoload :HelpResolver, "shopify-cli/core/help_resolver"
6
- autoload :Monorail, "shopify-cli/core/monorail"
7
- end
8
- end
@@ -1,5 +0,0 @@
1
- module ShopifyCli
2
- module Helpers
3
- autoload :Haikunator, "shopify-cli/helpers/haikunator"
4
- end
5
- end
@@ -1,5 +0,0 @@
1
- module ShopifyCli
2
- module Resources
3
- autoload :EnvFile, "shopify-cli/resources/env_file"
4
- end
5
- end
@@ -1,13 +0,0 @@
1
- require "shopify_cli"
2
-
3
- module ShopifyCli
4
- module Tasks
5
- class EnsureAuthenticated < ShopifyCli::Task
6
- def call(ctx)
7
- ctx.abort(
8
- ctx.message("core.identity_auth.login_prompt", ShopifyCli::TOOL_NAME)
9
- ) unless ShopifyCli::IdentityAuth::IDENTITY_ACCESS_TOKENS.all? { |key| ShopifyCli::DB.exists?(key) }
10
- end
11
- end
12
- end
13
- end
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
- require_relative "theme"
3
-
4
- require "socket"
5
- require "securerandom"
6
-
7
- module ShopifyCli
8
- module Theme
9
- class DevelopmentTheme < Theme
10
- def id
11
- ShopifyCli::DB.get(:development_theme_id)
12
- end
13
-
14
- def name
15
- ShopifyCli::DB.get(:development_theme_name) || generate_theme_name
16
- end
17
-
18
- def role
19
- "development"
20
- end
21
-
22
- def ensure_exists!
23
- if exists?
24
- @ctx.debug("Using temporary development theme: ##{id} #{name}")
25
- else
26
- create
27
- @ctx.debug("Created temporary development theme: #{@id}")
28
- ShopifyCli::DB.set(development_theme_id: @id)
29
- end
30
- end
31
-
32
- def exists?
33
- return false unless id
34
-
35
- ShopifyCli::AdminAPI.rest_request(
36
- @ctx,
37
- shop: shop,
38
- path: "themes/#{id}.json",
39
- api_version: "unstable",
40
- )
41
- rescue ShopifyCli::API::APIRequestNotFoundError
42
- false
43
- end
44
-
45
- def delete
46
- super if exists?
47
- ShopifyCli::DB.del(:development_theme_id) if ShopifyCli::DB.exists?(:development_theme_id)
48
- ShopifyCli::DB.del(:development_theme_name) if ShopifyCli::DB.exists?(:development_theme_name)
49
- end
50
-
51
- def self.delete(ctx)
52
- new(ctx).delete
53
- end
54
-
55
- private
56
-
57
- def generate_theme_name
58
- hostname = Socket.gethostname.split(".").shift
59
- hash = SecureRandom.hex(3)
60
-
61
- theme_name = "Development (#{hash}-#{hostname})"
62
-
63
- ShopifyCli::DB.set(development_theme_name: theme_name)
64
-
65
- theme_name
66
- end
67
- end
68
- end
69
- end
@@ -1,3 +0,0 @@
1
- module ShopifyCli
2
- VERSION = "2.2.2"
3
- end