main
1# frozen_string_literal: true
2
3namespace :lint do
4 begin
5 require 'rubocop/rake_task'
6 require 'bundler/audit/task'
7
8 RuboCop::RakeTask.new
9 Bundler::Audit::Task.new
10 rescue LoadError => error
11 puts error.message
12 end
13
14 desc "run the brakeman vulnerability scanner"
15 task :brakeman do
16 require 'brakeman'
17 Brakeman.run(
18 app_path: Rails.root,
19 print_report: true,
20 pager: false,
21 config_file: Rails.root.join("config", "brakeman"),
22 )
23 end
24
25 desc "run uilinters"
26 task(:ui) { sh 'yarn lint' }
27
28 desc "run erb linter"
29 task(:erb) { sh 'erblint --lint-all --enable-all-linters' }
30
31 desc "Run linters to check the quality of the code."
32 task all: ['bundle:audit', :brakeman, :erb, :rubocop, :ui]
33end