1# 2# Configuration File for JavaScript Lint 3# 4# This configuration file can be used to lint a collection of scripts, or to enable 5# or disable warnings for scripts that are linted via the command line. 6# 7 8### Warnings 9# Enable or disable warnings based on requirements. 10# Use "+WarningName" to display or "-WarningName" to suppress. 11# 12+ambiguous_else_stmt # the else statement could be matched with one of multiple if statements (use curly braces to indicate intent 13+ambiguous_nested_stmt # block statements containing block statements should use curly braces to resolve ambiguity 14+ambiguous_newline # unexpected end of line; it is ambiguous whether these lines are part of the same statement 15+anon_no_return_value # anonymous function does not always return value 16+assign_to_function_call # assignment to a function call 17-block_without_braces # block statement without curly braces 18+comma_separated_stmts # multiple statements separated by commas (use semicolons?) 19+comparison_type_conv # comparisons against null, 0, true, false, or an empty string allowing implicit type conversion (use === or !==) 20+default_not_at_end # the default case is not at the end of the switch statement 21+dup_option_explicit # duplicate "option explicit" control comment 22+duplicate_case_in_switch # duplicate case in switch statement 23+duplicate_formal # duplicate formal argument {name} 24+empty_statement # empty statement or extra semicolon 25+identifier_hides_another # identifer {name} hides an identifier in a parent scope 26-inc_dec_within_stmt # increment (++) and decrement (--) operators used as part of greater statement 27+incorrect_version # Expected /*jsl:content-type*/ control comment. The script was parsed with the wrong version. 28+invalid_fallthru # unexpected "fallthru" control comment 29+invalid_pass # unexpected "pass" control comment 30+jsl_cc_not_understood # couldn't understand control comment using /*jsl:keyword*/ syntax 31+leading_decimal_point # leading decimal point may indicate a number or an object member 32+legacy_cc_not_understood # couldn't understand control comment using /*@keyword@*/ syntax 33+meaningless_block # meaningless block; curly braces have no impact 34+mismatch_ctrl_comments # mismatched control comment; "ignore" and "end" control comments must have a one-to-one correspondence 35+misplaced_regex # regular expressions should be preceded by a left parenthesis, assignment, colon, or comma 36+missing_break # missing break statement 37+missing_break_for_last_case # missing break statement for last case in switch 38+missing_default_case # missing default case in switch statement 39+missing_option_explicit # the "option explicit" control comment is missing 40+missing_semicolon # missing semicolon 41+missing_semicolon_for_lambda # missing semicolon for lambda assignment 42+multiple_plus_minus # unknown order of operations for successive plus (e.g. x+++y) or minus (e.g. x---y) signs 43+nested_comment # nested comment 44+no_return_value # function {name} does not always return a value 45+octal_number # leading zeros make an octal number 46+parseint_missing_radix # parseInt missing radix parameter 47+partial_option_explicit # the "option explicit" control comment, if used, must be in the first script tag 48+redeclared_var # redeclaration of {name} 49+trailing_comma_in_array # extra comma is not recommended in array initializers 50+trailing_decimal_point # trailing decimal point may indicate a number or an object member 51+undeclared_identifier # undeclared identifier: {name} 52+unreachable_code # unreachable code 53-unreferenced_argument # argument declared but never referenced: {name} 54-unreferenced_function # function is declared but never referenced: {name} 55+unreferenced_variable # variable is declared but never referenced: {name} 56+unsupported_version # JavaScript {version} is not supported 57+use_of_label # use of label 58+useless_assign # useless assignment 59+useless_comparison # useless comparison; comparing identical expressions 60-useless_quotes # the quotation marks are unnecessary 61+useless_void # use of the void type may be unnecessary (void is always undefined) 62+var_hides_arg # variable {name} hides argument 63+want_assign_or_call # expected an assignment or function call 64+with_statement # with statement hides undeclared variables; use temporary variable instead 65 66 67### Output format 68# Customize the format of the error message. 69# __FILE__ indicates current file path 70# __FILENAME__ indicates current file name 71# __LINE__ indicates current line 72# __COL__ indicates current column 73# __ERROR__ indicates error message (__ERROR_PREFIX__: __ERROR_MSG__) 74# __ERROR_NAME__ indicates error name (used in configuration file) 75# __ERROR_PREFIX__ indicates error prefix 76# __ERROR_MSG__ indicates error message 77# 78# For machine-friendly output, the output format can be prefixed with 79# "encode:". If specified, all items will be encoded with C-slashes. 80# 81# Visual Studio syntax (default): 82+output-format __FILE__(__LINE__): __ERROR__ 83# Alternative syntax: 84#+output-format __FILE__:__LINE__: __ERROR__ 85 86 87### Context 88# Show the in-line position of the error. 89# Use "+context" to display or "-context" to suppress. 90# 91+context 92 93 94### Control Comments 95# Both JavaScript Lint and the JScript interpreter confuse each other with the syntax for 96# the /*@keyword@*/ control comments and JScript conditional comments. (The latter is 97# enabled in JScript with @cc_on@). The /*jsl:keyword*/ syntax is preferred for this reason, 98# although legacy control comments are enabled by default for backward compatibility. 99# 100-legacy_control_comments 101 102 103### Defining identifiers 104# By default, "option explicit" is enabled on a per-file basis. 105# To enable this for all files, use "+always_use_option_explicit" 106-always_use_option_explicit 107 108# Define certain identifiers of which the lint is not aware. 109# (Use this in conjunction with the "undeclared identifier" warning.) 110# 111# Common uses for webpages might be: 112+define __dirname 113+define clearInterval 114+define clearTimeout 115+define console 116+define exports 117+define global 118+define process 119+define require 120+define setInterval 121+define setTimeout 122+define Buffer 123+define JSON 124+define Math 125 126### JavaScript Version 127# To change the default JavaScript version: 128#+default-type text/javascript;version=1.5 129#+default-type text/javascript;e4x=1 130 131### Files 132# Specify which files to lint 133# Use "+recurse" to enable recursion (disabled by default). 134# To add a set of files, use "+process FileName", "+process Folder\Path\*.js", 135# or "+process Folder\Path\*.htm". 136# 137 138