shopify-cli 1.4.1 → 1.8.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 (303) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +2 -2
  3. data/.github/CONTRIBUTING.md +9 -1
  4. data/.github/PULL_REQUEST_TEMPLATE.md +3 -2
  5. data/.github/workflows/release.yml +0 -1
  6. data/.github/workflows/triage.yml +22 -0
  7. data/.rubocop.yml +21 -7
  8. data/.rubocop_todo.yml +2 -15
  9. data/.travis.yml +1 -1
  10. data/CHANGELOG.md +28 -0
  11. data/Gemfile +12 -11
  12. data/Gemfile.lock +17 -14
  13. data/README.md +39 -7
  14. data/RELEASING.md +5 -13
  15. data/Rakefile +32 -28
  16. data/bin/load_shopify.rb +6 -6
  17. data/bin/shopify +2 -2
  18. data/dev.yml +2 -2
  19. data/docs/_config.yml +1 -18
  20. data/docs/app/node/commands/index.md +2 -80
  21. data/docs/app/node/index.md +2 -33
  22. data/docs/app/rails/commands/index.md +2 -78
  23. data/docs/app/rails/index.md +2 -34
  24. data/docs/core/index.md +2 -84
  25. data/docs/getting-started/index.md +2 -25
  26. data/docs/getting-started/install/index.md +1 -118
  27. data/docs/getting-started/migrate/index.md +2 -94
  28. data/docs/getting-started/uninstall/index.md +2 -35
  29. data/docs/getting-started/upgrade/index.md +2 -39
  30. data/docs/help/start-app/index.md +2 -4
  31. data/docs/index.md +2 -24
  32. data/ext/shopify-cli/extconf.rb +7 -7
  33. data/install.sh +1 -1
  34. data/lib/docgen/markdown.rb +12 -12
  35. data/lib/graphql/fetch_specifications.graphql +14 -0
  36. data/lib/{project_types/extension/graphql → graphql}/get_app_by_api_key.graphql +0 -0
  37. data/lib/project_types/extension/cli.rb +54 -47
  38. data/lib/project_types/extension/commands/build.rb +3 -3
  39. data/lib/project_types/extension/commands/create.rb +17 -10
  40. data/lib/project_types/extension/commands/extension_command.rb +12 -5
  41. data/lib/project_types/extension/commands/push.rb +8 -8
  42. data/lib/project_types/extension/commands/register.rb +19 -30
  43. data/lib/project_types/extension/commands/serve.rb +31 -3
  44. data/lib/project_types/extension/commands/tunnel.rb +12 -12
  45. data/lib/project_types/extension/extension_project.rb +8 -4
  46. data/lib/project_types/extension/extension_project_keys.rb +4 -4
  47. data/lib/project_types/extension/features/argo.rb +117 -0
  48. data/lib/project_types/extension/features/argo_config.rb +5 -5
  49. data/lib/project_types/extension/features/argo_dependencies.rb +5 -5
  50. data/lib/project_types/extension/features/argo_setup.rb +2 -2
  51. data/lib/project_types/extension/features/argo_setup_steps.rb +4 -4
  52. data/lib/project_types/extension/forms/create.rb +28 -34
  53. data/lib/project_types/extension/forms/questions/ask_app.rb +53 -0
  54. data/lib/project_types/extension/forms/questions/ask_name.rb +40 -0
  55. data/lib/project_types/extension/forms/questions/ask_type.rb +47 -0
  56. data/lib/project_types/extension/messages/messages.rb +55 -52
  57. data/lib/project_types/extension/models/lazy_specification_handler.rb +12 -0
  58. data/lib/project_types/extension/models/specification.rb +37 -0
  59. data/lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb +19 -0
  60. data/lib/project_types/extension/models/specification_handlers/default.rb +67 -0
  61. data/lib/project_types/extension/models/specifications.rb +88 -0
  62. data/lib/project_types/extension/tasks/configure_features.rb +52 -0
  63. data/lib/project_types/extension/tasks/converters/app_converter.rb +6 -6
  64. data/lib/project_types/extension/tasks/converters/registration_converter.rb +6 -6
  65. data/lib/project_types/extension/tasks/converters/validation_error_converter.rb +4 -4
  66. data/lib/project_types/extension/tasks/converters/version_converter.rb +7 -7
  67. data/lib/project_types/extension/tasks/create_extension.rb +4 -4
  68. data/lib/project_types/extension/tasks/fetch_specifications.rb +18 -0
  69. data/lib/project_types/extension/tasks/get_app.rb +4 -4
  70. data/lib/project_types/extension/tasks/get_apps.rb +3 -3
  71. data/lib/project_types/extension/tasks/update_draft.rb +4 -4
  72. data/lib/project_types/extension/tasks/user_errors.rb +4 -4
  73. data/lib/project_types/node/cli.rb +19 -16
  74. data/lib/project_types/node/commands/connect.rb +15 -0
  75. data/lib/project_types/node/commands/create.rb +44 -41
  76. data/lib/project_types/node/commands/deploy.rb +4 -4
  77. data/lib/project_types/node/commands/deploy/heroku.rb +24 -24
  78. data/lib/project_types/node/commands/generate.rb +9 -18
  79. data/lib/project_types/node/commands/open.rb +2 -2
  80. data/lib/project_types/node/commands/populate.rb +6 -6
  81. data/lib/project_types/node/commands/populate/customer.rb +5 -5
  82. data/lib/project_types/node/commands/populate/draft_order.rb +5 -5
  83. data/lib/project_types/node/commands/populate/product.rb +5 -5
  84. data/lib/project_types/node/commands/serve.rb +9 -9
  85. data/lib/project_types/node/commands/tunnel.rb +7 -7
  86. data/lib/project_types/node/forms/create.rb +17 -8
  87. data/lib/project_types/node/messages/messages.rb +20 -53
  88. data/lib/project_types/rails/cli.rb +21 -18
  89. data/lib/project_types/rails/commands/connect.rb +15 -0
  90. data/lib/project_types/rails/commands/create.rb +58 -57
  91. data/lib/project_types/rails/commands/deploy.rb +4 -4
  92. data/lib/project_types/rails/commands/deploy/heroku.rb +30 -30
  93. data/lib/project_types/rails/commands/generate.rb +7 -7
  94. data/lib/project_types/rails/commands/generate/webhook.rb +6 -6
  95. data/lib/project_types/rails/commands/open.rb +2 -2
  96. data/lib/project_types/rails/commands/populate.rb +6 -6
  97. data/lib/project_types/rails/commands/populate/customer.rb +5 -5
  98. data/lib/project_types/rails/commands/populate/draft_order.rb +5 -5
  99. data/lib/project_types/rails/commands/populate/product.rb +5 -5
  100. data/lib/project_types/rails/commands/serve.rb +11 -11
  101. data/lib/project_types/rails/commands/tunnel.rb +7 -7
  102. data/lib/project_types/rails/forms/create.rb +35 -25
  103. data/lib/project_types/rails/gem.rb +24 -24
  104. data/lib/project_types/rails/messages/messages.rb +13 -9
  105. data/lib/project_types/rails/ruby.rb +2 -2
  106. data/lib/project_types/script/cli.rb +44 -38
  107. data/lib/project_types/script/commands/create.rb +15 -10
  108. data/lib/project_types/script/commands/disable.rb +3 -3
  109. data/lib/project_types/script/commands/enable.rb +19 -9
  110. data/lib/project_types/script/commands/push.rb +10 -17
  111. data/lib/project_types/script/config/extension_points.yml +30 -12
  112. data/lib/project_types/script/errors.rb +22 -0
  113. data/lib/project_types/script/forms/create.rb +29 -5
  114. data/lib/project_types/script/graphql/app_script_update_or_create.graphql +12 -1
  115. data/lib/project_types/script/layers/application/build_script.rb +19 -19
  116. data/lib/project_types/script/layers/application/create_script.rb +45 -12
  117. data/lib/project_types/script/layers/application/disable_script.rb +2 -2
  118. data/lib/project_types/script/layers/application/enable_script.rb +2 -2
  119. data/lib/project_types/script/layers/application/extension_points.rb +24 -0
  120. data/lib/project_types/script/layers/application/project_dependencies.rb +4 -4
  121. data/lib/project_types/script/layers/application/push_script.rb +15 -18
  122. data/lib/project_types/script/layers/domain/config_ui.rb +16 -0
  123. data/lib/project_types/script/layers/domain/errors.rb +23 -0
  124. data/lib/project_types/script/layers/domain/extension_point.rb +67 -7
  125. data/lib/project_types/script/layers/domain/metadata.rb +55 -0
  126. data/lib/project_types/script/layers/domain/push_package.rb +29 -6
  127. data/lib/project_types/script/layers/infrastructure/assemblyscript_project_creator.rb +45 -55
  128. data/lib/project_types/script/layers/infrastructure/assemblyscript_task_runner.rb +41 -45
  129. data/lib/project_types/script/layers/infrastructure/config_ui_repository.rb +46 -0
  130. data/lib/project_types/script/layers/infrastructure/errors.rb +32 -5
  131. data/lib/project_types/script/layers/infrastructure/extension_point_repository.rb +12 -6
  132. data/lib/project_types/script/layers/infrastructure/project_creator.rb +2 -1
  133. data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +20 -13
  134. data/lib/project_types/script/layers/infrastructure/rust_project_creator.rb +72 -0
  135. data/lib/project_types/script/layers/infrastructure/rust_task_runner.rb +59 -0
  136. data/lib/project_types/script/layers/infrastructure/script_service.rb +39 -17
  137. data/lib/project_types/script/layers/infrastructure/task_runner.rb +4 -3
  138. data/lib/project_types/script/messages/messages.rb +76 -10
  139. data/lib/project_types/script/script_project.rb +26 -16
  140. data/lib/project_types/script/ui/error_handler.rb +135 -50
  141. data/lib/project_types/script/ui/printing_spinner.rb +1 -1
  142. data/lib/project_types/script/ui/strict_spinner.rb +1 -1
  143. data/lib/project_types/theme/cli.rb +40 -0
  144. data/lib/project_types/theme/commands/connect.rb +54 -0
  145. data/lib/project_types/theme/commands/create.rb +48 -0
  146. data/lib/project_types/theme/commands/deploy.rb +38 -0
  147. data/lib/project_types/theme/commands/generate.rb +20 -0
  148. data/lib/project_types/theme/commands/generate/env.rb +79 -0
  149. data/lib/project_types/theme/commands/push.rb +55 -0
  150. data/lib/project_types/theme/commands/serve.rb +31 -0
  151. data/lib/project_types/theme/forms/connect.rb +34 -0
  152. data/lib/project_types/theme/forms/create.rb +22 -0
  153. data/lib/project_types/theme/messages/messages.rb +147 -0
  154. data/lib/project_types/theme/tasks/ensure_themekit_installed.rb +78 -0
  155. data/lib/project_types/theme/themekit.rb +113 -0
  156. data/lib/rubygems_plugin.rb +3 -3
  157. data/lib/shopify-cli/admin_api.rb +52 -12
  158. data/lib/shopify-cli/admin_api/populate_resource_command.rb +17 -17
  159. data/lib/shopify-cli/admin_api/schema.rb +3 -3
  160. data/lib/shopify-cli/api.rb +36 -31
  161. data/lib/shopify-cli/command.rb +1 -1
  162. data/lib/shopify-cli/commands.rb +9 -9
  163. data/lib/shopify-cli/commands/config.rb +28 -28
  164. data/lib/shopify-cli/commands/connect.rb +35 -18
  165. data/lib/shopify-cli/commands/create.rb +5 -5
  166. data/lib/shopify-cli/commands/help.rb +6 -6
  167. data/lib/shopify-cli/commands/logout.rb +3 -3
  168. data/lib/shopify-cli/commands/system.rb +33 -33
  169. data/lib/shopify-cli/commands/version.rb +2 -2
  170. data/lib/shopify-cli/context.rb +43 -22
  171. data/lib/shopify-cli/core.rb +4 -4
  172. data/lib/shopify-cli/core/entry_point.rb +5 -5
  173. data/lib/shopify-cli/core/executor.rb +1 -1
  174. data/lib/shopify-cli/core/help_resolver.rb +2 -2
  175. data/lib/shopify-cli/core/monorail.rb +17 -16
  176. data/lib/shopify-cli/db.rb +2 -2
  177. data/lib/shopify-cli/feature.rb +1 -3
  178. data/lib/shopify-cli/form.rb +1 -1
  179. data/lib/shopify-cli/git.rb +17 -17
  180. data/lib/shopify-cli/helpers.rb +1 -1
  181. data/lib/shopify-cli/helpers/haikunator.rb +1 -1
  182. data/lib/shopify-cli/heroku.rb +28 -28
  183. data/lib/shopify-cli/http_request.rb +21 -9
  184. data/lib/shopify-cli/js_deps.rb +13 -13
  185. data/lib/shopify-cli/js_system.rb +5 -5
  186. data/lib/shopify-cli/lazy_delegator.rb +55 -0
  187. data/lib/shopify-cli/messages/messages.rb +21 -10
  188. data/lib/shopify-cli/method_object.rb +104 -0
  189. data/lib/shopify-cli/oauth.rb +25 -25
  190. data/lib/shopify-cli/oauth/servlet.rb +9 -9
  191. data/lib/shopify-cli/options.rb +3 -3
  192. data/lib/shopify-cli/packager.rb +24 -24
  193. data/lib/shopify-cli/partners_api.rb +38 -16
  194. data/lib/shopify-cli/partners_api/organizations.rb +10 -10
  195. data/lib/shopify-cli/process_supervision.rb +8 -8
  196. data/lib/shopify-cli/project.rb +27 -23
  197. data/lib/shopify-cli/project_type.rb +21 -5
  198. data/lib/shopify-cli/resolve_constant.rb +25 -0
  199. data/lib/shopify-cli/resources.rb +1 -1
  200. data/lib/shopify-cli/resources/env_file.rb +9 -9
  201. data/lib/shopify-cli/result.rb +432 -0
  202. data/lib/shopify-cli/shopifolk.rb +35 -18
  203. data/lib/shopify-cli/sub_command.rb +1 -1
  204. data/lib/shopify-cli/task.rb +9 -1
  205. data/lib/shopify-cli/tasks.rb +7 -7
  206. data/lib/shopify-cli/tasks/create_api_client.rb +13 -4
  207. data/lib/shopify-cli/tasks/ensure_dev_store.rb +12 -12
  208. data/lib/shopify-cli/tasks/ensure_env.rb +18 -15
  209. data/lib/shopify-cli/tasks/ensure_loopback_url.rb +4 -4
  210. data/lib/shopify-cli/tasks/select_org_and_shop.rb +28 -24
  211. data/lib/shopify-cli/tasks/update_dashboard_urls.rb +10 -10
  212. data/lib/shopify-cli/transform_data_structure.rb +86 -0
  213. data/lib/shopify-cli/tunnel.rb +36 -30
  214. data/lib/shopify-cli/version.rb +1 -1
  215. data/lib/shopify_cli.rb +57 -52
  216. data/shopify-cli.gemspec +6 -6
  217. data/shopify.fish +1 -1
  218. data/shopify.sh +1 -1
  219. data/vendor/deps/cli-kit/REVISION +1 -1
  220. data/vendor/deps/cli-kit/lib/cli/kit/logger.rb +2 -2
  221. data/vendor/deps/cli-kit/lib/cli/kit/system.rb +3 -3
  222. data/vendor/deps/cli-ui/REVISION +1 -1
  223. data/vendor/deps/cli-ui/lib/cli/ui.rb +26 -22
  224. data/vendor/deps/cli-ui/lib/cli/ui/ansi.rb +4 -6
  225. data/vendor/deps/cli-ui/lib/cli/ui/frame.rb +3 -3
  226. data/vendor/deps/cli-ui/lib/cli/ui/frame/frame_stack.rb +8 -9
  227. data/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style.rb +1 -1
  228. data/vendor/deps/cli-ui/lib/cli/ui/glyph.rb +1 -0
  229. data/vendor/deps/cli-ui/lib/cli/ui/printer.rb +15 -3
  230. data/vendor/deps/cli-ui/lib/cli/ui/prompt/interactive_options.rb +4 -11
  231. data/vendor/deps/cli-ui/lib/cli/ui/spinner.rb +3 -5
  232. data/vendor/deps/cli-ui/lib/cli/ui/terminal.rb +10 -10
  233. data/vendor/deps/cli-ui/lib/cli/ui/version.rb +1 -1
  234. data/vendor/deps/cli-ui/lib/cli/ui/wrap.rb +56 -0
  235. data/vendor/deps/webrick/.gitignore +9 -0
  236. data/vendor/deps/webrick/Gemfile +3 -0
  237. data/vendor/deps/webrick/LICENSE.txt +22 -0
  238. data/vendor/deps/webrick/README.md +61 -0
  239. data/vendor/deps/webrick/Rakefile +10 -0
  240. data/vendor/deps/webrick/lib/webrick.rb +232 -0
  241. data/vendor/deps/webrick/lib/webrick/accesslog.rb +157 -0
  242. data/vendor/deps/webrick/lib/webrick/cgi.rb +313 -0
  243. data/vendor/deps/webrick/lib/webrick/compat.rb +36 -0
  244. data/vendor/deps/webrick/lib/webrick/config.rb +158 -0
  245. data/vendor/deps/webrick/lib/webrick/cookie.rb +172 -0
  246. data/vendor/deps/webrick/lib/webrick/htmlutils.rb +30 -0
  247. data/vendor/deps/webrick/lib/webrick/httpauth.rb +96 -0
  248. data/vendor/deps/webrick/lib/webrick/httpauth/authenticator.rb +117 -0
  249. data/vendor/deps/webrick/lib/webrick/httpauth/basicauth.rb +116 -0
  250. data/vendor/deps/webrick/lib/webrick/httpauth/digestauth.rb +395 -0
  251. data/vendor/deps/webrick/lib/webrick/httpauth/htdigest.rb +132 -0
  252. data/vendor/deps/webrick/lib/webrick/httpauth/htgroup.rb +97 -0
  253. data/vendor/deps/webrick/lib/webrick/httpauth/htpasswd.rb +158 -0
  254. data/vendor/deps/webrick/lib/webrick/httpauth/userdb.rb +53 -0
  255. data/vendor/deps/webrick/lib/webrick/httpproxy.rb +354 -0
  256. data/vendor/deps/webrick/lib/webrick/httprequest.rb +636 -0
  257. data/vendor/deps/webrick/lib/webrick/httpresponse.rb +564 -0
  258. data/vendor/deps/webrick/lib/webrick/https.rb +152 -0
  259. data/vendor/deps/webrick/lib/webrick/httpserver.rb +294 -0
  260. data/vendor/deps/webrick/lib/webrick/httpservlet.rb +23 -0
  261. data/vendor/deps/webrick/lib/webrick/httpservlet/abstract.rb +152 -0
  262. data/vendor/deps/webrick/lib/webrick/httpservlet/cgi_runner.rb +47 -0
  263. data/vendor/deps/webrick/lib/webrick/httpservlet/cgihandler.rb +126 -0
  264. data/vendor/deps/webrick/lib/webrick/httpservlet/erbhandler.rb +88 -0
  265. data/vendor/deps/webrick/lib/webrick/httpservlet/filehandler.rb +552 -0
  266. data/vendor/deps/webrick/lib/webrick/httpservlet/prochandler.rb +47 -0
  267. data/vendor/deps/webrick/lib/webrick/httpstatus.rb +194 -0
  268. data/vendor/deps/webrick/lib/webrick/httputils.rb +512 -0
  269. data/vendor/deps/webrick/lib/webrick/httpversion.rb +76 -0
  270. data/vendor/deps/webrick/lib/webrick/log.rb +156 -0
  271. data/vendor/deps/webrick/lib/webrick/server.rb +381 -0
  272. data/vendor/deps/webrick/lib/webrick/ssl.rb +215 -0
  273. data/vendor/deps/webrick/lib/webrick/utils.rb +265 -0
  274. data/vendor/deps/webrick/lib/webrick/version.rb +18 -0
  275. data/vendor/deps/webrick/webrick.gemspec +74 -0
  276. data/vendor/gen/template/bin/update-deps +9 -9
  277. metadata +83 -29
  278. data/docs/Gemfile +0 -5
  279. data/docs/Gemfile.lock +0 -258
  280. data/docs/_data/nav.yml +0 -35
  281. data/docs/_includes/footer.html +0 -15
  282. data/docs/_includes/head.html +0 -19
  283. data/docs/_includes/sidebar_nav.html +0 -22
  284. data/docs/_includes/toc.html +0 -112
  285. data/docs/_layouts/default.html +0 -79
  286. data/docs/css/docs.css +0 -157
  287. data/docs/images/header.png +0 -0
  288. data/docs/installing-ruby.md +0 -28
  289. data/lib/project_types/extension/features/argo/admin.rb +0 -20
  290. data/lib/project_types/extension/features/argo/base.rb +0 -129
  291. data/lib/project_types/extension/features/argo/checkout.rb +0 -20
  292. data/lib/project_types/extension/forms/register.rb +0 -47
  293. data/lib/project_types/extension/models/type.rb +0 -81
  294. data/lib/project_types/extension/models/types/checkout_post_purchase.rb +0 -23
  295. data/lib/project_types/extension/models/types/product_subscription.rb +0 -24
  296. data/lib/project_types/node/commands/generate/billing.rb +0 -39
  297. data/lib/project_types/node/commands/generate/page.rb +0 -59
  298. data/lib/project_types/node/commands/generate/webhook.rb +0 -37
  299. data/lib/project_types/script/layers/domain/script.rb +0 -18
  300. data/lib/project_types/script/layers/infrastructure/assemblyscript_tsconfig.rb +0 -38
  301. data/lib/project_types/script/layers/infrastructure/script_repository.rb +0 -59
  302. data/lib/project_types/script/templates/ts/as-pect.config.js +0 -27
  303. data/lib/project_types/script/templates/ts/as-pect.d.ts +0 -1
data/bin/load_shopify.rb CHANGED
@@ -3,20 +3,20 @@
3
3
  lib_path = File.expand_path("../../lib", __FILE__)
4
4
  $LOAD_PATH.unshift(lib_path) unless $LOAD_PATH.include?(lib_path)
5
5
 
6
- ENV['SHELLPID'] ||= Process.ppid.to_s
7
- ENV['USER_PWD'] ||= Dir.pwd
6
+ ENV["SHELLPID"] ||= Process.ppid.to_s
7
+ ENV["USER_PWD"] ||= Dir.pwd
8
8
 
9
9
  # Prune non-absolute paths from PATH to prevent non-deterministic behavior
10
10
  # i.e. If user has "." or "./bin" in their PATH
11
11
  # Note that this logic is duplicated in lib/shopify.rb
12
- ENV['PATH'] = ENV['PATH'].split(File::PATH_SEPARATOR).select do |p|
13
- p.start_with?('/', '~', /[A-Z]:\\/)
12
+ ENV["PATH"] = ENV["PATH"].split(File::PATH_SEPARATOR).select do |p|
13
+ p.start_with?("/", "~", /[A-Z]:\\/)
14
14
  end.join(File::PATH_SEPARATOR)
15
15
 
16
16
  $original_env = ENV.to_hash
17
17
 
18
- require 'shopify_cli'
18
+ require "shopify_cli"
19
19
 
20
- if ENV['PRINT_LOADED_FEATURES']
20
+ if ENV["PRINT_LOADED_FEATURES"]
21
21
  puts $LOADED_FEATURES
22
22
  end
data/bin/shopify CHANGED
@@ -14,7 +14,7 @@ module Kernel
14
14
  raise if name == "#{RUBY_VERSION[/\d+\.\d+/]}/psych.so"
15
15
  STDERR.puts "[Note] You cannot use gems with Shopify App CLI."
16
16
  STDERR.puts "[LoadError] #{e.message}"
17
- if ENV['DEBUG']
17
+ if ENV["DEBUG"]
18
18
  STDERR.puts e.backtrace
19
19
  STDERR.puts "\n"
20
20
  end
@@ -27,7 +27,7 @@ module Kernel
27
27
  end
28
28
  end
29
29
 
30
- require_relative './load_shopify'
30
+ require_relative "./load_shopify"
31
31
 
32
32
  exit(ShopifyCli::ErrorHandler.call do
33
33
  ShopifyCli::Core::EntryPoint.call(ARGV.dup)
data/dev.yml CHANGED
@@ -11,7 +11,7 @@ test:
11
11
  run: |
12
12
  if [ "$#" -eq 1 ] && [[ -f $1 ]];
13
13
  then
14
- rake test TEST=$1
14
+ bundle exec rake test TEST=$1
15
15
  else
16
- rake test $@
16
+ bundle exec rake test $@
17
17
  fi
data/docs/_config.yml CHANGED
@@ -1,19 +1,2 @@
1
- title: Shopify App CLI
2
- markdown: kramdown
3
- url: https://shopify.github.io
4
- baseurl: /shopify-app-cli
5
-
6
- exclude: [
7
- 'heroku/',
8
- 'Gemfile',
9
- 'Gemfile.lock'
10
- ]
11
-
12
- defaults:
13
- - scope:
14
- path: ""
15
- values:
16
- toc: true
17
-
18
1
  plugins:
19
- - jekyll-redirect-from
2
+ - jekyll-redirect-from
@@ -1,82 +1,4 @@
1
1
  ---
2
- title: Node.js app project command reference
3
- section: node
2
+ title: Node.js app commands
3
+ redirect_to: https://shopify.dev/tools/cli/reference/node-app
4
4
  ---
5
-
6
- ## `deploy`
7
-
8
- Deploy the current Node.js app to a hosting service. Currently, the only option is [Heroku](https://www.heroku.com).
9
-
10
- ```console
11
- $ shopify deploy heroku
12
- ```
13
-
14
- ## `generate`
15
-
16
- Generate boilerplate code inside your app project. Node.js apps support generating new **pages**, **Billing API calls**, and **webhooks**.
17
-
18
- ```console
19
- $ shopify generate page
20
- $ shopify generate billing
21
- $ shopify generate webhook
22
- ```
23
-
24
- ## `open`
25
-
26
- Open your local development app in your default browser.
27
-
28
- ```console
29
- $ shopify open
30
- ```
31
-
32
- ## `populate`
33
-
34
- Add example data to your development store. This is useful for testing your app’s behavior. You can create the following types of example store records:
35
-
36
- - Products
37
- - Customers
38
- - Orders
39
-
40
- ```console
41
- $ shopify populate products
42
- $ shopify populate customers
43
- $ shopify populate draftorders
44
- ```
45
-
46
- By default, the `populate` command adds 5 records. Use the `--count` option to specify a different number:
47
-
48
- ```console
49
- $ shopify populate products --count 10
50
- ```
51
-
52
- ## `serve`
53
-
54
- Start a local development server for your project, as well as a public [ngrok](https://ngrok.com/) tunnel to your localhost.
55
-
56
- ```console
57
- $ shopify serve
58
- ```
59
-
60
- ## `tunnel`
61
-
62
- Control an HTTP tunnel to your local development app using [ngrok](https://ngrok.com). With the `tunnel` command you can authenticate with ngrok and start or stop the tunnel. (Note that the `serve` command will automatically run `tunnel start` for you.)
63
-
64
- To authenticate with ngrok, you need an authentication token. You can find it in [your ngrok dashboard](https://dashboard.ngrok.com/auth/your-authtoken). Copy your token and use it with the `tunnel auth` command:
65
-
66
- ```console
67
- $ shopify tunnel auth <token>
68
- ```
69
-
70
- This will write your ngrok auth token to `~/.ngrok2/ngrok.yml`. To learn more about ngrok configuration, [consult ngrok’s documentation](https://ngrok.com/docs#config).
71
-
72
- To start an ngrok tunnel to your app in your localhost development environment:
73
-
74
- ```console
75
- $ shopify tunnel start
76
- ```
77
-
78
- To stop the running ngrok tunnel:
79
-
80
- ```console
81
- $ shopify tunnel stop
82
- ```
@@ -1,35 +1,4 @@
1
1
  ---
2
- title: Getting started with Node.js app projects
3
- section: node
4
- toc: false
2
+ title: Getting started with Shopify App CLI
3
+ redirect_to: https://shopify.dev/tools/cli/getting-started
5
4
  ---
6
-
7
- ## Create a new Node.js app project
8
-
9
- To create a new Node.js project, type `shopify create node`. This will scaffold a new Node.js app in a subdirectory.
10
-
11
- ```console
12
- $ shopify create node
13
- ? App Name
14
- >
15
- ```
16
-
17
- ## Start a local development server
18
-
19
- Once your app is created, you can work with it immediately by running `shopify serve` to start a local development server. Shopify App CLI uses [ngrok](https://ngrok.com) to create a tunnel. ngrok will choose a unique URL for you. The server will stay open until you type **Ctrl-C**.
20
-
21
- ```console
22
- $ shopify serve
23
- ✓ ngrok tunnel running at https://example.ngrok.io
24
- ✓ writing .env file...
25
- ```
26
-
27
- ## Install your app on your development store
28
-
29
- With the server running, open a new terminal window and run `shopify open` to open your app in your browser and install it on a development store.
30
-
31
- ```console
32
- $ shopify open
33
- ```
34
-
35
- For more information, consult the [Node.js project command reference]({{ site.baseurl }}{% link app/node/commands/index.md %}).
@@ -1,80 +1,4 @@
1
1
  ---
2
- title: Rails app project command reference
3
- section: rails
2
+ title: Ruby on Rails app commands
3
+ redirect_to: https://shopify.dev/tools/cli/reference/ruby-on-rails-app
4
4
  ---
5
-
6
- ## `deploy`
7
-
8
- Deploy the current Rails project to a hosting service. Currently, the only option is [Heroku](https://www.heroku.com).
9
-
10
- ```console
11
- $ shopify deploy heroku
12
- ```
13
-
14
- ## `generate`
15
-
16
- Generate boilerplate code inside your app project. Rails projects support generating new webhooks.
17
-
18
- ```console
19
- $ shopify generate webhook
20
- ```
21
-
22
- ## `open`
23
-
24
- Open your local development app in your default browser.
25
-
26
- ```console
27
- $ shopify open
28
- ```
29
-
30
- ## `populate`
31
-
32
- Add example data to your development store. This is useful for testing your app’s behavior. You can create the following types of example store records:
33
-
34
- - Products
35
- - Customers
36
- - Orders
37
-
38
- ```console
39
- $ shopify populate products
40
- $ shopify populate customers
41
- $ shopify populate draftorders
42
- ```
43
-
44
- By default, the `populate` command adds 5 records. Use the `--count` option to specify a different number:
45
-
46
- ```console
47
- $ shopify populate products --count 10
48
- ```
49
-
50
- ## `serve`
51
-
52
- Start a local development server for your project, as well as a public [ngrok](https://ngrok.com/) tunnel to your localhost.
53
-
54
- ```console
55
- $ shopify serve
56
- ```
57
-
58
- ## `tunnel`
59
-
60
- Control an HTTP tunnel to your local development app using [ngrok](https://ngrok.com). With the `tunnel` command you can authenticate with ngrok and start or stop the tunnel. (Note that the `serve` command will automatically run `tunnel start` for you.)
61
-
62
- To authenticate with ngrok, you need an authentication token. You can find it in [your ngrok dashboard](https://dashboard.ngrok.com/auth/your-authtoken). Copy your token and use it with the `tunnel auth` command:
63
-
64
- ```console
65
- $ shopify tunnel auth <token>
66
- ```
67
-
68
- This will write your ngrok auth token to `~/.ngrok2/ngrok.yml`. To learn more about ngrok configuration, [consult ngrok’s documentation](https://ngrok.com/docs#config).
69
-
70
- To start an ngrok tunnel to your app in your localhost development environment:
71
-
72
- ```console
73
- $ shopify tunnel start
74
- ```
75
-
76
- To stop the running ngrok tunnel:
77
-
78
- ```console
79
- $ shopify tunnel stop
80
- ```
@@ -1,36 +1,4 @@
1
1
  ---
2
- title: Getting started with Rails app projects
3
- section: rails
4
- toc: false
2
+ title: Getting started with Shopify App CLI
3
+ redirect_to: https://shopify.dev/tools/cli/getting-started
5
4
  ---
6
-
7
- ## Create a new Rails app project
8
-
9
- To create a new Rails project, type `shopify create rails`. This will scaffold a new Rails app in a subdirectory.
10
-
11
- ```console
12
- $ shopify create rails
13
- ? App Name
14
- >
15
- ```
16
-
17
- ## Start a local development server
18
-
19
- Once your app is created, you can work with it immediately by running `shopify serve` to start a local development server. Shopify App CLI uses [ngrok](https://ngrok.com) to create a tunnel. ngrok will choose a unique URL for you. The server will stay open until you type **Ctrl-C**.
20
-
21
- ```console
22
- $ shopify serve
23
- ✓ ngrok tunnel running at https://example.ngrok.io
24
- ✓ writing .env file...
25
- ```
26
-
27
- ## Install your app on your development store
28
-
29
- With the server running, open a new terminal window and run `shopify open` to open your app in your browser and install it on a development store.
30
-
31
- ```console
32
- $ shopify open
33
- ```
34
-
35
- For more information, consult the [Rails project command reference]({{ site.baseurl }}{% link app/rails/commands/index.md %}).
36
-
data/docs/core/index.md CHANGED
@@ -1,86 +1,4 @@
1
1
  ---
2
- title: Core commands
3
- section: core
2
+ title: Shopify App CLI core commands
3
+ redirect_to: https://shopify.dev/tools/cli/reference
4
4
  ---
5
-
6
- ## `help`
7
-
8
- Lists the available commands and describes what they do. The commands available will vary depending on whether you are inside a project directory, and what kind of project it is.
9
-
10
- ```console
11
- $ shopify help
12
- $ shopify -h
13
- $ shopify --help
14
- ```
15
-
16
- You can also use the `help` command or options to get more detailed information about a specific command:
17
-
18
- ```console
19
- $ shopify help [command]
20
- $ shopify [command] -h
21
- $ shopify [command] --help
22
- ```
23
-
24
- ## `connect`
25
-
26
- Connect an existing Shopify App CLI project with Shopify, such as a Partner account or a specific Shopify development store. This command re-creates the project’s `.env` file with your authentication tokens.
27
-
28
- This is useful if you are working on one project across multiple computers, or collaborating with other developers using a version control system like git.
29
-
30
- ```console
31
- $ shopify connect
32
- ```
33
-
34
- ## `create`
35
-
36
- Create a new project of the specified type. The project will be created in a subdirectory of the current directory:
37
-
38
- ```console
39
- $ shopify create
40
- ```
41
-
42
- When running the `create` command on its own, the CLI will prompt you to choose a project type:
43
-
44
- ```console
45
- $ shopify create
46
- ? What type of project would you like to create? (Choose with ↑ ↓ ⏎, filter with 'f')
47
- > 1. Node.js App
48
- 2. Ruby on Rails App
49
- ```
50
-
51
- You can also specify the type of app you want to create using a subcommand:
52
- - For a Node.js app: `node`
53
- - For a Ruby on Rails app: `rails`
54
-
55
- If you specify a type, then Shopify App CLI will skip ahead and prompt you to enter a name for your project:
56
-
57
- ```console
58
- $ shopify create node
59
- ? App Name
60
- >
61
- ```
62
-
63
- ## `logout`
64
-
65
- Log out of the currently authenticated partner organization and store. The `logout` command clears any invalid credentials. You’ll need to re-authenticate the next time you connect your project to Shopify.
66
-
67
- ```console
68
- $ shopify logout
69
- ```
70
-
71
- ## `config`
72
-
73
- Configure Shopify App CLI options. Currently there are two available options.
74
-
75
- ### `analytics`
76
-
77
- Configure anonymous usage reporting by enabling or disabling analytics
78
- ```console
79
- $ shopify config analytics [ --status | --enable | --disable ]
80
- ```
81
-
82
- ### `feature`
83
- Configure active [feature sets](https://github.com/Shopify/shopify-app-cli/wiki/Feature-Sets) in the CLI. This command is used for development and debugging work on the CLI tool itself. Only alter it if you know what you're doing. Check the [Shopify App CLI development guide](https://github.com/Shopify/shopify-app-cli/wiki) for more information.
84
- ```console
85
- $ shopify config feature [ feature_name ] [ --status | --enable | --disable ]
86
- ```
@@ -1,27 +1,4 @@
1
1
  ---
2
- title: Getting started
3
- section: getting-started
4
- toc: false
2
+ title: Getting started with Shopify App CLI
3
+ redirect_to: https://shopify.dev/tools/cli/getting-started
5
4
  ---
6
-
7
- Developers should have some prior knowledge of the [Shopify app ecosystem](https://shopify.dev/concepts/apps). Shopify App CLI creates apps using either [Node.js](https://nodejs.org/) or [Ruby on Rails](https://rubyonrails.org/).
8
-
9
- ## Requirements
10
-
11
- - A [Shopify partner account](https://partners.shopify.com/signup)
12
- - A [Shopify development store](https://help.shopify.com/en/partners/dashboard/development-stores#create-a-development-store) to install and test apps
13
- - [Ruby](https://www.ruby-lang.org) 2.5.1+
14
-
15
- ### Windows requirements
16
-
17
- If you wish to use Shopify App CLI natively on **Windows 10**, we recommend installing Ruby using [RubyInstaller for Windows](https://rubyinstaller.org/downloads/).
18
-
19
- Alternatively, you can also use Shopify App CLI using **Windows Subsystem for Linux**, in which case you need:
20
- - [Linux Subsystem for Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10)
21
- - [Ubuntu VM](https://www.microsoft.com/en-ca/p/ubuntu/9nblggh4msv6)
22
-
23
- ## Next steps
24
-
25
- - [Install the CLI]({{ site.baseurl }}/getting-started/install/)
26
- - [Upgrade]({{ site.baseurl }}/getting-started/upgrade/)
27
- - [Uninstall]({{ site.baseurl }}/getting-started/uninstall/)
@@ -1,121 +1,4 @@
1
1
  ---
2
2
  title: Install Shopify App CLI
3
- section: getting-started
4
- toc: false
5
- redirect_from: "/install/"
3
+ redirect_to: https://shopify.dev/tools/cli/installation
6
4
  ---
7
-
8
- Shopify App CLI can be installed on a variety of systems, using a variety of package managers.
9
- > Note that for systems that have multiple installation options, you only need to use one of these methods to install.
10
-
11
- ---
12
- ### macOS
13
-
14
- Shopify App CLI is available through Homebrew _or_ RubyGems.
15
-
16
- **Homebrew**
17
-
18
- You’ll need to run `brew tap` first to add Shopify’s third-party repositories to Homebrew.
19
-
20
- ```console
21
- $ brew tap shopify/shopify
22
- $ brew install shopify-cli
23
- ```
24
-
25
- **RubyGems**
26
-
27
- See the [RubyGems]({{ site.baseurl }}/getting-started/install/#rubygems-all-platforms) section for further details.
28
-
29
- ---
30
-
31
- ### Debian/Ubuntu Linux
32
-
33
- On Debian-based Linux systems, Shopify App CLI is available through the `apt` command _or_ RubyGems.
34
-
35
- **apt**
36
-
37
- You’ll need to install a downloaded `.deb` file with an explicit version number. Check the [releases page](https://github.com/Shopify/shopify-app-cli/releases) to make sure you install the latest package.
38
-
39
- 1. Download the `.deb` file from the [releases page](https://github.com/Shopify/shopify-app-cli/releases)
40
- 1. Install the downloaded file
41
- ```console
42
- $ sudo apt install /path/to/downloaded/shopify-cli-x.y.z.deb
43
- ```
44
-
45
- **RubyGems**
46
-
47
- See the [RubyGems]({{ site.baseurl }}/getting-started/install/#rubygems-all-platforms) section for further details.
48
-
49
- ---
50
-
51
- ### CentOS 8+/Fedora/Red Hat/SUSE Linux
52
-
53
- On RPM-based Linux systems, Shopify App CLI is available through the `yum` command _or_ RubyGems.
54
-
55
- **yum**
56
-
57
- You’ll need to install a downloaded `.rpm` file with an explicit version number. Check the [releases page](https://github.com/Shopify/shopify-app-cli/releases) to make sure you install the latest package.
58
-
59
- 1. Download the `.rpm` file from the [releases page](https://github.com/Shopify/shopify-app-cli/releases)
60
- 1. Install the downloaded file
61
- ```console
62
- $ sudo yum install /path/to/downloaded/shopify-cli-x.y.x.rpm
63
- ```
64
-
65
- **RubyGems**
66
-
67
- See the [RubyGems]({{ site.baseurl }}/getting-started/install/#rubygems-all-platforms) section for further details.
68
-
69
- ---
70
-
71
- ### Windows 10
72
-
73
- On Windows 10 systems, Shopify App CLI is available through [RubyGems]({{ site.baseurl }}/getting-started/install/#rubygem-all-platforms).
74
-
75
- ---
76
-
77
- ### RubyGems (all platforms)
78
-
79
- Shopify App CLI is available on all platforms as a RubyGem through [RubyGems.org](https://rubygems.org/).
80
-
81
- ```console
82
- $ gem install shopify-cli
83
- ```
84
-
85
- ---
86
-
87
- ### To check that Shopify App CLI is installed correctly:
88
-
89
- ```console
90
- $ shopify version
91
- 1.0.0
92
- $
93
- ```
94
-
95
- > Note 1: the version displayed may be newer.
96
-
97
- > Note 2: If you have the `shopify_api` gem installed, you may see the following response:
98
- > ```console
99
- > shopify command is no longer bundled with shopify_api.
100
- > if you need these tools, install the shopify_cli gem
101
- > ```
102
- >
103
- > If so, then you will also need to upgrade the `shopify_api` gem to v9.2.0+ to remove a deprecated `shopify` command that is contained in that gem.
104
- >
105
- > If you also have the `shopify_app` gem (which depends on `shopify_api` gem), you'll need to install or update `shopify_api` first, then uninstall the older version.
106
- >
107
- > To get a list of the version(s) of `shopify_api` currently installed:
108
- > ```console
109
- > $ gem list shopify_api
110
- > ```
111
- >
112
- > To install the latest version:
113
- > ```console
114
- > $ gem install shopify_api
115
- > ```
116
- >
117
- > To uninstall the older version:
118
- > ```console
119
- > $ gem uninstall shopify_api -v x.y.z
120
- > ```
121
- > Replace x.y.z with a version number listed from the `gem list` command. Repeat as needed.