Sha256: afa62aee60536ef801c78a09ccc0b47812a334a9fe1d6a92c36584d42d626e80
Contents?: true
Size: 692 Bytes
Versions: 13
Compression:
Stored size: 692 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 Import[: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
13 entries across 13 versions & 1 rubygems