Module: ShopifyCli
- Extended by:
- CLI::Kit::Autocall
- Defined in:
- lib/shopify_cli.rb,
lib/shopify-cli/db.rb,
lib/shopify-cli/api.rb,
lib/shopify-cli/git.rb,
lib/shopify-cli/core.rb,
lib/shopify-cli/form.rb,
lib/shopify-cli/task.rb,
lib/shopify-cli/oauth.rb,
lib/shopify-cli/tasks.rb,
lib/shopify-cli/heroku.rb,
lib/shopify-cli/tunnel.rb,
lib/shopify-cli/command.rb,
lib/shopify-cli/context.rb,
lib/shopify-cli/feature.rb,
lib/shopify-cli/helpers.rb,
lib/shopify-cli/js_deps.rb,
lib/shopify-cli/options.rb,
lib/shopify-cli/project.rb,
lib/shopify-cli/version.rb,
lib/shopify-cli/commands.rb,
lib/shopify-cli/packager.rb,
lib/shopify-cli/admin_api.rb,
lib/shopify-cli/js_system.rb,
lib/shopify-cli/resources.rb,
lib/shopify-cli/sub_command.rb,
lib/shopify-cli/partners_api.rb,
lib/shopify-cli/project_type.rb,
lib/shopify-cli/commands/help.rb,
lib/shopify-cli/core/executor.rb,
lib/shopify-cli/core/finalize.rb,
lib/shopify-cli/core/monorail.rb,
lib/shopify-cli/oauth/servlet.rb,
lib/shopify-cli/commands/config.rb,
lib/shopify-cli/commands/create.rb,
lib/shopify-cli/commands/logout.rb,
lib/shopify-cli/commands/system.rb,
lib/shopify-cli/admin_api/schema.rb,
lib/shopify-cli/commands/connect.rb,
lib/shopify-cli/commands/version.rb,
lib/shopify-cli/core/entry_point.rb,
lib/shopify-cli/tasks/ensure_env.rb,
lib/shopify-cli/messages/messages.rb,
lib/shopify-cli/core/help_resolver.rb,
lib/shopify-cli/helpers/haikunator.rb,
lib/shopify-cli/resources/env_file.rb,
lib/shopify-cli/process_supervision.rb,
lib/shopify-cli/tasks/ensure_dev_store.rb,
lib/shopify-cli/tasks/create_api_client.rb,
lib/shopify-cli/tasks/ensure_loopback_url.rb,
lib/shopify-cli/tasks/select_org_and_shop.rb,
lib/shopify-cli/partners_api/organizations.rb,
lib/shopify-cli/tasks/update_dashboard_urls.rb,
lib/shopify-cli/admin_api/populate_resource_command.rb
Overview
The main file to load for shopify-app-cli Contains all high level constants, exit management, exception management, autoloads for commands, tasks, helpers, etc
It is recommended to read through CLI Kit (github.com/shopify/cli-kit) and a CLI Kit example (github.com/Shopify/cli-kit-example) to fully understand how shopify-app-cli functions
Defined Under Namespace
Modules: Commands, Core, Helpers, Messages, Resources, Tasks Classes: API, AdminAPI, Command, Context, DB, Feature, Form, Git, Heroku, JsDeps, JsSystem, OAuth, Options, Packager, PartnersAPI, ProcessSupervision, Project, ProjectType, SubCommand, Task, Tunnel
Constant Summary collapse
- TOOL_NAME =
'shopify'- TOOL_FULL_NAME =
'Shopify CLI'- ROOT =
File.('../..', __FILE__)
- PROJECT_TYPES_DIR =
File.join(ROOT, 'lib', 'project_types')
- TEMP_DIR =
File.join(ROOT, '.tmp')
- EMOJI =
programmer emoji if default install location, else wrench emoji
ROOT == '/opt/shopify' ? "\u{1f469}\u{200d}\u{1f4bb}" : "\u{1f527}"
- FAILMOJI =
shrug or boom emoji
ROOT == '/opt/shopify' ? "\u{1f937}" : "\u{1f4a5}"
- EXIT_FAILURE_BUT_NOT_BUG =
Exit management in
shopify-app-clifollows the management set out by CLI Kit. github.com/Shopify/cli-kit/blob/master/lib/cli/kit.rb That is to say, we differentiate between exit success (0), exit failure (1), and exit bug (not 1)These should never be called outside of the entrypoint and its delegations.
CLI::Kit::EXIT_FAILURE_BUT_NOT_BUG
- EXIT_BUG =
CLI::Kit::EXIT_BUG
- EXIT_SUCCESS =
CLI::Kit::EXIT_SUCCESS
- GenericAbort =
shopify-app-cliuses CLI Kit’s exception management These are documented here: github.com/Shopify/cli-kit/blob/master/lib/cli/kit.rbYou should never subclass these exceptions, but instead rescue another exception and re-raise. AbortSilent and BugSilent should never have messages. They are mostly used when we output explanations and need to exit
CLI::Kit::GenericAbort
- Abort =
CLI::Kit::Abort
- Bug =
CLI::Kit::Bug
- BugSilent =
CLI::Kit::BugSilent
- AbortSilent =
CLI::Kit::AbortSilent
- VERSION =
'1.3.1'
Class Method Summary collapse
Class Method Details
.cache_dir ⇒ Object
127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# File 'lib/shopify_cli.rb', line 127 def self.cache_dir cache_dir = if ENV.key?('RUNNING_SHOPIFY_CLI_TESTS') TEMP_DIR elsif ENV['LOCALAPPDATA'].nil? File.join(File.(ENV.fetch('XDG_CACHE_HOME', '~/.cache')), TOOL_NAME) else File.join(File.(ENV['LOCALAPPDATA']), TOOL_NAME) end # Make sure the cache dir always exists @cache_dir_exists ||= FileUtils.mkdir_p(cache_dir) cache_dir end |
.debug_log_file ⇒ Object
156 157 158 |
# File 'lib/shopify_cli.rb', line 156 def self.debug_log_file File.join(tool_config_path, 'logs', 'debug.log') end |
.log_file ⇒ Object
152 153 154 |
# File 'lib/shopify_cli.rb', line 152 def self.log_file File.join(tool_config_path, 'logs', 'log.log') end |
.tool_config_path ⇒ Object
142 143 144 145 146 147 148 149 150 |
# File 'lib/shopify_cli.rb', line 142 def self.tool_config_path if ENV.key?('RUNNING_SHOPIFY_CLI_TESTS') TEMP_DIR elsif ENV['APPDATA'].nil? File.join(File.(ENV.fetch('XDG_CONFIG_HOME', '~/.config')), TOOL_NAME) else File.join(File.(ENV['APPDATA']), TOOL_NAME) end end |