Showing 489 of 489 total issues

The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype.
Open

  for(var i in input)
Severity: Minor
Found in src/pyff/site/static/js/sha1.js by eslint

Require Guarding for-in (guard-for-in)

Looping over objects with a for in loop will include properties that are inherited through the prototype chain. This behavior can lead to unexpected items in your for loop.

for (key in foo) {
    doSomething(key);
}

Note that simply checking foo.hasOwnProperty(key) is likely to cause an error in some cases; see [no-prototype-builtins](no-prototype-builtins.md).

Rule Details

This rule is aimed at preventing unexpected behavior that could arise from using a for in loop without filtering the results in the loop. As such, it will warn when for in loops do not filter their results with an if statement.

Examples of incorrect code for this rule:

/*eslint guard-for-in: "error"*/

for (key in foo) {
    doSomething(key);
}

Examples of correct code for this rule:

/*eslint guard-for-in: "error"*/

for (key in foo) {
    if (Object.prototype.hasOwnProperty.call(foo, key)) {
        doSomething(key);
    }
    if ({}.hasOwnProperty.call(foo, key)) {
        doSomething(key);
    }
}

Related Rules

  • [no-prototype-builtins](no-prototype-builtins.md)

Further Reading

Rule doesn't have all its properties in alphabetical order.
Open

.card-links a li {
Severity: Minor
Found in src/pyff/site/static/css/ra21.css by csslint

Values of 0 shouldn't have units specified.
Open

  padding-left: 0px;
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Rule doesn't have all its properties in alphabetical order.
Open

.header h3 {
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Rule doesn't have all its properties in alphabetical order.
Open

.navbar {
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Don't use IDs in selectors.
Open

#map_canvas { width: 100%; height: 350px; }
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Rule doesn't have all its properties in alphabetical order.
Open

pre.prettyprint {
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Don't use IDs in selectors.
Open

#sp-title-container {
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Rule doesn't have all its properties in alphabetical order.
Open

xscroll {
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Expected '===' and instead saw '=='.
Open

            if (DiscoveryService._incr_use_count(id,lst) == -1) {
Severity: Minor
Found in src/pyff/site/static/js/ds-client.js by eslint

Require === and !== (eqeqeq)

It is considered good practice to use the type-safe equality operators === and !== instead of their regular counterparts == and !=.

The reason for this is that == and != do type coercion which follows the rather obscure Abstract Equality Comparison Algorithm. For instance, the following statements are all considered true:

  • [] == false
  • [] == ![]
  • 3 == "03"

If one of those occurs in an innocent-looking statement such as a == b the actual problem is very difficult to spot.

Rule Details

This rule is aimed at eliminating the type-unsafe equality operators.

Examples of incorrect code for this rule:

/*eslint eqeqeq: "error"*/

if (x == 42) { }

if ("" == text) { }

if (obj.getStuff() != undefined) { }

The --fix option on the command line automatically fixes some problems reported by this rule. A problem is only fixed if one of the operands is a typeof expression, or if both operands are literals with the same type.

Options

always

The "always" option (default) enforces the use of === and !== in every situation (except when you opt-in to more specific handling of null [see below]).

Examples of incorrect code for the "always" option:

/*eslint eqeqeq: ["error", "always"]*/

a == b
foo == true
bananas != 1
value == undefined
typeof foo == 'undefined'
'hello' != 'world'
0 == 0
true == true
foo == null

Examples of correct code for the "always" option:

/*eslint eqeqeq: ["error", "always"]*/

a === b
foo === true
bananas !== 1
value === undefined
typeof foo === 'undefined'
'hello' !== 'world'
0 === 0
true === true
foo === null

This rule optionally takes a second argument, which should be an object with the following supported properties:

  • "null": Customize how this rule treats null literals. Possible values:
    • always (default) - Always use === or !==.
    • never - Never use === or !== with null.
    • ignore - Do not apply this rule to null.

smart

The "smart" option enforces the use of === and !== except for these cases:

  • Comparing two literal values
  • Evaluating the value of typeof
  • Comparing against null

Examples of incorrect code for the "smart" option:

/*eslint eqeqeq: ["error", "smart"]*/

// comparing two variables requires ===
a == b

// only one side is a literal
foo == true
bananas != 1

// comparing to undefined requires ===
value == undefined

Examples of correct code for the "smart" option:

/*eslint eqeqeq: ["error", "smart"]*/

typeof foo == 'undefined'
'hello' != 'world'
0 == 0
true == true
foo == null

allow-null

Deprecated: Instead of using this option use "always" and pass a "null" option property with value "ignore". This will tell eslint to always enforce strict equality except when comparing with the null literal.

["error", "always", {"null": "ignore"}]

When Not To Use It

If you don't want to enforce a style for using equality operators, then it's safe to disable this rule. Source: http://eslint.org/docs/rules/

Element (h2.accessHeader) is overqualified, just use .accessHeader without element name.
Open

h2.accessHeader {
Severity: Minor
Found in src/pyff/site/static/css/ra21.css by csslint

Rule doesn't have all its properties in alphabetical order.
Open

.card {
Severity: Minor
Found in src/pyff/site/static/css/ra21.css by csslint

Rule doesn't have all its properties in alphabetical order.
Open

.card-links a li.known-inst {
Severity: Minor
Found in src/pyff/site/static/css/ra21.css by csslint

Heading (h1) should not be qualified.
Open

.content h1, h2, h3 {
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Rule doesn't have all its properties in alphabetical order.
Open

  .btn-responsive {
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Don't use IDs in selectors.
Open

#map_canvas img { max-width: none; }
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Rule is empty.
Open

.fallback {
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Values of 0 shouldn't have units specified.
Open

    min-width: 0px;
Severity: Minor
Found in src/pyff/site/static/css/style.css by csslint

Rule doesn't have all its properties in alphabetical order.
Open

.counter{
Severity: Minor
Found in src/pyff/site/static/css/ra21.css by csslint

The properties padding-top, padding-bottom, padding-left, padding-right can be replaced by padding.
Open

.counter{
Severity: Minor
Found in src/pyff/site/static/css/ra21.css by csslint
Severity
Category
Status
Source
Language