Sha256: 4b600803d48e6fb029dd8f4054cf507da56497ad4cac8cfc8f93c4de1649838a

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

#!/usr/bin/env ruby

module Kernel
  # make an alias of the original require
  alias_method :original_require, :require

  # rewrite require
  def require(name)
    original_require(name)
  rescue LoadError => e
    # Special case for readline.so, which fails harmlessly on Windows
    raise if (name == "readline.so") && ShopifyCLI::Context.new.windows?
    # Special case for psych (yaml), which rescues this itself
    raise if name == "#{RUBY_VERSION[/\d+\.\d+/]}/psych.so"
    # Special case for ffi, which rescues this itself
    raise if name == "#{RUBY_VERSION.split(".")[0, 2].join(".")}/ffi_c"
    STDERR.puts "[Note] You cannot use gems with Shopify CLI."
    STDERR.puts "[LoadError] #{e.message}"
    if ENV["DEBUG"]
      STDERR.puts e.backtrace
      STDERR.puts "\n"
    end
    STDERR.puts "       They are disabled."
    STDERR.puts "       Please don't modify the CLI locally."
    STDERR.puts "       If you would like to contribute to the CLI project, please refer to"
    STDERR.puts "       https://github.com/Shopify/shopify-cli/blob/main/.github/CONTRIBUTING.md"
    STDERR.puts "\n"
    raise
  end
end

require_relative "./load_shopify"

exit(proc do
  begin
    ShopifyCLI::ErrorHandler.call do
      ShopifyCLI::Core::EntryPoint.call(ARGV.dup)
    end
  rescue StandardError => error
    if ShopifyCLI::Environment.print_stacktrace?
      raise error
    else
      1
    end
  end
end.call)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shopify-cli-2.6.0 bin/shopify