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 |
|
---|