edgardleal/require-vuejs

View on GitHub

Showing 26 of 26 total issues

Function load has 95 lines of code (exceeds 25 allowed). Consider refactoring.
Open

        load: function (name, req, onload, config) {
            var url, extension; 

            if (config.paths && config.paths[name]) {
                name = config.paths[name];
Severity: Major
Found in src/plugin.js - About 3 hrs to fix

    Function exports has 80 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    module.exports = function(grunt) {
    
        grunt.initConfig({
            pkg: grunt.file.readJSON("package.json"),
            copy: {
    Severity: Major
    Found in Gruntfile.js - About 3 hrs to fix

      Function exports has 45 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      module.exports = function(grunt) {
      
          grunt.initConfig({
              pkg: grunt.file.readJSON("package.json"),
              jsmeter: {
      Severity: Minor
      Found in examples/Gruntfile.js - About 1 hr to fix

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

            it("<script with spaces", function() {
                var template = "<script  >alert('ok')</script>";
                var result = parser.extractScript(template);
        
                expect(result).not.toBe(null);
        Severity: Major
        Found in spec/scriptSpec.js and 2 other locations - About 1 hr to fix
        spec/scriptSpec.js on lines 37..43
        spec/scriptSpec.js on lines 45..51

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 69.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

            it("<script x=\"32\">", function() {
                var template = "<script x=\"32\">alert('ok')</script>";
                var result = parser.extractScript(template);
        
                expect(result).not.toBe(null);
        Severity: Major
        Found in spec/scriptSpec.js and 2 other locations - About 1 hr to fix
        spec/scriptSpec.js on lines 29..35
        spec/scriptSpec.js on lines 45..51

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 69.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

            it("<script data=\"main\" >", function() {
                var template = "<script data=\"main\" >alert('ok')</script>";
                var result = parser.extractScript(template);
        
                expect(result).not.toBe(null);
        Severity: Major
        Found in spec/scriptSpec.js and 2 other locations - About 1 hr to fix
        spec/scriptSpec.js on lines 29..35
        spec/scriptSpec.js on lines 37..43

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 69.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Function parseOnBrowser has 32 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            var parseOnBrowser = function(text, css_result) {
                var root;
                if (typeof text === "string") {
                    root = document.createElement("div");
                    root.insertAdjacentHTML("afterbegin", text);
        Severity: Minor
        Found in src/template_parser.js - About 1 hr to fix

          Function loadFiles has 31 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              var loadFiles = function (imports) {
                  let reqFiles = []
                  imports.forEach(path => {
                      // 路径转换
                      let filePath = normalize(path, baseUrl, false)
          Severity: Minor
          Found in src/style_import.js - About 1 hr to fix

            Function BaseNode has 26 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                var BaseNode = function(tagName) {
                    this.tagName = tagName;
                    this.childs = [];
                    this.appendChild = function(node) {
                        this[node.tagName] = node;
            Severity: Minor
            Found in spec/documentMock.js - About 1 hr to fix

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                  it("Extract simple", function() {
                      var template = "<script>alert('ok')</script>";
                      var result = parser.extractScript(template);
              
                      expect(result).toEqual("alert('ok')");
              Severity: Minor
              Found in spec/scriptSpec.js and 1 other location - About 45 mins to fix
              spec/cssSpec.js on lines 36..41

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 50.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                  it("Without style tag", function() {
                      var template = "<script> define(){} </script> <template> <div/> </template";
                      var result = parser.functionString(template);
              
                      expect(result).toEqual("");
              Severity: Minor
              Found in spec/cssSpec.js and 1 other location - About 45 mins to fix
              spec/scriptSpec.js on lines 19..24

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 50.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Strings must use doublequote.
              Open

                  Vue.component('count-click', comp);
              Severity: Minor
              Found in examples/app.js by eslint

              enforce the consistent use of either backticks, double, or single quotes (quotes)

              JavaScript allows you to define strings in one of three ways: double quotes, single quotes, and backticks (as of ECMAScript 6). For example:

              /*eslint-env es6*/
              
              var double = "double";
              var single = 'single';
              var backtick = `backtick`;    // ES6 only

              Each of these lines creates a string and, in some cases, can be used interchangeably. The choice of how to define strings in a codebase is a stylistic one outside of template literals (which allow embedded of expressions to be interpreted).

              Many codebases require strings to be defined in a consistent manner.

              Rule Details

              This rule enforces the consistent use of either backticks, double, or single quotes.

              Options

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

              String option:

              • "double" (default) requires the use of double quotes wherever possible
              • "single" requires the use of single quotes wherever possible
              • "backtick" requires the use of backticks wherever possible

              Object option:

              • "avoidEscape": true allows strings to use single-quotes or double-quotes so long as the string contains a quote that would have to be escaped otherwise
              • "allowTemplateLiterals": true allows strings to use backticks

              Deprecated: The object property avoid-escape is deprecated; please use the object property avoidEscape instead.

              double

              Examples of incorrect code for this rule with the default "double" option:

              /*eslint quotes: ["error", "double"]*/
              
              var single = 'single';
              var unescaped = 'a string containing "double" quotes';

              Examples of correct code for this rule with the default "double" option:

              /*eslint quotes: ["error", "double"]*/
              /*eslint-env es6*/
              
              var double = "double";
              var backtick = `back\ntick`;  // backticks are allowed due to newline
              var backtick = tag`backtick`; // backticks are allowed due to tag

              single

              Examples of incorrect code for this rule with the "single" option:

              /*eslint quotes: ["error", "single"]*/
              
              var double = "double";
              var unescaped = "a string containing 'single' quotes";

              Examples of correct code for this rule with the "single" option:

              /*eslint quotes: ["error", "single"]*/
              /*eslint-env es6*/
              
              var single = 'single';
              var backtick = `back${x}tick`; // backticks are allowed due to substitution

              backticks

              Examples of incorrect code for this rule with the "backtick" option:

              /*eslint quotes: ["error", "backtick"]*/
              
              var single = 'single';
              var double = "double";
              var unescaped = 'a string containing `backticks`';

              Examples of correct code for this rule with the "backtick" option:

              /*eslint quotes: ["error", "backtick"]*/
              /*eslint-env es6*/
              
              var backtick = `backtick`;

              avoidEscape

              Examples of additional correct code for this rule with the "double", { "avoidEscape": true } options:

              /*eslint quotes: ["error", "double", { "avoidEscape": true }]*/
              
              var single = 'a string containing "double" quotes';

              Examples of additional correct code for this rule with the "single", { "avoidEscape": true } options:

              /*eslint quotes: ["error", "single", { "avoidEscape": true }]*/
              
              var double = "a string containing 'single' quotes";

              Examples of additional correct code for this rule with the "backtick", { "avoidEscape": true } options:

              /*eslint quotes: ["error", "backtick", { "avoidEscape": true }]*/
              
              var double = "a string containing `backtick` quotes"

              allowTemplateLiterals

              Examples of additional correct code for this rule with the "double", { "allowTemplateLiterals": true } options:

              /*eslint quotes: ["error", "double", { "allowTemplateLiterals": true }]*/
              
              var double = "double";
              var double = `double`;

              Examples of additional correct code for this rule with the "single", { "allowTemplateLiterals": true } options:

              /*eslint quotes: ["error", "single", { "allowTemplateLiterals": true }]*/
              
              var single = 'single';
              var single = `single`;

              When Not To Use It

              If you do not need consistency in your string styles, you can safely disable this rule. Source: http://eslint.org/docs/rules/

              Expected indentation of 4 spaces but found 3.
              Open

                 "vue!component.html", 
              Severity: Minor
              Found in examples/app.js by eslint

              enforce consistent indentation (indent)

              There are several common guidelines which require specific indentation of nested blocks and statements, like:

              function hello(indentSize, type) {
                  if (indentSize === 4 && type !== 'tab') {
                      console.log('Each next indentation will increase on 4 spaces');
                  }
              }

              These are the most common scenarios recommended in different style guides:

              • Two spaces, not longer and no tabs: Google, npm, Node.js, Idiomatic, Felix
              • Tabs: jQuery
              • Four spaces: Crockford

              Rule Details

              This rule enforces a consistent indentation style. The default style is 4 spaces.

              Options

              This rule has a mixed option:

              For example, for 2-space indentation:

              {
                  "indent": ["error", 2]
              }

              Or for tabbed indentation:

              {
                  "indent": ["error", "tab"]
              }

              Examples of incorrect code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                b=c;
                function foo(d) {
                  e=f;
                }
              }

              Examples of correct code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                  b=c;
                  function foo(d) {
                      e=f;
                  }
              }

              This rule has an object option:

              • "SwitchCase" (default: 0) enforces indentation level for case clauses in switch statements
              • "VariableDeclarator" (default: 1) enforces indentation level for var declarators; can also take an object to define separate rules for var, let and const declarations.
              • "outerIIFEBody" (default: 1) enforces indentation level for file-level IIFEs.
              • "MemberExpression" (off by default) enforces indentation level for multi-line property chains (except in variable declarations and assignments)
              • "FunctionDeclaration" takes an object to define rules for function declarations.
                • parameters (off by default) enforces indentation level for parameters in a function declaration. This can either be a number indicating indentation level, or the string "first" indicating that all parameters of the declaration must be aligned with the first parameter.
                • body (default: 1) enforces indentation level for the body of a function declaration.
              • "FunctionExpression" takes an object to define rules for function expressions.
                • parameters (off by default) enforces indentation level for parameters in a function expression. This can either be a number indicating indentation level, or the string "first" indicating that all parameters of the expression must be aligned with the first parameter.
                • body (default: 1) enforces indentation level for the body of a function expression.
              • "CallExpression" takes an object to define rules for function call expressions.
                • arguments (off by default) enforces indentation level for arguments in a call expression. This can either be a number indicating indentation level, or the string "first" indicating that all arguments of the expression must be aligned with the first argument.
              • "ArrayExpression" (default: 1) enforces indentation level for elements in arrays. It can also be set to the string "first", indicating that all the elements in the array should be aligned with the first element.
              • "ObjectExpression" (default: 1) enforces indentation level for properties in objects. It can be set to the string "first", indicating that all properties in the object should be aligned with the first property.

              Level of indentation denotes the multiple of the indent specified. Example:

              • Indent of 4 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 8 spaces.
              • Indent of 2 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 4 spaces.
              • Indent of 2 spaces with VariableDeclarator set to {"var": 2, "let": 2, "const": 3} will indent the multi-line variable declarations with 4 spaces for var and let, 6 spaces for const statements.
              • Indent of tab with VariableDeclarator set to 2 will indent the multi-line variable declarations with 2 tabs.
              • Indent of 2 spaces with SwitchCase set to 0 will not indent case clauses with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 1 will indent case clauses with 2 spaces with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 2 will indent case clauses with 4 spaces with respect to switch statements.
              • Indent of tab with SwitchCase set to 2 will indent case clauses with 2 tabs with respect to switch statements.
              • Indent of 2 spaces with MemberExpression set to 0 will indent the multi-line property chains with 0 spaces.
              • Indent of 2 spaces with MemberExpression set to 1 will indent the multi-line property chains with 2 spaces.
              • Indent of 2 spaces with MemberExpression set to 2 will indent the multi-line property chains with 4 spaces.
              • Indent of 4 spaces with MemberExpression set to 0 will indent the multi-line property chains with 0 spaces.
              • Indent of 4 spaces with MemberExpression set to 1 will indent the multi-line property chains with 4 spaces.
              • Indent of 4 spaces with MemberExpression set to 2 will indent the multi-line property chains with 8 spaces.

              tab

              Examples of incorrect code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
                   b=c;
              function foo(d) {
                         e=f;
               }
              }

              Examples of correct code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
              /*tab*/b=c;
              /*tab*/function foo(d) {
              /*tab*//*tab*/e=f;
              /*tab*/}
              }

              SwitchCase

              Examples of incorrect code for this rule with the 2, { "SwitchCase": 1 } options:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
              case "a":
                  break;
              case "b":
                  break;
              }

              Examples of correct code for this rule with the 2, { "SwitchCase": 1 } option:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
                case "a":
                  break;
                case "b":
                  break;
              }

              VariableDeclarator

              Examples of incorrect code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                b,
                c;
              let a,
                b,
                c;
              const a = 1,
                b = 2,
                c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 2 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 2 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                    b = 2,
                    c = 3;

              outerIIFEBody

              Examples of incorrect code for this rule with the options 2, { "outerIIFEBody": 0 }:

              /*eslint indent: ["error", 2, { "outerIIFEBody": 0 }]*/
              
              (function() {
              
                function foo(x) {
                  return x + 1;
                }
              
              })();
              
              
              if(y) {
              console.log('foo');
              }

              Examples of correct code for this rule with the options 2, {"outerIIFEBody": 0}:

              /*eslint indent: ["error", 2, { "outerIIFEBody": 0 }]*/
              
              (function() {
              
              function foo(x) {
                return x + 1;
              }
              
              })();
              
              
              if(y) {
                 console.log('foo');
              }

              MemberExpression

              Examples of incorrect code for this rule with the 2, { "MemberExpression": 1 } options:

              /*eslint indent: ["error", 2, { "MemberExpression": 1 }]*/
              
              foo
              .bar
              .baz()

              Examples of correct code for this rule with the 2, { "MemberExpression": 1 } option:

              /*eslint indent: ["error", 2, { "MemberExpression": 1 }]*/
              
              foo
                .bar
                .baz();
              
              // Any indentation is permitted in variable declarations and assignments.
              var bip = aardvark.badger
                                .coyote;

              FunctionDeclaration

              Examples of incorrect code for this rule with the 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} }]*/
              
              function foo(bar,
                baz,
                qux) {
                  qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} }]*/
              
              function foo(bar,
                  baz,
                  qux) {
                qux();
              }

              Examples of incorrect code for this rule with the 2, { "FunctionDeclaration": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionDeclaration": {"parameters": "first"}}]*/
              
              function foo(bar, baz,
                qux, boop) {
                qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionDeclaration": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionDeclaration": {"parameters": "first"}}]*/
              
              function foo(bar, baz,
                           qux, boop) {
                qux();
              }

              FunctionExpression

              Examples of incorrect code for this rule with the 2, { "FunctionExpression": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionExpression": {"body": 1, "parameters": 2} }]*/
              
              var foo = function(bar,
                baz,
                qux) {
                  qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionExpression": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionExpression": {"body": 1, "parameters": 2} }]*/
              
              var foo = function(bar,
                  baz,
                  qux) {
                qux();
              }

              Examples of incorrect code for this rule with the 2, { "FunctionExpression": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionExpression": {"parameters": "first"}}]*/
              
              var foo = function(bar, baz,
                qux, boop) {
                qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionExpression": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionExpression": {"parameters": "first"}}]*/
              
              var foo = function(bar, baz,
                                 qux, boop) {
                qux();
              }

              CallExpression

              Examples of incorrect code for this rule with the 2, { "CallExpression": {"arguments": 1} } option:

              /*eslint indent: ["error", 2, { "CallExpression": {"arguments": 1} }]*/
              
              foo(bar,
                  baz,
                    qux
              );

              Examples of correct code for this rule with the 2, { "CallExpression": {"arguments": 1} } option:

              /*eslint indent: ["error", 2, { "CallExpression": {"arguments": 1} }]*/
              
              foo(bar,
                baz,
                qux
              );

              Examples of incorrect code for this rule with the 2, { "CallExpression": {"arguments": "first"} } option:

              /*eslint indent: ["error", 2, {"CallExpression": {"arguments": "first"}}]*/
              
              foo(bar, baz,
                baz, boop, beep);

              Examples of correct code for this rule with the 2, { "CallExpression": {"arguments": "first"} } option:

              /*eslint indent: ["error", 2, {"CallExpression": {"arguments": "first"}}]*/
              
              foo(bar, baz,
                  baz, boop, beep);

              ArrayExpression

              Examples of incorrect code for this rule with the 2, { "ArrayExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ArrayExpression": 1 }]*/
              
              var foo = [
                  bar,
              baz,
                    qux
              ];

              Examples of correct code for this rule with the 2, { "ArrayExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ArrayExpression": 1 }]*/
              
              var foo = [
                bar,
                baz,
                qux
              ];

              Examples of incorrect code for this rule with the 2, { "ArrayExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ArrayExpression": "first"}]*/
              
              var foo = [bar,
                baz,
                qux
              ];

              Examples of correct code for this rule with the 2, { "ArrayExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ArrayExpression": "first"}]*/
              
              var foo = [bar,
                         baz,
                         qux
              ];

              ObjectExpression

              Examples of incorrect code for this rule with the 2, { "ObjectExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ObjectExpression": 1 }]*/
              
              var foo = {
                  bar: 1,
              baz: 2,
                    qux: 3
              };

              Examples of correct code for this rule with the 2, { "ObjectExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ObjectExpression": 1 }]*/
              
              var foo = {
                bar: 1,
                baz: 2,
                qux: 3
              };

              Examples of incorrect code for this rule with the 2, { "ObjectExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ObjectExpression": "first"}]*/
              
              var foo = { bar: 1,
                baz: 2 };

              Examples of correct code for this rule with the 2, { "ObjectExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ObjectExpression": "first"}]*/
              
              var foo = { bar: 1,
                          baz: 2 };

              Compatibility

              Parsing error: Unexpected token ,
              Open

                          css_parser,
              Severity: Minor
              Found in src/plugin.js by eslint

              For more information visit Source: http://eslint.org/docs/rules/

              Expected indentation of 4 spaces but found 3.
              Open

                 "vue!using_alias",
              Severity: Minor
              Found in examples/app.js by eslint

              enforce consistent indentation (indent)

              There are several common guidelines which require specific indentation of nested blocks and statements, like:

              function hello(indentSize, type) {
                  if (indentSize === 4 && type !== 'tab') {
                      console.log('Each next indentation will increase on 4 spaces');
                  }
              }

              These are the most common scenarios recommended in different style guides:

              • Two spaces, not longer and no tabs: Google, npm, Node.js, Idiomatic, Felix
              • Tabs: jQuery
              • Four spaces: Crockford

              Rule Details

              This rule enforces a consistent indentation style. The default style is 4 spaces.

              Options

              This rule has a mixed option:

              For example, for 2-space indentation:

              {
                  "indent": ["error", 2]
              }

              Or for tabbed indentation:

              {
                  "indent": ["error", "tab"]
              }

              Examples of incorrect code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                b=c;
                function foo(d) {
                  e=f;
                }
              }

              Examples of correct code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                  b=c;
                  function foo(d) {
                      e=f;
                  }
              }

              This rule has an object option:

              • "SwitchCase" (default: 0) enforces indentation level for case clauses in switch statements
              • "VariableDeclarator" (default: 1) enforces indentation level for var declarators; can also take an object to define separate rules for var, let and const declarations.
              • "outerIIFEBody" (default: 1) enforces indentation level for file-level IIFEs.
              • "MemberExpression" (off by default) enforces indentation level for multi-line property chains (except in variable declarations and assignments)
              • "FunctionDeclaration" takes an object to define rules for function declarations.
                • parameters (off by default) enforces indentation level for parameters in a function declaration. This can either be a number indicating indentation level, or the string "first" indicating that all parameters of the declaration must be aligned with the first parameter.
                • body (default: 1) enforces indentation level for the body of a function declaration.
              • "FunctionExpression" takes an object to define rules for function expressions.
                • parameters (off by default) enforces indentation level for parameters in a function expression. This can either be a number indicating indentation level, or the string "first" indicating that all parameters of the expression must be aligned with the first parameter.
                • body (default: 1) enforces indentation level for the body of a function expression.
              • "CallExpression" takes an object to define rules for function call expressions.
                • arguments (off by default) enforces indentation level for arguments in a call expression. This can either be a number indicating indentation level, or the string "first" indicating that all arguments of the expression must be aligned with the first argument.
              • "ArrayExpression" (default: 1) enforces indentation level for elements in arrays. It can also be set to the string "first", indicating that all the elements in the array should be aligned with the first element.
              • "ObjectExpression" (default: 1) enforces indentation level for properties in objects. It can be set to the string "first", indicating that all properties in the object should be aligned with the first property.

              Level of indentation denotes the multiple of the indent specified. Example:

              • Indent of 4 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 8 spaces.
              • Indent of 2 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 4 spaces.
              • Indent of 2 spaces with VariableDeclarator set to {"var": 2, "let": 2, "const": 3} will indent the multi-line variable declarations with 4 spaces for var and let, 6 spaces for const statements.
              • Indent of tab with VariableDeclarator set to 2 will indent the multi-line variable declarations with 2 tabs.
              • Indent of 2 spaces with SwitchCase set to 0 will not indent case clauses with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 1 will indent case clauses with 2 spaces with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 2 will indent case clauses with 4 spaces with respect to switch statements.
              • Indent of tab with SwitchCase set to 2 will indent case clauses with 2 tabs with respect to switch statements.
              • Indent of 2 spaces with MemberExpression set to 0 will indent the multi-line property chains with 0 spaces.
              • Indent of 2 spaces with MemberExpression set to 1 will indent the multi-line property chains with 2 spaces.
              • Indent of 2 spaces with MemberExpression set to 2 will indent the multi-line property chains with 4 spaces.
              • Indent of 4 spaces with MemberExpression set to 0 will indent the multi-line property chains with 0 spaces.
              • Indent of 4 spaces with MemberExpression set to 1 will indent the multi-line property chains with 4 spaces.
              • Indent of 4 spaces with MemberExpression set to 2 will indent the multi-line property chains with 8 spaces.

              tab

              Examples of incorrect code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
                   b=c;
              function foo(d) {
                         e=f;
               }
              }

              Examples of correct code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
              /*tab*/b=c;
              /*tab*/function foo(d) {
              /*tab*//*tab*/e=f;
              /*tab*/}
              }

              SwitchCase

              Examples of incorrect code for this rule with the 2, { "SwitchCase": 1 } options:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
              case "a":
                  break;
              case "b":
                  break;
              }

              Examples of correct code for this rule with the 2, { "SwitchCase": 1 } option:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
                case "a":
                  break;
                case "b":
                  break;
              }

              VariableDeclarator

              Examples of incorrect code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                b,
                c;
              let a,
                b,
                c;
              const a = 1,
                b = 2,
                c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 2 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 2 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                    b = 2,
                    c = 3;

              outerIIFEBody

              Examples of incorrect code for this rule with the options 2, { "outerIIFEBody": 0 }:

              /*eslint indent: ["error", 2, { "outerIIFEBody": 0 }]*/
              
              (function() {
              
                function foo(x) {
                  return x + 1;
                }
              
              })();
              
              
              if(y) {
              console.log('foo');
              }

              Examples of correct code for this rule with the options 2, {"outerIIFEBody": 0}:

              /*eslint indent: ["error", 2, { "outerIIFEBody": 0 }]*/
              
              (function() {
              
              function foo(x) {
                return x + 1;
              }
              
              })();
              
              
              if(y) {
                 console.log('foo');
              }

              MemberExpression

              Examples of incorrect code for this rule with the 2, { "MemberExpression": 1 } options:

              /*eslint indent: ["error", 2, { "MemberExpression": 1 }]*/
              
              foo
              .bar
              .baz()

              Examples of correct code for this rule with the 2, { "MemberExpression": 1 } option:

              /*eslint indent: ["error", 2, { "MemberExpression": 1 }]*/
              
              foo
                .bar
                .baz();
              
              // Any indentation is permitted in variable declarations and assignments.
              var bip = aardvark.badger
                                .coyote;

              FunctionDeclaration

              Examples of incorrect code for this rule with the 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} }]*/
              
              function foo(bar,
                baz,
                qux) {
                  qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} }]*/
              
              function foo(bar,
                  baz,
                  qux) {
                qux();
              }

              Examples of incorrect code for this rule with the 2, { "FunctionDeclaration": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionDeclaration": {"parameters": "first"}}]*/
              
              function foo(bar, baz,
                qux, boop) {
                qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionDeclaration": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionDeclaration": {"parameters": "first"}}]*/
              
              function foo(bar, baz,
                           qux, boop) {
                qux();
              }

              FunctionExpression

              Examples of incorrect code for this rule with the 2, { "FunctionExpression": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionExpression": {"body": 1, "parameters": 2} }]*/
              
              var foo = function(bar,
                baz,
                qux) {
                  qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionExpression": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionExpression": {"body": 1, "parameters": 2} }]*/
              
              var foo = function(bar,
                  baz,
                  qux) {
                qux();
              }

              Examples of incorrect code for this rule with the 2, { "FunctionExpression": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionExpression": {"parameters": "first"}}]*/
              
              var foo = function(bar, baz,
                qux, boop) {
                qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionExpression": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionExpression": {"parameters": "first"}}]*/
              
              var foo = function(bar, baz,
                                 qux, boop) {
                qux();
              }

              CallExpression

              Examples of incorrect code for this rule with the 2, { "CallExpression": {"arguments": 1} } option:

              /*eslint indent: ["error", 2, { "CallExpression": {"arguments": 1} }]*/
              
              foo(bar,
                  baz,
                    qux
              );

              Examples of correct code for this rule with the 2, { "CallExpression": {"arguments": 1} } option:

              /*eslint indent: ["error", 2, { "CallExpression": {"arguments": 1} }]*/
              
              foo(bar,
                baz,
                qux
              );

              Examples of incorrect code for this rule with the 2, { "CallExpression": {"arguments": "first"} } option:

              /*eslint indent: ["error", 2, {"CallExpression": {"arguments": "first"}}]*/
              
              foo(bar, baz,
                baz, boop, beep);

              Examples of correct code for this rule with the 2, { "CallExpression": {"arguments": "first"} } option:

              /*eslint indent: ["error", 2, {"CallExpression": {"arguments": "first"}}]*/
              
              foo(bar, baz,
                  baz, boop, beep);

              ArrayExpression

              Examples of incorrect code for this rule with the 2, { "ArrayExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ArrayExpression": 1 }]*/
              
              var foo = [
                  bar,
              baz,
                    qux
              ];

              Examples of correct code for this rule with the 2, { "ArrayExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ArrayExpression": 1 }]*/
              
              var foo = [
                bar,
                baz,
                qux
              ];

              Examples of incorrect code for this rule with the 2, { "ArrayExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ArrayExpression": "first"}]*/
              
              var foo = [bar,
                baz,
                qux
              ];

              Examples of correct code for this rule with the 2, { "ArrayExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ArrayExpression": "first"}]*/
              
              var foo = [bar,
                         baz,
                         qux
              ];

              ObjectExpression

              Examples of incorrect code for this rule with the 2, { "ObjectExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ObjectExpression": 1 }]*/
              
              var foo = {
                  bar: 1,
              baz: 2,
                    qux: 3
              };

              Examples of correct code for this rule with the 2, { "ObjectExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ObjectExpression": 1 }]*/
              
              var foo = {
                bar: 1,
                baz: 2,
                qux: 3
              };

              Examples of incorrect code for this rule with the 2, { "ObjectExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ObjectExpression": "first"}]*/
              
              var foo = { bar: 1,
                baz: 2 };

              Examples of correct code for this rule with the 2, { "ObjectExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ObjectExpression": "first"}]*/
              
              var foo = { bar: 1,
                          baz: 2 };

              Compatibility

              Expected indentation of 4 spaces but found 3.
              Open

                 "vue!component", 
              Severity: Minor
              Found in examples/app.js by eslint

              enforce consistent indentation (indent)

              There are several common guidelines which require specific indentation of nested blocks and statements, like:

              function hello(indentSize, type) {
                  if (indentSize === 4 && type !== 'tab') {
                      console.log('Each next indentation will increase on 4 spaces');
                  }
              }

              These are the most common scenarios recommended in different style guides:

              • Two spaces, not longer and no tabs: Google, npm, Node.js, Idiomatic, Felix
              • Tabs: jQuery
              • Four spaces: Crockford

              Rule Details

              This rule enforces a consistent indentation style. The default style is 4 spaces.

              Options

              This rule has a mixed option:

              For example, for 2-space indentation:

              {
                  "indent": ["error", 2]
              }

              Or for tabbed indentation:

              {
                  "indent": ["error", "tab"]
              }

              Examples of incorrect code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                b=c;
                function foo(d) {
                  e=f;
                }
              }

              Examples of correct code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                  b=c;
                  function foo(d) {
                      e=f;
                  }
              }

              This rule has an object option:

              • "SwitchCase" (default: 0) enforces indentation level for case clauses in switch statements
              • "VariableDeclarator" (default: 1) enforces indentation level for var declarators; can also take an object to define separate rules for var, let and const declarations.
              • "outerIIFEBody" (default: 1) enforces indentation level for file-level IIFEs.
              • "MemberExpression" (off by default) enforces indentation level for multi-line property chains (except in variable declarations and assignments)
              • "FunctionDeclaration" takes an object to define rules for function declarations.
                • parameters (off by default) enforces indentation level for parameters in a function declaration. This can either be a number indicating indentation level, or the string "first" indicating that all parameters of the declaration must be aligned with the first parameter.
                • body (default: 1) enforces indentation level for the body of a function declaration.
              • "FunctionExpression" takes an object to define rules for function expressions.
                • parameters (off by default) enforces indentation level for parameters in a function expression. This can either be a number indicating indentation level, or the string "first" indicating that all parameters of the expression must be aligned with the first parameter.
                • body (default: 1) enforces indentation level for the body of a function expression.
              • "CallExpression" takes an object to define rules for function call expressions.
                • arguments (off by default) enforces indentation level for arguments in a call expression. This can either be a number indicating indentation level, or the string "first" indicating that all arguments of the expression must be aligned with the first argument.
              • "ArrayExpression" (default: 1) enforces indentation level for elements in arrays. It can also be set to the string "first", indicating that all the elements in the array should be aligned with the first element.
              • "ObjectExpression" (default: 1) enforces indentation level for properties in objects. It can be set to the string "first", indicating that all properties in the object should be aligned with the first property.

              Level of indentation denotes the multiple of the indent specified. Example:

              • Indent of 4 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 8 spaces.
              • Indent of 2 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 4 spaces.
              • Indent of 2 spaces with VariableDeclarator set to {"var": 2, "let": 2, "const": 3} will indent the multi-line variable declarations with 4 spaces for var and let, 6 spaces for const statements.
              • Indent of tab with VariableDeclarator set to 2 will indent the multi-line variable declarations with 2 tabs.
              • Indent of 2 spaces with SwitchCase set to 0 will not indent case clauses with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 1 will indent case clauses with 2 spaces with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 2 will indent case clauses with 4 spaces with respect to switch statements.
              • Indent of tab with SwitchCase set to 2 will indent case clauses with 2 tabs with respect to switch statements.
              • Indent of 2 spaces with MemberExpression set to 0 will indent the multi-line property chains with 0 spaces.
              • Indent of 2 spaces with MemberExpression set to 1 will indent the multi-line property chains with 2 spaces.
              • Indent of 2 spaces with MemberExpression set to 2 will indent the multi-line property chains with 4 spaces.
              • Indent of 4 spaces with MemberExpression set to 0 will indent the multi-line property chains with 0 spaces.
              • Indent of 4 spaces with MemberExpression set to 1 will indent the multi-line property chains with 4 spaces.
              • Indent of 4 spaces with MemberExpression set to 2 will indent the multi-line property chains with 8 spaces.

              tab

              Examples of incorrect code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
                   b=c;
              function foo(d) {
                         e=f;
               }
              }

              Examples of correct code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
              /*tab*/b=c;
              /*tab*/function foo(d) {
              /*tab*//*tab*/e=f;
              /*tab*/}
              }

              SwitchCase

              Examples of incorrect code for this rule with the 2, { "SwitchCase": 1 } options:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
              case "a":
                  break;
              case "b":
                  break;
              }

              Examples of correct code for this rule with the 2, { "SwitchCase": 1 } option:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
                case "a":
                  break;
                case "b":
                  break;
              }

              VariableDeclarator

              Examples of incorrect code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                b,
                c;
              let a,
                b,
                c;
              const a = 1,
                b = 2,
                c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 2 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 2 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                    b = 2,
                    c = 3;

              outerIIFEBody

              Examples of incorrect code for this rule with the options 2, { "outerIIFEBody": 0 }:

              /*eslint indent: ["error", 2, { "outerIIFEBody": 0 }]*/
              
              (function() {
              
                function foo(x) {
                  return x + 1;
                }
              
              })();
              
              
              if(y) {
              console.log('foo');
              }

              Examples of correct code for this rule with the options 2, {"outerIIFEBody": 0}:

              /*eslint indent: ["error", 2, { "outerIIFEBody": 0 }]*/
              
              (function() {
              
              function foo(x) {
                return x + 1;
              }
              
              })();
              
              
              if(y) {
                 console.log('foo');
              }

              MemberExpression

              Examples of incorrect code for this rule with the 2, { "MemberExpression": 1 } options:

              /*eslint indent: ["error", 2, { "MemberExpression": 1 }]*/
              
              foo
              .bar
              .baz()

              Examples of correct code for this rule with the 2, { "MemberExpression": 1 } option:

              /*eslint indent: ["error", 2, { "MemberExpression": 1 }]*/
              
              foo
                .bar
                .baz();
              
              // Any indentation is permitted in variable declarations and assignments.
              var bip = aardvark.badger
                                .coyote;

              FunctionDeclaration

              Examples of incorrect code for this rule with the 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} }]*/
              
              function foo(bar,
                baz,
                qux) {
                  qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} }]*/
              
              function foo(bar,
                  baz,
                  qux) {
                qux();
              }

              Examples of incorrect code for this rule with the 2, { "FunctionDeclaration": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionDeclaration": {"parameters": "first"}}]*/
              
              function foo(bar, baz,
                qux, boop) {
                qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionDeclaration": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionDeclaration": {"parameters": "first"}}]*/
              
              function foo(bar, baz,
                           qux, boop) {
                qux();
              }

              FunctionExpression

              Examples of incorrect code for this rule with the 2, { "FunctionExpression": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionExpression": {"body": 1, "parameters": 2} }]*/
              
              var foo = function(bar,
                baz,
                qux) {
                  qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionExpression": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionExpression": {"body": 1, "parameters": 2} }]*/
              
              var foo = function(bar,
                  baz,
                  qux) {
                qux();
              }

              Examples of incorrect code for this rule with the 2, { "FunctionExpression": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionExpression": {"parameters": "first"}}]*/
              
              var foo = function(bar, baz,
                qux, boop) {
                qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionExpression": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionExpression": {"parameters": "first"}}]*/
              
              var foo = function(bar, baz,
                                 qux, boop) {
                qux();
              }

              CallExpression

              Examples of incorrect code for this rule with the 2, { "CallExpression": {"arguments": 1} } option:

              /*eslint indent: ["error", 2, { "CallExpression": {"arguments": 1} }]*/
              
              foo(bar,
                  baz,
                    qux
              );

              Examples of correct code for this rule with the 2, { "CallExpression": {"arguments": 1} } option:

              /*eslint indent: ["error", 2, { "CallExpression": {"arguments": 1} }]*/
              
              foo(bar,
                baz,
                qux
              );

              Examples of incorrect code for this rule with the 2, { "CallExpression": {"arguments": "first"} } option:

              /*eslint indent: ["error", 2, {"CallExpression": {"arguments": "first"}}]*/
              
              foo(bar, baz,
                baz, boop, beep);

              Examples of correct code for this rule with the 2, { "CallExpression": {"arguments": "first"} } option:

              /*eslint indent: ["error", 2, {"CallExpression": {"arguments": "first"}}]*/
              
              foo(bar, baz,
                  baz, boop, beep);

              ArrayExpression

              Examples of incorrect code for this rule with the 2, { "ArrayExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ArrayExpression": 1 }]*/
              
              var foo = [
                  bar,
              baz,
                    qux
              ];

              Examples of correct code for this rule with the 2, { "ArrayExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ArrayExpression": 1 }]*/
              
              var foo = [
                bar,
                baz,
                qux
              ];

              Examples of incorrect code for this rule with the 2, { "ArrayExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ArrayExpression": "first"}]*/
              
              var foo = [bar,
                baz,
                qux
              ];

              Examples of correct code for this rule with the 2, { "ArrayExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ArrayExpression": "first"}]*/
              
              var foo = [bar,
                         baz,
                         qux
              ];

              ObjectExpression

              Examples of incorrect code for this rule with the 2, { "ObjectExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ObjectExpression": 1 }]*/
              
              var foo = {
                  bar: 1,
              baz: 2,
                    qux: 3
              };

              Examples of correct code for this rule with the 2, { "ObjectExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ObjectExpression": 1 }]*/
              
              var foo = {
                bar: 1,
                baz: 2,
                qux: 3
              };

              Examples of incorrect code for this rule with the 2, { "ObjectExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ObjectExpression": "first"}]*/
              
              var foo = { bar: 1,
                baz: 2 };

              Examples of correct code for this rule with the 2, { "ObjectExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ObjectExpression": "first"}]*/
              
              var foo = { bar: 1,
                          baz: 2 };

              Compatibility

              Parsing error: The keyword 'let' is reserved
              Open

                      let parse_result = parsedStyle;
              Severity: Minor
              Found in src/css_parser.js by eslint

              For more information visit Source: http://eslint.org/docs/rules/

              Expected indentation of 4 spaces but found 3.
              Open

                 "Vue", 
              Severity: Minor
              Found in examples/app.js by eslint

              enforce consistent indentation (indent)

              There are several common guidelines which require specific indentation of nested blocks and statements, like:

              function hello(indentSize, type) {
                  if (indentSize === 4 && type !== 'tab') {
                      console.log('Each next indentation will increase on 4 spaces');
                  }
              }

              These are the most common scenarios recommended in different style guides:

              • Two spaces, not longer and no tabs: Google, npm, Node.js, Idiomatic, Felix
              • Tabs: jQuery
              • Four spaces: Crockford

              Rule Details

              This rule enforces a consistent indentation style. The default style is 4 spaces.

              Options

              This rule has a mixed option:

              For example, for 2-space indentation:

              {
                  "indent": ["error", 2]
              }

              Or for tabbed indentation:

              {
                  "indent": ["error", "tab"]
              }

              Examples of incorrect code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                b=c;
                function foo(d) {
                  e=f;
                }
              }

              Examples of correct code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                  b=c;
                  function foo(d) {
                      e=f;
                  }
              }

              This rule has an object option:

              • "SwitchCase" (default: 0) enforces indentation level for case clauses in switch statements
              • "VariableDeclarator" (default: 1) enforces indentation level for var declarators; can also take an object to define separate rules for var, let and const declarations.
              • "outerIIFEBody" (default: 1) enforces indentation level for file-level IIFEs.
              • "MemberExpression" (off by default) enforces indentation level for multi-line property chains (except in variable declarations and assignments)
              • "FunctionDeclaration" takes an object to define rules for function declarations.
                • parameters (off by default) enforces indentation level for parameters in a function declaration. This can either be a number indicating indentation level, or the string "first" indicating that all parameters of the declaration must be aligned with the first parameter.
                • body (default: 1) enforces indentation level for the body of a function declaration.
              • "FunctionExpression" takes an object to define rules for function expressions.
                • parameters (off by default) enforces indentation level for parameters in a function expression. This can either be a number indicating indentation level, or the string "first" indicating that all parameters of the expression must be aligned with the first parameter.
                • body (default: 1) enforces indentation level for the body of a function expression.
              • "CallExpression" takes an object to define rules for function call expressions.
                • arguments (off by default) enforces indentation level for arguments in a call expression. This can either be a number indicating indentation level, or the string "first" indicating that all arguments of the expression must be aligned with the first argument.
              • "ArrayExpression" (default: 1) enforces indentation level for elements in arrays. It can also be set to the string "first", indicating that all the elements in the array should be aligned with the first element.
              • "ObjectExpression" (default: 1) enforces indentation level for properties in objects. It can be set to the string "first", indicating that all properties in the object should be aligned with the first property.

              Level of indentation denotes the multiple of the indent specified. Example:

              • Indent of 4 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 8 spaces.
              • Indent of 2 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 4 spaces.
              • Indent of 2 spaces with VariableDeclarator set to {"var": 2, "let": 2, "const": 3} will indent the multi-line variable declarations with 4 spaces for var and let, 6 spaces for const statements.
              • Indent of tab with VariableDeclarator set to 2 will indent the multi-line variable declarations with 2 tabs.
              • Indent of 2 spaces with SwitchCase set to 0 will not indent case clauses with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 1 will indent case clauses with 2 spaces with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 2 will indent case clauses with 4 spaces with respect to switch statements.
              • Indent of tab with SwitchCase set to 2 will indent case clauses with 2 tabs with respect to switch statements.
              • Indent of 2 spaces with MemberExpression set to 0 will indent the multi-line property chains with 0 spaces.
              • Indent of 2 spaces with MemberExpression set to 1 will indent the multi-line property chains with 2 spaces.
              • Indent of 2 spaces with MemberExpression set to 2 will indent the multi-line property chains with 4 spaces.
              • Indent of 4 spaces with MemberExpression set to 0 will indent the multi-line property chains with 0 spaces.
              • Indent of 4 spaces with MemberExpression set to 1 will indent the multi-line property chains with 4 spaces.
              • Indent of 4 spaces with MemberExpression set to 2 will indent the multi-line property chains with 8 spaces.

              tab

              Examples of incorrect code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
                   b=c;
              function foo(d) {
                         e=f;
               }
              }

              Examples of correct code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
              /*tab*/b=c;
              /*tab*/function foo(d) {
              /*tab*//*tab*/e=f;
              /*tab*/}
              }

              SwitchCase

              Examples of incorrect code for this rule with the 2, { "SwitchCase": 1 } options:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
              case "a":
                  break;
              case "b":
                  break;
              }

              Examples of correct code for this rule with the 2, { "SwitchCase": 1 } option:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
                case "a":
                  break;
                case "b":
                  break;
              }

              VariableDeclarator

              Examples of incorrect code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                b,
                c;
              let a,
                b,
                c;
              const a = 1,
                b = 2,
                c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 2 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 2 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                    b = 2,
                    c = 3;

              outerIIFEBody

              Examples of incorrect code for this rule with the options 2, { "outerIIFEBody": 0 }:

              /*eslint indent: ["error", 2, { "outerIIFEBody": 0 }]*/
              
              (function() {
              
                function foo(x) {
                  return x + 1;
                }
              
              })();
              
              
              if(y) {
              console.log('foo');
              }

              Examples of correct code for this rule with the options 2, {"outerIIFEBody": 0}:

              /*eslint indent: ["error", 2, { "outerIIFEBody": 0 }]*/
              
              (function() {
              
              function foo(x) {
                return x + 1;
              }
              
              })();
              
              
              if(y) {
                 console.log('foo');
              }

              MemberExpression

              Examples of incorrect code for this rule with the 2, { "MemberExpression": 1 } options:

              /*eslint indent: ["error", 2, { "MemberExpression": 1 }]*/
              
              foo
              .bar
              .baz()

              Examples of correct code for this rule with the 2, { "MemberExpression": 1 } option:

              /*eslint indent: ["error", 2, { "MemberExpression": 1 }]*/
              
              foo
                .bar
                .baz();
              
              // Any indentation is permitted in variable declarations and assignments.
              var bip = aardvark.badger
                                .coyote;

              FunctionDeclaration

              Examples of incorrect code for this rule with the 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} }]*/
              
              function foo(bar,
                baz,
                qux) {
                  qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} }]*/
              
              function foo(bar,
                  baz,
                  qux) {
                qux();
              }

              Examples of incorrect code for this rule with the 2, { "FunctionDeclaration": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionDeclaration": {"parameters": "first"}}]*/
              
              function foo(bar, baz,
                qux, boop) {
                qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionDeclaration": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionDeclaration": {"parameters": "first"}}]*/
              
              function foo(bar, baz,
                           qux, boop) {
                qux();
              }

              FunctionExpression

              Examples of incorrect code for this rule with the 2, { "FunctionExpression": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionExpression": {"body": 1, "parameters": 2} }]*/
              
              var foo = function(bar,
                baz,
                qux) {
                  qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionExpression": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionExpression": {"body": 1, "parameters": 2} }]*/
              
              var foo = function(bar,
                  baz,
                  qux) {
                qux();
              }

              Examples of incorrect code for this rule with the 2, { "FunctionExpression": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionExpression": {"parameters": "first"}}]*/
              
              var foo = function(bar, baz,
                qux, boop) {
                qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionExpression": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionExpression": {"parameters": "first"}}]*/
              
              var foo = function(bar, baz,
                                 qux, boop) {
                qux();
              }

              CallExpression

              Examples of incorrect code for this rule with the 2, { "CallExpression": {"arguments": 1} } option:

              /*eslint indent: ["error", 2, { "CallExpression": {"arguments": 1} }]*/
              
              foo(bar,
                  baz,
                    qux
              );

              Examples of correct code for this rule with the 2, { "CallExpression": {"arguments": 1} } option:

              /*eslint indent: ["error", 2, { "CallExpression": {"arguments": 1} }]*/
              
              foo(bar,
                baz,
                qux
              );

              Examples of incorrect code for this rule with the 2, { "CallExpression": {"arguments": "first"} } option:

              /*eslint indent: ["error", 2, {"CallExpression": {"arguments": "first"}}]*/
              
              foo(bar, baz,
                baz, boop, beep);

              Examples of correct code for this rule with the 2, { "CallExpression": {"arguments": "first"} } option:

              /*eslint indent: ["error", 2, {"CallExpression": {"arguments": "first"}}]*/
              
              foo(bar, baz,
                  baz, boop, beep);

              ArrayExpression

              Examples of incorrect code for this rule with the 2, { "ArrayExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ArrayExpression": 1 }]*/
              
              var foo = [
                  bar,
              baz,
                    qux
              ];

              Examples of correct code for this rule with the 2, { "ArrayExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ArrayExpression": 1 }]*/
              
              var foo = [
                bar,
                baz,
                qux
              ];

              Examples of incorrect code for this rule with the 2, { "ArrayExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ArrayExpression": "first"}]*/
              
              var foo = [bar,
                baz,
                qux
              ];

              Examples of correct code for this rule with the 2, { "ArrayExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ArrayExpression": "first"}]*/
              
              var foo = [bar,
                         baz,
                         qux
              ];

              ObjectExpression

              Examples of incorrect code for this rule with the 2, { "ObjectExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ObjectExpression": 1 }]*/
              
              var foo = {
                  bar: 1,
              baz: 2,
                    qux: 3
              };

              Examples of correct code for this rule with the 2, { "ObjectExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ObjectExpression": 1 }]*/
              
              var foo = {
                bar: 1,
                baz: 2,
                qux: 3
              };

              Examples of incorrect code for this rule with the 2, { "ObjectExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ObjectExpression": "first"}]*/
              
              var foo = { bar: 1,
                baz: 2 };

              Examples of correct code for this rule with the 2, { "ObjectExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ObjectExpression": "first"}]*/
              
              var foo = { bar: 1,
                          baz: 2 };

              Compatibility

              Parsing error: Unexpected token )
              Open

                      data: () => ({
              Severity: Minor
              Found in examples/js_in_different_file.js by eslint

              For more information visit Source: http://eslint.org/docs/rules/

              Expected indentation of 0 spaces but found 3.
              Open

                 ], function(Vue, comp){
              Severity: Minor
              Found in examples/app.js by eslint

              enforce consistent indentation (indent)

              There are several common guidelines which require specific indentation of nested blocks and statements, like:

              function hello(indentSize, type) {
                  if (indentSize === 4 && type !== 'tab') {
                      console.log('Each next indentation will increase on 4 spaces');
                  }
              }

              These are the most common scenarios recommended in different style guides:

              • Two spaces, not longer and no tabs: Google, npm, Node.js, Idiomatic, Felix
              • Tabs: jQuery
              • Four spaces: Crockford

              Rule Details

              This rule enforces a consistent indentation style. The default style is 4 spaces.

              Options

              This rule has a mixed option:

              For example, for 2-space indentation:

              {
                  "indent": ["error", 2]
              }

              Or for tabbed indentation:

              {
                  "indent": ["error", "tab"]
              }

              Examples of incorrect code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                b=c;
                function foo(d) {
                  e=f;
                }
              }

              Examples of correct code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                  b=c;
                  function foo(d) {
                      e=f;
                  }
              }

              This rule has an object option:

              • "SwitchCase" (default: 0) enforces indentation level for case clauses in switch statements
              • "VariableDeclarator" (default: 1) enforces indentation level for var declarators; can also take an object to define separate rules for var, let and const declarations.
              • "outerIIFEBody" (default: 1) enforces indentation level for file-level IIFEs.
              • "MemberExpression" (off by default) enforces indentation level for multi-line property chains (except in variable declarations and assignments)
              • "FunctionDeclaration" takes an object to define rules for function declarations.
                • parameters (off by default) enforces indentation level for parameters in a function declaration. This can either be a number indicating indentation level, or the string "first" indicating that all parameters of the declaration must be aligned with the first parameter.
                • body (default: 1) enforces indentation level for the body of a function declaration.
              • "FunctionExpression" takes an object to define rules for function expressions.
                • parameters (off by default) enforces indentation level for parameters in a function expression. This can either be a number indicating indentation level, or the string "first" indicating that all parameters of the expression must be aligned with the first parameter.
                • body (default: 1) enforces indentation level for the body of a function expression.
              • "CallExpression" takes an object to define rules for function call expressions.
                • arguments (off by default) enforces indentation level for arguments in a call expression. This can either be a number indicating indentation level, or the string "first" indicating that all arguments of the expression must be aligned with the first argument.
              • "ArrayExpression" (default: 1) enforces indentation level for elements in arrays. It can also be set to the string "first", indicating that all the elements in the array should be aligned with the first element.
              • "ObjectExpression" (default: 1) enforces indentation level for properties in objects. It can be set to the string "first", indicating that all properties in the object should be aligned with the first property.

              Level of indentation denotes the multiple of the indent specified. Example:

              • Indent of 4 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 8 spaces.
              • Indent of 2 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 4 spaces.
              • Indent of 2 spaces with VariableDeclarator set to {"var": 2, "let": 2, "const": 3} will indent the multi-line variable declarations with 4 spaces for var and let, 6 spaces for const statements.
              • Indent of tab with VariableDeclarator set to 2 will indent the multi-line variable declarations with 2 tabs.
              • Indent of 2 spaces with SwitchCase set to 0 will not indent case clauses with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 1 will indent case clauses with 2 spaces with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 2 will indent case clauses with 4 spaces with respect to switch statements.
              • Indent of tab with SwitchCase set to 2 will indent case clauses with 2 tabs with respect to switch statements.
              • Indent of 2 spaces with MemberExpression set to 0 will indent the multi-line property chains with 0 spaces.
              • Indent of 2 spaces with MemberExpression set to 1 will indent the multi-line property chains with 2 spaces.
              • Indent of 2 spaces with MemberExpression set to 2 will indent the multi-line property chains with 4 spaces.
              • Indent of 4 spaces with MemberExpression set to 0 will indent the multi-line property chains with 0 spaces.
              • Indent of 4 spaces with MemberExpression set to 1 will indent the multi-line property chains with 4 spaces.
              • Indent of 4 spaces with MemberExpression set to 2 will indent the multi-line property chains with 8 spaces.

              tab

              Examples of incorrect code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
                   b=c;
              function foo(d) {
                         e=f;
               }
              }

              Examples of correct code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
              /*tab*/b=c;
              /*tab*/function foo(d) {
              /*tab*//*tab*/e=f;
              /*tab*/}
              }

              SwitchCase

              Examples of incorrect code for this rule with the 2, { "SwitchCase": 1 } options:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
              case "a":
                  break;
              case "b":
                  break;
              }

              Examples of correct code for this rule with the 2, { "SwitchCase": 1 } option:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
                case "a":
                  break;
                case "b":
                  break;
              }

              VariableDeclarator

              Examples of incorrect code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                b,
                c;
              let a,
                b,
                c;
              const a = 1,
                b = 2,
                c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 2 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 2 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                    b = 2,
                    c = 3;

              outerIIFEBody

              Examples of incorrect code for this rule with the options 2, { "outerIIFEBody": 0 }:

              /*eslint indent: ["error", 2, { "outerIIFEBody": 0 }]*/
              
              (function() {
              
                function foo(x) {
                  return x + 1;
                }
              
              })();
              
              
              if(y) {
              console.log('foo');
              }

              Examples of correct code for this rule with the options 2, {"outerIIFEBody": 0}:

              /*eslint indent: ["error", 2, { "outerIIFEBody": 0 }]*/
              
              (function() {
              
              function foo(x) {
                return x + 1;
              }
              
              })();
              
              
              if(y) {
                 console.log('foo');
              }

              MemberExpression

              Examples of incorrect code for this rule with the 2, { "MemberExpression": 1 } options:

              /*eslint indent: ["error", 2, { "MemberExpression": 1 }]*/
              
              foo
              .bar
              .baz()

              Examples of correct code for this rule with the 2, { "MemberExpression": 1 } option:

              /*eslint indent: ["error", 2, { "MemberExpression": 1 }]*/
              
              foo
                .bar
                .baz();
              
              // Any indentation is permitted in variable declarations and assignments.
              var bip = aardvark.badger
                                .coyote;

              FunctionDeclaration

              Examples of incorrect code for this rule with the 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} }]*/
              
              function foo(bar,
                baz,
                qux) {
                  qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionDeclaration": {"body": 1, "parameters": 2} }]*/
              
              function foo(bar,
                  baz,
                  qux) {
                qux();
              }

              Examples of incorrect code for this rule with the 2, { "FunctionDeclaration": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionDeclaration": {"parameters": "first"}}]*/
              
              function foo(bar, baz,
                qux, boop) {
                qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionDeclaration": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionDeclaration": {"parameters": "first"}}]*/
              
              function foo(bar, baz,
                           qux, boop) {
                qux();
              }

              FunctionExpression

              Examples of incorrect code for this rule with the 2, { "FunctionExpression": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionExpression": {"body": 1, "parameters": 2} }]*/
              
              var foo = function(bar,
                baz,
                qux) {
                  qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionExpression": {"body": 1, "parameters": 2} } option:

              /*eslint indent: ["error", 2, { "FunctionExpression": {"body": 1, "parameters": 2} }]*/
              
              var foo = function(bar,
                  baz,
                  qux) {
                qux();
              }

              Examples of incorrect code for this rule with the 2, { "FunctionExpression": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionExpression": {"parameters": "first"}}]*/
              
              var foo = function(bar, baz,
                qux, boop) {
                qux();
              }

              Examples of correct code for this rule with the 2, { "FunctionExpression": {"parameters": "first"} } option:

              /*eslint indent: ["error", 2, {"FunctionExpression": {"parameters": "first"}}]*/
              
              var foo = function(bar, baz,
                                 qux, boop) {
                qux();
              }

              CallExpression

              Examples of incorrect code for this rule with the 2, { "CallExpression": {"arguments": 1} } option:

              /*eslint indent: ["error", 2, { "CallExpression": {"arguments": 1} }]*/
              
              foo(bar,
                  baz,
                    qux
              );

              Examples of correct code for this rule with the 2, { "CallExpression": {"arguments": 1} } option:

              /*eslint indent: ["error", 2, { "CallExpression": {"arguments": 1} }]*/
              
              foo(bar,
                baz,
                qux
              );

              Examples of incorrect code for this rule with the 2, { "CallExpression": {"arguments": "first"} } option:

              /*eslint indent: ["error", 2, {"CallExpression": {"arguments": "first"}}]*/
              
              foo(bar, baz,
                baz, boop, beep);

              Examples of correct code for this rule with the 2, { "CallExpression": {"arguments": "first"} } option:

              /*eslint indent: ["error", 2, {"CallExpression": {"arguments": "first"}}]*/
              
              foo(bar, baz,
                  baz, boop, beep);

              ArrayExpression

              Examples of incorrect code for this rule with the 2, { "ArrayExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ArrayExpression": 1 }]*/
              
              var foo = [
                  bar,
              baz,
                    qux
              ];

              Examples of correct code for this rule with the 2, { "ArrayExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ArrayExpression": 1 }]*/
              
              var foo = [
                bar,
                baz,
                qux
              ];

              Examples of incorrect code for this rule with the 2, { "ArrayExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ArrayExpression": "first"}]*/
              
              var foo = [bar,
                baz,
                qux
              ];

              Examples of correct code for this rule with the 2, { "ArrayExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ArrayExpression": "first"}]*/
              
              var foo = [bar,
                         baz,
                         qux
              ];

              ObjectExpression

              Examples of incorrect code for this rule with the 2, { "ObjectExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ObjectExpression": 1 }]*/
              
              var foo = {
                  bar: 1,
              baz: 2,
                    qux: 3
              };

              Examples of correct code for this rule with the 2, { "ObjectExpression": 1 } option:

              /*eslint indent: ["error", 2, { "ObjectExpression": 1 }]*/
              
              var foo = {
                bar: 1,
                baz: 2,
                qux: 3
              };

              Examples of incorrect code for this rule with the 2, { "ObjectExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ObjectExpression": "first"}]*/
              
              var foo = { bar: 1,
                baz: 2 };

              Examples of correct code for this rule with the 2, { "ObjectExpression": "first" } option:

              /*eslint indent: ["error", 2, {"ObjectExpression": "first"}]*/
              
              var foo = { bar: 1,
                          baz: 2 };

              Compatibility

              Severity
              Category
              Status
              Source
              Language