Sha256: fc6591a6af6fddbc2df6f757617eb975da49254f690dfe746ea6754d4bd3d295
Contents?: true
Size: 1.34 KB
Versions: 8
Compression:
Stored size: 1.34 KB
Contents
# frozen_string_literal: true module Node module Commands class Serve < ShopifyCli::Command prerequisite_task :ensure_env, :ensure_dev_store options do |parser, flags| parser.on('--host=HOST') do |h| flags[:host] = h.gsub('"', '') end end def call(*) project = ShopifyCli::Project.current url = options.flags[:host] || ShopifyCli::Tunnel.start(@ctx) @ctx.abort(@ctx.message('node.serve.error.host_must_be_https')) if url.match(/^https/i).nil? project.env.update(@ctx, :host, url) ShopifyCli::Tasks::UpdateDashboardURLS.call( @ctx, url: url, callback_url: "/auth/callback", ) if project.env.shop project_url = "#{project.env.host}/auth?shop=#{project.env.shop}" @ctx.puts("\n" + @ctx.message('node.serve.open_info', project_url) + "\n") end CLI::UI::Frame.open(@ctx.message('node.serve.running_server')) do env = project.env.to_h env['PORT'] = ShopifyCli::Tunnel::PORT.to_s @ctx.system('npm run dev', env: env) end end def self.help ShopifyCli::Context.message('node.serve.help', ShopifyCli::TOOL_NAME) end def self.extended_help ShopifyCli::Context.message('node.serve.extended_help') end end end end
Version data entries
8 entries across 8 versions & 1 rubygems