Sha256: b503956aba09c190ab7dfd600dd59ad44c5942a5e73c4fdeca853fb8de1d2590

Contents?: true

Size: 1014 Bytes

Versions: 1

Compression:

Stored size: 1014 Bytes

Contents

# frozen_string_literal: true

require 'rake_factory'
require 'ruby_npm'

require_relative '../mixins/directoried'

module RakeNPM
  module Tasks
    class RunScript < RakeFactory::Task
      include Mixins::Directoried

      default_name :run_script
      default_description(RakeFactory::DynamicValue.new do |t|
        "Runs the NPM #{t.script} script"
      end)

      parameter :script, required: true

      parameter :color, default: 'always'

      parameter :environment, default: {}

      parameter :directory

      action do |task|
        logged_directory = task.directory || '.'
        puts(
          "Running NPM script: '#{task.script}' " \
          "in directory: '#{logged_directory}'..."
        )

        in_directory(task.directory) do
          RubyNPM.run_script(
            {
              script: task.script,
              color: task.color
            },
            {
              environment: task.environment
            }
          )
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rake_npm-0.1.0.pre.9 lib/rake_npm/tasks/run_script.rb