Sha256: edee84d612000eed8c9bfc6f0ee61782adf19a7846cbd138f1202dc45a8d2f1a
Contents?: true
Size: 698 Bytes
Versions: 5
Compression:
Stored size: 698 Bytes
Contents
# frozen_string_literal: true require "refinements/io" require "refinements/pathname" module Hanamismith module Extensions # Ensures NPM packages are installed if NPM is available. class NPM include Dependencies[:settings, :kernel, :logger] using Refinements::IO using Refinements::Pathname def call logger.error { "Unable to detect NPM. Install NPM and run: `npm install`." } unless run true end private def run success = false settings.project_root.change_dir do STDOUT.squelch { success = kernel.system "command -v npm && npm install" } end success end end end end
Version data entries
5 entries across 5 versions & 1 rubygems