# frozen_string_literal: true module SewingKit module Webpack # Raised if the node sewing-kit isn't installed/runnable. class NodeSewingKitNotRunnable < StandardError def initialize(mode, cause = nil) env_message = if "development" == mode "Try `yarn add @shopify/sewing-kit`" else "\nIf this is a container build, try:\n" \ " - Adding #{highlight("https://github.com/heroku/heroku-buildpack-nodejs")} to your " \ "#{highlight(".buildpacks")} file\n" \ " - Adding #{highlight("YARN_PRODUCTION=false")} to your pipeline's environment variables\n" \ end super( "sewing-kit is not runnable.\n" \ "#{env_message}\n" + (cause ? "Original error #{cause}" : "") ) end def highlight(message) "\u001b[1m\u001b[37m#{message}\u001b[39m\u001b[22m" end end end end