Sha256: 81427532b3fc51f34f4191d07cb6600229beee6f983c3d8b784d682f13f79c13
Contents?: true
Size: 1.59 KB
Versions: 2
Compression:
Stored size: 1.59 KB
Contents
# frozen_string_literal: true require "shopify_cli" module Extension class Command class Build < ExtensionCommand hidden_feature prerequisite_task ensure_project_type: :extension recommend_default_node_range recommend_default_ruby_range YARN_BUILD_COMMAND = %w(build) NPM_BUILD_COMMAND = %w(run-script build) def call(_args, _command_name) project = ExtensionProject.current(force_reload: true) return run_new_flow(project) if supports_development_server?(project.specification_identifier) run_legacy_flow end def self.help ShopifyCLI::Context.new.message("build.help", ShopifyCLI::TOOL_NAME) end private def run_new_flow(project) Tasks::ExecuteCommands .build( context: @ctx, config_file_path: specification_handler.server_config_path, type: project.specification_identifier.downcase ) .then { |output| @ctx.puts(output) } .unwrap do |error| raise ShopifyCLI::Abort, error.message unless error.nil? end end def run_legacy_flow system = ShopifyCLI::JsSystem.new(ctx: @ctx) CLI::UI::Frame.open(@ctx.message("build.frame_title", system.package_manager)) do success = system.call(yarn: YARN_BUILD_COMMAND, npm: NPM_BUILD_COMMAND) @ctx.abort(@ctx.message("build.build_failure_message")) unless success end end def supports_development_server?(type) Models::DevelopmentServerRequirements.supported?(type) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
shopify-cli-2.11.1 | lib/project_types/extension/commands/build.rb |
shopify-cli-2.11.0 | lib/project_types/extension/commands/build.rb |