shopify-cli 1.4.1 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,96 +1,4 @@
1
1
  ---
2
- title: Migrate from the legacy Shopify App CLI
3
- section: getting-started
4
- redirect_from: "/migrate/"
2
+ title: Troubleshooting Shopify App CLI
3
+ redirect_to: https://shopify.dev/tools/cli/troubleshooting
5
4
  ---
6
-
7
- As of version 0.9.0, Shopify App CLI is installed and managed as a software package, instead of as a git repository. If you’re using a legacy version, you’ll need to perform a one-time migration to keep using the CLI. Follow these steps to remove the legacy version and reinstall as a package.
8
-
9
- ## Check whether you’re using the legacy version
10
-
11
- Prior to version 0.9.0, Shopify App CLI was installed as a Git repository. You can determine if you’re running a legacy version by running this command:
12
-
13
- ```console
14
- $ shopify version
15
- ```
16
-
17
- If you get a “Command not found” error, then you’re using a legacy version and will need to uninstall it manually.
18
-
19
- ## 1. Uninstall the legacy Shopify App CLI
20
-
21
- There are two steps to completely uninstall the legacy version of Shopify App CLI:
22
-
23
- 1. Delete the legacy CLI files
24
- 1. Remove the legacy `shopify` command from your shell profile
25
- 1. Reload your terminal
26
-
27
- ### 1. Delete the CLI files
28
-
29
- By default, Shopify App CLI was installed in your home directory. All the files are contained in a hidden directory called `.shopify-app-cli`. Delete it to uninstall:
30
-
31
- ```console
32
- $ rm -rf ~/.shopify-app-cli/
33
- ```
34
-
35
- ### 2. Remove the `shopify` command from your shell
36
-
37
- During the install process, Shopify App CLI added a line to your shell configuration. This line could be located in one of a few possible files in your home directory:
38
-
39
- - `~/.bash_profile`
40
- - `~/.zshrc`
41
- - `~/.bash_login`
42
- - `~/.profile`
43
- - `~/.config/fish/config.fish`
44
-
45
- It will look similar to one of the lines below. The exact syntax may vary depending on your system:
46
-
47
- ```sh
48
- # The line won’t look *exactly* like this. `HOME_DIR` will instead be the absolute path to your home directory.
49
- if [[ -f /HOME_DIR/.shopify-cli/shopify.sh ]]; then source /HOME_DIR/.shopify-cli/shopify.sh; fi
50
-
51
- # The line might not be wrapped in an `if` statement. Example:
52
- [ -f "/HOME_DIR/.shopify-app-cli/shopify.sh" ] && source "/HOME_DIR/.shopify-app-cli/shopify.sh"
53
- ```
54
-
55
- Deleting or commenting out the relevant line in your shell profile will remove `shopify` as a command.
56
-
57
- ### 3. Reload your terminal
58
-
59
- For the changes above to take effect, exit your terminal, and start a new one.
60
-
61
- If you try running `shopify` now, you should get a `command not found` error.
62
-
63
- > If you have the `shopify_api` gem installed, you may see the following response:
64
- > ```console
65
- > shopify command is no longer bundled with shopify_api.
66
- > if you need these tools, install the shopify_cli gem
67
- > ```
68
- >
69
- > 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.
70
- >
71
- > 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.
72
- >
73
- > To get a list of the version(s) of `shopify_api` currently installed:
74
- > ```console
75
- > $ gem list shopify_api
76
- > ```
77
- >
78
- > To install the latest version:
79
- > ```console
80
- > $ gem install shopify_api
81
- > ```
82
- >
83
- > To uninstall the older version:
84
- > ```console
85
- > $ gem uninstall shopify_api -v x.y.z
86
- > ```
87
- > Replace x.y.z with a version number listed from the `gem list` command. Repeat as needed.
88
-
89
- ## 2. Install the new version
90
-
91
- Next, install the most recent version of Shopify App CLI. Follow the [install directions]({{ site.baseurl }}/getting-started/install/) for your platform.
92
-
93
- ## 3. Re-authenticate the CLI
94
-
95
- The migration process moves some configuration files, so you’ll need to re-authenticate the CLI with your Shopify Partner Dashboard. The CLI will automatically prompt you to re-authenticate when needed.
96
-
@@ -1,37 +1,4 @@
1
1
  ---
2
- title: Uninstall Shopify App CLI
3
- section: getting-started
4
- toc: false
5
- redirect_from: "/uninstall/"
2
+ title: Troubleshooting Shopify App CLI
3
+ redirect_to: https://shopify.dev/tools/cli/troubleshooting
6
4
  ---
7
-
8
- Shopify App CLI can be removed from your system using the same package manager you used to install it.
9
-
10
- ### Homebrew (macOS)
11
-
12
- ```console
13
- $ brew uninstall shopify-cli
14
- ```
15
-
16
- ### apt (Debian, Ubuntu)
17
-
18
- ```console
19
- $ sudo apt remove shopify-cli
20
- ```
21
-
22
- ### yum (CentOS 8+, Fedora, Red Hat, SUSE)
23
-
24
- ```console
25
- $ sudo yum remove shopify-cli
26
- ```
27
-
28
- ### RubyGems (macOS, Linux, Windows 10)
29
-
30
- ```console
31
- $ gem uninstall shopify-cli
32
- ```
33
-
34
- ## Uninstall a legacy version
35
-
36
- If you’re using a legacy version of the CLI (`<0.9.0`), you’ll need to [uninstall it manually]({{ site.baseurl }}/getting-started/migrate/#1-uninstall-the-old-cli).
37
-
@@ -1,41 +1,4 @@
1
1
  ---
2
- title: Upgrade Shopify App CLI
3
- section: getting-started
4
- toc: false
5
- redirect_from: "/upgrade/"
2
+ title: Troubleshooting Shopify App CLI
3
+ redirect_to: https://shopify.dev/tools/cli/troubleshooting
6
4
  ---
7
-
8
- You can manage upgrades to Shopify App CLI with the package manager for your platform. **Note** that it's important to use the same package manager to upgrade that you originally used to install Shopify App CLI.
9
-
10
- ### Homebrew (macOS)
11
-
12
- ```console
13
- $ brew update
14
- $ brew upgrade shopify-cli
15
- ```
16
-
17
- ### apt (Debian, Ubuntu)
18
-
19
- On Debian-based Linux distributions, download the latest `.deb` file for Shopify App CLI from the [releases page](https://github.com/Shopify/shopify-app-cli/releases) and install it to update.
20
-
21
- 1. Download the `.deb` file from the [releases page](https://github.com/Shopify/shopify-app-cli/releases)
22
- 1. Install the downloaded file
23
- ```console
24
- $ sudo apt install /path/to/downloaded/shopify-cli-x.y.z.deb
25
- ```
26
-
27
- ### yum (CentOS 8+, Fedora, Red Hat, SUSE)
28
-
29
- On Red Hat–based Linux distributions, download the latest `.rpm` file for Shopify App CLI from the [releases page](https://github.com/Shopify/shopify-app-cli/releases) and install it to update.
30
-
31
- 1. Download the `.rpm` file from the [releases page](https://github.com/Shopify/shopify-app-cli/releases)
32
- 1. Install the downloaded file
33
- ```console
34
- $ sudo yum install /path/to/downloaded/shopify-cli-x.y.x.rpm
35
- ```
36
-
37
- ### RubyGems (macOS, Linux, Windows 10)
38
-
39
- ```console
40
- $ gem update shopify-cli
41
- ```
@@ -1,6 +1,4 @@
1
1
  ---
2
- title: Start your app
3
- toc: false
2
+ title: Getting started with Shopify App CLI
3
+ redirect_to: https://shopify.dev/tools/cli/getting-started
4
4
  ---
5
-
6
- Your app is not running, and no app URL has been set. Try running `shopify serve` in your project to get started.
data/docs/index.md CHANGED
@@ -1,26 +1,4 @@
1
1
  ---
2
- title: Introduction
3
- section: intro
4
- toc: false
2
+ title: Shopify App CLI
3
+ redirect_to: https://shopify.dev/tools/cli
5
4
  ---
6
-
7
- Shopify App CLI helps you build Shopify apps faster. It quickly scaffolds Node.js and Ruby on Rails apps, and automates many common development tasks.
8
-
9
- **[Get started with Shopify App CLI]({{ site.baseurl }}{% link getting-started/index.md %})**
10
-
11
- ## Quick start
12
-
13
- 1. [Install Shopify App CLI]({{ site.baseurl }}{% link getting-started/install/index.md %}).
14
- 2. Create an app:
15
- ```console
16
- $ shopify create
17
- ```
18
- 3. Start and install your app on a Shopify development store:
19
- ```console
20
- $ shopify serve
21
- ```
22
- ```console
23
- $ shopify open
24
- ```
25
-
26
- **[Learn more in our Getting Started guide]({{ site.baseurl }}{% link getting-started/index.md %})**
@@ -1,8 +1,8 @@
1
- require 'rbconfig'
2
- require 'fileutils'
1
+ require "rbconfig"
2
+ require "fileutils"
3
3
 
4
- gem = File.expand_path('../../../', __FILE__)
5
- exe = File.join(gem, 'bin', 'shopify')
4
+ gem = File.expand_path("../../../", __FILE__)
5
+ exe = File.join(gem, "bin", "shopify")
6
6
 
7
7
  if RUBY_PLATFORM.match(/mingw32/)
8
8
  bat_path = File.dirname(RbConfig.ruby)
@@ -22,8 +22,8 @@ if RUBY_PLATFORM.match(/mingw32/)
22
22
  \t echo "#{script_content}">> "#{bat}"
23
23
  MAKEFILE
24
24
  else
25
- script = exe + '.sh'
26
- symlink = '/usr/local/bin/shopify'
25
+ script = exe + ".sh"
26
+ symlink = "/usr/local/bin/shopify"
27
27
 
28
28
  script_content = <<~SCRIPT
29
29
  #!/usr/bin/env bash
@@ -44,4 +44,4 @@ else
44
44
  MAKEFILE
45
45
  end
46
46
 
47
- File.write('Makefile', makefile_content)
47
+ File.write("Makefile", makefile_content)
data/install.sh CHANGED
@@ -3,5 +3,5 @@
3
3
  This install method for Shopify App CLI is no longer supported.
4
4
 
5
5
  Please visit this page for complete instructions:
6
- https://shopify.github.io/shopify-app-cli/migrate/
6
+ https://shopify.dev/tools/cli/troubleshooting#migrate-from-a-legacy-version
7
7
  EOF
@@ -1,5 +1,5 @@
1
- require 'rdoc/rdoc'
2
- require 'erb'
1
+ require "rdoc/rdoc"
2
+ require "erb"
3
3
 
4
4
  module RDoc
5
5
  module Generator
@@ -26,13 +26,13 @@ module RDoc
26
26
  private
27
27
 
28
28
  def render(data)
29
- class_template_path = File.join(File.dirname(__FILE__), 'class_template.md.erb')
30
- class_renderer = ERB.new(File.read(class_template_path), nil, '-')
29
+ class_template_path = File.join(File.dirname(__FILE__), "class_template.md.erb")
30
+ class_renderer = ERB.new(File.read(class_template_path), nil, "-")
31
31
  data.each do |cls|
32
32
  File.write("#{cls.filename}.md", class_renderer.result(cls.instance_eval { binding }))
33
33
  end
34
- index_template_path = File.join(File.dirname(__FILE__), 'index_template.md.erb')
35
- index_renderer = ERB.new(File.read(index_template_path), nil, '-')
34
+ index_template_path = File.join(File.dirname(__FILE__), "index_template.md.erb")
35
+ index_renderer = ERB.new(File.read(index_template_path), nil, "-")
36
36
  File.write("Core-APIs.md", index_renderer.result(OpenStruct.new(classes: data).instance_eval { binding }))
37
37
  end
38
38
 
@@ -46,8 +46,8 @@ module RDoc
46
46
  kind: kind,
47
47
  comment: @converter.convert(klass.comment.parse),
48
48
  constants: build_members(klass.constants),
49
- class_methods: build_members(klass.method_list.select { |m| m.type == 'class' }),
50
- instance_methods: build_members(klass.method_list.select { |m| m.type == 'instance' }),
49
+ class_methods: build_members(klass.method_list.select { |m| m.type == "class" }),
50
+ instance_methods: build_members(klass.method_list.select { |m| m.type == "instance" }),
51
51
  attributes: build_members(klass.attributes),
52
52
  extended: build_members(klass.extends),
53
53
  included: build_members(klass.includes),
@@ -68,7 +68,7 @@ module RDoc
68
68
  ClassMember.new(
69
69
  title: m.name,
70
70
  comment: @converter.convert(m.comment.parse),
71
- signature: m.respond_to?(:arglists) ? m.arglists : '',
71
+ signature: m.respond_to?(:arglists) ? m.arglists : "",
72
72
  source_code: source(m),
73
73
  )
74
74
  end
@@ -77,7 +77,7 @@ module RDoc
77
77
  # Just extracts sourcecode from html formatting/highlighting into a text
78
78
  # blob so that markdown can format it with a codeblock
79
79
  def source(m)
80
- return '' unless m.respond_to?(:token_stream)
80
+ return "" unless m.respond_to?(:token_stream)
81
81
  # each line, get the text
82
82
  src = (m.token_stream || []).map do |t|
83
83
  next unless t
@@ -89,11 +89,11 @@ module RDoc
89
89
  lines.shift if src =~ /\A.*#\ *File/i # remove '# File' comment
90
90
  lines.each do |line|
91
91
  next unless line =~ /^ *(?=\S)/
92
- n = $&.length
92
+ n = Regexp.last_match(0).length
93
93
  indent = n if n < indent
94
94
  break if n == 0
95
95
  end
96
- src.gsub!(/^#{' ' * indent}/, '') if indent > 0
96
+ src.gsub!(/^#{' ' * indent}/, "") if indent > 0
97
97
  src
98
98
  end
99
99
  end
@@ -0,0 +1,14 @@
1
+ query fetchSpecifications($api_key: String!) {
2
+ extensionSpecifications(apiKey: $api_key) {
3
+ name
4
+ identifier
5
+ options {
6
+ managementExperience
7
+ }
8
+ features {
9
+ argo {
10
+ surface
11
+ }
12
+ }
13
+ }
14
+ }
@@ -3,75 +3,82 @@
3
3
  module Extension
4
4
  class Project < ShopifyCli::ProjectType
5
5
  hidden_feature
6
- creator 'App Extension', 'Extension::Commands::Create'
6
+ title("App Extension")
7
+ creator("Extension::Commands::Create")
7
8
 
8
- register_command('Extension::Commands::Build', "build")
9
- register_command('Extension::Commands::Register', "register")
10
- register_command('Extension::Commands::Push', "push")
11
- register_command('Extension::Commands::Serve', "serve")
12
- register_command('Extension::Commands::Tunnel', "tunnel")
9
+ register_command("Extension::Commands::Build", "build")
10
+ register_command("Extension::Commands::Register", "register")
11
+ register_command("Extension::Commands::Push", "push")
12
+ register_command("Extension::Commands::Serve", "serve")
13
+ register_command("Extension::Commands::Tunnel", "tunnel")
13
14
 
14
- require Project.project_filepath('messages/messages')
15
- require Project.project_filepath('messages/message_loading')
16
- require Project.project_filepath('extension_project_keys')
15
+ require Project.project_filepath("messages/messages")
16
+ require Project.project_filepath("messages/message_loading")
17
+ require Project.project_filepath("extension_project_keys")
17
18
  register_messages(Extension::Messages::MessageLoading.load)
18
19
  end
19
20
 
20
21
  module Commands
21
- autoload :ExtensionCommand, Project.project_filepath('commands/extension_command')
22
- autoload :Create, Project.project_filepath('commands/create')
23
- autoload :Register, Project.project_filepath('commands/register')
24
- autoload :Build, Project.project_filepath('commands/build')
25
- autoload :Serve, Project.project_filepath('commands/serve')
26
- autoload :Push, Project.project_filepath('commands/push')
27
- autoload :Tunnel, Project.project_filepath('commands/tunnel')
22
+ autoload :ExtensionCommand, Project.project_filepath("commands/extension_command")
23
+ autoload :Create, Project.project_filepath("commands/create")
24
+ autoload :Register, Project.project_filepath("commands/register")
25
+ autoload :Build, Project.project_filepath("commands/build")
26
+ autoload :Serve, Project.project_filepath("commands/serve")
27
+ autoload :Push, Project.project_filepath("commands/push")
28
+ autoload :Tunnel, Project.project_filepath("commands/tunnel")
28
29
  end
29
30
 
30
31
  module Tasks
31
- autoload :UserErrors, Project.project_filepath('tasks/user_errors')
32
- autoload :GetApps, Project.project_filepath('tasks/get_apps')
33
- autoload :GetApp, Project.project_filepath('tasks/get_app')
34
- autoload :CreateExtension, Project.project_filepath('tasks/create_extension')
35
- autoload :UpdateDraft, Project.project_filepath('tasks/update_draft')
32
+ autoload :UserErrors, Project.project_filepath("tasks/user_errors")
33
+ autoload :GetApps, Project.project_filepath("tasks/get_apps")
34
+ autoload :GetApp, Project.project_filepath("tasks/get_app")
35
+ autoload :CreateExtension, Project.project_filepath("tasks/create_extension")
36
+ autoload :UpdateDraft, Project.project_filepath("tasks/update_draft")
37
+ autoload :FetchSpecifications, Project.project_filepath("tasks/fetch_specifications")
38
+ autoload :ConfigureFeatures, Project.project_filepath("tasks/configure_features")
36
39
 
37
40
  module Converters
38
- autoload :RegistrationConverter, Project.project_filepath('tasks/converters/registration_converter')
39
- autoload :VersionConverter, Project.project_filepath('tasks/converters/version_converter')
40
- autoload :ValidationErrorConverter, Project.project_filepath('tasks/converters/validation_error_converter')
41
- autoload :AppConverter, Project.project_filepath('tasks/converters/app_converter')
41
+ autoload :RegistrationConverter, Project.project_filepath("tasks/converters/registration_converter")
42
+ autoload :VersionConverter, Project.project_filepath("tasks/converters/version_converter")
43
+ autoload :ValidationErrorConverter, Project.project_filepath("tasks/converters/validation_error_converter")
44
+ autoload :AppConverter, Project.project_filepath("tasks/converters/app_converter")
42
45
  end
43
46
  end
44
47
 
45
48
  module Forms
46
- autoload :Create, Project.project_filepath('forms/create')
47
- autoload :Register, Project.project_filepath('forms/register')
49
+ module Questions
50
+ autoload :AskApp, Project.project_filepath("forms/questions/ask_app")
51
+ autoload :AskName, Project.project_filepath("forms/questions/ask_name")
52
+ autoload :AskType, Project.project_filepath("forms/questions/ask_type")
53
+ end
54
+
55
+ autoload :Create, Project.project_filepath("forms/create")
56
+ autoload :Register, Project.project_filepath("forms/register")
48
57
  end
49
58
 
50
59
  module Features
51
- autoload :ArgoSetup, Project.project_filepath('features/argo_setup')
52
- autoload :ArgoSetupStep, Project.project_filepath('features/argo_setup_step')
53
- autoload :ArgoSetupSteps, Project.project_filepath('features/argo_setup_steps')
54
- autoload :ArgoDependencies, Project.project_filepath('features/argo_dependencies')
55
- autoload :ArgoConfig, Project.project_filepath('features/argo_config')
56
- module Argo
57
- autoload :Base, Project.project_filepath('features/argo/base')
58
- autoload :Admin, Project.project_filepath('features/argo/admin')
59
- autoload :Checkout, Project.project_filepath('features/argo/checkout')
60
- end
60
+ autoload :ArgoSetup, Project.project_filepath("features/argo_setup")
61
+ autoload :ArgoSetupStep, Project.project_filepath("features/argo_setup_step")
62
+ autoload :ArgoSetupSteps, Project.project_filepath("features/argo_setup_steps")
63
+ autoload :ArgoDependencies, Project.project_filepath("features/argo_dependencies")
64
+ autoload :ArgoConfig, Project.project_filepath("features/argo_config")
65
+ autoload :Argo, Project.project_filepath("features/argo")
61
66
  end
62
67
 
63
68
  module Models
64
- autoload :App, Project.project_filepath('models/app')
65
- autoload :Registration, Project.project_filepath('models/registration')
66
- autoload :Version, Project.project_filepath('models/version')
67
- autoload :Type, Project.project_filepath('models/type')
68
- autoload :ValidationError, Project.project_filepath('models/validation_error')
69
-
70
- class << self
71
- Models::Type.load_all
69
+ module SpecificationHandlers
70
+ autoload :Default, Project.project_filepath("models/specification_handlers/default")
72
71
  end
72
+
73
+ autoload :App, Project.project_filepath("models/app")
74
+ autoload :Registration, Project.project_filepath("models/registration")
75
+ autoload :Version, Project.project_filepath("models/version")
76
+ autoload :ValidationError, Project.project_filepath("models/validation_error")
77
+ autoload :Specification, Project.project_filepath("models/specification")
78
+ autoload :Specifications, Project.project_filepath("models/specifications")
79
+ autoload :LazySpecificationHandler, Project.project_filepath("models/lazy_specification_handler")
73
80
  end
74
81
 
75
- autoload :ExtensionProjectKeys, Project.project_filepath('extension_project_keys')
76
- autoload :ExtensionProject, Project.project_filepath('extension_project')
82
+ autoload :ExtensionProjectKeys, Project.project_filepath("extension_project_keys")
83
+ autoload :ExtensionProject, Project.project_filepath("extension_project")
77
84
  end