class Pronto::Prettier

Constants

EXTNAMES

Public Instance Methods

run() click to toggle source
# File lib/pronto/prettier.rb, line 8
def run
  if javascript_files.any?
    run_prettier_check!
  else
    []
  end
end

Private Instance Methods

javascript_files() click to toggle source
# File lib/pronto/prettier.rb, line 18
def javascript_files
   @patches
    .select { |patch| patch.additions > 0 }
    .map(&:new_file_full_path)
    .select { |file| EXTNAMES.include?(File.extname(file))  }
end
run_prettier_check!() click to toggle source
# File lib/pronto/prettier.rb, line 25
def run_prettier_check!
  status = false

  if ENV['LOG_PRONTO']
    Logger.new(STDOUT).info("prettier --check #{javascript_files.join(' ')}")
    status = system("prettier --check #{javascript_files.join(' ')}")
  else
    status = system("prettier --check #{javascript_files.join(' ')} &> /dev/null")
  end

  if status
    []
  else
    msg = 'Code style issues found in the file. Forgot to run `yarn format`?'
    javascript_files.map { |js| Message.new(js, nil, :warning, msg, nil, self.class) }
  end
end