]> git.openstreetmap.org Git - rails.git/blobdiff - lib/tasks/eslint.rake
Replace eslint-rails-ee with direct calls to eslint
[rails.git] / lib / tasks / eslint.rake
diff --git a/lib/tasks/eslint.rake b/lib/tasks/eslint.rake
new file mode 100644 (file)
index 0000000..7d30fc0
--- /dev/null
@@ -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