class Pronto::JSCS::Wrapper
Public Class Methods
new(patch)
click to toggle source
# File lib/pronto/jscs/wrapper.rb, line 5 def initialize(patch) @patch = patch end
Public Instance Methods
lint()
click to toggle source
# File lib/pronto/jscs/wrapper.rb, line 9 def lint return [] if @patch.nil? path = @patch.new_file_full_path.to_s params = '--reporter=json' if ENV['JSCSRC_LOCATION'] # Use a specific config file if specified params << " --config=#{ENV['JSCSRC_LOCATION']}" else # Fall back to airbnb default params << ' -p airbnb' unless File.exist?('.jscsrc') end stdout, stderr, _status = Open3.capture3("jscs \"#{path}\" #{params}") puts "WARN: pronto-jscs: #{stderr}" if stderr && stderr.size > 0 return [] if stdout.nil? || stdout.size == 0 JSON.parse(stdout) rescue => e puts "ERROR: pronto-jscs failed to process a diff: #{e}" [] end