shopify-cli 2.7.1 → 2.7.2

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -1
  3. data/Gemfile.lock +1 -1
  4. data/lib/project_types/extension/commands/build.rb +3 -8
  5. data/lib/project_types/extension/commands/create.rb +1 -3
  6. data/lib/project_types/extension/messages/messages.rb +0 -2
  7. data/lib/project_types/extension/models/development_server.rb +2 -2
  8. data/lib/project_types/rails/commands/create.rb +1 -3
  9. data/lib/project_types/script/cli.rb +5 -0
  10. data/lib/project_types/script/commands/create.rb +1 -3
  11. data/lib/project_types/script/commands/javy.rb +0 -2
  12. data/lib/project_types/script/commands/push.rb +2 -1
  13. data/lib/project_types/script/config/extension_points.yml +0 -26
  14. data/lib/project_types/script/forms/ask_app.rb +32 -0
  15. data/lib/project_types/script/forms/ask_org.rb +30 -0
  16. data/lib/project_types/script/forms/ask_script_uuid.rb +22 -0
  17. data/lib/project_types/script/forms/run_against_shopify_org.rb +14 -0
  18. data/lib/project_types/script/layers/application/build_script.rb +0 -1
  19. data/lib/project_types/script/layers/application/connect_app.rb +73 -0
  20. data/lib/project_types/script/layers/domain/script_project.rb +4 -0
  21. data/lib/project_types/script/layers/infrastructure/errors.rb +0 -1
  22. data/lib/project_types/script/layers/infrastructure/languages/assemblyscript_task_runner.rb +0 -4
  23. data/lib/project_types/script/layers/infrastructure/languages/typescript_task_runner.rb +0 -4
  24. data/lib/project_types/script/messages/messages.rb +0 -2
  25. data/lib/project_types/script/ui/error_handler.rb +0 -5
  26. data/lib/project_types/theme/commands/pull.rb +3 -0
  27. data/lib/project_types/theme/commands/push.rb +6 -1
  28. data/lib/project_types/theme/commands/serve.rb +1 -1
  29. data/lib/project_types/theme/messages/messages.rb +9 -0
  30. data/lib/project_types/theme/ui/sync_progress_bar.rb +2 -2
  31. data/lib/shopify_cli/command/project_command.rb +20 -7
  32. data/lib/shopify_cli/commands/app/create/node.rb +1 -3
  33. data/lib/shopify_cli/commands/app/create/rails.rb +1 -3
  34. data/lib/shopify_cli/constants.rb +3 -0
  35. data/lib/shopify_cli/context.rb +9 -0
  36. data/lib/shopify_cli/environment.rb +4 -0
  37. data/lib/shopify_cli/identity_auth.rb +18 -0
  38. data/lib/shopify_cli/messages/messages.rb +1 -0
  39. data/lib/shopify_cli/partners_api.rb +1 -8
  40. data/lib/shopify_cli/services/app/serve/node_service.rb +1 -1
  41. data/lib/shopify_cli/services/app/serve/rails_service.rb +1 -1
  42. data/lib/shopify_cli/tasks/ensure_authenticated.rb +9 -3
  43. data/lib/shopify_cli/theme/dev_server.rb +4 -4
  44. data/lib/shopify_cli/theme/syncer/error_reporter.rb +45 -0
  45. data/lib/shopify_cli/theme/syncer/operation.rb +56 -0
  46. data/lib/shopify_cli/theme/syncer/standard_reporter.rb +32 -0
  47. data/lib/shopify_cli/theme/syncer.rb +40 -39
  48. data/lib/shopify_cli/theme/theme.rb +31 -19
  49. data/lib/shopify_cli/tunnel.rb +8 -10
  50. data/lib/shopify_cli/version.rb +1 -1
  51. metadata +10 -3
  52. data/lib/project_types/script/tasks/ensure_env.rb +0 -106
@@ -1,106 +0,0 @@
1
- require "shopify_cli"
2
-
3
- module Script
4
- module Tasks
5
- class EnsureEnv < ShopifyCLI::Task
6
- attr_accessor :ctx
7
-
8
- def call(ctx)
9
- self.ctx = ctx
10
-
11
- script_project_repo = Layers::Infrastructure::ScriptProjectRepository.new(ctx: ctx)
12
- script_project = script_project_repo.get
13
-
14
- return false if script_project.api_key && script_project.api_secret && script_project.uuid_defined?
15
-
16
- org = ask_org
17
- app = ask_app(org["apps"])
18
- uuid = ask_script_uuid(app, script_project.extension_point_type)
19
-
20
- script_project_repo.create_env(
21
- api_key: app["apiKey"],
22
- secret: app["apiSecretKeys"].first["secret"],
23
- uuid: uuid
24
- )
25
-
26
- true
27
- end
28
-
29
- private
30
-
31
- def ask_org
32
- return stubbed_org if partner_proxy_bypass
33
-
34
- if ShopifyCLI::Shopifolk.check && wants_to_run_against_shopify_org?
35
- ShopifyCLI::Shopifolk.act_as_shopify_organization
36
- end
37
-
38
- orgs = ShopifyCLI::PartnersAPI::Organizations.fetch_with_app(ctx)
39
- if orgs.count == 1
40
- default = orgs.first
41
- ctx.puts(ctx.message("script.application.ensure_env.organization", default["businessName"], default["id"]))
42
- default
43
- elsif orgs.count > 0
44
- CLI::UI::Prompt.ask(ctx.message("script.application.ensure_env.organization_select")) do |handler|
45
- orgs.each do |org|
46
- handler.option("#{org["businessName"]} (#{org["id"]})") { org }
47
- end
48
- end
49
- else
50
- raise Errors::NoExistingOrganizationsError
51
- end
52
- end
53
-
54
- def stubbed_org
55
- {
56
- "apps" => [
57
- {
58
- "appType" => "custom",
59
- "apiKey" => "stubbed-api-key",
60
- "apiSecretKeys" => [{ "secret" => "stubbed-api-secret" }],
61
- "title" => "Fake App (Not connected to Partners)",
62
- },
63
- ],
64
- }
65
- end
66
-
67
- def partner_proxy_bypass
68
- !ENV["BYPASS_PARTNERS_PROXY"].nil?
69
- end
70
-
71
- def ask_app(apps)
72
- unless ShopifyCLI::Shopifolk.acting_as_shopify_organization?
73
- apps = apps.select { |app| app["appType"] == "custom" }
74
- end
75
-
76
- if apps.count == 1
77
- default = apps.first
78
- ctx.puts(ctx.message("script.application.ensure_env.app", default["title"]))
79
- default
80
- elsif apps.count > 0
81
- CLI::UI::Prompt.ask(ctx.message("script.application.ensure_env.app_select")) do |handler|
82
- apps.each do |app|
83
- handler.option(app["title"]) { app }
84
- end
85
- end
86
- else
87
- raise Errors::NoExistingAppsError
88
- end
89
- end
90
-
91
- def ask_script_uuid(app, extension_point_type)
92
- script_service = Layers::Infrastructure::ServiceLocator.script_service(ctx: ctx, api_key: app["apiKey"])
93
- scripts = script_service.get_app_scripts(extension_point_type: extension_point_type)
94
-
95
- return nil unless scripts.count > 0 &&
96
- CLI::UI::Prompt.confirm(ctx.message("script.application.ensure_env.ask_connect_to_existing_script"))
97
-
98
- CLI::UI::Prompt.ask(ctx.message("script.application.ensure_env.ask_which_script_to_connect_to")) do |handler|
99
- scripts.each do |script|
100
- handler.option("#{script["title"]} (#{script["uuid"]})") { script["uuid"] }
101
- end
102
- end
103
- end
104
- end
105
- end
106
- end