lancew/DojoList

View on GitHub

Showing 1,940 of 1,940 total issues

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

.post .meta {
Severity: Minor
Found in css/style.css by csslint

Don't use IDs in selectors.
Open

#sidebar {
Severity: Minor
Found in css/style.css by csslint

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

#sidebar ul {
Severity: Minor
Found in css/style.css by csslint

Don't use IDs in selectors.
Open

#search {
Severity: Minor
Found in css/style.css by csslint

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

#search-submit {
Severity: Minor
Found in css/style.css by csslint

Rule is empty.
Open

.post .meta a { }
Severity: Minor
Found in css/style.css by csslint

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

.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
Severity: Minor
Found in lib/limonade/public/css/screen.css by csslint

Heading (h3) has already been defined.
Open

         #header, h1, h2, h3, h4 {
Severity: Minor
Found in lib/limonade/public/css/screen.css by csslint

Heading (h1) has already been defined.
Open

         h1 {
Severity: Minor
Found in lib/limonade/public/css/screen.css by csslint

Heading (h1) has already been defined.
Open

             #header h1 {
Severity: Minor
Found in lib/limonade/public/css/screen.css by csslint

Move the invocation into the parens that contain the function.
Open

(function(){
Severity: Minor
Found in js/mapstraction.js by eslint

Require IIFEs to be Wrapped (wrap-iife)

You can immediately invoke function expressions, but not function declarations. A common technique to create an immediately-invoked function expression (IIFE) is to wrap a function declaration in parentheses. The opening parentheses causes the contained function to be parsed as an expression, rather than a declaration.

// function expression could be unwrapped
var x = function () { return { y: 1 };}();

// function declaration must be wrapped
function () { /* side effects */ }(); // SyntaxError

Rule Details

This rule requires all immediately-invoked function expressions to be wrapped in parentheses.

Options

This rule has two options, a string option and an object option.

String option:

  • "outside" enforces always wrapping the call expression. The default is "outside".
  • "inside" enforces always wrapping the function expression.
  • "any" enforces always wrapping, but allows either style.

Object option:

  • "functionPrototypeMethods": true additionally enforces wrapping function expressions invoked using .call and .apply. The default is false.

outside

Examples of incorrect code for the default "outside" option:

/*eslint wrap-iife: ["error", "outside"]*/

var x = function () { return { y: 1 };}(); // unwrapped
var x = (function () { return { y: 1 };})(); // wrapped function expression

Examples of correct code for the default "outside" option:

/*eslint wrap-iife: ["error", "outside"]*/

var x = (function () { return { y: 1 };}()); // wrapped call expression

inside

Examples of incorrect code for the "inside" option:

/*eslint wrap-iife: ["error", "inside"]*/

var x = function () { return { y: 1 };}(); // unwrapped
var x = (function () { return { y: 1 };}()); // wrapped call expression

Examples of correct code for the "inside" option:

/*eslint wrap-iife: ["error", "inside"]*/

var x = (function () { return { y: 1 };})(); // wrapped function expression

any

Examples of incorrect code for the "any" option:

/*eslint wrap-iife: ["error", "any"]*/

var x = function () { return { y: 1 };}(); // unwrapped

Examples of correct code for the "any" option:

/*eslint wrap-iife: ["error", "any"]*/

var x = (function () { return { y: 1 };}()); // wrapped call expression
var x = (function () { return { y: 1 };})(); // wrapped function expression

functionPrototypeMethods

Examples of incorrect code for this rule with the "inside", { "functionPrototypeMethods": true } options:

/* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */

var x = function(){ foo(); }()
var x = (function(){ foo(); }())
var x = function(){ foo(); }.call(bar)
var x = (function(){ foo(); }.call(bar))

Examples of correct code for this rule with the "inside", { "functionPrototypeMethods": true } options:

/* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */

var x = (function(){ foo(); })()
var x = (function(){ foo(); }).call(bar)

Source: http://eslint.org/docs/rules/

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

            if((index > -1) && (index + SCRIPT_NAME.length == src.length)) {
Severity: Minor
Found in js/mapstraction.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/

Unreachable code.
Open

            break;
Severity: Minor
Found in js/mapstraction.js by eslint

disallow unreachable code after return, throw, continue, and break statements (no-unreachable)

Because the return, throw, break, and continue statements unconditionally exit a block of code, any statements after them cannot be executed. Unreachable statements are usually a mistake.

function fn() {
    x = 1;
    return x;
    x = 3; // this will never execute
}

Rule Details

This rule disallows unreachable code after return, throw, continue, and break statements.

Examples of incorrect code for this rule:

/*eslint no-unreachable: "error"*/

function foo() {
    return true;
    console.log("done");
}

function bar() {
    throw new Error("Oops!");
    console.log("done");
}

while(value) {
    break;
    console.log("done");
}

throw new Error("Oops!");
console.log("done");

function baz() {
    if (Math.random() < 0.5) {
        return;
    } else {
        throw new Error();
    }
    console.log("done");
}

for (;;) {}
console.log("done");

Examples of correct code for this rule, because of JavaScript function and variable hoisting:

/*eslint no-unreachable: "error"*/

function foo() {
    return bar();
    function bar() {
        return 1;
    }
}

function bar() {
    return x;
    var x;
}

switch (foo) {
    case 1:
        break;
        var x;
}

Source: http://eslint.org/docs/rules/

Values of 0 shouldn't have units specified.
Open

    padding: 0px 10px;
Severity: Minor
Found in css/style.css by csslint

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

#calendar caption {
Severity: Minor
Found in css/style.css by csslint

Using width with border-right can sometimes make elements larger than you expect.
Open

    border-right: 1px solid #24130F;
Severity: Minor
Found in css/style.css by csslint

Don't use IDs in selectors.
Open

#calendar .pad {
Severity: Minor
Found in css/style.css by csslint

Heading (h5) has already been defined.
Open

h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
Severity: Minor
Found in lib/limonade/public/css/screen.css by csslint

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

fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
Severity: Minor
Found in lib/limonade/public/css/screen.css by csslint

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

hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
Severity: Minor
Found in lib/limonade/public/css/screen.css by csslint
Severity
Category
Status
Source
Language