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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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