ENV = 'RubyRacer'
require 'eslint-rails'
namespace :eslint do
def run_and_print_results(file) warnings = ESLintRails::Runner.new(file).run if warnings.empty? puts 'All good! :)'.green exit 0 else formatter = ESLintRails::TextFormatter.new(warnings) formatter.format exit 1 end end desc %{Run ESLint against the specified JavaScript file and report warnings (default is 'application')} task :run, [:filename] => :environment do |_, args| run_and_print_results(args[:filename] || 'application') end desc 'Run ESLint against all project javascript files and report warnings' task run_all: :environment do |_, args| run_and_print_results(nil) # Run all end desc 'Print the current configuration file (Uses local config/eslint.json if it exists; uses default config/eslint.json if it does not; optionally force default by passing a parameter)' task :print_config, [:force_default] => :environment do |_, args| puts ESLintRails::Config.read(force_default: args[:force_default]) end
end