fixes dangerfile (#6158)

This commit is contained in:
Joffrey JAFFEUX
2018-07-24 11:31:57 -04:00
committed by GitHub
parent 1ac643d71c
commit 75b03dab84

View File

@@ -1,29 +1,38 @@
require 'json'
require 'shellwords'
if git.lines_of_code > 500
warn("This PR seems big, we prefer smaller PR. Please be sure this is needed and cant be split in smaller commits.")
warn("This PR seems big, we prefer smaller PR. Please be sure this is needed and can't be split in smaller PRs.")
end
rubocop_output = `bundle exec rubocop --parallel`
to_lint = git.modified_files + git.added_files
files_to_lint = Shellwords.join(to_lint)
rubocop_output = `bundle exec rubocop -f json --parallel #{files_to_lint}`
if !rubocop_output.empty?
offenses = JSON.parse(rubocop_output)['files']
.select { |f| f['offenses'].any? }
fail(%{
This PR has multiple rubocop offenses:
def format_offense(offense)
output = "file: #{offense['path']}\n"
offense['offenses'].each do |o|
output << "#{o['message']} (line:#{o['location']['start_line']}, col:#{o['location']['start_column']})\n"
end
output << "\n"
end
#{offenses.join("\n")}
})
if !offenses.empty?
fail(%{
This PR has multiple rubocop offenses:\n
#{offenses.map { |o| format_offense(o) }.join('\n') }
})
end
end
prettier_output = `prettier --list-different "app/assets/stylesheets/**/*.scss" "app/assets/javascripts/**/*.es6" "test/javascripts/**/*.es6" "plugins/**/*.scss" "plugins/**/*.es6"`
if !prettier_output.empty?
offenses = JSON.parse(prettier_output)['files']
.select { |f| f['offenses'].any? }
prettier_offenses = `prettier --list-different #{files_to_lint}`.split('\n')
if !prettier_offenses.empty?
fail(%{
This PR has multiple prettier offenses:
#{offenses.join("\n")}
This PR has multiple prettier offenses (we recommend configuring prettier linting in your editor):\n
#{prettier_offenses.join("\n")}
})
end