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