Class: Pipeline::Npm
- Includes:
- Util
- Defined in:
- lib/pipeline/tasks/npm.rb
Instance Attribute Summary
Attributes inherited from BaseTask
#appname, #description, #findings, #labels, #name, #stage, #trigger, #warnings
Instance Method Summary collapse
- #analyze ⇒ Object
-
#initialize(trigger, tracker) ⇒ Npm
constructor
A new instance of Npm.
- #run ⇒ Object
- #supported? ⇒ Boolean
Methods included from Util
#fingerprint, #relative_path, #runsystem, #strip_archive_path
Methods inherited from BaseTask
#directories_with?, #report, #severity, #warn
Constructor Details
#initialize(trigger, tracker) ⇒ Npm
Returns a new instance of Npm.
11 12 13 14 15 16 17 18 |
# File 'lib/pipeline/tasks/npm.rb', line 11 def initialize(trigger, tracker) super(trigger, tracker) @name = "NPM" @description = "Node Package Manager" @stage = :file @labels << "file" << "javascript" @results = [] end |
Instance Method Details
#analyze ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/pipeline/tasks/npm.rb', line 37 def analyze begin if @results.include? false Pipeline.warn 'Error installing javascript dependencies with #{@command}' end rescue Exception => e Pipeline.warn e. Pipeline.warn e.backtrace end end |
#run ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/pipeline/tasks/npm.rb', line 20 def run exclude_dirs = ['node_modules','bower_components'] exclude_dirs = exclude_dirs.concat(@tracker.[:exclude_dirs]).uniq if @tracker.[:exclude_dirs] directories_with?('package.json', exclude_dirs).each do |dir| Pipeline.notify "#{@name} scanning: #{dir}" Dir.chdir(dir) do if @tracker..has_key?(:npm_registry) registry = "--registry #{@tracker.[:npm_registry]}" else registry = nil end @command = "npm install -q --ignore-scripts #{registry}" @results << runsystem(true, @command) end end end |