jshintrb
February 25, 2015 ยท View on GitHub
Ruby wrapper for JSHint. The main difference from jshint it does not depend on Java. Instead it uses ExecJS.
Installation
jshintrb is available as ruby gem.
$ gem install jshintrb
Ensure that your environment has a JavaScript interpreter supported by ExecJS. Usually, installing therubyracer gem is the best alternative.
Usage
require 'jshintrb'
Jshintrb.lint(File.read("source.js"))
# => array of warnings
Jshintrb.report(File.read("source.js"))
# => string
Or you can use it with rake
require "jshintrb/jshinttask"
Jshintrb::JshintTask.new :jshint do |t|
t.pattern = 'javascript/**/*.js'
t.options = :defaults
end
When initializing Jshintrb, you can pass options
Jshintrb::Lint.new(:undef => true).lint(source)
# Or
Jshintrb.lint(source, :undef => true)
If you pass :defaults as option, it is the same as if you pass following
{
:bitwise => true,
:curly => true,
:eqeqeq => true,
:forin => true,
:immed => true,
:latedef => true,
:newcap => true,
:noarg => true,
:noempty => true,
:nonew => true,
:plusplus => true,
:regexp => true,
:undef => true,
:strict => true,
:trailing => true,
:browser => true
}
If you pass :jshintrc as option, .jshintrc file is loaded as option.
TODO
- add more tests
- add color reporter. Maybe colorize
- add cli. Support same options as jshint/node-jshint
