shopify-cli 1.4.1 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +2 -2
- data/.github/CONTRIBUTING.md +9 -1
- data/.github/PULL_REQUEST_TEMPLATE.md +3 -2
- data/.github/workflows/release.yml +0 -1
- data/.github/workflows/triage.yml +22 -0
- data/.rubocop.yml +21 -7
- data/.rubocop_todo.yml +2 -15
- data/.travis.yml +1 -1
- data/CHANGELOG.md +28 -0
- data/Gemfile +12 -11
- data/Gemfile.lock +17 -14
- data/README.md +39 -7
- data/RELEASING.md +5 -13
- data/Rakefile +32 -28
- data/bin/load_shopify.rb +6 -6
- data/bin/shopify +2 -2
- 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/ext/shopify-cli/extconf.rb +7 -7
- data/install.sh +1 -1
- data/lib/docgen/markdown.rb +12 -12
- 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 +54 -47
- 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 +12 -5
- data/lib/project_types/extension/commands/push.rb +8 -8
- data/lib/project_types/extension/commands/register.rb +19 -30
- data/lib/project_types/extension/commands/serve.rb +31 -3
- data/lib/project_types/extension/commands/tunnel.rb +12 -12
- data/lib/project_types/extension/extension_project.rb +8 -4
- data/lib/project_types/extension/extension_project_keys.rb +4 -4
- data/lib/project_types/extension/features/argo.rb +117 -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_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/messages.rb +55 -52
- data/lib/project_types/extension/models/lazy_specification_handler.rb +12 -0
- data/lib/project_types/extension/models/specification.rb +37 -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 +88 -0
- data/lib/project_types/extension/tasks/configure_features.rb +52 -0
- data/lib/project_types/extension/tasks/converters/app_converter.rb +6 -6
- data/lib/project_types/extension/tasks/converters/registration_converter.rb +6 -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 -16
- data/lib/project_types/node/commands/connect.rb +15 -0
- data/lib/project_types/node/commands/create.rb +44 -41
- 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 +9 -18
- 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 +20 -53
- data/lib/project_types/rails/cli.rb +21 -18
- data/lib/project_types/rails/commands/connect.rb +15 -0
- data/lib/project_types/rails/commands/create.rb +58 -57
- 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 +13 -9
- data/lib/project_types/rails/ruby.rb +2 -2
- data/lib/project_types/script/cli.rb +44 -38
- data/lib/project_types/script/commands/create.rb +15 -10
- data/lib/project_types/script/commands/disable.rb +3 -3
- data/lib/project_types/script/commands/enable.rb +19 -9
- data/lib/project_types/script/commands/push.rb +10 -17
- data/lib/project_types/script/config/extension_points.yml +30 -12
- data/lib/project_types/script/errors.rb +22 -0
- data/lib/project_types/script/forms/create.rb +29 -5
- data/lib/project_types/script/graphql/app_script_update_or_create.graphql +12 -1
- data/lib/project_types/script/layers/application/build_script.rb +19 -19
- data/lib/project_types/script/layers/application/create_script.rb +45 -12
- data/lib/project_types/script/layers/application/disable_script.rb +2 -2
- data/lib/project_types/script/layers/application/enable_script.rb +2 -2
- data/lib/project_types/script/layers/application/extension_points.rb +24 -0
- data/lib/project_types/script/layers/application/project_dependencies.rb +4 -4
- data/lib/project_types/script/layers/application/push_script.rb +15 -18
- data/lib/project_types/script/layers/domain/config_ui.rb +16 -0
- data/lib/project_types/script/layers/domain/errors.rb +23 -0
- data/lib/project_types/script/layers/domain/extension_point.rb +67 -7
- data/lib/project_types/script/layers/domain/metadata.rb +55 -0
- data/lib/project_types/script/layers/domain/push_package.rb +29 -6
- data/lib/project_types/script/layers/infrastructure/assemblyscript_project_creator.rb +45 -55
- data/lib/project_types/script/layers/infrastructure/assemblyscript_task_runner.rb +41 -45
- data/lib/project_types/script/layers/infrastructure/config_ui_repository.rb +46 -0
- data/lib/project_types/script/layers/infrastructure/errors.rb +32 -5
- 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 +20 -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 +39 -17
- data/lib/project_types/script/layers/infrastructure/task_runner.rb +4 -3
- data/lib/project_types/script/messages/messages.rb +76 -10
- data/lib/project_types/script/script_project.rb +26 -16
- data/lib/project_types/script/ui/error_handler.rb +135 -50
- 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 +36 -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 -28
- data/lib/shopify-cli/commands/connect.rb +35 -18
- 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 +43 -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 +17 -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 +13 -13
- 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 +21 -10
- 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 +38 -16
- data/lib/shopify-cli/partners_api/organizations.rb +10 -10
- data/lib/shopify-cli/process_supervision.rb +8 -8
- data/lib/shopify-cli/project.rb +27 -23
- data/lib/shopify-cli/project_type.rb +21 -5
- 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 +35 -18
- data/lib/shopify-cli/sub_command.rb +1 -1
- data/lib/shopify-cli/task.rb +9 -1
- data/lib/shopify-cli/tasks.rb +7 -7
- data/lib/shopify-cli/tasks/create_api_client.rb +13 -4
- data/lib/shopify-cli/tasks/ensure_dev_store.rb +12 -12
- data/lib/shopify-cli/tasks/ensure_env.rb +18 -15
- data/lib/shopify-cli/tasks/ensure_loopback_url.rb +4 -4
- data/lib/shopify-cli/tasks/select_org_and_shop.rb +28 -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 -29
- 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/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/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
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
|
-
```
|
|
@@ -1,27 +1,4 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Getting started
|
|
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
|
-
Developers should have some prior knowledge of the [Shopify app ecosystem](https://shopify.dev/concepts/apps). Shopify App CLI creates apps using either [Node.js](https://nodejs.org/) or [Ruby on Rails](https://rubyonrails.org/).
|
|
8
|
-
|
|
9
|
-
## Requirements
|
|
10
|
-
|
|
11
|
-
- A [Shopify partner account](https://partners.shopify.com/signup)
|
|
12
|
-
- A [Shopify development store](https://help.shopify.com/en/partners/dashboard/development-stores#create-a-development-store) to install and test apps
|
|
13
|
-
- [Ruby](https://www.ruby-lang.org) 2.5.1+
|
|
14
|
-
|
|
15
|
-
### Windows requirements
|
|
16
|
-
|
|
17
|
-
If you wish to use Shopify App CLI natively on **Windows 10**, we recommend installing Ruby using [RubyInstaller for Windows](https://rubyinstaller.org/downloads/).
|
|
18
|
-
|
|
19
|
-
Alternatively, you can also use Shopify App CLI using **Windows Subsystem for Linux**, in which case you need:
|
|
20
|
-
- [Linux Subsystem for Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10)
|
|
21
|
-
- [Ubuntu VM](https://www.microsoft.com/en-ca/p/ubuntu/9nblggh4msv6)
|
|
22
|
-
|
|
23
|
-
## Next steps
|
|
24
|
-
|
|
25
|
-
- [Install the CLI]({{ site.baseurl }}/getting-started/install/)
|
|
26
|
-
- [Upgrade]({{ site.baseurl }}/getting-started/upgrade/)
|
|
27
|
-
- [Uninstall]({{ site.baseurl }}/getting-started/uninstall/)
|
|
@@ -1,121 +1,4 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Install Shopify App CLI
|
|
3
|
-
|
|
4
|
-
toc: false
|
|
5
|
-
redirect_from: "/install/"
|
|
3
|
+
redirect_to: https://shopify.dev/tools/cli/installation
|
|
6
4
|
---
|
|
7
|
-
|
|
8
|
-
Shopify App CLI can be installed on a variety of systems, using a variety of package managers.
|
|
9
|
-
> Note that for systems that have multiple installation options, you only need to use one of these methods to install.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
### macOS
|
|
13
|
-
|
|
14
|
-
Shopify App CLI is available through Homebrew _or_ RubyGems.
|
|
15
|
-
|
|
16
|
-
**Homebrew**
|
|
17
|
-
|
|
18
|
-
You’ll need to run `brew tap` first to add Shopify’s third-party repositories to Homebrew.
|
|
19
|
-
|
|
20
|
-
```console
|
|
21
|
-
$ brew tap shopify/shopify
|
|
22
|
-
$ brew install shopify-cli
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**RubyGems**
|
|
26
|
-
|
|
27
|
-
See the [RubyGems]({{ site.baseurl }}/getting-started/install/#rubygems-all-platforms) section for further details.
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
### Debian/Ubuntu Linux
|
|
32
|
-
|
|
33
|
-
On Debian-based Linux systems, Shopify App CLI is available through the `apt` command _or_ RubyGems.
|
|
34
|
-
|
|
35
|
-
**apt**
|
|
36
|
-
|
|
37
|
-
You’ll need to install a downloaded `.deb` file with an explicit version number. Check the [releases page](https://github.com/Shopify/shopify-app-cli/releases) to make sure you install the latest package.
|
|
38
|
-
|
|
39
|
-
1. Download the `.deb` file from the [releases page](https://github.com/Shopify/shopify-app-cli/releases)
|
|
40
|
-
1. Install the downloaded file
|
|
41
|
-
```console
|
|
42
|
-
$ sudo apt install /path/to/downloaded/shopify-cli-x.y.z.deb
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**RubyGems**
|
|
46
|
-
|
|
47
|
-
See the [RubyGems]({{ site.baseurl }}/getting-started/install/#rubygems-all-platforms) section for further details.
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
### CentOS 8+/Fedora/Red Hat/SUSE Linux
|
|
52
|
-
|
|
53
|
-
On RPM-based Linux systems, Shopify App CLI is available through the `yum` command _or_ RubyGems.
|
|
54
|
-
|
|
55
|
-
**yum**
|
|
56
|
-
|
|
57
|
-
You’ll need to install a downloaded `.rpm` file with an explicit version number. Check the [releases page](https://github.com/Shopify/shopify-app-cli/releases) to make sure you install the latest package.
|
|
58
|
-
|
|
59
|
-
1. Download the `.rpm` file from the [releases page](https://github.com/Shopify/shopify-app-cli/releases)
|
|
60
|
-
1. Install the downloaded file
|
|
61
|
-
```console
|
|
62
|
-
$ sudo yum install /path/to/downloaded/shopify-cli-x.y.x.rpm
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**RubyGems**
|
|
66
|
-
|
|
67
|
-
See the [RubyGems]({{ site.baseurl }}/getting-started/install/#rubygems-all-platforms) section for further details.
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
### Windows 10
|
|
72
|
-
|
|
73
|
-
On Windows 10 systems, Shopify App CLI is available through [RubyGems]({{ site.baseurl }}/getting-started/install/#rubygem-all-platforms).
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
### RubyGems (all platforms)
|
|
78
|
-
|
|
79
|
-
Shopify App CLI is available on all platforms as a RubyGem through [RubyGems.org](https://rubygems.org/).
|
|
80
|
-
|
|
81
|
-
```console
|
|
82
|
-
$ gem install shopify-cli
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
### To check that Shopify App CLI is installed correctly:
|
|
88
|
-
|
|
89
|
-
```console
|
|
90
|
-
$ shopify version
|
|
91
|
-
1.0.0
|
|
92
|
-
$
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
> Note 1: the version displayed may be newer.
|
|
96
|
-
|
|
97
|
-
> Note 2: If you have the `shopify_api` gem installed, you may see the following response:
|
|
98
|
-
> ```console
|
|
99
|
-
> shopify command is no longer bundled with shopify_api.
|
|
100
|
-
> if you need these tools, install the shopify_cli gem
|
|
101
|
-
> ```
|
|
102
|
-
>
|
|
103
|
-
> If so, then you will also need to upgrade the `shopify_api` gem to v9.2.0+ to remove a deprecated `shopify` command that is contained in that gem.
|
|
104
|
-
>
|
|
105
|
-
> If you also have the `shopify_app` gem (which depends on `shopify_api` gem), you'll need to install or update `shopify_api` first, then uninstall the older version.
|
|
106
|
-
>
|
|
107
|
-
> To get a list of the version(s) of `shopify_api` currently installed:
|
|
108
|
-
> ```console
|
|
109
|
-
> $ gem list shopify_api
|
|
110
|
-
> ```
|
|
111
|
-
>
|
|
112
|
-
> To install the latest version:
|
|
113
|
-
> ```console
|
|
114
|
-
> $ gem install shopify_api
|
|
115
|
-
> ```
|
|
116
|
-
>
|
|
117
|
-
> To uninstall the older version:
|
|
118
|
-
> ```console
|
|
119
|
-
> $ gem uninstall shopify_api -v x.y.z
|
|
120
|
-
> ```
|
|
121
|
-
> Replace x.y.z with a version number listed from the `gem list` command. Repeat as needed.
|