shopify-cli 1.6.0 → 1.7.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 (179) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Gemfile +12 -12
  4. data/Rakefile +32 -30
  5. data/bin/load_shopify.rb +6 -6
  6. data/bin/shopify +2 -2
  7. data/ext/shopify-cli/extconf.rb +7 -7
  8. data/lib/docgen/markdown.rb +11 -11
  9. data/lib/{project_types/extension/graphql → graphql}/get_app_by_api_key.graphql +0 -0
  10. data/lib/project_types/extension/cli.rb +52 -45
  11. data/lib/project_types/extension/commands/build.rb +3 -3
  12. data/lib/project_types/extension/commands/create.rb +16 -9
  13. data/lib/project_types/extension/commands/extension_command.rb +8 -5
  14. data/lib/project_types/extension/commands/push.rb +8 -8
  15. data/lib/project_types/extension/commands/register.rb +19 -30
  16. data/lib/project_types/extension/commands/serve.rb +2 -2
  17. data/lib/project_types/extension/commands/tunnel.rb +12 -12
  18. data/lib/project_types/extension/extension_project.rb +4 -4
  19. data/lib/project_types/extension/extension_project_keys.rb +4 -4
  20. data/lib/project_types/extension/features/argo.rb +13 -13
  21. data/lib/project_types/extension/features/argo_config.rb +5 -5
  22. data/lib/project_types/extension/features/argo_dependencies.rb +5 -5
  23. data/lib/project_types/extension/features/argo_setup.rb +2 -2
  24. data/lib/project_types/extension/features/argo_setup_steps.rb +4 -4
  25. data/lib/project_types/extension/forms/create.rb +28 -34
  26. data/lib/project_types/extension/forms/questions/ask_app.rb +53 -0
  27. data/lib/project_types/extension/forms/questions/ask_name.rb +40 -0
  28. data/lib/project_types/extension/forms/questions/ask_type.rb +36 -0
  29. data/lib/project_types/extension/messages/messages.rb +53 -52
  30. data/lib/project_types/extension/models/lazy_specification_handler.rb +12 -0
  31. data/lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb +1 -1
  32. data/lib/project_types/extension/models/specification_handlers/default.rb +2 -2
  33. data/lib/project_types/extension/models/specifications.rb +3 -3
  34. data/lib/project_types/extension/tasks/configure_features.rb +4 -4
  35. data/lib/project_types/extension/tasks/converters/app_converter.rb +6 -6
  36. data/lib/project_types/extension/tasks/converters/registration_converter.rb +6 -6
  37. data/lib/project_types/extension/tasks/converters/validation_error_converter.rb +4 -4
  38. data/lib/project_types/extension/tasks/converters/version_converter.rb +7 -7
  39. data/lib/project_types/extension/tasks/create_extension.rb +4 -4
  40. data/lib/project_types/extension/tasks/fetch_specifications.rb +4 -4
  41. data/lib/project_types/extension/tasks/get_app.rb +4 -4
  42. data/lib/project_types/extension/tasks/get_apps.rb +3 -3
  43. data/lib/project_types/extension/tasks/update_draft.rb +4 -4
  44. data/lib/project_types/extension/tasks/user_errors.rb +4 -4
  45. data/lib/project_types/node/cli.rb +19 -19
  46. data/lib/project_types/node/commands/connect.rb +3 -3
  47. data/lib/project_types/node/commands/create.rb +40 -38
  48. data/lib/project_types/node/commands/deploy.rb +4 -4
  49. data/lib/project_types/node/commands/deploy/heroku.rb +24 -24
  50. data/lib/project_types/node/commands/generate.rb +8 -8
  51. data/lib/project_types/node/commands/open.rb +2 -2
  52. data/lib/project_types/node/commands/populate.rb +6 -6
  53. data/lib/project_types/node/commands/populate/customer.rb +5 -5
  54. data/lib/project_types/node/commands/populate/draft_order.rb +5 -5
  55. data/lib/project_types/node/commands/populate/product.rb +5 -5
  56. data/lib/project_types/node/commands/serve.rb +9 -9
  57. data/lib/project_types/node/commands/tunnel.rb +7 -7
  58. data/lib/project_types/node/forms/create.rb +7 -7
  59. data/lib/project_types/node/messages/messages.rb +3 -3
  60. data/lib/project_types/rails/cli.rb +21 -21
  61. data/lib/project_types/rails/commands/connect.rb +3 -3
  62. data/lib/project_types/rails/commands/create.rb +51 -48
  63. data/lib/project_types/rails/commands/deploy.rb +4 -4
  64. data/lib/project_types/rails/commands/deploy/heroku.rb +30 -30
  65. data/lib/project_types/rails/commands/generate.rb +7 -7
  66. data/lib/project_types/rails/commands/generate/webhook.rb +6 -6
  67. data/lib/project_types/rails/commands/open.rb +2 -2
  68. data/lib/project_types/rails/commands/populate.rb +6 -6
  69. data/lib/project_types/rails/commands/populate/customer.rb +5 -5
  70. data/lib/project_types/rails/commands/populate/draft_order.rb +5 -5
  71. data/lib/project_types/rails/commands/populate/product.rb +5 -5
  72. data/lib/project_types/rails/commands/serve.rb +11 -11
  73. data/lib/project_types/rails/commands/tunnel.rb +7 -7
  74. data/lib/project_types/rails/forms/create.rb +23 -23
  75. data/lib/project_types/rails/gem.rb +23 -23
  76. data/lib/project_types/rails/messages/messages.rb +4 -4
  77. data/lib/project_types/rails/ruby.rb +2 -2
  78. data/lib/project_types/script/cli.rb +40 -40
  79. data/lib/project_types/script/commands/create.rb +9 -8
  80. data/lib/project_types/script/commands/disable.rb +3 -3
  81. data/lib/project_types/script/commands/enable.rb +9 -7
  82. data/lib/project_types/script/commands/push.rb +5 -4
  83. data/lib/project_types/script/errors.rb +17 -0
  84. data/lib/project_types/script/forms/create.rb +5 -5
  85. data/lib/project_types/script/graphql/app_script_update_or_create.graphql +2 -0
  86. data/lib/project_types/script/layers/application/build_script.rb +6 -8
  87. data/lib/project_types/script/layers/application/create_script.rb +2 -2
  88. data/lib/project_types/script/layers/application/disable_script.rb +2 -2
  89. data/lib/project_types/script/layers/application/enable_script.rb +2 -2
  90. data/lib/project_types/script/layers/application/project_dependencies.rb +4 -4
  91. data/lib/project_types/script/layers/application/push_script.rb +4 -12
  92. data/lib/project_types/script/layers/domain/push_package.rb +5 -1
  93. data/lib/project_types/script/layers/infrastructure/assemblyscript_project_creator.rb +3 -3
  94. data/lib/project_types/script/layers/infrastructure/assemblyscript_task_runner.rb +10 -10
  95. data/lib/project_types/script/layers/infrastructure/errors.rb +1 -1
  96. data/lib/project_types/script/layers/infrastructure/extension_point_repository.rb +2 -2
  97. data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +12 -17
  98. data/lib/project_types/script/layers/infrastructure/rust_project_creator.rb +4 -4
  99. data/lib/project_types/script/layers/infrastructure/rust_task_runner.rb +1 -1
  100. data/lib/project_types/script/layers/infrastructure/script_service.rb +18 -16
  101. data/lib/project_types/script/messages/messages.rb +14 -8
  102. data/lib/project_types/script/script_project.rb +27 -5
  103. data/lib/project_types/script/ui/error_handler.rb +80 -68
  104. data/lib/project_types/script/ui/printing_spinner.rb +1 -1
  105. data/lib/project_types/script/ui/strict_spinner.rb +1 -1
  106. data/lib/project_types/theme/cli.rb +19 -19
  107. data/lib/project_types/theme/commands/connect.rb +12 -12
  108. data/lib/project_types/theme/commands/create.rb +11 -11
  109. data/lib/project_types/theme/commands/deploy.rb +8 -8
  110. data/lib/project_types/theme/commands/generate.rb +3 -3
  111. data/lib/project_types/theme/commands/generate/env.rb +15 -15
  112. data/lib/project_types/theme/commands/push.rb +15 -15
  113. data/lib/project_types/theme/commands/serve.rb +5 -5
  114. data/lib/project_types/theme/forms/connect.rb +4 -4
  115. data/lib/project_types/theme/forms/create.rb +5 -5
  116. data/lib/project_types/theme/tasks/ensure_themekit_installed.rb +22 -22
  117. data/lib/project_types/theme/themekit.rb +15 -15
  118. data/lib/rubygems_plugin.rb +3 -3
  119. data/lib/shopify-cli/admin_api.rb +11 -11
  120. data/lib/shopify-cli/admin_api/populate_resource_command.rb +17 -17
  121. data/lib/shopify-cli/admin_api/schema.rb +3 -3
  122. data/lib/shopify-cli/api.rb +10 -10
  123. data/lib/shopify-cli/command.rb +1 -1
  124. data/lib/shopify-cli/commands.rb +9 -9
  125. data/lib/shopify-cli/commands/config.rb +28 -52
  126. data/lib/shopify-cli/commands/connect.rb +10 -10
  127. data/lib/shopify-cli/commands/create.rb +5 -5
  128. data/lib/shopify-cli/commands/help.rb +6 -6
  129. data/lib/shopify-cli/commands/logout.rb +3 -3
  130. data/lib/shopify-cli/commands/system.rb +32 -32
  131. data/lib/shopify-cli/commands/version.rb +2 -2
  132. data/lib/shopify-cli/context.rb +23 -23
  133. data/lib/shopify-cli/core.rb +4 -4
  134. data/lib/shopify-cli/core/entry_point.rb +5 -5
  135. data/lib/shopify-cli/core/executor.rb +1 -1
  136. data/lib/shopify-cli/core/help_resolver.rb +2 -2
  137. data/lib/shopify-cli/core/monorail.rb +16 -16
  138. data/lib/shopify-cli/db.rb +2 -2
  139. data/lib/shopify-cli/feature.rb +1 -1
  140. data/lib/shopify-cli/form.rb +1 -1
  141. data/lib/shopify-cli/git.rb +17 -17
  142. data/lib/shopify-cli/helpers.rb +1 -1
  143. data/lib/shopify-cli/helpers/haikunator.rb +1 -1
  144. data/lib/shopify-cli/heroku.rb +28 -28
  145. data/lib/shopify-cli/http_request.rb +2 -2
  146. data/lib/shopify-cli/js_deps.rb +12 -12
  147. data/lib/shopify-cli/js_system.rb +5 -5
  148. data/lib/shopify-cli/lazy_delegator.rb +55 -0
  149. data/lib/shopify-cli/messages/messages.rb +4 -14
  150. data/lib/shopify-cli/oauth.rb +25 -25
  151. data/lib/shopify-cli/oauth/servlet.rb +9 -9
  152. data/lib/shopify-cli/options.rb +3 -3
  153. data/lib/shopify-cli/packager.rb +24 -24
  154. data/lib/shopify-cli/partners_api.rb +16 -16
  155. data/lib/shopify-cli/partners_api/organizations.rb +10 -10
  156. data/lib/shopify-cli/process_supervision.rb +7 -7
  157. data/lib/shopify-cli/project.rb +16 -16
  158. data/lib/shopify-cli/project_type.rb +3 -3
  159. data/lib/shopify-cli/resources.rb +1 -1
  160. data/lib/shopify-cli/resources/env_file.rb +9 -9
  161. data/lib/shopify-cli/result.rb +8 -8
  162. data/lib/shopify-cli/shopifolk.rb +6 -9
  163. data/lib/shopify-cli/sub_command.rb +1 -1
  164. data/lib/shopify-cli/task.rb +3 -3
  165. data/lib/shopify-cli/tasks.rb +7 -7
  166. data/lib/shopify-cli/tasks/create_api_client.rb +5 -5
  167. data/lib/shopify-cli/tasks/ensure_dev_store.rb +11 -11
  168. data/lib/shopify-cli/tasks/ensure_env.rb +15 -15
  169. data/lib/shopify-cli/tasks/ensure_loopback_url.rb +4 -4
  170. data/lib/shopify-cli/tasks/select_org_and_shop.rb +19 -19
  171. data/lib/shopify-cli/tasks/update_dashboard_urls.rb +10 -10
  172. data/lib/shopify-cli/transform_data_structure.rb +86 -0
  173. data/lib/shopify-cli/tunnel.rb +30 -30
  174. data/lib/shopify-cli/version.rb +1 -1
  175. data/lib/shopify_cli.rb +56 -54
  176. data/shopify-cli.gemspec +6 -6
  177. data/vendor/gen/template/bin/update-deps +9 -9
  178. metadata +9 -4
  179. data/lib/project_types/extension/forms/register.rb +0 -47
@@ -4,11 +4,11 @@ module Rails
4
4
  class Connect < ShopifyCli::SubCommand
5
5
  def call(*)
6
6
  if ShopifyCli::Project.has_current? && ShopifyCli::Project.current.env
7
- @ctx.puts(@ctx.message('rails.connect.production_warning'))
7
+ @ctx.puts(@ctx.message("rails.connect.production_warning"))
8
8
  end
9
9
 
10
- app = ShopifyCli::Commands::Connect.new.default_connect('rails')
11
- @ctx.done(@ctx.message('rails.connect.connected', app))
10
+ app = ShopifyCli::Commands::Connect.new.default_connect("rails")
11
+ @ctx.done(@ctx.message("rails.connect.connected", app))
12
12
  end
13
13
  end
14
14
  end
@@ -14,13 +14,16 @@ module Rails
14
14
 
15
15
  options do |parser, flags|
16
16
  # backwards compatibility allow 'title' for now
17
- parser.on('--title=TITLE') { |t| flags[:title] = t }
18
- parser.on('--name=NAME') { |t| flags[:title] = t }
19
- parser.on('--organization_id=ID') { |url| flags[:organization_id] = url }
20
- parser.on('--shop_domain=MYSHOPIFYDOMAIN') { |url| flags[:shop_domain] = url }
21
- parser.on('--type=APPTYPE') { |url| flags[:type] = url }
22
- parser.on('--db=DB') { |db| flags[:db] = db }
23
- parser.on('--rails_opts=RAILSOPTS') { |opts| flags[:rails_opts] = opts }
17
+ parser.on("--title=TITLE") { |t| flags[:title] = t }
18
+ parser.on("--name=NAME") { |t| flags[:title] = t }
19
+ parser.on("--organization_id=ID") { |url| flags[:organization_id] = url }
20
+ parser.on("--organization-id=ID") { |url| flags[:organization_id] = url }
21
+ parser.on("--shop_domain=MYSHOPIFYDOMAIN") { |url| flags[:shop_domain] = url }
22
+ parser.on("--shop-domain=MYSHOPIFYDOMAIN") { |url| flags[:shop_domain] = url }
23
+ parser.on("--type=APPTYPE") { |url| flags[:type] = url }
24
+ parser.on("--db=DB") { |db| flags[:db] = db }
25
+ parser.on("--rails_opts=RAILSOPTS") { |opts| flags[:rails_opts] = opts }
26
+ parser.on("--rails-opts=RAILSOPTS") { |opts| flags[:rails_opts] = opts }
24
27
  end
25
28
 
26
29
  def call(args, _name)
@@ -28,8 +31,8 @@ module Rails
28
31
  return @ctx.puts(self.class.help) if form.nil?
29
32
 
30
33
  ruby_version = Ruby.version(@ctx)
31
- @ctx.abort(@ctx.message('rails.create.error.invalid_ruby_version')) unless
32
- ruby_version.satisfies?('~>2.5') || ruby_version.satisfies?('~>3.0.0')
34
+ @ctx.abort(@ctx.message("rails.create.error.invalid_ruby_version")) unless
35
+ ruby_version.satisfies?("~>2.5") || ruby_version.satisfies?("~>3.0.0")
33
36
 
34
37
  check_node
35
38
  check_yarn
@@ -38,7 +41,7 @@ module Rails
38
41
  set_custom_ua
39
42
  ShopifyCli::Project.write(
40
43
  @ctx,
41
- project_type: 'rails',
44
+ project_type: "rails",
42
45
  organization_id: form.organization_id,
43
46
  )
44
47
 
@@ -53,74 +56,74 @@ module Rails
53
56
  api_key: api_client["apiKey"],
54
57
  secret: api_client["apiSecretKeys"].first["secret"],
55
58
  shop: form.shop_domain,
56
- scopes: 'write_products,write_customers,write_draft_orders',
59
+ scopes: "write_products,write_customers,write_draft_orders",
57
60
  ).write(@ctx)
58
61
 
59
- partners_url = ShopifyCli::PartnersAPI.partners_url_for(form.organization_id, api_client['id'], local_debug?)
62
+ partners_url = ShopifyCli::PartnersAPI.partners_url_for(form.organization_id, api_client["id"], local_debug?)
60
63
 
61
- @ctx.puts(@ctx.message('apps.create.info.created', form.title, partners_url))
62
- @ctx.puts(@ctx.message('apps.create.info.serve', form.name, ShopifyCli::TOOL_NAME))
64
+ @ctx.puts(@ctx.message("apps.create.info.created", form.title, partners_url))
65
+ @ctx.puts(@ctx.message("apps.create.info.serve", form.name, ShopifyCli::TOOL_NAME))
63
66
  unless ShopifyCli::Shopifolk.acting_as_shopify_organization?
64
- @ctx.puts(@ctx.message('apps.create.info.install', partners_url, form.title))
67
+ @ctx.puts(@ctx.message("apps.create.info.install", partners_url, form.title))
65
68
  end
66
69
  end
67
70
 
68
71
  def self.help
69
- ShopifyCli::Context.message('rails.create.help', ShopifyCli::TOOL_NAME, ShopifyCli::TOOL_NAME)
72
+ ShopifyCli::Context.message("rails.create.help", ShopifyCli::TOOL_NAME, ShopifyCli::TOOL_NAME)
70
73
  end
71
74
 
72
75
  private
73
76
 
74
77
  def check_node
75
- cmd_path = @ctx.which('node')
78
+ cmd_path = @ctx.which("node")
76
79
  if cmd_path.nil?
77
- @ctx.abort(@ctx.message('rails.create.error.node_required')) unless @ctx.windows?
78
- @ctx.puts("{{x}} {{red:" + @ctx.message('rails.create.error.node_required') + "}}")
79
- @ctx.puts(@ctx.message('rails.create.info.open_new_shell', 'node'))
80
+ @ctx.abort(@ctx.message("rails.create.error.node_required")) unless @ctx.windows?
81
+ @ctx.puts("{{x}} {{red:" + @ctx.message("rails.create.error.node_required") + "}}")
82
+ @ctx.puts(@ctx.message("rails.create.info.open_new_shell", "node"))
80
83
  raise ShopifyCli::AbortSilent
81
84
  end
82
85
 
83
- version, stat = @ctx.capture2e('node', '-v')
86
+ version, stat = @ctx.capture2e("node", "-v")
84
87
  unless stat.success?
85
- @ctx.abort(@ctx.message('rails.create.error.node_version_failure')) unless @ctx.windows?
88
+ @ctx.abort(@ctx.message("rails.create.error.node_version_failure")) unless @ctx.windows?
86
89
  # execution stops above if not Windows
87
- @ctx.puts("{{x}} {{red:" + @ctx.message('rails.create.error.node_version_failure') + "}}")
88
- @ctx.puts(@ctx.message('rails.create.info.open_new_shell', 'node'))
90
+ @ctx.puts("{{x}} {{red:" + @ctx.message("rails.create.error.node_version_failure") + "}}")
91
+ @ctx.puts(@ctx.message("rails.create.info.open_new_shell", "node"))
89
92
  raise ShopifyCli::AbortSilent
90
93
  end
91
94
 
92
- @ctx.done(@ctx.message('rails.create.node_version', version))
95
+ @ctx.done(@ctx.message("rails.create.node_version", version))
93
96
  end
94
97
 
95
98
  def check_yarn
96
- cmd_path = @ctx.which('yarn')
99
+ cmd_path = @ctx.which("yarn")
97
100
  if cmd_path.nil?
98
- @ctx.abort(@ctx.message('rails.create.error.yarn_required')) unless @ctx.windows?
99
- @ctx.puts("{{x}} {{red:" + @ctx.message('rails.create.error.yarn_required') + "}}")
100
- @ctx.puts(@ctx.message('rails.create.info.open_new_shell', 'yarn'))
101
+ @ctx.abort(@ctx.message("rails.create.error.yarn_required")) unless @ctx.windows?
102
+ @ctx.puts("{{x}} {{red:" + @ctx.message("rails.create.error.yarn_required") + "}}")
103
+ @ctx.puts(@ctx.message("rails.create.info.open_new_shell", "yarn"))
101
104
  raise ShopifyCli::AbortSilent
102
105
  end
103
106
 
104
- version, stat = @ctx.capture2e('yarn', '-v')
107
+ version, stat = @ctx.capture2e("yarn", "-v")
105
108
  unless stat.success?
106
- @ctx.abort(@ctx.message('rails.create.error.yarn_version_failure')) unless @ctx.windows?
107
- @ctx.puts("{{x}} {{red:" + @ctx.message('rails.create.error.yarn_version_failure') + "}}")
108
- @ctx.puts(@ctx.message('rails.create.info.open_new_shell', 'yarn'))
109
+ @ctx.abort(@ctx.message("rails.create.error.yarn_version_failure")) unless @ctx.windows?
110
+ @ctx.puts("{{x}} {{red:" + @ctx.message("rails.create.error.yarn_version_failure") + "}}")
111
+ @ctx.puts(@ctx.message("rails.create.info.open_new_shell", "yarn"))
109
112
  raise ShopifyCli::AbortSilent
110
113
  end
111
114
 
112
- @ctx.done(@ctx.message('rails.create.yarn_version', version))
115
+ @ctx.done(@ctx.message("rails.create.yarn_version", version))
113
116
  end
114
117
 
115
118
  def build(name, db)
116
- @ctx.abort(@ctx.message('rails.create.error.install_failure', 'rails')) unless install_gem('rails', '<6.1')
117
- @ctx.abort(@ctx.message('rails.create.error.install_failure', 'bundler ~>2.0')) unless
118
- install_gem('bundler', '~>2.0')
119
+ @ctx.abort(@ctx.message("rails.create.error.install_failure", "rails")) unless install_gem("rails", "<6.1")
120
+ @ctx.abort(@ctx.message("rails.create.error.install_failure", "bundler ~>2.0")) unless
121
+ install_gem("bundler", "~>2.0")
119
122
 
120
123
  full_path = File.join(@ctx.root, name)
121
- @ctx.abort(@ctx.message('rails.create.error.dir_exists', name)) if Dir.exist?(full_path)
124
+ @ctx.abort(@ctx.message("rails.create.error.dir_exists", name)) if Dir.exist?(full_path)
122
125
 
123
- CLI::UI::Frame.open(@ctx.message('rails.create.generating_app', name)) do
126
+ CLI::UI::Frame.open(@ctx.message("rails.create.generating_app", name)) do
124
127
  new_command = %w(rails new)
125
128
  new_command += DEFAULT_RAILS_FLAGS
126
129
  new_command << "--database=#{db}"
@@ -132,34 +135,34 @@ module Rails
132
135
 
133
136
  @ctx.root = full_path
134
137
 
135
- File.open(File.join(@ctx.root, '.gitignore'), 'a') { |f| f.write('.env') }
138
+ File.open(File.join(@ctx.root, ".gitignore"), "a") { |f| f.write(".env") }
136
139
 
137
- @ctx.puts(@ctx.message('rails.create.adding_shopify_gem'))
138
- File.open(File.join(@ctx.root, 'Gemfile'), 'a') do |f|
140
+ @ctx.puts(@ctx.message("rails.create.adding_shopify_gem"))
141
+ File.open(File.join(@ctx.root, "Gemfile"), "a") do |f|
139
142
  f.puts "\ngem 'shopify_app', '>=17.0.3'"
140
143
  end
141
- CLI::UI::Frame.open(@ctx.message('rails.create.running_bundle_install')) do
144
+ CLI::UI::Frame.open(@ctx.message("rails.create.running_bundle_install")) do
142
145
  syscall(%w(bundle install))
143
146
  end
144
147
 
145
- CLI::UI::Frame.open(@ctx.message('rails.create.running_generator')) do
148
+ CLI::UI::Frame.open(@ctx.message("rails.create.running_generator")) do
146
149
  syscall(%w(rails generate shopify_app --new-shopify-cli-app))
147
150
  end
148
151
 
149
- CLI::UI::Frame.open(@ctx.message('rails.create.running_migrations')) do
152
+ CLI::UI::Frame.open(@ctx.message("rails.create.running_migrations")) do
150
153
  syscall(%w(rails db:create))
151
154
  syscall(%w(rails db:migrate RAILS_ENV=development))
152
155
  end
153
156
 
154
- unless File.exist?(File.join(@ctx.root, 'config/webpacker.yml'))
155
- CLI::UI::Frame.open(@ctx.message('rails.create.running_webpacker_install')) do
157
+ unless File.exist?(File.join(@ctx.root, "config/webpacker.yml"))
158
+ CLI::UI::Frame.open(@ctx.message("rails.create.running_webpacker_install")) do
156
159
  syscall(%w(rails webpacker:install))
157
160
  end
158
161
  end
159
162
  end
160
163
 
161
164
  def set_custom_ua
162
- ua_path = File.join('config', 'initializers', 'user_agent.rb')
165
+ ua_path = File.join("config", "initializers", "user_agent.rb")
163
166
  @ctx.write(ua_path, USER_AGENT_CODE)
164
167
  end
165
168
 
@@ -1,21 +1,21 @@
1
1
  # frozen_string_literal: true
2
- require 'shopify_cli'
2
+ require "shopify_cli"
3
3
 
4
4
  module Rails
5
5
  module Commands
6
6
  class Deploy < ShopifyCli::Command
7
- subcommand :Heroku, 'heroku', Project.project_filepath('commands/deploy/heroku')
7
+ subcommand :Heroku, "heroku", Project.project_filepath("commands/deploy/heroku")
8
8
 
9
9
  def call(*)
10
10
  @ctx.puts(self.class.help)
11
11
  end
12
12
 
13
13
  def self.help
14
- ShopifyCli::Context.message('rails.deploy.help', ShopifyCli::TOOL_NAME)
14
+ ShopifyCli::Context.message("rails.deploy.help", ShopifyCli::TOOL_NAME)
15
15
  end
16
16
 
17
17
  def self.extended_help
18
- ShopifyCli::Context.message('rails.deploy.extended_help', ShopifyCli::TOOL_NAME)
18
+ ShopifyCli::Context.message("rails.deploy.extended_help", ShopifyCli::TOOL_NAME)
19
19
  end
20
20
  end
21
21
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'shopify_cli'
2
+ require "shopify_cli"
3
3
 
4
4
  module Rails
5
5
  module Commands
@@ -8,15 +8,15 @@ module Rails
8
8
  DB_CHECK_CMD = 'bundle exec rails runner "puts ActiveRecord::Base.connection.adapter_name.downcase"'
9
9
 
10
10
  def self.help
11
- ShopifyCli::Context.message('rails.deploy.heroku.help', ShopifyCli::TOOL_NAME)
11
+ ShopifyCli::Context.message("rails.deploy.heroku.help", ShopifyCli::TOOL_NAME)
12
12
  end
13
13
 
14
14
  def call(*)
15
- CLI::UI::Frame.open(@ctx.message('rails.deploy.heroku.db_check.validating')) do
16
- CLI::UI::Spinner.spin(@ctx.message('rails.deploy.heroku.db_check.checking')) do |spinner|
15
+ CLI::UI::Frame.open(@ctx.message("rails.deploy.heroku.db_check.validating")) do
16
+ CLI::UI::Spinner.spin(@ctx.message("rails.deploy.heroku.db_check.checking")) do |spinner|
17
17
  db_type, err = check_db(@ctx)
18
18
  @ctx.abort(@ctx.message(err)) unless err.nil?
19
- spinner.update_title(@ctx.message('rails.deploy.heroku.db_check.validated', db_type))
19
+ spinner.update_title(@ctx.message("rails.deploy.heroku.db_check.validated", db_type))
20
20
  end
21
21
  true
22
22
  end
@@ -24,53 +24,53 @@ module Rails
24
24
  spin_group = CLI::UI::SpinGroup.new
25
25
  heroku_service = ShopifyCli::Heroku.new(@ctx)
26
26
 
27
- spin_group.add(@ctx.message('rails.deploy.heroku.downloading')) do |spinner|
27
+ spin_group.add(@ctx.message("rails.deploy.heroku.downloading")) do |spinner|
28
28
  heroku_service.download
29
- spinner.update_title(@ctx.message('rails.deploy.heroku.downloaded'))
29
+ spinner.update_title(@ctx.message("rails.deploy.heroku.downloaded"))
30
30
  end
31
31
  spin_group.wait
32
32
 
33
- spin_group.add(@ctx.message('rails.deploy.heroku.installing')) do |spinner|
33
+ spin_group.add(@ctx.message("rails.deploy.heroku.installing")) do |spinner|
34
34
  heroku_service.install
35
- spinner.update_title(@ctx.message('rails.deploy.heroku.installed'))
35
+ spinner.update_title(@ctx.message("rails.deploy.heroku.installed"))
36
36
  end
37
- spin_group.add(@ctx.message('rails.deploy.heroku.git.checking')) do |spinner|
37
+ spin_group.add(@ctx.message("rails.deploy.heroku.git.checking")) do |spinner|
38
38
  ShopifyCli::Git.init(@ctx)
39
- spinner.update_title(@ctx.message('rails.deploy.heroku.git.initialized'))
39
+ spinner.update_title(@ctx.message("rails.deploy.heroku.git.initialized"))
40
40
  end
41
41
  spin_group.wait
42
42
 
43
43
  if (account = heroku_service.whoami)
44
- @ctx.puts(@ctx.message('rails.deploy.heroku.authenticated_with_account', account))
44
+ @ctx.puts(@ctx.message("rails.deploy.heroku.authenticated_with_account", account))
45
45
  else
46
46
  CLI::UI::Frame.open(
47
- @ctx.message('rails.deploy.heroku.authenticating'),
48
- success_text: @ctx.message('rails.deploy.heroku.authenticated')
47
+ @ctx.message("rails.deploy.heroku.authenticating"),
48
+ success_text: @ctx.message("rails.deploy.heroku.authenticated")
49
49
  ) do
50
50
  heroku_service.authenticate
51
51
  end
52
52
  end
53
53
 
54
54
  if (app_name = heroku_service.app)
55
- @ctx.puts(@ctx.message('rails.deploy.heroku.app.selected', app_name))
55
+ @ctx.puts(@ctx.message("rails.deploy.heroku.app.selected", app_name))
56
56
  else
57
- app_type = CLI::UI::Prompt.ask(@ctx.message('rails.deploy.heroku.app.no_apps_found')) do |handler|
58
- handler.option(@ctx.message('rails.deploy.heroku.app.create')) { :new }
59
- handler.option(@ctx.message('rails.deploy.heroku.app.select')) { :existing }
57
+ app_type = CLI::UI::Prompt.ask(@ctx.message("rails.deploy.heroku.app.no_apps_found")) do |handler|
58
+ handler.option(@ctx.message("rails.deploy.heroku.app.create")) { :new }
59
+ handler.option(@ctx.message("rails.deploy.heroku.app.select")) { :existing }
60
60
  end
61
61
 
62
62
  if app_type == :existing
63
- app_name = CLI::UI::Prompt.ask(@ctx.message('rails.deploy.heroku.app.name'))
63
+ app_name = CLI::UI::Prompt.ask(@ctx.message("rails.deploy.heroku.app.name"))
64
64
  CLI::UI::Frame.open(
65
- @ctx.message('rails.deploy.heroku.app.selecting', app_name),
66
- success_text: @ctx.message('rails.deploy.heroku.app.selected', app_name)
65
+ @ctx.message("rails.deploy.heroku.app.selecting", app_name),
66
+ success_text: @ctx.message("rails.deploy.heroku.app.selected", app_name)
67
67
  ) do
68
68
  heroku_service.select_existing_app(app_name)
69
69
  end
70
70
  elsif app_type == :new
71
71
  CLI::UI::Frame.open(
72
- @ctx.message('rails.deploy.heroku.app.creating'),
73
- success_text: @ctx.message('rails.deploy.heroku.app.created')
72
+ @ctx.message("rails.deploy.heroku.app.creating"),
73
+ success_text: @ctx.message("rails.deploy.heroku.app.created")
74
74
  ) do
75
75
  heroku_service.create_new_app
76
76
  end
@@ -80,9 +80,9 @@ module Rails
80
80
  branches = ShopifyCli::Git.branches(@ctx)
81
81
  if branches.length == 1
82
82
  branch_to_deploy = branches[0]
83
- @ctx.puts(@ctx.message('rails.deploy.heroku.git.branch_selected', branch_to_deploy))
83
+ @ctx.puts(@ctx.message("rails.deploy.heroku.git.branch_selected", branch_to_deploy))
84
84
  else
85
- branch_to_deploy = CLI::UI::Prompt.ask(@ctx.message('rails.deploy.heroku.git.what_branch')) do |handler|
85
+ branch_to_deploy = CLI::UI::Prompt.ask(@ctx.message("rails.deploy.heroku.git.what_branch")) do |handler|
86
86
  branches.each do |branch|
87
87
  handler.option(branch) { branch }
88
88
  end
@@ -90,8 +90,8 @@ module Rails
90
90
  end
91
91
 
92
92
  CLI::UI::Frame.open(
93
- @ctx.message('rails.deploy.heroku.deploying'),
94
- success_text: @ctx.message('rails.deploy.heroku.deployed')
93
+ @ctx.message("rails.deploy.heroku.deploying"),
94
+ success_text: @ctx.message("rails.deploy.heroku.deployed")
95
95
  ) do
96
96
  heroku_service.deploy(branch_to_deploy)
97
97
  end
@@ -99,10 +99,10 @@ module Rails
99
99
 
100
100
  def check_db(ctx)
101
101
  out, stat = ctx.capture2e(DB_CHECK_CMD)
102
- if stat.success? && out.strip == 'sqlite'
103
- ['sqlite', 'rails.deploy.heroku.db_check.sqlite']
102
+ if stat.success? && out.strip == "sqlite"
103
+ ["sqlite", "rails.deploy.heroku.db_check.sqlite"]
104
104
  elsif !stat.success?
105
- [nil, 'rails.deploy.heroku.db_check.problem']
105
+ [nil, "rails.deploy.heroku.db_check.problem"]
106
106
  else
107
107
  [out.strip, nil]
108
108
  end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
- require 'shopify_cli'
2
+ require "shopify_cli"
3
3
 
4
4
  module Rails
5
5
  module Commands
6
6
  class Generate < ShopifyCli::Command
7
- subcommand :Webhook, 'webhook', Project.project_filepath('commands/generate/webhook')
7
+ subcommand :Webhook, "webhook", Project.project_filepath("commands/generate/webhook")
8
8
 
9
9
  def call(*)
10
10
  @ctx.puts(self.class.help)
11
11
  end
12
12
 
13
13
  def self.help
14
- ShopifyCli::Context.message('rails.generate.help', ShopifyCli::TOOL_NAME)
14
+ ShopifyCli::Context.message("rails.generate.help", ShopifyCli::TOOL_NAME)
15
15
  end
16
16
 
17
17
  def self.extended_help
@@ -24,7 +24,7 @@ module Rails
24
24
  end
25
25
  extended_help += "\n"
26
26
  end
27
- extended_help += ShopifyCli::Context.message('rails.generate.extended_help', ShopifyCli::TOOL_NAME)
27
+ extended_help += ShopifyCli::Context.message("rails.generate.extended_help", ShopifyCli::TOOL_NAME)
28
28
  end
29
29
 
30
30
  def self.run_generate(script, name, ctx)
@@ -38,11 +38,11 @@ module Rails
38
38
  def self.response(code, name, ctx)
39
39
  case code
40
40
  when 1
41
- ctx.message('rails.generate.error.generic', name)
41
+ ctx.message("rails.generate.error.generic", name)
42
42
  when 2
43
- ctx.message('rails.generate.error.name_exists', name)
43
+ ctx.message("rails.generate.error.name_exists", name)
44
44
  else
45
- ctx.message('rails.error.generic')
45
+ ctx.message("rails.error.generic")
46
46
  end
47
47
  end
48
48
  end
@@ -1,5 +1,5 @@
1
- require 'shopify_cli'
2
- require 'json'
1
+ require "shopify_cli"
2
+ require "json"
3
3
  module Rails
4
4
  module Commands
5
5
  class Generate
@@ -7,16 +7,16 @@ module Rails
7
7
  def call(args, _name)
8
8
  selected_type = args.first
9
9
  schema = ShopifyCli::AdminAPI::Schema.get(@ctx)
10
- webhooks = schema.get_names_from_type('WebhookSubscriptionTopic')
10
+ webhooks = schema.get_names_from_type("WebhookSubscriptionTopic")
11
11
  unless selected_type && webhooks.include?(selected_type)
12
- selected_type = CLI::UI::Prompt.ask(@ctx.message('rails.generate.webhook.select')) do |handler|
12
+ selected_type = CLI::UI::Prompt.ask(@ctx.message("rails.generate.webhook.select")) do |handler|
13
13
  webhooks.each do |type|
14
14
  handler.option(type) { type }
15
15
  end
16
16
  end
17
17
  end
18
18
  spin_group = CLI::UI::SpinGroup.new
19
- spin_group.add(@ctx.message('rails.generate.webhook.selected', selected_type)) do |spinner|
19
+ spin_group.add(@ctx.message("rails.generate.webhook.selected", selected_type)) do |spinner|
20
20
  Rails::Commands::Generate.run_generate(generate_command(selected_type), selected_type, @ctx)
21
21
  spinner.update_title("{{green:#{selected_type}}} config/initializers/shopify_app.rb")
22
22
  end
@@ -24,7 +24,7 @@ module Rails
24
24
  end
25
25
 
26
26
  def self.help
27
- ShopifyCli::Context.message('rails.generate.webhook.help', ShopifyCli::TOOL_NAME)
27
+ ShopifyCli::Context.message("rails.generate.webhook.help", ShopifyCli::TOOL_NAME)
28
28
  end
29
29
 
30
30
  def generate_command(selected_type)
@@ -1,4 +1,4 @@
1
- require 'shopify_cli'
1
+ require "shopify_cli"
2
2
 
3
3
  module Rails
4
4
  module Commands
@@ -9,7 +9,7 @@ module Rails
9
9
  end
10
10
 
11
11
  def self.help
12
- ShopifyCli::Context.message('rails.open.help', ShopifyCli::TOOL_NAME)
12
+ ShopifyCli::Context.message("rails.open.help", ShopifyCli::TOOL_NAME)
13
13
  end
14
14
  end
15
15
  end