X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/24b138db094e4b5e8d062c5248ee867967dc0fd7..d67b0578511e585fabebeb4800cb1706e63b23fb:/lib/tasks/eslint.rake diff --git a/lib/tasks/eslint.rake b/lib/tasks/eslint.rake new file mode 100644 index 000000000..7d30fc0b6 --- /dev/null +++ b/lib/tasks/eslint.rake @@ -0,0 +1,25 @@ +task "eslint" => "eslint:check" + +namespace "eslint" do + def yarn_path + Rails.root.join("bin", "yarn").to_s + end + + def config_file + Rails.root.join("config", "eslint.json").to_s + end + + def js_files + Rails.application.assets.each_file.select do |file| + file.ends_with?(".js") && !file.match?(%r{/(gems|vendor|i18n)/}) + end + end + + task :check => :environment do + system(yarn_path, "run", "eslint", "-c", config_file, *js_files) || abort + end + + task :fix => :environment do + system(yarn_path, "run", "eslint", "-c", config_file, "--fix", *js_files) || abort + end +end