shopify-cli 1.5.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/PULL_REQUEST_TEMPLATE.md +1 -0
- data/.rubocop_todo.yml +15 -2
- data/.travis.yml +1 -0
- data/CHANGELOG.md +26 -0
- data/Gemfile +12 -12
- data/Gemfile.lock +14 -14
- data/README.md +39 -7
- data/Rakefile +32 -28
- data/bin/load_shopify.rb +6 -6
- data/bin/shopify +2 -2
- data/dev.yml +5 -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/ext/shopify-cli/extconf.rb +7 -7
- data/install.sh +1 -1
- data/lib/docgen/markdown.rb +12 -12
- data/lib/graphql/extension_create.graphql +17 -2
- data/lib/graphql/fetch_specifications.graphql +14 -0
- data/lib/{project_types/extension/graphql → graphql}/get_app_by_api_key.graphql +0 -0
- data/lib/project_types/extension/cli.rb +56 -48
- data/lib/project_types/extension/commands/build.rb +3 -3
- data/lib/project_types/extension/commands/create.rb +17 -10
- data/lib/project_types/extension/commands/extension_command.rb +14 -7
- data/lib/project_types/extension/commands/push.rb +10 -10
- data/lib/project_types/extension/commands/register.rb +22 -32
- data/lib/project_types/extension/commands/serve.rb +1 -7
- data/lib/project_types/extension/commands/tunnel.rb +12 -12
- data/lib/project_types/extension/extension_project.rb +22 -7
- data/lib/project_types/extension/extension_project_keys.rb +5 -4
- data/lib/project_types/extension/features/argo.rb +123 -0
- data/lib/project_types/extension/features/argo_config.rb +5 -5
- data/lib/project_types/extension/features/argo_dependencies.rb +5 -5
- data/lib/project_types/extension/features/argo_renderer_package.rb +32 -0
- data/lib/project_types/extension/features/argo_serve.rb +69 -0
- data/lib/project_types/extension/features/argo_setup.rb +2 -2
- data/lib/project_types/extension/features/argo_setup_steps.rb +4 -4
- data/lib/project_types/extension/forms/create.rb +28 -34
- data/lib/project_types/extension/forms/questions/ask_app.rb +53 -0
- data/lib/project_types/extension/forms/questions/ask_name.rb +40 -0
- data/lib/project_types/extension/forms/questions/ask_type.rb +47 -0
- data/lib/project_types/extension/messages/message_loading.rb +3 -1
- data/lib/project_types/extension/messages/messages.rb +55 -52
- data/lib/project_types/extension/models/lazy_specification_handler.rb +12 -0
- data/lib/project_types/extension/models/registration.rb +1 -0
- data/lib/project_types/extension/models/specification.rb +39 -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 +75 -0
- data/lib/project_types/extension/models/specifications.rb +88 -0
- data/lib/project_types/extension/tasks/configure_features.rb +54 -0
- data/lib/project_types/extension/tasks/converters/app_converter.rb +6 -6
- data/lib/project_types/extension/tasks/converters/registration_converter.rb +8 -6
- data/lib/project_types/extension/tasks/converters/validation_error_converter.rb +4 -4
- data/lib/project_types/extension/tasks/converters/version_converter.rb +7 -7
- data/lib/project_types/extension/tasks/create_extension.rb +4 -4
- data/lib/project_types/extension/tasks/fetch_specifications.rb +18 -0
- data/lib/project_types/extension/tasks/get_app.rb +4 -4
- data/lib/project_types/extension/tasks/get_apps.rb +3 -3
- data/lib/project_types/extension/tasks/update_draft.rb +4 -4
- data/lib/project_types/extension/tasks/user_errors.rb +4 -4
- data/lib/project_types/node/cli.rb +19 -19
- data/lib/project_types/node/commands/connect.rb +3 -3
- data/lib/project_types/node/commands/create.rb +42 -38
- data/lib/project_types/node/commands/deploy.rb +4 -4
- data/lib/project_types/node/commands/deploy/heroku.rb +24 -24
- data/lib/project_types/node/commands/generate.rb +3 -34
- data/lib/project_types/node/commands/open.rb +2 -2
- data/lib/project_types/node/commands/populate.rb +6 -6
- data/lib/project_types/node/commands/populate/customer.rb +5 -5
- data/lib/project_types/node/commands/populate/draft_order.rb +5 -5
- data/lib/project_types/node/commands/populate/product.rb +5 -5
- data/lib/project_types/node/commands/serve.rb +9 -9
- data/lib/project_types/node/commands/tunnel.rb +7 -7
- data/lib/project_types/node/forms/create.rb +17 -8
- data/lib/project_types/node/messages/messages.rb +13 -47
- data/lib/project_types/rails/cli.rb +21 -21
- data/lib/project_types/rails/commands/connect.rb +3 -3
- data/lib/project_types/rails/commands/create.rb +56 -54
- data/lib/project_types/rails/commands/deploy.rb +4 -4
- data/lib/project_types/rails/commands/deploy/heroku.rb +30 -30
- data/lib/project_types/rails/commands/generate.rb +7 -7
- data/lib/project_types/rails/commands/generate/webhook.rb +6 -6
- data/lib/project_types/rails/commands/open.rb +2 -2
- data/lib/project_types/rails/commands/populate.rb +6 -6
- data/lib/project_types/rails/commands/populate/customer.rb +5 -5
- data/lib/project_types/rails/commands/populate/draft_order.rb +5 -5
- data/lib/project_types/rails/commands/populate/product.rb +5 -5
- data/lib/project_types/rails/commands/serve.rb +11 -11
- data/lib/project_types/rails/commands/tunnel.rb +7 -7
- data/lib/project_types/rails/forms/create.rb +35 -25
- data/lib/project_types/rails/gem.rb +24 -24
- data/lib/project_types/rails/messages/messages.rb +6 -5
- data/lib/project_types/rails/ruby.rb +2 -2
- data/lib/project_types/script/cli.rb +38 -39
- data/lib/project_types/script/commands/create.rb +12 -14
- data/lib/project_types/script/commands/push.rb +10 -17
- data/lib/project_types/script/config/extension_points.yml +29 -10
- data/lib/project_types/script/errors.rb +1 -2
- data/lib/project_types/script/forms/create.rb +18 -5
- data/lib/project_types/script/graphql/app_script_update_or_create.graphql +9 -1
- data/lib/project_types/script/graphql/script_service_proxy.graphql +1 -2
- data/lib/project_types/script/layers/application/build_script.rb +10 -7
- data/lib/project_types/script/layers/application/create_script.rb +37 -25
- data/lib/project_types/script/layers/application/extension_points.rb +25 -0
- data/lib/project_types/script/layers/application/project_dependencies.rb +4 -4
- data/lib/project_types/script/layers/application/push_script.rb +13 -18
- data/lib/project_types/script/layers/domain/config_ui.rb +16 -0
- data/lib/project_types/script/layers/domain/errors.rb +20 -0
- data/lib/project_types/script/layers/domain/extension_point.rb +82 -11
- data/lib/project_types/script/layers/domain/metadata.rb +48 -0
- data/lib/project_types/script/layers/domain/push_package.rb +25 -6
- data/lib/project_types/script/layers/domain/script_project.rb +34 -0
- data/lib/project_types/script/layers/infrastructure/assemblyscript_project_creator.rb +42 -13
- data/lib/project_types/script/layers/infrastructure/assemblyscript_task_runner.rb +24 -49
- data/lib/project_types/script/layers/infrastructure/errors.rb +32 -19
- data/lib/project_types/script/layers/infrastructure/extension_point_repository.rb +12 -6
- data/lib/project_types/script/layers/infrastructure/project_creator.rb +2 -1
- data/lib/project_types/script/layers/infrastructure/push_package_repository.rb +22 -17
- 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_project_repository.rb +145 -0
- data/lib/project_types/script/layers/infrastructure/script_service.rb +32 -75
- data/lib/project_types/script/layers/infrastructure/task_runner.rb +4 -3
- data/lib/project_types/script/messages/messages.rb +58 -59
- data/lib/project_types/script/ui/error_handler.rb +115 -72
- data/lib/project_types/script/ui/printing_spinner.rb +1 -1
- data/lib/project_types/script/ui/strict_spinner.rb +1 -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/rubygems_plugin.rb +3 -3
- data/lib/shopify-cli/admin_api.rb +52 -12
- data/lib/shopify-cli/admin_api/populate_resource_command.rb +17 -17
- data/lib/shopify-cli/admin_api/schema.rb +3 -3
- data/lib/shopify-cli/api.rb +34 -31
- data/lib/shopify-cli/command.rb +1 -1
- data/lib/shopify-cli/commands.rb +9 -9
- data/lib/shopify-cli/commands/config.rb +28 -52
- data/lib/shopify-cli/commands/connect.rb +10 -10
- data/lib/shopify-cli/commands/create.rb +5 -5
- data/lib/shopify-cli/commands/help.rb +6 -6
- data/lib/shopify-cli/commands/logout.rb +3 -3
- data/lib/shopify-cli/commands/system.rb +33 -33
- data/lib/shopify-cli/commands/version.rb +2 -2
- data/lib/shopify-cli/context.rb +71 -22
- data/lib/shopify-cli/core.rb +4 -4
- data/lib/shopify-cli/core/entry_point.rb +5 -5
- data/lib/shopify-cli/core/executor.rb +1 -1
- data/lib/shopify-cli/core/help_resolver.rb +2 -2
- data/lib/shopify-cli/core/monorail.rb +16 -16
- data/lib/shopify-cli/db.rb +2 -2
- data/lib/shopify-cli/feature.rb +1 -3
- data/lib/shopify-cli/form.rb +1 -1
- data/lib/shopify-cli/git.rb +17 -17
- data/lib/shopify-cli/helpers.rb +1 -1
- data/lib/shopify-cli/helpers/haikunator.rb +1 -1
- data/lib/shopify-cli/heroku.rb +28 -28
- data/lib/shopify-cli/http_request.rb +21 -9
- data/lib/shopify-cli/js_deps.rb +12 -12
- data/lib/shopify-cli/js_system.rb +5 -5
- data/lib/shopify-cli/lazy_delegator.rb +55 -0
- data/lib/shopify-cli/messages/messages.rb +9 -16
- data/lib/shopify-cli/method_object.rb +104 -0
- data/lib/shopify-cli/oauth.rb +25 -25
- data/lib/shopify-cli/oauth/servlet.rb +9 -9
- data/lib/shopify-cli/options.rb +3 -3
- data/lib/shopify-cli/packager.rb +24 -24
- data/lib/shopify-cli/partners_api.rb +24 -18
- data/lib/shopify-cli/partners_api/organizations.rb +10 -10
- data/lib/shopify-cli/process_supervision.rb +7 -7
- data/lib/shopify-cli/project.rb +16 -16
- data/lib/shopify-cli/project_type.rb +4 -4
- data/lib/shopify-cli/resolve_constant.rb +25 -0
- data/lib/shopify-cli/resources.rb +1 -1
- data/lib/shopify-cli/resources/env_file.rb +9 -9
- data/lib/shopify-cli/result.rb +432 -0
- data/lib/shopify-cli/shopifolk.rb +6 -8
- data/lib/shopify-cli/sub_command.rb +1 -1
- data/lib/shopify-cli/task.rb +3 -3
- data/lib/shopify-cli/tasks.rb +7 -7
- data/lib/shopify-cli/tasks/create_api_client.rb +5 -5
- data/lib/shopify-cli/tasks/ensure_dev_store.rb +12 -12
- data/lib/shopify-cli/tasks/ensure_env.rb +15 -15
- data/lib/shopify-cli/tasks/ensure_loopback_url.rb +4 -4
- data/lib/shopify-cli/tasks/select_org_and_shop.rb +25 -24
- data/lib/shopify-cli/tasks/update_dashboard_urls.rb +10 -10
- data/lib/shopify-cli/transform_data_structure.rb +86 -0
- data/lib/shopify-cli/tunnel.rb +36 -30
- data/lib/shopify-cli/version.rb +1 -1
- data/lib/shopify_cli.rb +57 -52
- data/shopify-cli.gemspec +6 -6
- 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
- data/vendor/gen/template/bin/update-deps +9 -9
- metadata +83 -35
- 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/forms/register.rb +0 -47
- 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/commands/disable.rb +0 -25
- data/lib/project_types/script/commands/enable.rb +0 -78
- data/lib/project_types/script/graphql/shop_script_delete.graphql +0 -14
- data/lib/project_types/script/graphql/shop_script_update_or_create.graphql +0 -28
- data/lib/project_types/script/layers/application/disable_script.rb +0 -21
- data/lib/project_types/script/layers/application/enable_script.rb +0 -23
- data/lib/project_types/script/layers/domain/script.rb +0 -18
- data/lib/project_types/script/layers/infrastructure/script_repository.rb +0 -47
- data/lib/project_types/script/script_project.rb +0 -54
- 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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a1eb0f785e6ead5199faf7921e48209506987a24d942568e24661e96f2bc0861
|
|
4
|
+
data.tar.gz: 06e4effc8a4b95bf78404630b452e4cf364407019846660b0d293cace45ae245
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 65df9edf44e3c2ce1263acb79d619736ffc6c4b30c50d9d71f6943dfa7c740dd0a9c9440a6879d46c59387f9bc2db6671cd65a31f700bf964b65bfb9dc1da2dc
|
|
7
|
+
data.tar.gz: a1b9f5a17dc58b2570294205e33dd3fc1cb0a198bb4b7ca9594d91366d6169d4c92f7c9b7df0cbf8401f9a81123e78b55331ef8afd909247889a17cc046e58a2
|
|
@@ -28,3 +28,4 @@ Fixes #0000 <!-- link to issue if one exists -->
|
|
|
28
28
|
and then making the CHANGELOG update once you know the PR number.
|
|
29
29
|
-->
|
|
30
30
|
- [ ] I've added a CHANGELOG entry for this PR (if the change is public-facing)
|
|
31
|
+
- [ ] I've considered possible cross-platform impacts (Mac, Linux, Windows).
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on
|
|
3
|
+
# on 2021-04-08 18:25:36 UTC using RuboCop version 1.12.1.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
|
8
8
|
|
|
9
|
-
# Offense count:
|
|
9
|
+
# Offense count: 35
|
|
10
10
|
Minitest/MultipleAssertions:
|
|
11
11
|
Max: 9
|
|
12
|
+
|
|
13
|
+
# Offense count: 1
|
|
14
|
+
# Cop supports --auto-correct.
|
|
15
|
+
Style/PerlBackrefs:
|
|
16
|
+
Exclude:
|
|
17
|
+
- 'lib/docgen/markdown.rb'
|
|
18
|
+
|
|
19
|
+
# Offense count: 2
|
|
20
|
+
# Cop supports --auto-correct.
|
|
21
|
+
Style/RedundantBegin:
|
|
22
|
+
Exclude:
|
|
23
|
+
- 'lib/shopify-cli/shopifolk.rb'
|
|
24
|
+
- 'test/shopify-cli/tunnel_test.rb'
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
Unreleased
|
|
2
2
|
------
|
|
3
3
|
|
|
4
|
+
Version 1.9.0
|
|
5
|
+
-------------
|
|
6
|
+
* [1181](https://github.com/Shopify/shopify-app-cli/pull/1181): Remove the subcommand references of the `generate` command for node apps (fixes [1176](https://github.com/Shopify/shopify-app-cli/issues/1176))
|
|
7
|
+
|
|
8
|
+
Version 1.8.0
|
|
9
|
+
-------------
|
|
10
|
+
* [1119](https://github.com/Shopify/shopify-app-cli/pull/1119): Enable guest serialization for scripts
|
|
11
|
+
|
|
12
|
+
Version 1.7.1
|
|
13
|
+
------
|
|
14
|
+
* Updating internal features in development
|
|
15
|
+
|
|
16
|
+
Version 1.7.0
|
|
17
|
+
-----
|
|
18
|
+
* [#1109](https://github.com/Shopify/shopify-app-cli/pull/1109): Abort app generation if name contains disallowed text.
|
|
19
|
+
* [#1075](https://github.com/Shopify/shopify-app-cli/pull/1075): Add support for kebab-case flags
|
|
20
|
+
|
|
21
|
+
Version 1.6.0
|
|
22
|
+
-----
|
|
23
|
+
* [#1049](https://github.com/Shopify/shopify-app-cli/pull/1049): Add schema versioning support to the script project type
|
|
24
|
+
* [#1059](https://github.com/Shopify/shopify-app-cli/pull/1059): Remove the functionality of the `generate` command for node apps, since it will no longer be feasible with the new node library
|
|
25
|
+
* [#1046](https://github.com/Shopify/shopify-app-cli/pull/1046): Include a vendored copy of Webrick, as it's no longer included in Ruby 3.
|
|
26
|
+
* [#1041](https://github.com/Shopify/shopify-app-cli/pull/1041): Remove unnecessary shell call to `spring stop`. We already pass `--skip-spring` when creating the app so running `spring stop` would have no effect.
|
|
27
|
+
* [#1034](https://github.com/Shopify/shopify-app-cli/pull/1034): Abort if a system call fails.
|
|
28
|
+
|
|
4
29
|
Version 1.5.0
|
|
5
30
|
-----
|
|
6
31
|
* [#965](https://github.com/Shopify/shopify-app-cli/pull/965): Remove --no-optional when using npm to create new project
|
|
7
32
|
* [#958](https://github.com/Shopify/shopify-app-cli/pull/958): Split `connect` command into project-specific functionality
|
|
33
|
+
* [#992](https://github.com/Shopify/shopify-app-cli/pull/992): Add Theme Kit functionality to CLI
|
|
8
34
|
|
|
9
35
|
Version 1.4.1
|
|
10
36
|
------
|
data/Gemfile
CHANGED
|
@@ -5,19 +5,19 @@ source "https://rubygems.org"
|
|
|
5
5
|
# They are all for CI and tests
|
|
6
6
|
# `dev` uses no gems
|
|
7
7
|
group :development, :test do
|
|
8
|
-
gem
|
|
9
|
-
gem
|
|
10
|
-
gem
|
|
11
|
-
gem
|
|
12
|
-
gem
|
|
8
|
+
gem "rake"
|
|
9
|
+
gem "pry-byebug"
|
|
10
|
+
gem "byebug"
|
|
11
|
+
gem "rubocop-shopify", require: false
|
|
12
|
+
gem "rubocop-minitest", require: false
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
group :test do
|
|
16
|
-
gem
|
|
17
|
-
gem
|
|
18
|
-
gem
|
|
19
|
-
gem
|
|
20
|
-
gem
|
|
21
|
-
gem
|
|
22
|
-
gem
|
|
16
|
+
gem "mocha", require: false
|
|
17
|
+
gem "minitest", ">= 5.0.0", require: false
|
|
18
|
+
gem "minitest-reporters", require: false
|
|
19
|
+
gem "minitest-fail-fast", require: false
|
|
20
|
+
gem "fakefs", ">= 1.0", require: false
|
|
21
|
+
gem "webmock", require: false
|
|
22
|
+
gem "timecop", require: false
|
|
23
23
|
end
|
data/Gemfile.lock
CHANGED
|
@@ -4,7 +4,7 @@ GEM
|
|
|
4
4
|
addressable (2.7.0)
|
|
5
5
|
public_suffix (>= 2.0.2, < 5.0)
|
|
6
6
|
ansi (1.5.0)
|
|
7
|
-
ast (2.4.
|
|
7
|
+
ast (2.4.2)
|
|
8
8
|
builder (3.2.4)
|
|
9
9
|
byebug (11.1.3)
|
|
10
10
|
coderay (1.1.3)
|
|
@@ -22,7 +22,7 @@ GEM
|
|
|
22
22
|
ruby-progressbar
|
|
23
23
|
mocha (1.11.2)
|
|
24
24
|
parallel (1.20.1)
|
|
25
|
-
parser (
|
|
25
|
+
parser (3.0.1.0)
|
|
26
26
|
ast (~> 2.4.1)
|
|
27
27
|
pry (0.13.1)
|
|
28
28
|
coderay (~> 1.1)
|
|
@@ -33,26 +33,26 @@ GEM
|
|
|
33
33
|
public_suffix (4.0.6)
|
|
34
34
|
rainbow (3.0.0)
|
|
35
35
|
rake (13.0.1)
|
|
36
|
-
regexp_parser (1.
|
|
37
|
-
rexml (3.2.
|
|
38
|
-
rubocop (1.
|
|
36
|
+
regexp_parser (2.1.1)
|
|
37
|
+
rexml (3.2.5)
|
|
38
|
+
rubocop (1.12.1)
|
|
39
39
|
parallel (~> 1.10)
|
|
40
|
-
parser (>=
|
|
40
|
+
parser (>= 3.0.0.0)
|
|
41
41
|
rainbow (>= 2.2.2, < 4.0)
|
|
42
|
-
regexp_parser (>= 1.8)
|
|
42
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
43
43
|
rexml
|
|
44
|
-
rubocop-ast (>= 1.
|
|
44
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
|
45
45
|
ruby-progressbar (~> 1.7)
|
|
46
|
-
unicode-display_width (>= 1.4.0, <
|
|
47
|
-
rubocop-ast (1.
|
|
46
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
47
|
+
rubocop-ast (1.4.1)
|
|
48
48
|
parser (>= 2.7.1.5)
|
|
49
49
|
rubocop-minitest (0.10.1)
|
|
50
50
|
rubocop (>= 0.87)
|
|
51
|
-
rubocop-shopify (
|
|
52
|
-
rubocop (~> 1.
|
|
53
|
-
ruby-progressbar (1.
|
|
51
|
+
rubocop-shopify (2.0.1)
|
|
52
|
+
rubocop (~> 1.11)
|
|
53
|
+
ruby-progressbar (1.11.0)
|
|
54
54
|
timecop (0.9.2)
|
|
55
|
-
unicode-display_width (
|
|
55
|
+
unicode-display_width (2.0.0)
|
|
56
56
|
webmock (3.9.3)
|
|
57
57
|
addressable (>= 2.3.6)
|
|
58
58
|
crack (>= 0.3.2)
|
data/README.md
CHANGED
|
@@ -1,13 +1,45 @@
|
|
|
1
|
-
# Shopify App CLI
|
|
1
|
+
# [Shopify App CLI](https://shopify.dev/tools/cli)
|
|
2
2
|
|
|
3
3
|
[](LICENSE.md)[](https://travis-ci.com/Shopify/shopify-app-cli)
|
|
4
4
|
|
|
5
|
-
Shopify App CLI helps you build Shopify apps faster. It
|
|
5
|
+
Shopify App CLI helps you build Shopify apps faster. It quickly generates Node.js and Ruby on Rails apps and automates many common development tasks.
|
|
6
6
|
|
|
7
|
-
##
|
|
8
|
-
Consult the [Shopify App CLI documentation](https://shopify.github.io/shopify-app-cli) to get started.
|
|
7
|
+
## Features
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
This is an [open-source](https://github.com/Shopify/shopify-app-cli/blob/master/.github/LICENSE.md) tool and developers are [invited to contribute](https://github.com/Shopify/shopify-app-cli/blob/master/.github/CONTRIBUTING.md) to it. Please check the [code of conduct](https://github.com/Shopify/shopify-app-cli/blob/master/.github/CODE_OF_CONDUCT.md) before you begin.
|
|
9
|
+
Shopify App CLI helps your app development process in the following ways:
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
- Creates an app in the [Partner dashboard](https://partners.shopify.com/current/resources)
|
|
12
|
+
- Populates test data for your app, including products, customers, and draft orders
|
|
13
|
+
- Generates new [webhooks](https://shopify.dev/tutorials/manage-webhooks) for your app
|
|
14
|
+
- Deploys your app to an external platform, such as [Heroku](https://www.heroku.com/)
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
Refer to [*Install Shopify App CLI*](https://shopify.dev/tools/cli/installation) to learn how to install Shopify App CLI on Windows, macOS, or Linux.
|
|
19
|
+
|
|
20
|
+
## Getting started
|
|
21
|
+
|
|
22
|
+
Refer to [*Getting started with Shopify App CLI*](https://shopify.dev/tools/cli/getting-started) to learn how to create and manage different types of projects with Shopify App CLI.
|
|
23
|
+
|
|
24
|
+
## References
|
|
25
|
+
|
|
26
|
+
- **[Shopify App CLI core commands](https://shopify.dev/tools/cli/reference)** - A complete reference of core commands for Shopify App CLI.
|
|
27
|
+
- **[Node.js app commands](https://shopify.dev/tools/cli/reference/node-app)** - A complete Shopify App CLI command reference for Node.js apps.
|
|
28
|
+
- **[Ruby on Rails app commands](https://shopify.dev/tools/cli/reference/ruby-on-rails-app)** - A complete Shopify App CLI command reference for Ruby on Rails apps.
|
|
29
|
+
|
|
30
|
+
## Troubleshooting
|
|
31
|
+
|
|
32
|
+
Refer to [*Troubleshooting Shopify App CLI*](https://shopify.dev/tools/cli/troubleshooting) to learn how to upgrade, migrate from a legacy version, and uninstall Shopify App CLI.
|
|
33
|
+
|
|
34
|
+
## Contributing to Shopify App CLI
|
|
35
|
+
|
|
36
|
+
Shopify App CLI is an [open source](https://github.com/Shopify/shopify-app-cli/blob/master/.github/LICENSE.md) tool and you can [help contribute to the GitHub repository](https://github.com/Shopify/shopify-app-cli/blob/master/.github/CONTRIBUTING.md).
|
|
37
|
+
|
|
38
|
+
## Developing Shopify App CLI
|
|
39
|
+
|
|
40
|
+
Read the [development guide](https://github.com/Shopify/shopify-app-cli/wiki).
|
|
41
|
+
|
|
42
|
+
## Where to get help
|
|
43
|
+
|
|
44
|
+
- **[Open a GitHub issue](https://github.com/Shopify/shopify-app-cli/issues)** - To report bugs or request new features, open an issue in the Shopify App CLI repository.
|
|
45
|
+
- **[Shopify Community Forums](https://community.shopify.com/)** - Visit our forums to connect with the community and learn more about Shopify App CLI development.
|
data/Rakefile
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
require_relative
|
|
2
|
-
require
|
|
3
|
-
require
|
|
4
|
-
require
|
|
1
|
+
require_relative "bin/load_shopify"
|
|
2
|
+
require "rake/testtask"
|
|
3
|
+
require "rubocop/rake_task"
|
|
4
|
+
require "bundler/gem_tasks"
|
|
5
5
|
|
|
6
6
|
Rake::TestTask.new do |t|
|
|
7
7
|
t.libs += %w(test)
|
|
8
|
-
t.test_files = FileList[
|
|
8
|
+
t.test_files = FileList["test/**/*_test.rb"]
|
|
9
9
|
t.verbose = false
|
|
10
10
|
t.warning = false
|
|
11
11
|
end
|
|
@@ -16,33 +16,37 @@ task(default: [:test, :rubocop])
|
|
|
16
16
|
|
|
17
17
|
desc("Start up irb with cli loaded")
|
|
18
18
|
task :console do
|
|
19
|
-
exec(
|
|
19
|
+
exec("irb", "-r", "./bin/load_shopify.rb", "-r", "byebug")
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
namespace :rdoc do
|
|
23
|
-
repo =
|
|
24
|
-
intermediate =
|
|
23
|
+
repo = "https://github.com/Shopify/shopify-app-cli.wiki.git"
|
|
24
|
+
intermediate = "markdown_intermediate"
|
|
25
25
|
file_to_doc = [
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
"lib/shopify-cli/admin_api.rb",
|
|
27
|
+
"lib/shopify-cli/context.rb",
|
|
28
|
+
"lib/shopify-cli/db.rb",
|
|
29
|
+
"lib/shopify-cli/git.rb",
|
|
30
|
+
"lib/shopify-cli/heroku.rb",
|
|
31
|
+
"lib/shopify-cli/js_deps.rb",
|
|
32
|
+
"lib/shopify-cli/method_object.rb",
|
|
33
|
+
"lib/shopify-cli/partners_api.rb",
|
|
34
|
+
"lib/shopify-cli/process_supervision.rb",
|
|
35
|
+
"lib/shopify-cli/project.rb",
|
|
36
|
+
"lib/shopify-cli/result.rb",
|
|
37
|
+
"lib/shopify-cli/transform_data_structure.rb",
|
|
38
|
+
"lib/shopify-cli/tunnel.rb",
|
|
39
|
+
"lib/shopify-cli/lazy_delegator.rb",
|
|
36
40
|
]
|
|
37
41
|
|
|
38
42
|
task all: [:markdown, :wiki, :cleanup]
|
|
39
43
|
|
|
40
44
|
desc("Generate markdown files from rdoc comments")
|
|
41
45
|
task :markdown do
|
|
42
|
-
require
|
|
43
|
-
require
|
|
46
|
+
require "rdoc/rdoc"
|
|
47
|
+
require "docgen/markdown"
|
|
44
48
|
options = RDoc::Options.new
|
|
45
|
-
options.setup_generator(
|
|
49
|
+
options.setup_generator("markdown")
|
|
46
50
|
options.op_dir = intermediate
|
|
47
51
|
options.files = file_to_doc
|
|
48
52
|
RDoc::RDoc.new.document(options)
|
|
@@ -50,14 +54,14 @@ namespace :rdoc do
|
|
|
50
54
|
|
|
51
55
|
desc("Copy markdown documentation to the wiki and commit them")
|
|
52
56
|
task :wiki do
|
|
53
|
-
require
|
|
57
|
+
require "tmpdir"
|
|
54
58
|
Dir.mktmpdir do |temp_dir|
|
|
55
59
|
system("git clone --depth=1 #{repo} #{temp_dir}")
|
|
56
|
-
FileUtils.cp(Dir[File.join(intermediate,
|
|
60
|
+
FileUtils.cp(Dir[File.join(intermediate, "*.md")], temp_dir)
|
|
57
61
|
Dir.chdir(temp_dir) do
|
|
58
|
-
system(
|
|
62
|
+
system("git add --all")
|
|
59
63
|
system('git commit -am "auto doc update"')
|
|
60
|
-
system(
|
|
64
|
+
system("git push")
|
|
61
65
|
end
|
|
62
66
|
end
|
|
63
67
|
end
|
|
@@ -69,10 +73,10 @@ namespace :rdoc do
|
|
|
69
73
|
end
|
|
70
74
|
|
|
71
75
|
desc("Generate markdown documentation and update the wiki")
|
|
72
|
-
task(rdoc:
|
|
76
|
+
task(rdoc: "rdoc:all")
|
|
73
77
|
|
|
74
78
|
namespace :package do
|
|
75
|
-
require
|
|
79
|
+
require "shopify-cli/packager"
|
|
76
80
|
|
|
77
81
|
task all: [:debian, :rpm, :homebrew]
|
|
78
82
|
|
|
@@ -93,4 +97,4 @@ namespace :package do
|
|
|
93
97
|
end
|
|
94
98
|
|
|
95
99
|
desc("Builds all distribution packages of the CLI")
|
|
96
|
-
task(package:
|
|
100
|
+
task(package: "package:all")
|
data/bin/load_shopify.rb
CHANGED
|
@@ -3,20 +3,20 @@
|
|
|
3
3
|
lib_path = File.expand_path("../../lib", __FILE__)
|
|
4
4
|
$LOAD_PATH.unshift(lib_path) unless $LOAD_PATH.include?(lib_path)
|
|
5
5
|
|
|
6
|
-
ENV[
|
|
7
|
-
ENV[
|
|
6
|
+
ENV["SHELLPID"] ||= Process.ppid.to_s
|
|
7
|
+
ENV["USER_PWD"] ||= Dir.pwd
|
|
8
8
|
|
|
9
9
|
# Prune non-absolute paths from PATH to prevent non-deterministic behavior
|
|
10
10
|
# i.e. If user has "." or "./bin" in their PATH
|
|
11
11
|
# Note that this logic is duplicated in lib/shopify.rb
|
|
12
|
-
ENV[
|
|
13
|
-
p.start_with?(
|
|
12
|
+
ENV["PATH"] = ENV["PATH"].split(File::PATH_SEPARATOR).select do |p|
|
|
13
|
+
p.start_with?("/", "~", /[A-Z]:\\/)
|
|
14
14
|
end.join(File::PATH_SEPARATOR)
|
|
15
15
|
|
|
16
16
|
$original_env = ENV.to_hash
|
|
17
17
|
|
|
18
|
-
require
|
|
18
|
+
require "shopify_cli"
|
|
19
19
|
|
|
20
|
-
if ENV[
|
|
20
|
+
if ENV["PRINT_LOADED_FEATURES"]
|
|
21
21
|
puts $LOADED_FEATURES
|
|
22
22
|
end
|
data/bin/shopify
CHANGED
|
@@ -14,7 +14,7 @@ module Kernel
|
|
|
14
14
|
raise if name == "#{RUBY_VERSION[/\d+\.\d+/]}/psych.so"
|
|
15
15
|
STDERR.puts "[Note] You cannot use gems with Shopify App CLI."
|
|
16
16
|
STDERR.puts "[LoadError] #{e.message}"
|
|
17
|
-
if ENV[
|
|
17
|
+
if ENV["DEBUG"]
|
|
18
18
|
STDERR.puts e.backtrace
|
|
19
19
|
STDERR.puts "\n"
|
|
20
20
|
end
|
|
@@ -27,7 +27,7 @@ module Kernel
|
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
require_relative
|
|
30
|
+
require_relative "./load_shopify"
|
|
31
31
|
|
|
32
32
|
exit(ShopifyCli::ErrorHandler.call do
|
|
33
33
|
ShopifyCli::Core::EntryPoint.call(ARGV.dup)
|
data/dev.yml
CHANGED
|
@@ -5,13 +5,16 @@ type:
|
|
|
5
5
|
up:
|
|
6
6
|
- ruby: 2.5.1
|
|
7
7
|
- bundler
|
|
8
|
+
- node:
|
|
9
|
+
version: 14.9.0
|
|
10
|
+
yarn: true
|
|
8
11
|
|
|
9
12
|
test:
|
|
10
13
|
desc: 'Run tests.'
|
|
11
14
|
run: |
|
|
12
15
|
if [ "$#" -eq 1 ] && [[ -f $1 ]];
|
|
13
16
|
then
|
|
14
|
-
rake test TEST=$1
|
|
17
|
+
bundle exec rake test TEST=$1
|
|
15
18
|
else
|
|
16
|
-
rake test $@
|
|
19
|
+
bundle exec rake test $@
|
|
17
20
|
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
|
|
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
|
-
```
|