@shopify/cli-kit 3.45.0 → 3.46.0-pre.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 (136) hide show
  1. package/assets/cli-ruby/Gemfile +0 -1
  2. package/assets/cli-ruby/Rakefile +0 -76
  3. package/assets/cli-ruby/lib/project_types/extension/cli.rb +5 -86
  4. package/assets/cli-ruby/lib/shopify_cli/admin_api.rb +0 -3
  5. package/assets/cli-ruby/lib/shopify_cli/command/sub_command.rb +1 -2
  6. package/assets/cli-ruby/lib/shopify_cli/command.rb +0 -7
  7. package/assets/cli-ruby/lib/shopify_cli/commands.rb +0 -15
  8. package/assets/cli-ruby/lib/shopify_cli/core.rb +0 -1
  9. package/assets/cli-ruby/lib/shopify_cli/identity_auth.rb +0 -1
  10. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy.rb +9 -1
  11. package/assets/cli-ruby/lib/shopify_cli.rb +1 -10
  12. package/assets/cli-ruby/test/test_helpers.rb +0 -2
  13. package/dist/public/common/version.d.ts +1 -1
  14. package/dist/public/common/version.js +1 -1
  15. package/dist/public/common/version.js.map +1 -1
  16. package/dist/tsconfig.tsbuildinfo +1 -1
  17. package/package.json +1 -1
  18. package/assets/cli-ruby/lib/project_types/extension/commands/build.rb +0 -51
  19. package/assets/cli-ruby/lib/project_types/extension/commands/check.rb +0 -51
  20. package/assets/cli-ruby/lib/project_types/extension/commands/connect.rb +0 -35
  21. package/assets/cli-ruby/lib/project_types/extension/commands/create.rb +0 -100
  22. package/assets/cli-ruby/lib/project_types/extension/commands/info.rb +0 -86
  23. package/assets/cli-ruby/lib/project_types/extension/commands/push.rb +0 -112
  24. package/assets/cli-ruby/lib/project_types/extension/commands/register.rb +0 -67
  25. package/assets/cli-ruby/lib/project_types/extension/commands/tunnel.rb +0 -73
  26. package/assets/cli-ruby/lib/project_types/extension/forms/connect.rb +0 -42
  27. package/assets/cli-ruby/lib/project_types/extension/forms/create.rb +0 -49
  28. package/assets/cli-ruby/lib/project_types/extension/forms/questions/ask_app.rb +0 -53
  29. package/assets/cli-ruby/lib/project_types/extension/forms/questions/ask_name.rb +0 -48
  30. package/assets/cli-ruby/lib/project_types/extension/forms/questions/ask_registration.rb +0 -55
  31. package/assets/cli-ruby/lib/project_types/extension/forms/questions/ask_template.rb +0 -37
  32. package/assets/cli-ruby/lib/project_types/extension/forms/questions/ask_type.rb +0 -47
  33. package/assets/cli-ruby/lib/project_types/extension/models/development_server.rb +0 -77
  34. package/assets/cli-ruby/lib/project_types/extension/models/development_server_requirements.rb +0 -56
  35. package/assets/cli-ruby/lib/project_types/extension/models/npm_package.rb +0 -44
  36. package/assets/cli-ruby/lib/project_types/extension/models/product.rb +0 -12
  37. package/assets/cli-ruby/lib/project_types/extension/models/registration.rb +0 -20
  38. package/assets/cli-ruby/lib/project_types/extension/models/server_config/app.rb +0 -13
  39. package/assets/cli-ruby/lib/project_types/extension/models/server_config/base.rb +0 -31
  40. package/assets/cli-ruby/lib/project_types/extension/models/server_config/capabilities.rb +0 -11
  41. package/assets/cli-ruby/lib/project_types/extension/models/server_config/development.rb +0 -33
  42. package/assets/cli-ruby/lib/project_types/extension/models/server_config/development_entries.rb +0 -38
  43. package/assets/cli-ruby/lib/project_types/extension/models/server_config/development_renderer.rb +0 -38
  44. package/assets/cli-ruby/lib/project_types/extension/models/server_config/development_resource.rb +0 -13
  45. package/assets/cli-ruby/lib/project_types/extension/models/server_config/extension.rb +0 -46
  46. package/assets/cli-ruby/lib/project_types/extension/models/server_config/root.rb +0 -21
  47. package/assets/cli-ruby/lib/project_types/extension/models/server_config/user.rb +0 -10
  48. package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb +0 -29
  49. package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/checkout_ui_extension.rb +0 -170
  50. package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/web_pixel_extension.rb +0 -58
  51. package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/web_pixel_extension_utils/script_config.rb +0 -33
  52. package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/web_pixel_extension_utils/script_config_repository.rb +0 -75
  53. package/assets/cli-ruby/lib/project_types/extension/tasks/choose_next_available_port.rb +0 -36
  54. package/assets/cli-ruby/lib/project_types/extension/tasks/convert_server_config.rb +0 -85
  55. package/assets/cli-ruby/lib/project_types/extension/tasks/converters/app_converter.rb +0 -27
  56. package/assets/cli-ruby/lib/project_types/extension/tasks/converters/product_converter.rb +0 -21
  57. package/assets/cli-ruby/lib/project_types/extension/tasks/converters/registration_converter.rb +0 -28
  58. package/assets/cli-ruby/lib/project_types/extension/tasks/create_extension.rb +0 -31
  59. package/assets/cli-ruby/lib/project_types/extension/tasks/ensure_resource_url.rb +0 -39
  60. package/assets/cli-ruby/lib/project_types/extension/tasks/execute_commands/base.rb +0 -15
  61. package/assets/cli-ruby/lib/project_types/extension/tasks/execute_commands/build.rb +0 -30
  62. package/assets/cli-ruby/lib/project_types/extension/tasks/execute_commands/create.rb +0 -30
  63. package/assets/cli-ruby/lib/project_types/extension/tasks/execute_commands/outdated_extension_detection.rb +0 -57
  64. package/assets/cli-ruby/lib/project_types/extension/tasks/execute_commands/serve.rb +0 -36
  65. package/assets/cli-ruby/lib/project_types/extension/tasks/find_npm_packages.rb +0 -106
  66. package/assets/cli-ruby/lib/project_types/extension/tasks/find_package_from_json.rb +0 -37
  67. package/assets/cli-ruby/lib/project_types/extension/tasks/get_app.rb +0 -22
  68. package/assets/cli-ruby/lib/project_types/extension/tasks/get_apps.rb +0 -26
  69. package/assets/cli-ruby/lib/project_types/extension/tasks/get_extensions.rb +0 -33
  70. package/assets/cli-ruby/lib/project_types/extension/tasks/get_product.rb +0 -22
  71. package/assets/cli-ruby/lib/project_types/extension/tasks/merge_server_config.rb +0 -47
  72. package/assets/cli-ruby/lib/project_types/extension/tasks/update_draft.rb +0 -29
  73. package/assets/cli-ruby/lib/project_types/extension/tasks/user_errors.rb +0 -45
  74. package/assets/cli-ruby/lib/shopify_cli/admin_api/populate_resource_command.rb +0 -166
  75. package/assets/cli-ruby/lib/shopify_cli/admin_api/schema.rb +0 -35
  76. package/assets/cli-ruby/lib/shopify_cli/app_type_detector.rb +0 -36
  77. package/assets/cli-ruby/lib/shopify_cli/assets/post_auth_page/index.html.erb +0 -34
  78. package/assets/cli-ruby/lib/shopify_cli/assets/post_auth_page/style.css +0 -58
  79. package/assets/cli-ruby/lib/shopify_cli/changelog.rb +0 -148
  80. package/assets/cli-ruby/lib/shopify_cli/command/app_sub_command.rb +0 -26
  81. package/assets/cli-ruby/lib/shopify_cli/command_options/command_serve_options.rb +0 -53
  82. package/assets/cli-ruby/lib/shopify_cli/command_options.rb +0 -7
  83. package/assets/cli-ruby/lib/shopify_cli/commands/app/connect.rb +0 -22
  84. package/assets/cli-ruby/lib/shopify_cli/commands/app/create/node.rb +0 -40
  85. package/assets/cli-ruby/lib/shopify_cli/commands/app/create/php.rb +0 -37
  86. package/assets/cli-ruby/lib/shopify_cli/commands/app/create/rails.rb +0 -42
  87. package/assets/cli-ruby/lib/shopify_cli/commands/app/create.rb +0 -28
  88. package/assets/cli-ruby/lib/shopify_cli/commands/app/deploy.rb +0 -51
  89. package/assets/cli-ruby/lib/shopify_cli/commands/app/open.rb +0 -19
  90. package/assets/cli-ruby/lib/shopify_cli/commands/app/serve.rb +0 -51
  91. package/assets/cli-ruby/lib/shopify_cli/commands/app/tunnel.rb +0 -43
  92. package/assets/cli-ruby/lib/shopify_cli/commands/app.rb +0 -29
  93. package/assets/cli-ruby/lib/shopify_cli/commands/config.rb +0 -76
  94. package/assets/cli-ruby/lib/shopify_cli/commands/help.rb +0 -52
  95. package/assets/cli-ruby/lib/shopify_cli/commands/login.rb +0 -98
  96. package/assets/cli-ruby/lib/shopify_cli/commands/logout.rb +0 -50
  97. package/assets/cli-ruby/lib/shopify_cli/commands/populate/customer.rb +0 -25
  98. package/assets/cli-ruby/lib/shopify_cli/commands/populate/draft_order.rb +0 -28
  99. package/assets/cli-ruby/lib/shopify_cli/commands/populate/product.rb +0 -24
  100. package/assets/cli-ruby/lib/shopify_cli/commands/populate.rb +0 -23
  101. package/assets/cli-ruby/lib/shopify_cli/commands/reporting.rb +0 -38
  102. package/assets/cli-ruby/lib/shopify_cli/commands/store.rb +0 -15
  103. package/assets/cli-ruby/lib/shopify_cli/commands/switch.rb +0 -39
  104. package/assets/cli-ruby/lib/shopify_cli/commands/system.rb +0 -165
  105. package/assets/cli-ruby/lib/shopify_cli/commands/version.rb +0 -15
  106. package/assets/cli-ruby/lib/shopify_cli/commands/whoami.rb +0 -28
  107. package/assets/cli-ruby/lib/shopify_cli/connect.rb +0 -32
  108. package/assets/cli-ruby/lib/shopify_cli/core/help_resolver.rb +0 -20
  109. package/assets/cli-ruby/lib/shopify_cli/heroku.rb +0 -140
  110. package/assets/cli-ruby/lib/shopify_cli/identity_auth/servlet.rb +0 -44
  111. package/assets/cli-ruby/lib/shopify_cli/js_deps.rb +0 -110
  112. package/assets/cli-ruby/lib/shopify_cli/packager.rb +0 -108
  113. package/assets/cli-ruby/lib/shopify_cli/php_deps.rb +0 -102
  114. package/assets/cli-ruby/lib/shopify_cli/process_supervision.rb +0 -228
  115. package/assets/cli-ruby/lib/shopify_cli/project_commands.rb +0 -16
  116. package/assets/cli-ruby/lib/shopify_cli/release.rb +0 -197
  117. package/assets/cli-ruby/lib/shopify_cli/sed.rb +0 -19
  118. package/assets/cli-ruby/lib/shopify_cli/services/app/connect_service.rb +0 -25
  119. package/assets/cli-ruby/lib/shopify_cli/services/app/create/node_service.rb +0 -143
  120. package/assets/cli-ruby/lib/shopify_cli/services/app/create/php_service.rb +0 -147
  121. package/assets/cli-ruby/lib/shopify_cli/services/app/create/rails_service.rb +0 -239
  122. package/assets/cli-ruby/lib/shopify_cli/services/app/deploy/heroku/node_service.rb +0 -101
  123. package/assets/cli-ruby/lib/shopify_cli/services/app/deploy/heroku/php_service.rb +0 -135
  124. package/assets/cli-ruby/lib/shopify_cli/services/app/deploy/heroku/rails_service.rb +0 -120
  125. package/assets/cli-ruby/lib/shopify_cli/services/app/open_service.rb +0 -19
  126. package/assets/cli-ruby/lib/shopify_cli/services/app/serve/node_service.rb +0 -19
  127. package/assets/cli-ruby/lib/shopify_cli/services/app/serve/php_service.rb +0 -23
  128. package/assets/cli-ruby/lib/shopify_cli/services/app/serve/rails_service.rb +0 -28
  129. package/assets/cli-ruby/lib/shopify_cli/services/app/serve/serve_service.rb +0 -57
  130. package/assets/cli-ruby/lib/shopify_cli/services/app/tunnel/auth_service.rb +0 -21
  131. package/assets/cli-ruby/lib/shopify_cli/services/app/tunnel/start_service.rb +0 -20
  132. package/assets/cli-ruby/lib/shopify_cli/services/app/tunnel/stop_service.rb +0 -20
  133. package/assets/cli-ruby/lib/shopify_cli/services/base_service.rb +0 -13
  134. package/assets/cli-ruby/lib/shopify_cli/services/reporting_service.rb +0 -16
  135. package/assets/cli-ruby/lib/shopify_cli/services.rb +0 -38
  136. package/assets/cli-ruby/lib/shopify_cli/tunnel.rb +0 -255
@@ -1,135 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- module App
4
- module Deploy
5
- module Heroku
6
- class PHPService < BaseService
7
- attr_reader :context
8
-
9
- def initialize(context:)
10
- @context = context
11
- super()
12
- end
13
-
14
- def call
15
- spin_group = CLI::UI::SpinGroup.new
16
- heroku_service = ShopifyCLI::Heroku.new(context)
17
-
18
- spin_group.add(context.message("core.app.deploy.heroku.downloading")) do |spinner|
19
- heroku_service.download
20
- spinner.update_title(context.message("core.app.deploy.heroku.downloaded"))
21
- end
22
- spin_group.wait
23
-
24
- install_message = context.message(
25
- context.windows? ? "core.app.deploy.heroku.installing_windows" : "core.app.deploy.heroku.installing"
26
- )
27
- spin_group.add(install_message) do |spinner|
28
- heroku_service.install
29
- spinner.update_title(context.message("core.app.deploy.heroku.installed"))
30
- end
31
- spin_group.wait
32
-
33
- spin_group.add(context.message("core.app.deploy.heroku.git.checking")) do |spinner|
34
- ShopifyCLI::Git.init(context)
35
- spinner.update_title(context.message("core.app.deploy.heroku.git.initialized"))
36
- end
37
- spin_group.wait
38
-
39
- if (account = heroku_service.whoami)
40
- context.puts(context.message("core.app.deploy.heroku.authenticated_with_account", account))
41
- else
42
- CLI::UI::Frame.open(
43
- context.message("core.app.deploy.heroku.authenticating"),
44
- success_text: context.message("core.app.deploy.heroku.authenticated")
45
- ) do
46
- heroku_service.authenticate
47
- end
48
- end
49
-
50
- if (app_name = heroku_service.app)
51
- context.puts(context.message("core.app.deploy.heroku.app.selected", app_name))
52
- else
53
- app_type = CLI::UI::Prompt.ask(context.message("core.app.deploy.heroku.app.no_apps_found")) do |handler|
54
- handler.option(context.message("core.app.deploy.heroku.app.create")) { :new }
55
- handler.option(context.message("core.app.deploy.heroku.app.select")) { :existing }
56
- end
57
-
58
- if app_type == :existing
59
- app_name = CLI::UI::Prompt.ask(context.message("core.app.deploy.heroku.app.name"))
60
- CLI::UI::Frame.open(
61
- context.message("core.app.deploy.heroku.app.selecting", app_name),
62
- success_text: context.message("core.app.deploy.heroku.app.selected", app_name)
63
- ) do
64
- heroku_service.select_existing_app(app_name)
65
- end
66
- elsif app_type == :new
67
- CLI::UI::Frame.open(
68
- context.message("core.app.deploy.heroku.app.creating"),
69
- success_text: context.message("core.app.deploy.heroku.app.created")
70
- ) do
71
- heroku_service.create_new_app
72
- app_name = heroku_service.app
73
- end
74
- end
75
- end
76
-
77
- branches = ShopifyCLI::Git.branches(context)
78
- if branches.length == 1
79
- branch_to_deploy = branches[0]
80
- context.puts(context.message("core.app.deploy.heroku.git.branch_selected", branch_to_deploy))
81
- else
82
- prompt_question = context.message("core.app.deploy.heroku.git.what_branch")
83
- branch_to_deploy = CLI::UI::Prompt.ask(prompt_question) do |handler|
84
- branches.each do |branch|
85
- handler.option(branch) { branch }
86
- end
87
- end
88
- end
89
-
90
- app_url = "https://#{app_name}.herokuapp.com"
91
-
92
- CLI::UI::Frame.open(
93
- context.message("core.app.deploy.heroku.app.setting_configs"),
94
- success_text: context.message("core.app.deploy.heroku.app.configs_set")
95
- ) do
96
- allowed_configs = [/SHOPIFY_API_KEY/, /SHOPIFY_API_SECRET/, /SCOPES/, /HOST/]
97
-
98
- ShopifyCLI::Project.current.env.to_h.each do |config, value|
99
- next unless allowed_configs.any? { |pattern| pattern.match?(config) }
100
-
101
- value = app_url if config == "HOST"
102
-
103
- current = heroku_service.get_config(config)
104
- heroku_service.set_config(config, value) if current.nil? || current != value
105
- end
106
-
107
- current_key = heroku_service.get_config("APP_KEY")
108
- if current_key.nil? || current_key.empty?
109
- output, status = context.capture2e("php", "artisan", "key:generate", "--show")
110
-
111
- abort_message = context.message("core.app.deploy.heroku.php.error.generate_app_key")
112
- context.abort(abort_message) unless status.success?
113
-
114
- heroku_service.set_config("APP_KEY", output.strip) if status.success?
115
- end
116
-
117
- heroku_service.add_buildpacks(["heroku/php", "heroku/nodejs"])
118
- end
119
-
120
- CLI::UI::Frame.open(
121
- context.message("core.app.deploy.heroku.deploying"),
122
- success_text: context.message("core.app.deploy.heroku.deployed")
123
- ) do
124
- heroku_service.deploy(branch_to_deploy)
125
- end
126
-
127
- heroku_command = heroku_service.heroku_command
128
- context.puts(context.message("core.app.deploy.heroku.php.post_deploy", app_url, heroku_command))
129
- end
130
- end
131
- end
132
- end
133
- end
134
- end
135
- end
@@ -1,120 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- module App
4
- module Deploy
5
- module Heroku
6
- class RailsService < BaseService
7
- DB_CHECK_CMD = 'bundle exec rails runner "puts ActiveRecord::Base.connection.adapter_name.downcase"'
8
-
9
- attr_reader :context
10
-
11
- def initialize(context:)
12
- @context = context
13
- super()
14
- end
15
-
16
- def call
17
- CLI::UI::Frame.open(context.message("core.app.deploy.heroku.rails.db_check.validating")) do
18
- CLI::UI::Spinner.spin(context.message("core.app.deploy.heroku.rails.db_check.checking")) do |spinner|
19
- db_type, err = check_db(context)
20
- context.abort(context.message(err)) unless err.nil?
21
- spinner.update_title(context.message("core.app.deploy.heroku.rails.db_check.validated", db_type))
22
- end
23
- true
24
- end
25
-
26
- spin_group = CLI::UI::SpinGroup.new
27
- heroku_service = ShopifyCLI::Heroku.new(context)
28
-
29
- spin_group.add(context.message("core.app.deploy.heroku.downloading")) do |spinner|
30
- heroku_service.download
31
- spinner.update_title(context.message("core.app.deploy.heroku.downloaded"))
32
- end
33
- spin_group.wait
34
-
35
- spin_group.add(context.message("core.app.deploy.heroku.installing")) do |spinner|
36
- heroku_service.install
37
- spinner.update_title(context.message("core.app.deploy.heroku.installed"))
38
- end
39
- spin_group.add(context.message("core.app.deploy.heroku.git.checking")) do |spinner|
40
- ShopifyCLI::Git.init(context)
41
- spinner.update_title(context.message("core.app.deploy.heroku.git.initialized"))
42
- end
43
- spin_group.wait
44
-
45
- if (account = heroku_service.whoami)
46
- context.puts(context.message("core.app.deploy.heroku.authenticated_with_account", account))
47
- else
48
- CLI::UI::Frame.open(
49
- context.message("core.app.deploy.heroku.authenticating"),
50
- success_text: context.message("core.app.deploy.heroku.authenticated")
51
- ) do
52
- heroku_service.authenticate
53
- end
54
- end
55
-
56
- if (app_name = heroku_service.app)
57
- context.puts(context.message("core.app.deploy.heroku.app.selected", app_name))
58
- else
59
- app_type = CLI::UI::Prompt.ask(context.message("core.app.deploy.heroku.app.no_apps_found")) do |handler|
60
- handler.option(context.message("core.app.deploy.heroku.app.create")) { :new }
61
- handler.option(context.message("core.app.deploy.heroku.app.select")) { :existing }
62
- end
63
-
64
- if app_type == :existing
65
- app_name = CLI::UI::Prompt.ask(context.message("core.app.deploy.heroku.app.name"))
66
- CLI::UI::Frame.open(
67
- context.message("core.app.deploy.heroku.app.selecting", app_name),
68
- success_text: context.message("core.app.deploy.heroku.app.selected", app_name)
69
- ) do
70
- heroku_service.select_existing_app(app_name)
71
- end
72
- elsif app_type == :new
73
- CLI::UI::Frame.open(
74
- context.message("core.app.deploy.heroku.app.creating"),
75
- success_text: context.message("core.app.deploy.heroku.app.created")
76
- ) do
77
- heroku_service.create_new_app
78
- end
79
- end
80
- end
81
-
82
- branches = ShopifyCLI::Git.branches(context)
83
- if branches.length == 1
84
- branch_to_deploy = branches[0]
85
- context.puts(context.message("core.app.deploy.heroku.git.branch_selected", branch_to_deploy))
86
- else
87
- prompt_question = context.message("core.app.deploy.heroku.git.what_branch")
88
- branch_to_deploy = CLI::UI::Prompt.ask(prompt_question) do |handler|
89
- branches.each do |branch|
90
- handler.option(branch) { branch }
91
- end
92
- end
93
- end
94
-
95
- CLI::UI::Frame.open(
96
- context.message("core.app.deploy.heroku.deploying"),
97
- success_text: context.message("core.app.deploy.heroku.deployed")
98
- ) do
99
- heroku_service.deploy(branch_to_deploy)
100
- end
101
- end
102
-
103
- private
104
-
105
- def check_db(context)
106
- out, stat = context.capture2e(DB_CHECK_CMD)
107
- if stat.success? && out.strip == "sqlite"
108
- ["sqlite", "core.app.deploy.heroku.rails.db_check.sqlite"]
109
- elsif !stat.success?
110
- [nil, "core.app.deploy.heroku.rails.db_check.problem"]
111
- else
112
- [out.strip, nil]
113
- end
114
- end
115
- end
116
- end
117
- end
118
- end
119
- end
120
- end
@@ -1,19 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- module App
4
- class OpenService < BaseService
5
- attr_reader :project, :context
6
-
7
- def initialize(project:, context:)
8
- @project = project
9
- @context = context
10
- super()
11
- end
12
-
13
- def call
14
- context.open_url!("#{project.env.host}/login?shop=#{project.env.shop}")
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,19 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- module App
4
- module Serve
5
- class NodeService < ServeService
6
- def call
7
- generate_url
8
-
9
- CLI::UI::Frame.open(context.message("core.app.serve.running_server")) do
10
- env = project.env.to_h
11
- env["PORT"] = port.to_s
12
- context.system("npm run dev", env: env)
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,23 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- module App
4
- module Serve
5
- class PHPService < ServeService
6
- def call
7
- generate_url
8
-
9
- CLI::UI::Frame.open(context.message("core.app.serve.running_server")) do
10
- if ShopifyCLI::ProcessSupervision.running?(:npm_watch)
11
- ShopifyCLI::ProcessSupervision.stop(:npm_watch)
12
- end
13
- ShopifyCLI::ProcessSupervision.start(:npm_watch, "npm run watch", force_spawn: true)
14
-
15
- env = project.env.to_h
16
- context.system("php", "artisan", "serve", "--port", port.to_s, env: env)
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,28 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- module App
4
- module Serve
5
- class RailsService < ServeService
6
- def call
7
- generate_url
8
-
9
- CLI::UI::Frame.open(context.message("core.app.serve.running_server")) do
10
- original_env = JSON.parse(ENV["ORIGINAL_ENV"] || "{}")
11
- env = original_env.merge(ShopifyCLI::Project.current.env.to_h)
12
- env.delete("HOST") if context.ruby_gem_version("shopify_app") < ::Semantic::Version.new("19.0.0")
13
- env["PORT"] = port.to_s
14
- env["GEM_PATH"] =
15
- [env["GEM_PATH"], Rails::Gem.gem_path(context)].compact
16
- .join(CLI::UI::OS.current.path_separator)
17
- if context.windows?
18
- context.system("ruby bin\\rails server", env: env)
19
- else
20
- context.system("bin/rails server", env: env)
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,57 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- module App
4
- module Serve
5
- class ServeService < BaseService
6
- attr_accessor :host, :port, :no_update, :context
7
-
8
- def initialize(host:, port:, no_update:, context:)
9
- @host = host
10
- @port = port
11
- @no_update = no_update
12
- @context = context
13
- super()
14
- end
15
-
16
- def call
17
- raise NotImplementedError
18
- end
19
-
20
- private
21
-
22
- def generate_url
23
- create_tunnel
24
- update_url unless no_update
25
- show_app_url
26
- end
27
-
28
- def create_tunnel
29
- url = host || ShopifyCLI::Tunnel.start(context, port: port)
30
- raise ShopifyCLI::Abort,
31
- context.message("core.app.serve.error.host_must_be_https") if url.match(/^https/i).nil?
32
- project.env.update(context, :host, url)
33
- end
34
-
35
- def update_url
36
- ShopifyCLI::Tasks::UpdateDashboardURLS.call(
37
- context,
38
- url: project.env.host,
39
- callback_urls: %w(/auth/shopify/callback /auth/callback),
40
- )
41
- end
42
-
43
- def show_app_url
44
- return unless project.env.shop
45
-
46
- project_url = "#{project.env.host}/login?shop=#{project.env.shop}"
47
- context.puts("\n" + context.message("core.app.serve.open_info", project_url) + "\n")
48
- end
49
-
50
- def project
51
- @project ||= ShopifyCLI::Project.current
52
- end
53
- end
54
- end
55
- end
56
- end
57
- end
@@ -1,21 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- module App
4
- module Tunnel
5
- class AuthService < BaseService
6
- attr_accessor :context, :token
7
-
8
- def initialize(token:, context:)
9
- @context = context
10
- @token = token
11
- super()
12
- end
13
-
14
- def call
15
- ShopifyCLI::Tunnel.auth(context, token)
16
- end
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,20 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- module App
4
- module Tunnel
5
- class StartService < BaseService
6
- attr_accessor :context
7
-
8
- def initialize(context:)
9
- @context = context
10
- super()
11
- end
12
-
13
- def call
14
- ShopifyCLI::Tunnel.start(context)
15
- end
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,20 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- module App
4
- module Tunnel
5
- class StopService < BaseService
6
- attr_accessor :context
7
-
8
- def initialize(context:)
9
- @context = context
10
- super()
11
- end
12
-
13
- def call
14
- ShopifyCLI::Tunnel.stop(context)
15
- end
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,13 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- class BaseService
4
- def self.call(*args, **kwargs, &block)
5
- new(*args, **kwargs).call(&block)
6
- end
7
-
8
- def call
9
- raise NotImplementedError
10
- end
11
- end
12
- end
13
- end
@@ -1,16 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- class ReportingService < BaseService
4
- attr_reader :enable
5
-
6
- def initialize(enable:)
7
- @enable = enable
8
- super()
9
- end
10
-
11
- def call
12
- ReportingConfigurationController.enable_reporting(enable)
13
- end
14
- end
15
- end
16
- end
@@ -1,38 +0,0 @@
1
- module ShopifyCLI
2
- module Services
3
- autoload :BaseService, "shopify_cli/services/base_service"
4
- autoload :ReportingService, "shopify_cli/services/reporting_service"
5
-
6
- module App
7
- module Serve
8
- autoload :ServeService, "shopify_cli/services/app/serve/serve_service"
9
- autoload :NodeService, "shopify_cli/services/app/serve/node_service"
10
- autoload :RailsService, "shopify_cli/services/app/serve/rails_service"
11
- autoload :PHPService, "shopify_cli/services/app/serve/php_service"
12
- end
13
-
14
- module Create
15
- autoload :NodeService, "shopify_cli/services/app/create/node_service"
16
- autoload :RailsService, "shopify_cli/services/app/create/rails_service"
17
- autoload :PHPService, "shopify_cli/services/app/create/php_service"
18
- end
19
-
20
- module Deploy
21
- module Heroku
22
- autoload :NodeService, "shopify_cli/services/app/deploy/heroku/node_service"
23
- autoload :RailsService, "shopify_cli/services/app/deploy/heroku/rails_service"
24
- autoload :PHPService, "shopify_cli/services/app/deploy/heroku/php_service"
25
- end
26
- end
27
-
28
- module Tunnel
29
- autoload :StartService, "shopify_cli/services/app/tunnel/start_service"
30
- autoload :StopService, "shopify_cli/services/app/tunnel/stop_service"
31
- autoload :AuthService, "shopify_cli/services/app/tunnel/auth_service"
32
- end
33
-
34
- autoload :ConnectService, "shopify_cli/services/app/connect_service"
35
- autoload :OpenService, "shopify_cli/services/app/open_service"
36
- end
37
- end
38
- end