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