123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- #
- # 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".
- #
|