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.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +2 -2
- data/.github/CONTRIBUTING.md +9 -1
- data/.github/PULL_REQUEST_TEMPLATE.md +10 -1
- data/.github/workflows/release.yml +61 -0
- data/.github/workflows/triage.yml +22 -0
- data/.gitignore +0 -1
- data/.rubocop.yml +61 -8
- data/.rubocop_todo.yml +11 -0
- data/.travis.yml +1 -0
- data/CHANGELOG.md +30 -0
- data/Gemfile +3 -2
- data/Gemfile.lock +39 -37
- data/README.md +39 -7
- data/RELEASING.md +19 -29
- data/Rakefile +2 -0
- data/dev.yml +2 -2
- data/docs/_config.yml +1 -18
- data/docs/app/node/commands/index.md +2 -80
- data/docs/app/node/index.md +2 -33
- data/docs/app/rails/commands/index.md +2 -78
- data/docs/app/rails/index.md +2 -34
- data/docs/core/index.md +2 -84
- data/docs/getting-started/index.md +2 -25
- data/docs/getting-started/install/index.md +1 -118
- data/docs/getting-started/migrate/index.md +2 -94
- data/docs/getting-started/uninstall/index.md +2 -35
- data/docs/getting-started/upgrade/index.md +2 -39
- data/docs/help/start-app/index.md +2 -4
- data/docs/index.md +2 -24
- data/install.sh +1 -1
- data/lib/project_types/extension/cli.rb +21 -11
- data/lib/project_types/extension/commands/extension_command.rb +2 -2
- data/lib/project_types/extension/features/argo.rb +117 -0
- data/lib/project_types/extension/forms/create.rb +2 -2
- data/lib/project_types/extension/models/specification.rb +35 -0
- data/lib/project_types/extension/models/specification_handlers/checkout_post_purchase.rb +19 -0
- data/lib/project_types/extension/models/specification_handlers/default.rb +67 -0
- data/lib/project_types/extension/models/specifications.rb +77 -0
- data/lib/project_types/extension/tasks/configure_features.rb +52 -0
- data/lib/project_types/extension/tasks/fetch_specifications.rb +38 -0
- data/lib/project_types/node/cli.rb +4 -1
- data/lib/project_types/node/commands/connect.rb +15 -0
- data/lib/project_types/node/commands/create.rb +10 -4
- data/lib/project_types/node/commands/generate.rb +2 -11
- data/lib/project_types/node/messages/messages.rb +16 -50
- data/lib/project_types/rails/cli.rb +4 -1
- data/lib/project_types/rails/commands/connect.rb +15 -0
- data/lib/project_types/rails/commands/create.rb +15 -12
- data/lib/project_types/rails/forms/create.rb +1 -1
- data/lib/project_types/rails/gem.rb +1 -1
- data/lib/project_types/rails/messages/messages.rb +8 -5
- data/lib/project_types/script/cli.rb +9 -5
- data/lib/project_types/script/commands/create.rb +6 -4
- data/lib/project_types/script/commands/enable.rb +12 -4
- data/lib/project_types/script/commands/push.rb +5 -13
- data/lib/project_types/script/config/extension_points.yml +17 -12
- data/lib/project_types/script/errors.rb +21 -0
- data/lib/project_types/script/forms/create.rb +26 -2
- data/lib/project_types/script/graphql/app_script_update_or_create.graphql +10 -1
- data/lib/project_types/script/layers/application/build_script.rb +18 -17
- data/lib/project_types/script/layers/application/create_script.rb +12 -10
- data/lib/project_types/script/layers/application/extension_points.rb +24 -0
- data/lib/project_types/script/layers/application/push_script.rb +18 -16
- data/lib/project_types/script/layers/domain/errors.rb +7 -0
- data/lib/project_types/script/layers/domain/extension_point.rb +62 -7
- data/lib/project_types/script/layers/domain/metadata.rb +55 -0
- data/lib/project_types/script/layers/domain/push_package.rb +25 -6
- data/lib/project_types/script/layers/infrastructure/assemblyscript_project_creator.rb +17 -52
- data/lib/project_types/script/layers/infrastructure/assemblyscript_task_runner.rb +42 -11
- data/lib/project_types/script/layers/infrastructure/errors.rb +16 -0
- data/lib/project_types/script/layers/infrastructure/extension_point_repository.rb +10 -4
- data/lib/project_types/script/layers/infrastructure/project_creator.rb +2 -1
- data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +25 -13
- data/lib/project_types/script/layers/infrastructure/rust_project_creator.rb +72 -0
- data/lib/project_types/script/layers/infrastructure/rust_task_runner.rb +59 -0
- data/lib/project_types/script/layers/infrastructure/script_service.rb +9 -1
- data/lib/project_types/script/layers/infrastructure/task_runner.rb +4 -3
- data/lib/project_types/script/messages/messages.rb +55 -4
- data/lib/project_types/script/script_project.rb +25 -16
- data/lib/project_types/script/ui/error_handler.rb +59 -1
- data/lib/project_types/theme/cli.rb +40 -0
- data/lib/project_types/theme/commands/connect.rb +54 -0
- data/lib/project_types/theme/commands/create.rb +48 -0
- data/lib/project_types/theme/commands/deploy.rb +38 -0
- data/lib/project_types/theme/commands/generate.rb +20 -0
- data/lib/project_types/theme/commands/generate/env.rb +79 -0
- data/lib/project_types/theme/commands/push.rb +55 -0
- data/lib/project_types/theme/commands/serve.rb +31 -0
- data/lib/project_types/theme/forms/connect.rb +34 -0
- data/lib/project_types/theme/forms/create.rb +22 -0
- data/lib/project_types/theme/messages/messages.rb +147 -0
- data/lib/project_types/theme/tasks/ensure_themekit_installed.rb +78 -0
- data/lib/project_types/theme/themekit.rb +113 -0
- data/lib/shopify-cli/admin_api.rb +42 -2
- data/lib/shopify-cli/api.rb +34 -33
- data/lib/shopify-cli/commands/config.rb +24 -0
- data/lib/shopify-cli/commands/connect.rb +32 -15
- data/lib/shopify-cli/commands/system.rb +10 -1
- data/lib/shopify-cli/context.rb +23 -2
- data/lib/shopify-cli/core/entry_point.rb +1 -1
- data/lib/shopify-cli/core/monorail.rb +6 -4
- data/lib/shopify-cli/feature.rb +0 -2
- data/lib/shopify-cli/http_request.rb +27 -0
- data/lib/shopify-cli/js_deps.rb +1 -1
- data/lib/shopify-cli/messages/messages.rb +31 -7
- data/lib/shopify-cli/method_object.rb +104 -0
- data/lib/shopify-cli/partners_api.rb +25 -3
- data/lib/shopify-cli/process_supervision.rb +1 -1
- data/lib/shopify-cli/project.rb +12 -8
- data/lib/shopify-cli/project_type.rb +18 -2
- data/lib/shopify-cli/resolve_constant.rb +25 -0
- data/lib/shopify-cli/result.rb +432 -0
- data/lib/shopify-cli/shopifolk.rb +87 -0
- data/lib/shopify-cli/task.rb +8 -0
- data/lib/shopify-cli/tasks/create_api_client.rb +13 -2
- data/lib/shopify-cli/tasks/ensure_env.rb +3 -0
- data/lib/shopify-cli/tasks/select_org_and_shop.rb +10 -5
- data/lib/shopify-cli/tunnel.rb +8 -2
- data/lib/shopify-cli/version.rb +1 -1
- data/lib/shopify_cli.rb +5 -1
- data/shopify.fish +1 -1
- data/shopify.sh +1 -1
- data/vendor/deps/cli-kit/REVISION +1 -1
- data/vendor/deps/cli-kit/lib/cli/kit/logger.rb +2 -2
- data/vendor/deps/cli-kit/lib/cli/kit/system.rb +3 -3
- data/vendor/deps/cli-ui/REVISION +1 -1
- data/vendor/deps/cli-ui/lib/cli/ui.rb +26 -22
- data/vendor/deps/cli-ui/lib/cli/ui/ansi.rb +4 -6
- data/vendor/deps/cli-ui/lib/cli/ui/frame.rb +3 -3
- data/vendor/deps/cli-ui/lib/cli/ui/frame/frame_stack.rb +8 -9
- data/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style.rb +1 -1
- data/vendor/deps/cli-ui/lib/cli/ui/glyph.rb +1 -0
- data/vendor/deps/cli-ui/lib/cli/ui/printer.rb +15 -3
- data/vendor/deps/cli-ui/lib/cli/ui/prompt/interactive_options.rb +4 -11
- data/vendor/deps/cli-ui/lib/cli/ui/spinner.rb +3 -5
- data/vendor/deps/cli-ui/lib/cli/ui/terminal.rb +10 -10
- data/vendor/deps/cli-ui/lib/cli/ui/version.rb +1 -1
- data/vendor/deps/cli-ui/lib/cli/ui/wrap.rb +56 -0
- data/vendor/deps/webrick/.gitignore +9 -0
- data/vendor/deps/webrick/Gemfile +3 -0
- data/vendor/deps/webrick/LICENSE.txt +22 -0
- data/vendor/deps/webrick/README.md +61 -0
- data/vendor/deps/webrick/Rakefile +10 -0
- data/vendor/deps/webrick/lib/webrick.rb +232 -0
- data/vendor/deps/webrick/lib/webrick/accesslog.rb +157 -0
- data/vendor/deps/webrick/lib/webrick/cgi.rb +313 -0
- data/vendor/deps/webrick/lib/webrick/compat.rb +36 -0
- data/vendor/deps/webrick/lib/webrick/config.rb +158 -0
- data/vendor/deps/webrick/lib/webrick/cookie.rb +172 -0
- data/vendor/deps/webrick/lib/webrick/htmlutils.rb +30 -0
- data/vendor/deps/webrick/lib/webrick/httpauth.rb +96 -0
- data/vendor/deps/webrick/lib/webrick/httpauth/authenticator.rb +117 -0
- data/vendor/deps/webrick/lib/webrick/httpauth/basicauth.rb +116 -0
- data/vendor/deps/webrick/lib/webrick/httpauth/digestauth.rb +395 -0
- data/vendor/deps/webrick/lib/webrick/httpauth/htdigest.rb +132 -0
- data/vendor/deps/webrick/lib/webrick/httpauth/htgroup.rb +97 -0
- data/vendor/deps/webrick/lib/webrick/httpauth/htpasswd.rb +158 -0
- data/vendor/deps/webrick/lib/webrick/httpauth/userdb.rb +53 -0
- data/vendor/deps/webrick/lib/webrick/httpproxy.rb +354 -0
- data/vendor/deps/webrick/lib/webrick/httprequest.rb +636 -0
- data/vendor/deps/webrick/lib/webrick/httpresponse.rb +564 -0
- data/vendor/deps/webrick/lib/webrick/https.rb +152 -0
- data/vendor/deps/webrick/lib/webrick/httpserver.rb +294 -0
- data/vendor/deps/webrick/lib/webrick/httpservlet.rb +23 -0
- data/vendor/deps/webrick/lib/webrick/httpservlet/abstract.rb +152 -0
- data/vendor/deps/webrick/lib/webrick/httpservlet/cgi_runner.rb +47 -0
- data/vendor/deps/webrick/lib/webrick/httpservlet/cgihandler.rb +126 -0
- data/vendor/deps/webrick/lib/webrick/httpservlet/erbhandler.rb +88 -0
- data/vendor/deps/webrick/lib/webrick/httpservlet/filehandler.rb +552 -0
- data/vendor/deps/webrick/lib/webrick/httpservlet/prochandler.rb +47 -0
- data/vendor/deps/webrick/lib/webrick/httpstatus.rb +194 -0
- data/vendor/deps/webrick/lib/webrick/httputils.rb +512 -0
- data/vendor/deps/webrick/lib/webrick/httpversion.rb +76 -0
- data/vendor/deps/webrick/lib/webrick/log.rb +156 -0
- data/vendor/deps/webrick/lib/webrick/server.rb +381 -0
- data/vendor/deps/webrick/lib/webrick/ssl.rb +215 -0
- data/vendor/deps/webrick/lib/webrick/utils.rb +265 -0
- data/vendor/deps/webrick/lib/webrick/version.rb +18 -0
- data/vendor/deps/webrick/webrick.gemspec +74 -0
- metadata +77 -27
- data/docs/Gemfile +0 -5
- data/docs/Gemfile.lock +0 -258
- data/docs/_data/nav.yml +0 -35
- data/docs/_includes/footer.html +0 -15
- data/docs/_includes/head.html +0 -19
- data/docs/_includes/sidebar_nav.html +0 -22
- data/docs/_includes/toc.html +0 -112
- data/docs/_layouts/default.html +0 -79
- data/docs/css/docs.css +0 -157
- data/docs/images/header.png +0 -0
- data/docs/installing-ruby.md +0 -28
- data/lib/project_types/extension/features/argo/admin.rb +0 -20
- data/lib/project_types/extension/features/argo/base.rb +0 -129
- data/lib/project_types/extension/features/argo/checkout.rb +0 -20
- data/lib/project_types/extension/models/type.rb +0 -81
- data/lib/project_types/extension/models/types/checkout_post_purchase.rb +0 -23
- data/lib/project_types/extension/models/types/product_subscription.rb +0 -24
- data/lib/project_types/node/commands/generate/billing.rb +0 -39
- data/lib/project_types/node/commands/generate/page.rb +0 -59
- data/lib/project_types/node/commands/generate/webhook.rb +0 -37
- data/lib/project_types/script/layers/domain/script.rb +0 -18
- data/lib/project_types/script/layers/infrastructure/assemblyscript_tsconfig.rb +0 -38
- data/lib/project_types/script/layers/infrastructure/script_repository.rb +0 -59
- data/lib/project_types/script/templates/ts/as-pect.config.js +0 -27
- 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
|
-
|
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
|
-
|
16
|
+
1. Update the version of Shopify CLI in `lib/shopify-cli/version.rb`
|
11
17
|
|
12
|
-
|
18
|
+
1. Add an entry for the new release to `CHANGELOG.md`
|
13
19
|
|
14
|
-
|
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
|
-
|
25
|
+
1. Push out the changes
|
20
26
|
```
|
21
27
|
$ git push -u origin release_X_Y_Z
|
22
28
|
```
|
23
29
|
|
24
|
-
|
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
|
-
|
32
|
+
1. Deploy using Shipit
|
27
33
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
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
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
|
3
|
-
|
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
|
-
```
|
data/docs/app/node/index.md
CHANGED
@@ -1,35 +1,4 @@
|
|
1
1
|
---
|
2
|
-
title: Getting started with
|
3
|
-
|
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
|
3
|
-
|
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
|
-
```
|
data/docs/app/rails/index.md
CHANGED
@@ -1,36 +1,4 @@
|
|
1
1
|
---
|
2
|
-
title: Getting started with
|
3
|
-
|
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:
|
3
|
-
|
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
|
-
```
|