| # |
| # Configuration File for JavaScript Lint |
| # |
| # This configuration file can be used to lint a collection of scripts, or to enable |
| # or disable warnings for scripts that are linted via the command line. |
| # |
| |
| ### Warnings |
| # Enable or disable warnings based on requirements. |
| # Use "+WarningName" to display or "-WarningName" to suppress. |
| # |
| +ambiguous_else_stmt # the else statement could be matched with one of multiple if statements (use curly braces to indicate intent |
| +ambiguous_nested_stmt # block statements containing block statements should use curly braces to resolve ambiguity |
| +ambiguous_newline # unexpected end of line; it is ambiguous whether these lines are part of the same statement |
| +anon_no_return_value # anonymous function does not always return value |
| +assign_to_function_call # assignment to a function call |
| -block_without_braces # block statement without curly braces |
| +comma_separated_stmts # multiple statements separated by commas (use semicolons?) |
| +comparison_type_conv # comparisons against null, 0, true, false, or an empty string allowing implicit type conversion (use === or !==) |
| +default_not_at_end # the default case is not at the end of the switch statement |
| +dup_option_explicit # duplicate "option explicit" control comment |
| +duplicate_case_in_switch # duplicate case in switch statement |
| +duplicate_formal # duplicate formal argument {name} |
| +empty_statement # empty statement or extra semicolon |
| +identifier_hides_another # identifer {name} hides an identifier in a parent scope |
| -inc_dec_within_stmt # increment (++) and decrement (--) operators used as part of greater statement |
| +incorrect_version # Expected /*jsl:content-type*/ control comment. The script was parsed with the wrong version. |
| +invalid_fallthru # unexpected "fallthru" control comment |
| +invalid_pass # unexpected "pass" control comment |
| +jsl_cc_not_understood # couldn't understand control comment using /*jsl:keyword*/ syntax |
| +leading_decimal_point # leading decimal point may indicate a number or an object member |
| +legacy_cc_not_understood # couldn't understand control comment using /*@keyword@*/ syntax |
| +meaningless_block # meaningless block; curly braces have no impact |
| +mismatch_ctrl_comments # mismatched control comment; "ignore" and "end" control comments must have a one-to-one correspondence |
| +misplaced_regex # regular expressions should be preceded by a left parenthesis, assignment, colon, or comma |
| +missing_break # missing break statement |
| +missing_break_for_last_case # missing break statement for last case in switch |
| +missing_default_case # missing default case in switch statement |
| +missing_option_explicit # the "option explicit" control comment is missing |
| +missing_semicolon # missing semicolon |
| +missing_semicolon_for_lambda # missing semicolon for lambda assignment |
| +multiple_plus_minus # unknown order of operations for successive plus (e.g. x+++y) or minus (e.g. x---y) signs |
| +nested_comment # nested comment |
| +no_return_value # function {name} does not always return a value |
| +octal_number # leading zeros make an octal number |
| +parseint_missing_radix # parseInt missing radix parameter |
| +partial_option_explicit # the "option explicit" control comment, if used, must be in the first script tag |
| +redeclared_var # redeclaration of {name} |
| +trailing_comma_in_array # extra comma is not recommended in array initializers |
| +trailing_decimal_point # trailing decimal point may indicate a number or an object member |
| +undeclared_identifier # undeclared identifier: {name} |
| +unreachable_code # unreachable code |
| -unreferenced_argument # argument declared but never referenced: {name} |
| -unreferenced_function # function is declared but never referenced: {name} |
| +unreferenced_variable # variable is declared but never referenced: {name} |
| +unsupported_version # JavaScript {version} is not supported |
| +use_of_label # use of label |
| +useless_assign # useless assignment |
| +useless_comparison # useless comparison; comparing identical expressions |
| -useless_quotes # the quotation marks are unnecessary |
| +useless_void # use of the void type may be unnecessary (void is always undefined) |
| +var_hides_arg # variable {name} hides argument |
| +want_assign_or_call # expected an assignment or function call |
| +with_statement # with statement hides undeclared variables; use temporary variable instead |
| |
| |
| ### Output format |
| # Customize the format of the error message. |
| # __FILE__ indicates current file path |
| # __FILENAME__ indicates current file name |
| # __LINE__ indicates current line |
| # __COL__ indicates current column |
| # __ERROR__ indicates error message (__ERROR_PREFIX__: __ERROR_MSG__) |
| # __ERROR_NAME__ indicates error name (used in configuration file) |
| # __ERROR_PREFIX__ indicates error prefix |
| # __ERROR_MSG__ indicates error message |
| # |
| # For machine-friendly output, the output format can be prefixed with |
| # "encode:". If specified, all items will be encoded with C-slashes. |
| # |
| # Visual Studio syntax (default): |
| +output-format __FILE__(__LINE__): __ERROR__ |
| # Alternative syntax: |
| #+output-format __FILE__:__LINE__: __ERROR__ |
| |
| |
| ### Context |
| # Show the in-line position of the error. |
| # Use "+context" to display or "-context" to suppress. |
| # |
| +context |
| |
| |
| ### Control Comments |
| # Both JavaScript Lint and the JScript interpreter confuse each other with the syntax for |
| # the /*@keyword@*/ control comments and JScript conditional comments. (The latter is |
| # enabled in JScript with @cc_on@). The /*jsl:keyword*/ syntax is preferred for this reason, |
| # although legacy control comments are enabled by default for backward compatibility. |
| # |
| -legacy_control_comments |
| |
| |
| ### Defining identifiers |
| # By default, "option explicit" is enabled on a per-file basis. |
| # To enable this for all files, use "+always_use_option_explicit" |
| -always_use_option_explicit |
| |
| # Define certain identifiers of which the lint is not aware. |
| # (Use this in conjunction with the "undeclared identifier" warning.) |
| # |
| # Common uses for webpages might be: |
| +define __dirname |
| +define clearInterval |
| +define clearTimeout |
| +define console |
| +define exports |
| +define global |
| +define process |
| +define require |
| +define setInterval |
| +define setTimeout |
| +define Buffer |
| +define JSON |
| +define Math |
| |
| ### JavaScript Version |
| # To change the default JavaScript version: |
| #+default-type text/javascript;version=1.5 |
| #+default-type text/javascript;e4x=1 |
| |
| ### Files |
| # Specify which files to lint |
| # Use "+recurse" to enable recursion (disabled by default). |
| # To add a set of files, use "+process FileName", "+process Folder\Path\*.js", |
| # or "+process Folder\Path\*.htm". |
| # |
| |