Use the standard .jshintrc file for JSHint options.
This commit is contained in:
parent
e3e4c62887
commit
6c4417e0f0
|
@ -0,0 +1,68 @@
|
||||||
|
{
|
||||||
|
"predef":["Ember",
|
||||||
|
"jQuery",
|
||||||
|
"$",
|
||||||
|
"RSVP",
|
||||||
|
"Discourse",
|
||||||
|
"$LAB",
|
||||||
|
"Em",
|
||||||
|
"PreloadStore",
|
||||||
|
"Handlebars",
|
||||||
|
"I18n",
|
||||||
|
"bootbox",
|
||||||
|
"module",
|
||||||
|
"integration",
|
||||||
|
"test",
|
||||||
|
"ok",
|
||||||
|
"expect",
|
||||||
|
"equal",
|
||||||
|
"blank",
|
||||||
|
"present",
|
||||||
|
"visit",
|
||||||
|
"count",
|
||||||
|
"exists",
|
||||||
|
"asyncTestDiscourse",
|
||||||
|
"fixture",
|
||||||
|
"find",
|
||||||
|
"sinon",
|
||||||
|
"moment",
|
||||||
|
"start",
|
||||||
|
"_",
|
||||||
|
"console",
|
||||||
|
"alert",
|
||||||
|
"controllerFor",
|
||||||
|
"testController",
|
||||||
|
"containsInstance",
|
||||||
|
"parseHTML",
|
||||||
|
"deepEqual",
|
||||||
|
"notEqual",
|
||||||
|
"Blob",
|
||||||
|
"File"],
|
||||||
|
"node" : false,
|
||||||
|
"browser" : true,
|
||||||
|
"boss" : true,
|
||||||
|
"curly": false,
|
||||||
|
"debug": false,
|
||||||
|
"devel": false,
|
||||||
|
"eqeqeq": true,
|
||||||
|
"evil": true,
|
||||||
|
"forin": false,
|
||||||
|
"immed": false,
|
||||||
|
"laxbreak": false,
|
||||||
|
"newcap": true,
|
||||||
|
"noarg": true,
|
||||||
|
"noempty": false,
|
||||||
|
"nonew": false,
|
||||||
|
"nomen": false,
|
||||||
|
"onevar": false,
|
||||||
|
"plusplus": false,
|
||||||
|
"regexp": false,
|
||||||
|
"undef": true,
|
||||||
|
"unused": true,
|
||||||
|
"sub": true,
|
||||||
|
"strict": false,
|
||||||
|
"white": false,
|
||||||
|
"eqnull": true,
|
||||||
|
"quotmark": false,
|
||||||
|
"lastsemic": true
|
||||||
|
}
|
|
@ -28,6 +28,7 @@ window.Discourse = Ember.Application.createWithMixins(Discourse.Ajax, {
|
||||||
|
|
||||||
titleChanged: function() {
|
titleChanged: function() {
|
||||||
var title = "";
|
var title = "";
|
||||||
|
|
||||||
if (this.get('title')) {
|
if (this.get('title')) {
|
||||||
title += "" + (this.get('title')) + " - ";
|
title += "" + (this.get('title')) + " - ";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,133 +0,0 @@
|
||||||
# ------------ 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:
|
|
||||||
- app/assets/javascripts/**/*.js
|
|
||||||
- spec/javascripts/**/*.js
|
|
||||||
- spec/phantom_js/**/*.js
|
|
||||||
- test/javascripts/**/*.js
|
|
||||||
|
|
||||||
exclude_paths:
|
|
||||||
- app/assets/javascripts/defer/*
|
|
||||||
- app/assets/javascripts/locales/i18n.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: true # 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
|
|
||||||
unused: true
|
|
||||||
white: false # true if strict whitespace rules apply (see also 'indent' option)
|
|
||||||
eqnull: false
|
|
||||||
onecase: true # allow for one case switches, can be more elegant sometimes
|
|
||||||
|
|
||||||
# "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: 200 # 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
|
|
||||||
|
|
||||||
# Some of these can be declared in other ways I think
|
|
||||||
predef:
|
|
||||||
- Ember
|
|
||||||
- jQuery
|
|
||||||
- $
|
|
||||||
- RSVP
|
|
||||||
- Discourse
|
|
||||||
- $LAB
|
|
||||||
- Em
|
|
||||||
- PreloadStore
|
|
||||||
- Handlebars
|
|
||||||
- I18n
|
|
||||||
- bootbox
|
|
||||||
- moment
|
|
||||||
- _
|
|
||||||
- module
|
|
||||||
- integration
|
|
||||||
- test
|
|
||||||
- ok
|
|
||||||
- expect
|
|
||||||
- equal
|
|
||||||
- blank
|
|
||||||
- present
|
|
||||||
- visit
|
|
||||||
- count
|
|
||||||
- exists
|
|
||||||
- asyncTestDiscourse
|
|
||||||
- fixture
|
|
||||||
- find
|
|
||||||
- sinon
|
|
||||||
- controllerFor
|
|
||||||
- testController
|
|
||||||
- Favcount
|
|
||||||
|
|
||||||
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: true # 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: false # true if the Node.js environment globals should be predefined
|
|
||||||
noempty: false # 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
|
|
|
@ -90,74 +90,6 @@ qHint.sendRequest = function (url, callback) {
|
||||||
req.send();
|
req.send();
|
||||||
};
|
};
|
||||||
|
|
||||||
var jsHintOpts = {
|
|
||||||
"predef":["Ember",
|
|
||||||
"jQuery",
|
|
||||||
"$",
|
|
||||||
"RSVP",
|
|
||||||
"Discourse",
|
|
||||||
"$LAB",
|
|
||||||
"Em",
|
|
||||||
"PreloadStore",
|
|
||||||
"Handlebars",
|
|
||||||
"I18n",
|
|
||||||
"bootbox",
|
|
||||||
"module",
|
|
||||||
"integration",
|
|
||||||
"test",
|
|
||||||
"ok",
|
|
||||||
"expect",
|
|
||||||
"equal",
|
|
||||||
"blank",
|
|
||||||
"present",
|
|
||||||
"visit",
|
|
||||||
"count",
|
|
||||||
"exists",
|
|
||||||
"asyncTestDiscourse",
|
|
||||||
"fixture",
|
|
||||||
"find",
|
|
||||||
"sinon",
|
|
||||||
"moment",
|
|
||||||
"start",
|
|
||||||
"_",
|
|
||||||
"console",
|
|
||||||
"alert",
|
|
||||||
"controllerFor",
|
|
||||||
"testController",
|
|
||||||
"containsInstance",
|
|
||||||
"parseHTML",
|
|
||||||
"deepEqual",
|
|
||||||
"notEqual",
|
|
||||||
"Blob",
|
|
||||||
"File"],
|
|
||||||
"node" : false,
|
|
||||||
"browser" : true,
|
|
||||||
"boss" : true,
|
|
||||||
"curly": false,
|
|
||||||
"debug": false,
|
|
||||||
"devel": false,
|
|
||||||
"eqeqeq": true,
|
|
||||||
"evil": true,
|
|
||||||
"forin": false,
|
|
||||||
"immed": false,
|
|
||||||
"laxbreak": false,
|
|
||||||
"newcap": true,
|
|
||||||
"noarg": true,
|
|
||||||
"noempty": false,
|
|
||||||
"nonew": false,
|
|
||||||
"nomen": false,
|
|
||||||
"onevar": false,
|
|
||||||
"plusplus": false,
|
|
||||||
"regexp": false,
|
|
||||||
"undef": true,
|
|
||||||
"unused": true,
|
|
||||||
"sub": true,
|
|
||||||
"strict": false,
|
|
||||||
"white": false,
|
|
||||||
"eqnull": true,
|
|
||||||
"lastsemic": true
|
|
||||||
};
|
|
||||||
|
|
||||||
<%
|
<%
|
||||||
def jshint(dir, remove, to_ignore)
|
def jshint(dir, remove, to_ignore)
|
||||||
result = ""
|
result = ""
|
||||||
|
@ -172,7 +104,7 @@ var jsHintOpts = {
|
||||||
|
|
||||||
depend_on filename
|
depend_on filename
|
||||||
|
|
||||||
result << "qHint('#{filename}', '/assets/#{filename}', jsHintOpts);\n" if ok
|
result << "qHint('#{filename}', '/assets/#{filename}', #{File.read(File.join(Rails.root, '.jshintrc'))});\n" if ok
|
||||||
|
|
||||||
end
|
end
|
||||||
result
|
result
|
||||||
|
|
Loading…
Reference in New Issue