Commit ea485a7a authored by Wandenberg Peixoto's avatar Wandenberg Peixoto

changing jshint gem by jshintrb, and making some adjusts suggested by new gem

parent 28d9df7a
This diff is collapsed.
......@@ -7,7 +7,8 @@ group :test do
gem 'em-http-request', '0.2.14'
gem 'json', '1.4.3'
gem 'jasmine', '1.0.2.1'
gem 'jshint'
gem 'jshintrb'
gem 'therubyracer'
platforms :mri_18 do
gem "ruby-debug"
......
......@@ -16,6 +16,8 @@ GEM
addressable (>= 2.0.0)
eventmachine (>= 0.12.9)
eventmachine (0.12.10)
execjs (1.4.0)
multi_json (~> 1.0)
ffi (1.0.9)
github-markup (0.7.1)
jasmine (1.0.2.1)
......@@ -23,12 +25,17 @@ GEM
rack (>= 1.1)
rspec (>= 1.3.1)
selenium-webdriver (>= 0.1.3)
jshint (0.1.1)
jshintrb (0.2.1)
execjs
multi_json (>= 1.3)
rake
json (1.4.3)
json_pure (1.5.3)
libv8 (3.3.10.4)
linecache (0.43)
linecache19 (0.5.11)
ruby_core_source (>= 0.1.4)
multi_json (1.3.7)
nokogiri (1.5.0)
open4 (1.0.1)
rack (1.3.2)
......@@ -62,6 +69,8 @@ GEM
ffi (>= 1.0.7)
json_pure
rubyzip
therubyracer (0.10.2)
libv8 (~> 3.3.10)
PLATFORMS
ruby
......@@ -72,9 +81,10 @@ DEPENDENCIES
em-http-request (= 0.2.14)
github-markup
jasmine (= 1.0.2.1)
jshint
jshintrb
json (= 1.4.3)
nokogiri
rake
ruby-debug
ruby-debug19
therubyracer
......@@ -129,13 +129,13 @@ rescue LoadError
end
begin
require 'jshint/tasks'
JSHint.config_path = File.expand_path(File.join('test/spec/javascripts/support/jshint.yml'), base_dir)
jasmine_config = YAML.load(File.read(File.expand_path(File.join('test/spec/javascripts/support/jasmine.yml'), base_dir)))
ENV['PATHS'] = jasmine_config["src_files"].map{|file| File.expand_path(File.join(file), base_dir) }.join(',')
require "jshintrb/jshinttask"
Jshintrb::JshintTask.new :jshint do |t|
t.pattern = '../misc/js/pushstream.js'
t.options = :defaults
end
rescue LoadError
task :jshint do
abort "jshint is not available. In order to run jshint, you must: (sudo) gem install jshint"
abort "Jshintrb is not available. In order to run jshint, you must: (sudo) gem install jshintrb"
end
end
# ------------ rake task options ------------
# JS files to check by default, if no parameters are passed to rake jshint
# (you may want to limit this only to your own scripts and exclude any external scripts and frameworks)
# this can be overridden by adding 'paths' and 'exclude_paths' parameter to rake command:
# rake jshint paths=path1,path2,... exclude_paths=library1,library2,...
paths:
exclude_paths:
- public/javascripts/vendor/**/*.js
# ------------ jshint options ------------
# visit http://jshint.com/ for complete documentation
# "enforce" type options (true means potentially more warnings)
adsafe: false # true if ADsafe rules should be enforced. See http://www.ADsafe.org/
bitwise: true # true if bitwise operators should not be allowed
newcap: true # true if Initial Caps must be used with constructor functions
eqeqeq: false # true if === should be required (for ALL equality comparisons)
immed: false # true if immediate function invocations must be wrapped in parens
nomen: false # true if initial or trailing underscore in identifiers should be forbidden
onevar: false # true if only one var statement per function should be allowed
plusplus: false # true if ++ and -- should not be allowed
regexp: false # true if . and [^...] should not be allowed in RegExp literals
safe: false # true if the safe subset rules are enforced (used by ADsafe)
strict: false # true if the ES5 "use strict"; pragma is required
undef: true # true if variables must be declared before used
white: false # true if strict whitespace rules apply (see also 'indent' option)
# "allow" type options (false means potentially more warnings)
cap: false # true if upper case HTML should be allowed
css: false # true if CSS workarounds should be tolerated
debug: false # true if debugger statements should be allowed (set to false before going into production)
es5: false # true if ECMAScript 5 syntax should be allowed
evil: false # true if eval should be allowed
forin: false # true if unfiltered 'for in' statements should be allowed
fragment: false # true if HTML fragments should be allowed
laxbreak: false # true if statement breaks should not be checked
on: false # true if HTML event handlers (e.g. onclick="...") should be allowed
sub: false # true if subscript notation may be used for expressions better expressed in dot notation
# other options
maxlen: 160 # Maximum line length
indent: 2 # Number of spaces that should be used for indentation - used only if 'white' option is set
maxerr: 50 # The maximum number of warnings reported (per file)
passfail: false # true if the scan should stop on first error (per file)
# following are relevant only if undef = true
predef: '' # Names of predefined global variables - comma-separated string or a YAML array
browser: true # true if the standard browser globals should be predefined
rhino: false # true if the Rhino environment globals should be predefined
windows: false # true if Windows-specific globals should be predefined
widget: false # true if the Yahoo Widgets globals should be predefined
devel: false # true if functions like alert, confirm, console, prompt etc. are predefined
# jshint options
loopfunc: true # true if functions should be allowed to be defined within loops
asi: true # true if automatic semicolon insertion should be tolerated
boss: true # true if advanced usage of assignments and == should be allowed
couch: true # true if CouchDB globals should be predefined
curly: false # true if curly braces around blocks should be required (even in if/for/while)
noarg: true # true if arguments.caller and arguments.callee should be disallowed
node: true # true if the Node.js environment globals should be predefined
noempty: true # true if empty blocks should be disallowed
nonew: true # true if using `new` for side-effects should be disallowed
# ------------ jshint_on_rails custom lint options (switch to true to disable some annoying warnings) ------------
# ignores "missing semicolon" warning at the end of a function; this lets you write one-liners
# like: x.map(function(i) { return i + 1 }); without having to put a second semicolon inside the function
lastsemic: false
# allows you to use the 'new' expression as a statement (without assignment)
# so you can call e.g. new Ajax.Request(...), new Effect.Highlight(...) without assigning to a dummy variable
newstat: false
# ignores the "Expected an assignment or function call and instead saw an expression" warning,
# if the expression contains a proper statement and makes sense; this lets you write things like:
# element && element.show();
# valid || other || lastChance || alert('OMG!');
# selected ? show() : hide();
# although these will still cause a warning:
# element && link;
# selected ? 5 : 10;
statinexp: false
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment