shopify-cli 1.3.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) 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 +10 -1
  5. data/.github/workflows/release.yml +61 -0
  6. data/.github/workflows/triage.yml +22 -0
  7. data/.gitignore +0 -1
  8. data/.rubocop.yml +61 -8
  9. data/.rubocop_todo.yml +11 -0
  10. data/.travis.yml +1 -0
  11. data/CHANGELOG.md +30 -0
  12. data/Gemfile +3 -2
  13. data/Gemfile.lock +39 -37
  14. data/README.md +39 -7
  15. data/RELEASING.md +19 -29
  16. data/Rakefile +2 -0
  17. data/dev.yml +2 -2
  18. data/docs/_config.yml +1 -18
  19. data/docs/app/node/commands/index.md +2 -80
  20. data/docs/app/node/index.md +2 -33
  21. data/docs/app/rails/commands/index.md +2 -78
  22. data/docs/app/rails/index.md +2 -34
  23. data/docs/core/index.md +2 -84
  24. data/docs/getting-started/index.md +2 -25
  25. data/docs/getting-started/install/index.md +1 -118
  26. data/docs/getting-started/migrate/index.md +2 -94
  27. data/docs/getting-started/uninstall/index.md +2 -35
  28. data/docs/getting-started/upgrade/index.md +2 -39
  29. data/docs/help/start-app/index.md +2 -4
  30. data/docs/index.md +2 -24
  31. data/install.sh +1 -1
  32. data/lib/project_types/extension/cli.rb +21 -11
  33. data/lib/project_types/extension/commands/extension_command.rb +2 -2
  34. data/lib/project_types/extension/features/argo.rb +117 -0
  35. data/lib/project_types/extension/forms/create.rb +2 -2
  36. data/lib/project_types/extension/models/specification.rb +35 -0
  37. data/lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb +19 -0
  38. data/lib/project_types/extension/models/specification_handlers/default.rb +67 -0
  39. data/lib/project_types/extension/models/specifications.rb +77 -0
  40. data/lib/project_types/extension/tasks/configure_features.rb +52 -0
  41. data/lib/project_types/extension/tasks/fetch_specifications.rb +38 -0
  42. data/lib/project_types/node/cli.rb +4 -1
  43. data/lib/project_types/node/commands/connect.rb +15 -0
  44. data/lib/project_types/node/commands/create.rb +10 -4
  45. data/lib/project_types/node/commands/generate.rb +2 -11
  46. data/lib/project_types/node/messages/messages.rb +16 -50
  47. data/lib/project_types/rails/cli.rb +4 -1
  48. data/lib/project_types/rails/commands/connect.rb +15 -0
  49. data/lib/project_types/rails/commands/create.rb +15 -12
  50. data/lib/project_types/rails/forms/create.rb +1 -1
  51. data/lib/project_types/rails/gem.rb +1 -1
  52. data/lib/project_types/rails/messages/messages.rb +8 -5
  53. data/lib/project_types/script/cli.rb +9 -5
  54. data/lib/project_types/script/commands/create.rb +6 -4
  55. data/lib/project_types/script/commands/enable.rb +12 -4
  56. data/lib/project_types/script/commands/push.rb +5 -13
  57. data/lib/project_types/script/config/extension_points.yml +17 -12
  58. data/lib/project_types/script/errors.rb +21 -0
  59. data/lib/project_types/script/forms/create.rb +26 -2
  60. data/lib/project_types/script/graphql/app_script_update_or_create.graphql +10 -1
  61. data/lib/project_types/script/layers/application/build_script.rb +18 -17
  62. data/lib/project_types/script/layers/application/create_script.rb +12 -10
  63. data/lib/project_types/script/layers/application/extension_points.rb +24 -0
  64. data/lib/project_types/script/layers/application/push_script.rb +18 -16
  65. data/lib/project_types/script/layers/domain/errors.rb +7 -0
  66. data/lib/project_types/script/layers/domain/extension_point.rb +62 -7
  67. data/lib/project_types/script/layers/domain/metadata.rb +55 -0
  68. data/lib/project_types/script/layers/domain/push_package.rb +25 -6
  69. data/lib/project_types/script/layers/infrastructure/assemblyscript_project_creator.rb +17 -52
  70. data/lib/project_types/script/layers/infrastructure/assemblyscript_task_runner.rb +42 -11
  71. data/lib/project_types/script/layers/infrastructure/errors.rb +16 -0
  72. data/lib/project_types/script/layers/infrastructure/extension_point_repository.rb +10 -4
  73. data/lib/project_types/script/layers/infrastructure/project_creator.rb +2 -1
  74. data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +25 -13
  75. data/lib/project_types/script/layers/infrastructure/rust_project_creator.rb +72 -0
  76. data/lib/project_types/script/layers/infrastructure/rust_task_runner.rb +59 -0
  77. data/lib/project_types/script/layers/infrastructure/script_service.rb +9 -1
  78. data/lib/project_types/script/layers/infrastructure/task_runner.rb +4 -3
  79. data/lib/project_types/script/messages/messages.rb +55 -4
  80. data/lib/project_types/script/script_project.rb +25 -16
  81. data/lib/project_types/script/ui/error_handler.rb +59 -1
  82. data/lib/project_types/theme/cli.rb +40 -0
  83. data/lib/project_types/theme/commands/connect.rb +54 -0
  84. data/lib/project_types/theme/commands/create.rb +48 -0
  85. data/lib/project_types/theme/commands/deploy.rb +38 -0
  86. data/lib/project_types/theme/commands/generate.rb +20 -0
  87. data/lib/project_types/theme/commands/generate/env.rb +79 -0
  88. data/lib/project_types/theme/commands/push.rb +55 -0
  89. data/lib/project_types/theme/commands/serve.rb +31 -0
  90. data/lib/project_types/theme/forms/connect.rb +34 -0
  91. data/lib/project_types/theme/forms/create.rb +22 -0
  92. data/lib/project_types/theme/messages/messages.rb +147 -0
  93. data/lib/project_types/theme/tasks/ensure_themekit_installed.rb +78 -0
  94. data/lib/project_types/theme/themekit.rb +113 -0
  95. data/lib/shopify-cli/admin_api.rb +42 -2
  96. data/lib/shopify-cli/api.rb +34 -33
  97. data/lib/shopify-cli/commands/config.rb +24 -0
  98. data/lib/shopify-cli/commands/connect.rb +32 -15
  99. data/lib/shopify-cli/commands/system.rb +10 -1
  100. data/lib/shopify-cli/context.rb +23 -2
  101. data/lib/shopify-cli/core/entry_point.rb +1 -1
  102. data/lib/shopify-cli/core/monorail.rb +6 -4
  103. data/lib/shopify-cli/feature.rb +0 -2
  104. data/lib/shopify-cli/http_request.rb +27 -0
  105. data/lib/shopify-cli/js_deps.rb +1 -1
  106. data/lib/shopify-cli/messages/messages.rb +31 -7
  107. data/lib/shopify-cli/method_object.rb +104 -0
  108. data/lib/shopify-cli/partners_api.rb +25 -3
  109. data/lib/shopify-cli/process_supervision.rb +1 -1
  110. data/lib/shopify-cli/project.rb +12 -8
  111. data/lib/shopify-cli/project_type.rb +18 -2
  112. data/lib/shopify-cli/resolve_constant.rb +25 -0
  113. data/lib/shopify-cli/result.rb +432 -0
  114. data/lib/shopify-cli/shopifolk.rb +87 -0
  115. data/lib/shopify-cli/task.rb +8 -0
  116. data/lib/shopify-cli/tasks/create_api_client.rb +13 -2
  117. data/lib/shopify-cli/tasks/ensure_env.rb +3 -0
  118. data/lib/shopify-cli/tasks/select_org_and_shop.rb +10 -5
  119. data/lib/shopify-cli/tunnel.rb +8 -2
  120. data/lib/shopify-cli/version.rb +1 -1
  121. data/lib/shopify_cli.rb +5 -1
  122. data/shopify.fish +1 -1
  123. data/shopify.sh +1 -1
  124. data/vendor/deps/cli-kit/REVISION +1 -1
  125. data/vendor/deps/cli-kit/lib/cli/kit/logger.rb +2 -2
  126. data/vendor/deps/cli-kit/lib/cli/kit/system.rb +3 -3
  127. data/vendor/deps/cli-ui/REVISION +1 -1
  128. data/vendor/deps/cli-ui/lib/cli/ui.rb +26 -22
  129. data/vendor/deps/cli-ui/lib/cli/ui/ansi.rb +4 -6
  130. data/vendor/deps/cli-ui/lib/cli/ui/frame.rb +3 -3
  131. data/vendor/deps/cli-ui/lib/cli/ui/frame/frame_stack.rb +8 -9
  132. data/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style.rb +1 -1
  133. data/vendor/deps/cli-ui/lib/cli/ui/glyph.rb +1 -0
  134. data/vendor/deps/cli-ui/lib/cli/ui/printer.rb +15 -3
  135. data/vendor/deps/cli-ui/lib/cli/ui/prompt/interactive_options.rb +4 -11
  136. data/vendor/deps/cli-ui/lib/cli/ui/spinner.rb +3 -5
  137. data/vendor/deps/cli-ui/lib/cli/ui/terminal.rb +10 -10
  138. data/vendor/deps/cli-ui/lib/cli/ui/version.rb +1 -1
  139. data/vendor/deps/cli-ui/lib/cli/ui/wrap.rb +56 -0
  140. data/vendor/deps/webrick/.gitignore +9 -0
  141. data/vendor/deps/webrick/Gemfile +3 -0
  142. data/vendor/deps/webrick/LICENSE.txt +22 -0
  143. data/vendor/deps/webrick/README.md +61 -0
  144. data/vendor/deps/webrick/Rakefile +10 -0
  145. data/vendor/deps/webrick/lib/webrick.rb +232 -0
  146. data/vendor/deps/webrick/lib/webrick/accesslog.rb +157 -0
  147. data/vendor/deps/webrick/lib/webrick/cgi.rb +313 -0
  148. data/vendor/deps/webrick/lib/webrick/compat.rb +36 -0
  149. data/vendor/deps/webrick/lib/webrick/config.rb +158 -0
  150. data/vendor/deps/webrick/lib/webrick/cookie.rb +172 -0
  151. data/vendor/deps/webrick/lib/webrick/htmlutils.rb +30 -0
  152. data/vendor/deps/webrick/lib/webrick/httpauth.rb +96 -0
  153. data/vendor/deps/webrick/lib/webrick/httpauth/authenticator.rb +117 -0
  154. data/vendor/deps/webrick/lib/webrick/httpauth/basicauth.rb +116 -0
  155. data/vendor/deps/webrick/lib/webrick/httpauth/digestauth.rb +395 -0
  156. data/vendor/deps/webrick/lib/webrick/httpauth/htdigest.rb +132 -0
  157. data/vendor/deps/webrick/lib/webrick/httpauth/htgroup.rb +97 -0
  158. data/vendor/deps/webrick/lib/webrick/httpauth/htpasswd.rb +158 -0
  159. data/vendor/deps/webrick/lib/webrick/httpauth/userdb.rb +53 -0
  160. data/vendor/deps/webrick/lib/webrick/httpproxy.rb +354 -0
  161. data/vendor/deps/webrick/lib/webrick/httprequest.rb +636 -0
  162. data/vendor/deps/webrick/lib/webrick/httpresponse.rb +564 -0
  163. data/vendor/deps/webrick/lib/webrick/https.rb +152 -0
  164. data/vendor/deps/webrick/lib/webrick/httpserver.rb +294 -0
  165. data/vendor/deps/webrick/lib/webrick/httpservlet.rb +23 -0
  166. data/vendor/deps/webrick/lib/webrick/httpservlet/abstract.rb +152 -0
  167. data/vendor/deps/webrick/lib/webrick/httpservlet/cgi_runner.rb +47 -0
  168. data/vendor/deps/webrick/lib/webrick/httpservlet/cgihandler.rb +126 -0
  169. data/vendor/deps/webrick/lib/webrick/httpservlet/erbhandler.rb +88 -0
  170. data/vendor/deps/webrick/lib/webrick/httpservlet/filehandler.rb +552 -0
  171. data/vendor/deps/webrick/lib/webrick/httpservlet/prochandler.rb +47 -0
  172. data/vendor/deps/webrick/lib/webrick/httpstatus.rb +194 -0
  173. data/vendor/deps/webrick/lib/webrick/httputils.rb +512 -0
  174. data/vendor/deps/webrick/lib/webrick/httpversion.rb +76 -0
  175. data/vendor/deps/webrick/lib/webrick/log.rb +156 -0
  176. data/vendor/deps/webrick/lib/webrick/server.rb +381 -0
  177. data/vendor/deps/webrick/lib/webrick/ssl.rb +215 -0
  178. data/vendor/deps/webrick/lib/webrick/utils.rb +265 -0
  179. data/vendor/deps/webrick/lib/webrick/version.rb +18 -0
  180. data/vendor/deps/webrick/webrick.gemspec +74 -0
  181. metadata +77 -27
  182. data/docs/Gemfile +0 -5
  183. data/docs/Gemfile.lock +0 -258
  184. data/docs/_data/nav.yml +0 -35
  185. data/docs/_includes/footer.html +0 -15
  186. data/docs/_includes/head.html +0 -19
  187. data/docs/_includes/sidebar_nav.html +0 -22
  188. data/docs/_includes/toc.html +0 -112
  189. data/docs/_layouts/default.html +0 -79
  190. data/docs/css/docs.css +0 -157
  191. data/docs/images/header.png +0 -0
  192. data/docs/installing-ruby.md +0 -28
  193. data/lib/project_types/extension/features/argo/admin.rb +0 -20
  194. data/lib/project_types/extension/features/argo/base.rb +0 -129
  195. data/lib/project_types/extension/features/argo/checkout.rb +0 -20
  196. data/lib/project_types/extension/models/type.rb +0 -81
  197. data/lib/project_types/extension/models/types/checkout_post_purchase.rb +0 -23
  198. data/lib/project_types/extension/models/types/product_subscription.rb +0 -24
  199. data/lib/project_types/node/commands/generate/billing.rb +0 -39
  200. data/lib/project_types/node/commands/generate/page.rb +0 -59
  201. data/lib/project_types/node/commands/generate/webhook.rb +0 -37
  202. data/lib/project_types/script/layers/domain/script.rb +0 -18
  203. data/lib/project_types/script/layers/infrastructure/assemblyscript_tsconfig.rb +0 -38
  204. data/lib/project_types/script/layers/infrastructure/script_repository.rb +0 -59
  205. data/lib/project_types/script/templates/ts/as-pect.config.js +0 -27
  206. data/lib/project_types/script/templates/ts/as-pect.d.ts +0 -1
data/RELEASING.md CHANGED
@@ -2,50 +2,40 @@
2
2
 
3
3
  1. Check the Semantic Versioning page for info on how to version the new release: http://semver.org
4
4
 
5
- 2. Create a branch named `release_X_Y_Z` (replacing `X_Y_Z` with the intended release version)
5
+ 1. Make sure you're on the most recent `master`
6
+ ```
7
+ $ git checkout master
8
+ $ git pull
9
+ ```
10
+
11
+ 1. Create a branch named `release_X_Y_Z` (replacing `X_Y_Z` with the intended release version)
6
12
  ```
7
13
  $ git checkout -b release_X_Y_Z
8
14
  ```
9
15
 
10
- 3. Update the version of Shopify CLI in `lib/shopify-cli/version.rb`
16
+ 1. Update the version of Shopify CLI in `lib/shopify-cli/version.rb`
11
17
 
12
- 4. Add an entry for the new release to `CHANGELOG.md`
18
+ 1. Add an entry for the new release to `CHANGELOG.md`
13
19
 
14
- 5. Commit the changes with a commit message like "Packaging for release X.Y.Z"
20
+ 1. Commit the changes with a commit message like "Packaging for release X.Y.Z"
15
21
  ```
16
22
  $ git commit -am "Packaging for release vX.Y.Z"
17
23
  ```
18
24
 
19
- 6. Push out the changes
25
+ 1. Push out the changes
20
26
  ```
21
27
  $ git push -u origin release_X_Y_Z
22
28
  ```
23
29
 
24
- 7. Open a PR for the branch, get necessary approvals from code owners and merge into main branch. Note that the PR title will be the release note in Shipit, so make sure it mentions the release
30
+ 1. Open a PR for the branch, get necessary approvals from code owners and merge into main branch. Note that the PR title will be the release note in Shipit, so make sure it mentions the release
25
31
 
26
- 8. Deploy using Shipit
32
+ 1. Deploy using Shipit
27
33
 
28
- 9. On local machine and _AFTER_ gem has been published to https://rubygems.org, run
29
- ```
30
- $ rake package
31
- ```
32
- This will generate the `.deb`, `.rpm` and brew formula files, which will be located in `packaging/builds/X.Y.Z/`.
34
+ 1. Check the "Actions" tab to see if the _Create Release_ workflow is successful.
35
+ The workflow will automatically create a [release](https://github.com/Shopify/shopify-app-cli/releases) with the latest tag and `.deb`, `.rpm` assets attached.
36
+
37
+ 2. Check the `Shopify/homebrew-shopify` repository for new PR `shopify-cli {version}`
38
+ * rename PR to `Packaging for release of v{version} of shopify-cli`
39
+ * when PR is approved, merge into main branch
33
40
 
34
- 10. Clone the `Shopify/homebrew-shopify` repository (if not already cloned), and then
35
- * create a branch named `release_X_Y_Z_of_shopify-cli`
36
- * update the brew formula in `shopify-cli.rb` with the generated formula in `packaging/builds/X.Y.Z/` in the `Shopify/shopify-app-cli` repo (from step 9)
37
- * commit the change and create a PR on the [Shopify Homebrew repository](https://github.com/Shopify/homebrew-shopify)
38
- * when PR is approved, merge into main branch
39
41
 
40
- 11. Go to [releases](https://github.com/Shopify/shopify-app-cli/releases) page of `Shopify/shopify-app-cli` repo and create a new release:
41
- * use the tag created in step 8 by Shipit (should be "vX.Y.Z")
42
- * release title = "Version X.Y.Z"
43
- * description should be
44
- ```
45
- Release of version X.Y.Z of Shopify App CLI
46
-
47
- Please refer to [CHANGELOG](https://github.com/Shopify/shopify-app-cli/blob/master/CHANGELOG.md) for details.
48
- ```
49
- * upload the `.deb` and `.rpm` files from `packaging/builds/X.Y.Z/` (generated in step 9)
50
- * if it's a pre-release version, select the "This is a pre-release" checkbox
51
- * and click "Publish release".
data/Rakefile CHANGED
@@ -29,9 +29,11 @@ namespace :rdoc do
29
29
  'lib/shopify-cli/git.rb',
30
30
  'lib/shopify-cli/heroku.rb',
31
31
  'lib/shopify-cli/js_deps.rb',
32
+ 'lib/shopify-cli/method_object.rb',
32
33
  'lib/shopify-cli/partners_api.rb',
33
34
  'lib/shopify-cli/process_supervision.rb',
34
35
  'lib/shopify-cli/project.rb',
36
+ 'lib/shopify-cli/result.rb',
35
37
  'lib/shopify-cli/tunnel.rb',
36
38
  ]
37
39
 
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
- ```