Created
January 7, 2010 16:26
-
-
Save mbbx6spp/271342 to your computer and use it in GitHub Desktop.
JSLint configuration for a Rails project using jQuery. Can use with other frameworks if you remove "+define jQuery" and replace with your library's global name.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace :js do | |
desc 'Run Javascript Lint on engine-specific Javascript files.' | |
task :lint do | |
config_file = ENV["JSL_CFG"] || File.join('spec', 'javascripts', 'jsl.conf') | |
if File.exist?(config_file) | |
output = %x[jsl -conf #{config_file}] | |
puts output | |
else | |
puts "Warning: No JSLint configuration file specified nor default location (spec/javascripts/jsl.conf) exists." | |
end | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Warnings | |
+no_return_value # function {0} does not always return a value | |
+duplicate_formal # duplicate formal argument {0} | |
+equal_as_assign # test for equality (==) mistyped as assignment (=)?{0} | |
+var_hides_arg # variable {0} hides argument | |
+redeclared_var # redeclaration of {0} {1} | |
+anon_no_return_value # anonymous function does not always return a value | |
+missing_semicolon # missing semicolon | |
+meaningless_block # meaningless block; curly braces have no impact | |
+comma_separated_stmts # multiple statements separated by commas (use semicolons?) | |
+unreachable_code # unreachable code | |
+missing_break # missing break statement | |
+missing_break_for_last_case # missing break statement for last case in switch | |
+comparison_type_conv # comparisons against null, 0, true, false, or an empty string allowing implicit type conversion (use === or !==) | |
+inc_dec_within_stmt # increment (++) and decrement (--) operators used as part of greater statement | |
+useless_void # use of the void type may be unnecessary (void is always undefined) | |
+multiple_plus_minus # unknown order of operations for successive plus (e.g. x+++y) or minus (e.g. x---y) signs | |
+use_of_label # use of label | |
-block_without_braces # block statement without curly braces | |
+leading_decimal_point # leading decimal point may indicate a number or an object member | |
+trailing_decimal_point # trailing decimal point may indicate a number or an object member | |
+octal_number # leading zeros make an octal number | |
+nested_comment # nested comment | |
+misplaced_regex # regular expressions should be preceded by a left parenthesis, assignment, colon, or comma | |
+ambiguous_newline # unexpected end of line; it is ambiguous whether these lines are part of the same statement | |
+empty_statement # empty statement or extra semicolon | |
-missing_option_explicit # the "option explicit" control comment is missing | |
+partial_option_explicit # the "option explicit" control comment, if used, must be in the first script tag | |
+dup_option_explicit # duplicate "option explicit" control comment | |
+useless_assign # useless assignment | |
+ambiguous_nested_stmt # block statements containing block statements should use curly braces to resolve ambiguity | |
+ambiguous_else_stmt # the else statement could be matched with one of multiple if statements (use curly braces to indicate intent) | |
+missing_default_case # missing default case in switch statement | |
+duplicate_case_in_switch # duplicate case in switch statements | |
+default_not_at_end # the default case is not at the end of the switch statement | |
+legacy_cc_not_understood # couldn't understand control comment using /*@keyword@*/ syntax | |
+jsl_cc_not_understood # couldn't understand control comment using /*jsl:keyword*/ syntax | |
+useless_comparison # useless comparison; comparing identical expressions | |
+with_statement # with statement hides undeclared variables; use temporary variable instead | |
+trailing_comma_in_array # extra comma is not recommended in array initializers | |
+assign_to_function_call # assignment to a function call | |
+parseint_missing_radix # parseInt missing radix parameter | |
### Output format | |
+output-format __FILE__:__LINE__: __ERROR__ | |
### Context | |
+context | |
### Semicolons | |
+lambda_assign_requires_semicolon | |
### Control Comments | |
+legacy_control_comments | |
### JScript Function Extensions | |
-jscript_function_extensions | |
### Defining identifiers | |
+define window | |
+define document | |
+define alert | |
+define jQuery | |
### Files | |
+process public/javascripts/myapp/*.js | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment