openstreetmap-website/lib/tasks/eslint.rake
Marwin Hochfelsner bc18e85d5c Add eslint-plugin-erb for .js.erb file linting
* Add eslint-plugin-erb to provide linting of our .js.erb files
* Lint osm.js.erb and API-ify OSM.params()
---------
Co-authored-by: Andy Allan <git@gravitystorm.co.uk>
2025-02-05 17:00:38 +01:00

25 lines
611 B
Ruby

task "eslint" => "eslint:check"
def yarn_path
Rails.root.join("bin/yarn").to_s
end
def config_file
Rails.root.join("config/eslint.js").to_s
end
def js_files
Rails.application.assets.each_file.select do |file|
(file.ends_with?(".js") || file.ends_with?(".js.erb")) && !file.match?(%r{/(gems|vendor|i18n|node_modules)/})
end
end
namespace "eslint" do
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