cBioPortal/iViz

View on GitHub
app/scripts/views/mainTemplate.js

Summary

Maintainability
F
5 days
Test Coverage

File mainTemplate.js has 392 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/**
 * Created by Karthik Kalletla on 4/13/16.
 */
'use strict';
(function(Vue, dc, iViz, Packery, Draggabilly, _) {
Severity: Minor
Found in app/scripts/views/mainTemplate.js - About 5 hrs to fix

    Function update-all-filters has 87 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

          'update-all-filters': function(updateType_) {
            var _selectedCasesByFilters = [];
            var _counterSelectedCasesByFilters = [];
            var self_ = this;
            var _hasFilters = false;
    Severity: Major
    Found in app/scripts/views/mainTemplate.js - About 3 hrs to fix

      Function getLayoutMatrix has 63 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

            getLayoutMatrix: function(layoutMatrix, chart) {
              var self_ = this;
              var neighborIndex;
              var foundSpace = false;
              var layout = chart.layout;
      Severity: Major
      Found in app/scripts/views/mainTemplate.js - About 2 hrs to fix

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

              updateLayoutMatrix: function() {
                var self_ = this;
                var _charts = _.values(this.$root.charts);
                _charts.sort(function(a, b) {
                  return iViz.priorityManager.comparePriorities(a.priority, b.priority, false);
        Severity: Minor
        Found in app/scripts/views/mainTemplate.js - About 1 hr to fix

          Function updateGrid has 33 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                updateGrid: function(ChartsIds) {
                  var self_ = this;
                  if (this.grid_ === '') {
                    self_.grid_ = new Packery(document.querySelector('.grid'), {
                      itemSelector: '.grid-item',
          Severity: Minor
          Found in app/scripts/views/mainTemplate.js - About 1 hr to fix

            Avoid deeply nested control flow statements.
            Open

                              if (_matrixIndex === _matrix.length - 1) {
                                layoutItem.notFull = false;
                              }
            Severity: Major
            Found in app/scripts/views/mainTemplate.js - About 45 mins to fix

              Avoid deeply nested control flow statements.
              Open

                              if (item === -1 && _matrix[0] === -1 && _matrix[1] === -1 && _matrix[2] === -1 && _matrix[3] === -1) {
                                // Found a place for chart
                                _matrix = [chart.attr_id, chart.attr_id, chart.attr_id, chart.attr_id];
                                layoutItem.notFull = false;
                                foundSpace = true;
              Severity: Major
              Found in app/scripts/views/mainTemplate.js - About 45 mins to fix

                Unexpected trailing comma.
                Open

                      },
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                require or disallow trailing commas (comma-dangle)

                (fixable) The --fix option on the [command line](../user-guide/command-line-interface#fix) automatically fixes problems reported by this rule.

                Trailing commas in object literals are valid according to the ECMAScript 5 (and ECMAScript 3!) spec. However, IE8 (when not in IE8 document mode) and below will throw an error when it encounters trailing commas in JavaScript.

                var foo = {
                    bar: "baz",
                    qux: "quux",
                };

                Trailing commas simplify adding and removing items to objects and arrays, since only the lines you are modifying must be touched. Another argument in favor of trailing commas is that it improves the clarity of diffs when an item is added or removed from an object or array:

                Less clear:

                var foo = {
                -    bar: "baz",
                -    qux: "quux"
                +    bar: "baz"
                 };

                More clear:

                var foo = {
                     bar: "baz",
                -    qux: "quux",
                 };

                Rule Details

                This rule enforces consistent use of trailing commas in object and array literals.

                Options

                This rule has a string option:

                • "never" (default) disallows trailing commas
                • "always" requires trailing commas
                • "always-multiline" requires trailing commas when the last element or property is in a different line than the closing ] or } and disallows trailing commas when the last element or property is on the same line as the closing ] or }
                • "only-multiline" allows (but does not require) trailing commas when the last element or property is in a different line than the closing ] or } and disallows trailing commas when the last element or property is on the same line as the closing ] or }

                never

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

                /*eslint comma-dangle: ["error", "never"]*/
                
                var foo = {
                    bar: "baz",
                    qux: "quux",
                };
                
                var arr = [1,2,];
                
                foo({
                  bar: "baz",
                  qux: "quux",
                });

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

                /*eslint comma-dangle: ["error", "never"]*/
                
                var foo = {
                    bar: "baz",
                    qux: "quux"
                };
                
                var arr = [1,2];
                
                foo({
                  bar: "baz",
                  qux: "quux"
                });

                always

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

                /*eslint comma-dangle: ["error", "always"]*/
                
                var foo = {
                    bar: "baz",
                    qux: "quux"
                };
                
                var arr = [1,2];
                
                foo({
                  bar: "baz",
                  qux: "quux"
                });

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

                /*eslint comma-dangle: ["error", "always"]*/
                
                var foo = {
                    bar: "baz",
                    qux: "quux",
                };
                
                var arr = [1,2,];
                
                foo({
                  bar: "baz",
                  qux: "quux",
                });

                always-multiline

                Examples of incorrect code for this rule with the "always-multiline" option:

                /*eslint comma-dangle: ["error", "always-multiline"]*/
                
                var foo = {
                    bar: "baz",
                    qux: "quux"
                };
                
                var foo = { bar: "baz", qux: "quux", };
                
                var arr = [1,2,];
                
                var arr = [1,
                    2,];
                
                var arr = [
                    1,
                    2
                ];
                
                foo({
                  bar: "baz",
                  qux: "quux"
                });

                Examples of correct code for this rule with the "always-multiline" option:

                /*eslint comma-dangle: ["error", "always-multiline"]*/
                
                var foo = {
                    bar: "baz",
                    qux: "quux",
                };
                
                var foo = {bar: "baz", qux: "quux"};
                var arr = [1,2];
                
                var arr = [1,
                    2];
                
                var arr = [
                    1,
                    2,
                ];
                
                foo({
                  bar: "baz",
                  qux: "quux",
                });

                only-multiline

                Examples of incorrect code for this rule with the "only-multiline" option:

                /*eslint comma-dangle: ["error", "only-multiline"]*/
                
                var foo = { bar: "baz", qux: "quux", };
                
                var arr = [1,2,];
                
                var arr = [1,
                    2,];

                Examples of correct code for this rule with the "only-multiline" option:

                /*eslint comma-dangle: ["error", "only-multiline"]*/
                
                var foo = {
                    bar: "baz",
                    qux: "quux",
                };
                
                var foo = {
                    bar: "baz",
                    qux: "quux"
                };
                
                var foo = {bar: "baz", qux: "quux"};
                var arr = [1,2];
                
                var arr = [1,
                    2];
                
                var arr = [
                    1,
                    2,
                ];
                
                var arr = [
                    1,
                    2
                ];
                
                foo({
                  bar: "baz",
                  qux: "quux",
                });
                
                foo({
                  bar: "baz",
                  qux: "quux"
                });

                When Not To Use It

                You can turn this rule off if you are not concerned with dangling commas. Source: http://eslint.org/docs/rules/

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

                        if (self_.grid_ === '') {
                          self_.grid_ = new Packery(document.querySelector('.grid'), {
                            itemSelector: '.grid-item',
                            columnWidth: window.iViz.styles.vars.width.one + 5,
                            rowHeight: window.iViz.styles.vars.height.one + 5,
                Severity: Major
                Found in app/scripts/views/mainTemplate.js and 1 other location - About 1 day to fix
                app/scripts/views/mainTemplate.js on lines 73..104

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

                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

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

                        if (this.grid_ === '') {
                          self_.grid_ = new Packery(document.querySelector('.grid'), {
                            itemSelector: '.grid-item',
                            columnWidth: window.iViz.styles.vars.width.one + 5,
                            rowHeight: window.iViz.styles.vars.height.one + 5,
                Severity: Major
                Found in app/scripts/views/mainTemplate.js and 1 other location - About 1 day to fix
                app/scripts/views/mainTemplate.js on lines 256..275

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

                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

                          _.each(group, function(item) {
                            if (item) {
                              for (var j = 0; j < 2; j++) {
                                layoutB.push(item.matrix[j]);
                              }
                Severity: Major
                Found in app/scripts/views/mainTemplate.js and 1 other location - About 1 hr to fix
                app/scripts/views/mainTemplate.js on lines 151..157

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

                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

                          _.each(group, function(item) {
                            if (item) {
                              for (var j = 2; j < 4; j++) {
                                layoutB.push(item.matrix[j]);
                              }
                Severity: Major
                Found in app/scripts/views/mainTemplate.js and 1 other location - About 1 hr to fix
                app/scripts/views/mainTemplate.js on lines 143..149

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

                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

                        if (updateType_ === 'patient') {
                          self_.selectedPatientsByFilters = _selectedCasesByFilters;
                          // _selectedCasesByFilters = _selectedCasesByFilters.length === 0 ?
                          //   self_.completePatientsList : _selectedCasesByFilters;
                          _counterSelectedCasesByFilters =
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js and 1 other location - About 55 mins to fix
                app/scripts/views/mainTemplate.js on lines 360..367

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

                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

                        } else {
                          self_.selectedSamplesByFilters = _selectedCasesByFilters;
                          // _selectedCasesByFilters = _selectedCasesByFilters.length === 0 ?
                          //   self_.completeSamplesList : _selectedCasesByFilters;
                          _counterSelectedCasesByFilters =
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js and 1 other location - About 55 mins to fix
                app/scripts/views/mainTemplate.js on lines 353..360

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

                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

                Line 11 exceeds the maximum line length of 80.
                Open

                    ' v-for="group in groups" :showed-survival-plot="showedSurvivalPlot"></chart-group> ',
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                enforce a maximum line length (max-len)

                Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

                Rule Details

                This rule enforces a maximum line length to increase code readability and maintainability.

                Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

                Options

                This rule has a number or object option:

                • "code" (default 80) enforces a maximum line length
                • "tabWidth" (default 4) specifies the character width for tab characters
                • "comments" enforces a maximum line length for comments; defaults to value of code
                • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
                • "ignoreComments": true ignores all trailing comments and comments on their own line
                • "ignoreTrailingComments": true ignores only trailing comments
                • "ignoreUrls": true ignores lines that contain a URL

                code

                Examples of incorrect code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

                Examples of correct code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = {
                  "bar": "This is a bar.",
                  "baz": { "qux": "This is a qux" },
                  "easier": "to read"
                };

                tabWidth

                Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

                Examples of correct code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = {
                \t  \t  \t  \t  "bar": "This is a bar.",
                \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
                \t  \t  };

                comments

                Examples of incorrect code for this rule with the { "comments": 65 } option:

                /*eslint max-len: ["error", { "comments": 65 }]*/
                
                /**
                 * This is a comment that violates the maximum line length we have specified
                **/

                ignoreComments

                Examples of correct code for this rule with the { "ignoreComments": true } option:

                /*eslint max-len: ["error", { "ignoreComments": true }]*/
                
                /**
                 * This is a really really really really really really really really really long comment
                **/

                ignoreTrailingComments

                Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

                /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
                
                var foo = 'bar'; // This is a really really really really really really really long comment

                ignoreUrls

                Examples of correct code for this rule with the { "ignoreUrls": true } option:

                /*eslint max-len: ["error", { "ignoreUrls": true }]*/
                
                var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

                ignorePattern

                Examples of correct code for this rule with the { "ignorePattern": true } option:

                /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
                
                var dep = require('really/really/really/really/really/really/really/really/long/module');

                Related Rules

                • [complexity](complexity.md)
                • [max-depth](max-depth.md)
                • [max-nested-callbacks](max-nested-callbacks.md)
                • [max-params](max-params.md)
                • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

                Line 111 exceeds the maximum line length of 80.
                Open

                          return iViz.priorityManager.comparePriorities(a.priority, b.priority, false);
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                enforce a maximum line length (max-len)

                Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

                Rule Details

                This rule enforces a maximum line length to increase code readability and maintainability.

                Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

                Options

                This rule has a number or object option:

                • "code" (default 80) enforces a maximum line length
                • "tabWidth" (default 4) specifies the character width for tab characters
                • "comments" enforces a maximum line length for comments; defaults to value of code
                • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
                • "ignoreComments": true ignores all trailing comments and comments on their own line
                • "ignoreTrailingComments": true ignores only trailing comments
                • "ignoreUrls": true ignores lines that contain a URL

                code

                Examples of incorrect code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

                Examples of correct code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = {
                  "bar": "This is a bar.",
                  "baz": { "qux": "This is a qux" },
                  "easier": "to read"
                };

                tabWidth

                Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

                Examples of correct code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = {
                \t  \t  \t  \t  "bar": "This is a bar.",
                \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
                \t  \t  };

                comments

                Examples of incorrect code for this rule with the { "comments": 65 } option:

                /*eslint max-len: ["error", { "comments": 65 }]*/
                
                /**
                 * This is a comment that violates the maximum line length we have specified
                **/

                ignoreComments

                Examples of correct code for this rule with the { "ignoreComments": true } option:

                /*eslint max-len: ["error", { "ignoreComments": true }]*/
                
                /**
                 * This is a really really really really really really really really really long comment
                **/

                ignoreTrailingComments

                Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

                /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
                
                var foo = 'bar'; // This is a really really really really really really really long comment

                ignoreUrls

                Examples of correct code for this rule with the { "ignoreUrls": true } option:

                /*eslint max-len: ["error", { "ignoreUrls": true }]*/
                
                var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

                ignorePattern

                Examples of correct code for this rule with the { "ignorePattern": true } option:

                /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
                
                var dep = require('really/really/really/really/really/really/really/really/long/module');

                Related Rules

                • [complexity](complexity.md)
                • [max-depth](max-depth.md)
                • [max-nested-callbacks](max-nested-callbacks.md)
                • [max-params](max-params.md)
                • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

                Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.
                Open

                        this.grid_.layout();}
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                Require Brace Style (brace-style)

                Brace style is closely related to indent style in programming and describes the placement of braces relative to their control statement and body. There are probably a dozen, if not more, brace styles in the world.

                The one true brace style is one of the most common brace styles in JavaScript, in which the opening brace of a block is placed on the same line as its corresponding statement or declaration. For example:

                if (foo) {
                  bar();
                } else {
                  baz();
                }

                One common variant of one true brace style is called Stroustrup, in which the else statements in an if-else construct, as well as catch and finally, must be on its own line after the preceding closing brace. For example:

                if (foo) {
                  bar();
                }
                else {
                  baz();
                }

                Another style is called Allman, in which all the braces are expected to be on their own lines without any extra indentation. For example:

                if (foo)
                {
                  bar();
                }
                else
                {
                  baz();
                }

                While no style is considered better than the other, most developers agree that having a consistent style throughout a project is important for its long-term maintainability.

                Rule Details

                This rule enforces consistent brace style for blocks.

                Options

                This rule has a string option:

                • "1tbs" (default) enforces one true brace style
                • "stroustrup" enforces Stroustrup style
                • "allman" enforces Allman style

                This rule has an object option for an exception:

                • "allowSingleLine": true (default false) allows the opening and closing braces for a block to be on the same line

                1tbs

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

                /*eslint brace-style: "error"*/
                
                function foo()
                {
                  return true;
                }
                
                if (foo)
                {
                  bar();
                }
                
                try
                {
                  somethingRisky();
                } catch(e)
                {
                  handleError();
                }
                
                if (foo) {
                  bar();
                }
                else {
                  baz();
                }

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

                /*eslint brace-style: "error"*/
                
                function foo() {
                  return true;
                }
                
                if (foo) {
                  bar();
                }
                
                if (foo) {
                  bar();
                } else {
                  baz();
                }
                
                try {
                  somethingRisky();
                } catch(e) {
                  handleError();
                }
                
                // when there are no braces, there are no problems
                if (foo) bar();
                else if (baz) boom();

                Examples of correct code for this rule with the "1tbs", { "allowSingleLine": true } options:

                /*eslint brace-style: ["error", "1tbs", { "allowSingleLine": true }]*/
                
                function nop() { return; }
                
                if (foo) { bar(); }
                
                if (foo) { bar(); } else { baz(); }
                
                try { somethingRisky(); } catch(e) { handleError(); }

                stroustrup

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

                /*eslint brace-style: ["error", "stroustrup"]*/
                
                function foo()
                {
                  return true;
                }
                
                if (foo)
                {
                  bar();
                }
                
                try
                {
                  somethingRisky();
                } catch(e)
                {
                  handleError();
                }
                
                if (foo) {
                  bar();
                } else {
                  baz();
                }

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

                /*eslint brace-style: ["error", "stroustrup"]*/
                
                function foo() {
                  return true;
                }
                
                if (foo) {
                  bar();
                }
                
                if (foo) {
                  bar();
                }
                else {
                  baz();
                }
                
                try {
                  somethingRisky();
                }
                catch(e) {
                  handleError();
                }
                
                // when there are no braces, there are no problems
                if (foo) bar();
                else if (baz) boom();

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

                /*eslint brace-style: ["error", "stroustrup", { "allowSingleLine": true }]*/
                
                function nop() { return; }
                
                if (foo) { bar(); }
                
                if (foo) { bar(); }
                else { baz(); }
                
                try { somethingRisky(); }
                catch(e) { handleError(); }

                allman

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

                /*eslint brace-style: ["error", "allman"]*/
                
                function foo() {
                  return true;
                }
                
                if (foo)
                {
                  bar(); }
                
                try
                {
                  somethingRisky();
                } catch(e)
                {
                  handleError();
                }
                
                if (foo) {
                  bar();
                } else {
                  baz();
                }

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

                /*eslint brace-style: ["error", "allman"]*/
                
                function foo()
                {
                  return true;
                }
                
                if (foo)
                {
                  bar();
                }
                
                if (foo)
                {
                  bar();
                }
                else
                {
                  baz();
                }
                
                try
                {
                  somethingRisky();
                }
                catch(e)
                {
                  handleError();
                }
                
                // when there are no braces, there are no problems
                if (foo) bar();
                else if (baz) boom();

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

                /*eslint brace-style: ["error", "allman", { "allowSingleLine": true }]*/
                
                function nop() { return; }
                
                if (foo) { bar(); }
                
                if (foo) { bar(); }
                else { baz(); }
                
                try { somethingRisky(); }
                catch(e) { handleError(); }

                When Not To Use It

                If your project will not be using the one true brace style, turn this rule off.

                Further Reading

                Statement inside of curly braces should be on next line.
                Open

                        if (_.isObject(this.grid_)) {this.grid_.items.sort(this.sortByNumber);
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                Require Brace Style (brace-style)

                Brace style is closely related to indent style in programming and describes the placement of braces relative to their control statement and body. There are probably a dozen, if not more, brace styles in the world.

                The one true brace style is one of the most common brace styles in JavaScript, in which the opening brace of a block is placed on the same line as its corresponding statement or declaration. For example:

                if (foo) {
                  bar();
                } else {
                  baz();
                }

                One common variant of one true brace style is called Stroustrup, in which the else statements in an if-else construct, as well as catch and finally, must be on its own line after the preceding closing brace. For example:

                if (foo) {
                  bar();
                }
                else {
                  baz();
                }

                Another style is called Allman, in which all the braces are expected to be on their own lines without any extra indentation. For example:

                if (foo)
                {
                  bar();
                }
                else
                {
                  baz();
                }

                While no style is considered better than the other, most developers agree that having a consistent style throughout a project is important for its long-term maintainability.

                Rule Details

                This rule enforces consistent brace style for blocks.

                Options

                This rule has a string option:

                • "1tbs" (default) enforces one true brace style
                • "stroustrup" enforces Stroustrup style
                • "allman" enforces Allman style

                This rule has an object option for an exception:

                • "allowSingleLine": true (default false) allows the opening and closing braces for a block to be on the same line

                1tbs

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

                /*eslint brace-style: "error"*/
                
                function foo()
                {
                  return true;
                }
                
                if (foo)
                {
                  bar();
                }
                
                try
                {
                  somethingRisky();
                } catch(e)
                {
                  handleError();
                }
                
                if (foo) {
                  bar();
                }
                else {
                  baz();
                }

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

                /*eslint brace-style: "error"*/
                
                function foo() {
                  return true;
                }
                
                if (foo) {
                  bar();
                }
                
                if (foo) {
                  bar();
                } else {
                  baz();
                }
                
                try {
                  somethingRisky();
                } catch(e) {
                  handleError();
                }
                
                // when there are no braces, there are no problems
                if (foo) bar();
                else if (baz) boom();

                Examples of correct code for this rule with the "1tbs", { "allowSingleLine": true } options:

                /*eslint brace-style: ["error", "1tbs", { "allowSingleLine": true }]*/
                
                function nop() { return; }
                
                if (foo) { bar(); }
                
                if (foo) { bar(); } else { baz(); }
                
                try { somethingRisky(); } catch(e) { handleError(); }

                stroustrup

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

                /*eslint brace-style: ["error", "stroustrup"]*/
                
                function foo()
                {
                  return true;
                }
                
                if (foo)
                {
                  bar();
                }
                
                try
                {
                  somethingRisky();
                } catch(e)
                {
                  handleError();
                }
                
                if (foo) {
                  bar();
                } else {
                  baz();
                }

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

                /*eslint brace-style: ["error", "stroustrup"]*/
                
                function foo() {
                  return true;
                }
                
                if (foo) {
                  bar();
                }
                
                if (foo) {
                  bar();
                }
                else {
                  baz();
                }
                
                try {
                  somethingRisky();
                }
                catch(e) {
                  handleError();
                }
                
                // when there are no braces, there are no problems
                if (foo) bar();
                else if (baz) boom();

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

                /*eslint brace-style: ["error", "stroustrup", { "allowSingleLine": true }]*/
                
                function nop() { return; }
                
                if (foo) { bar(); }
                
                if (foo) { bar(); }
                else { baz(); }
                
                try { somethingRisky(); }
                catch(e) { handleError(); }

                allman

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

                /*eslint brace-style: ["error", "allman"]*/
                
                function foo() {
                  return true;
                }
                
                if (foo)
                {
                  bar(); }
                
                try
                {
                  somethingRisky();
                } catch(e)
                {
                  handleError();
                }
                
                if (foo) {
                  bar();
                } else {
                  baz();
                }

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

                /*eslint brace-style: ["error", "allman"]*/
                
                function foo()
                {
                  return true;
                }
                
                if (foo)
                {
                  bar();
                }
                
                if (foo)
                {
                  bar();
                }
                else
                {
                  baz();
                }
                
                try
                {
                  somethingRisky();
                }
                catch(e)
                {
                  handleError();
                }
                
                // when there are no braces, there are no problems
                if (foo) bar();
                else if (baz) boom();

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

                /*eslint brace-style: ["error", "allman", { "allowSingleLine": true }]*/
                
                function nop() { return; }
                
                if (foo) { bar(); }
                
                if (foo) { bar(); }
                else { baz(); }
                
                try { somethingRisky(); }
                catch(e) { handleError(); }

                When Not To Use It

                If your project will not be using the one true brace style, turn this rule off.

                Further Reading

                Line 218 exceeds the maximum line length of 80.
                Open

                                if (item === -1 && _matrix[0] === -1 && _matrix[1] === -1 && _matrix[2] === -1 && _matrix[3] === -1) {
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                enforce a maximum line length (max-len)

                Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

                Rule Details

                This rule enforces a maximum line length to increase code readability and maintainability.

                Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

                Options

                This rule has a number or object option:

                • "code" (default 80) enforces a maximum line length
                • "tabWidth" (default 4) specifies the character width for tab characters
                • "comments" enforces a maximum line length for comments; defaults to value of code
                • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
                • "ignoreComments": true ignores all trailing comments and comments on their own line
                • "ignoreTrailingComments": true ignores only trailing comments
                • "ignoreUrls": true ignores lines that contain a URL

                code

                Examples of incorrect code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

                Examples of correct code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = {
                  "bar": "This is a bar.",
                  "baz": { "qux": "This is a qux" },
                  "easier": "to read"
                };

                tabWidth

                Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

                Examples of correct code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = {
                \t  \t  \t  \t  "bar": "This is a bar.",
                \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
                \t  \t  };

                comments

                Examples of incorrect code for this rule with the { "comments": 65 } option:

                /*eslint max-len: ["error", { "comments": 65 }]*/
                
                /**
                 * This is a comment that violates the maximum line length we have specified
                **/

                ignoreComments

                Examples of correct code for this rule with the { "ignoreComments": true } option:

                /*eslint max-len: ["error", { "ignoreComments": true }]*/
                
                /**
                 * This is a really really really really really really really really really long comment
                **/

                ignoreTrailingComments

                Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

                /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
                
                var foo = 'bar'; // This is a really really really really really really really long comment

                ignoreUrls

                Examples of correct code for this rule with the { "ignoreUrls": true } option:

                /*eslint max-len: ["error", { "ignoreUrls": true }]*/
                
                var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

                ignorePattern

                Examples of correct code for this rule with the { "ignorePattern": true } option:

                /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
                
                var dep = require('really/really/really/really/really/really/really/really/long/module');

                Related Rules

                • [complexity](complexity.md)
                • [max-depth](max-depth.md)
                • [max-nested-callbacks](max-nested-callbacks.md)
                • [max-params](max-params.md)
                • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

                Line 220 exceeds the maximum line length of 80.
                Open

                                  _matrix = [chart.attr_id, chart.attr_id, chart.attr_id, chart.attr_id];
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                enforce a maximum line length (max-len)

                Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

                Rule Details

                This rule enforces a maximum line length to increase code readability and maintainability.

                Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

                Options

                This rule has a number or object option:

                • "code" (default 80) enforces a maximum line length
                • "tabWidth" (default 4) specifies the character width for tab characters
                • "comments" enforces a maximum line length for comments; defaults to value of code
                • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
                • "ignoreComments": true ignores all trailing comments and comments on their own line
                • "ignoreTrailingComments": true ignores only trailing comments
                • "ignoreUrls": true ignores lines that contain a URL

                code

                Examples of incorrect code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

                Examples of correct code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = {
                  "bar": "This is a bar.",
                  "baz": { "qux": "This is a qux" },
                  "easier": "to read"
                };

                tabWidth

                Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

                Examples of correct code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = {
                \t  \t  \t  \t  "bar": "This is a bar.",
                \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
                \t  \t  };

                comments

                Examples of incorrect code for this rule with the { "comments": 65 } option:

                /*eslint max-len: ["error", { "comments": 65 }]*/
                
                /**
                 * This is a comment that violates the maximum line length we have specified
                **/

                ignoreComments

                Examples of correct code for this rule with the { "ignoreComments": true } option:

                /*eslint max-len: ["error", { "ignoreComments": true }]*/
                
                /**
                 * This is a really really really really really really really really really long comment
                **/

                ignoreTrailingComments

                Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

                /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
                
                var foo = 'bar'; // This is a really really really really really really really long comment

                ignoreUrls

                Examples of correct code for this rule with the { "ignoreUrls": true } option:

                /*eslint max-len: ["error", { "ignoreUrls": true }]*/
                
                var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

                ignorePattern

                Examples of correct code for this rule with the { "ignorePattern": true } option:

                /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
                
                var dep = require('really/really/really/really/really/really/really/really/long/module');

                Related Rules

                • [complexity](complexity.md)
                • [max-depth](max-depth.md)
                • [max-nested-callbacks](max-nested-callbacks.md)
                • [max-params](max-params.md)
                • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

                Trailing spaces not allowed.
                Open

                        
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                Disallow trailing spaces at the end of lines (no-trailing-spaces)

                (fixable) The --fix option on the [command line](../user-guide/command-line-interface#fix) automatically fixes problems reported by this rule.

                Sometimes in the course of editing files, you can end up with extra whitespace at the end of lines. These whitespace differences can be picked up by source control systems and flagged as diffs, causing frustration for developers. While this extra whitespace causes no functional issues, many code conventions require that trailing spaces be removed before checkin.

                Rule Details

                The following patterns are considered problems:

                /*eslint no-trailing-spaces: "error"*/
                
                // spaces, tabs and unicode whitespaces
                // are not allowed at the end of lines
                var foo = 0;//•••••
                var baz = 5;//••

                The following patterns are not considered problems:

                /*eslint no-trailing-spaces: "error"*/
                
                var foo = 0;
                
                var baz = 5;

                Options

                There is one option for this rule, skipBlankLines. When set to true, the rule will not flag any lines that are made up purely of whitespace. In short, if a line is zero-length after being trimmed of whitespace, then the rule will not flag that line when skipBlankLines is enabled.

                You can enable this option in your config like this:

                {
                    "no-trailing-spaces": ["error", { "skipBlankLines": true }]
                }

                With this option enabled, The following patterns are not considered problems:

                /*eslint no-trailing-spaces: ["error", { "skipBlankLines": true }]*/
                
                var foo = 0;
                //••••
                var baz = 5;

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

                Line 68 exceeds the maximum line length of 80.
                Open

                        var _b = this.$root.charts[b.element.attributes['attribute-id'].nodeValue].layout[0];
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                enforce a maximum line length (max-len)

                Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

                Rule Details

                This rule enforces a maximum line length to increase code readability and maintainability.

                Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

                Options

                This rule has a number or object option:

                • "code" (default 80) enforces a maximum line length
                • "tabWidth" (default 4) specifies the character width for tab characters
                • "comments" enforces a maximum line length for comments; defaults to value of code
                • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
                • "ignoreComments": true ignores all trailing comments and comments on their own line
                • "ignoreTrailingComments": true ignores only trailing comments
                • "ignoreUrls": true ignores lines that contain a URL

                code

                Examples of incorrect code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

                Examples of correct code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = {
                  "bar": "This is a bar.",
                  "baz": { "qux": "This is a qux" },
                  "easier": "to read"
                };

                tabWidth

                Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

                Examples of correct code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = {
                \t  \t  \t  \t  "bar": "This is a bar.",
                \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
                \t  \t  };

                comments

                Examples of incorrect code for this rule with the { "comments": 65 } option:

                /*eslint max-len: ["error", { "comments": 65 }]*/
                
                /**
                 * This is a comment that violates the maximum line length we have specified
                **/

                ignoreComments

                Examples of correct code for this rule with the { "ignoreComments": true } option:

                /*eslint max-len: ["error", { "ignoreComments": true }]*/
                
                /**
                 * This is a really really really really really really really really really long comment
                **/

                ignoreTrailingComments

                Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

                /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
                
                var foo = 'bar'; // This is a really really really really really really really long comment

                ignoreUrls

                Examples of correct code for this rule with the { "ignoreUrls": true } option:

                /*eslint max-len: ["error", { "ignoreUrls": true }]*/
                
                var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

                ignorePattern

                Examples of correct code for this rule with the { "ignorePattern": true } option:

                /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
                
                var dep = require('really/really/really/really/really/really/really/really/long/module');

                Related Rules

                • [complexity](complexity.md)
                • [max-depth](max-depth.md)
                • [max-nested-callbacks](max-nested-callbacks.md)
                • [max-params](max-params.md)
                • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

                Assignment can be replaced with operator assignment.
                Open

                          i = i + groupsPerRow;
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                Operator Assignment Shorthand (operator-assignment)

                JavaScript provides shorthand operators that combine variable assignment and some simple mathematical operations. For example, x = x + 4 can be shortened to x += 4. The supported shorthand forms are as follows:

                Shorthand | Separate
                -----------|------------
                 x += y    | x = x + y
                 x -= y    | x = x - y
                 x *= y    | x = x * y
                 x /= y    | x = x / y
                 x %= y    | x = x % y
                 x <<= y   | x = x << y
                 x >>= y   | x = x >> y
                 x >>>= y  | x = x >>> y
                 x &= y    | x = x & y
                 x ^= y    | x = x ^ y
                 x |= y    | x = x | y

                Rule Details

                This rule enforces use of the shorthand assignment operators by requiring them where possible or prohibiting them entirely.

                Options

                This rule has two options: always and never. The default is always.

                "always"

                "operator-assignment": ["error", "always"]

                This mode enforces use of operator assignment shorthand where possible.

                The following are examples of valid patterns:

                /*eslint operator-assignment: ["error", "always"]*/
                
                x = y;
                x += y;
                x = y * z;
                x = (x * y) * z;
                x[0] /= y;
                x[foo()] = x[foo()] % 2;
                x = y + x; // `+` is not always commutative (e.g. x = "abc")

                The following patterns are considered problems and should be replaced by their shorthand equivalents:

                /*eslint operator-assignment: ["error", "always"]*/
                
                x = x + y;
                x = y * x;
                x[0] = x[0] / y;
                x.y = x.y << z;

                "never"

                "operator-assignment": ["error", "never"]

                This mode warns on any use of operator assignment shorthand.

                The following are examples of valid patterns:

                /*eslint operator-assignment: ["error", "never"]*/
                
                x = x + y;
                x.y = x.y / a.b;

                The following patterns are considered problems and should be written out fully without the shorthand assignments:

                /*eslint operator-assignment: ["error", "never"]*/
                
                x *= y;
                x ^= (y + z) / foo();

                When Not To Use It

                Use of operator assignment shorthand is a stylistic choice. Leaving this rule turned off would allow developers to choose which style is more readable on a case-by-case basis. Source: http://eslint.org/docs/rules/

                Line 67 exceeds the maximum line length of 80.
                Open

                        var _a = this.$root.charts[a.element.attributes['attribute-id'].nodeValue].layout[0];
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                enforce a maximum line length (max-len)

                Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

                Rule Details

                This rule enforces a maximum line length to increase code readability and maintainability.

                Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

                Options

                This rule has a number or object option:

                • "code" (default 80) enforces a maximum line length
                • "tabWidth" (default 4) specifies the character width for tab characters
                • "comments" enforces a maximum line length for comments; defaults to value of code
                • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
                • "ignoreComments": true ignores all trailing comments and comments on their own line
                • "ignoreTrailingComments": true ignores only trailing comments
                • "ignoreUrls": true ignores lines that contain a URL

                code

                Examples of incorrect code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

                Examples of correct code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = {
                  "bar": "This is a bar.",
                  "baz": { "qux": "This is a qux" },
                  "easier": "to read"
                };

                tabWidth

                Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

                Examples of correct code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = {
                \t  \t  \t  \t  "bar": "This is a bar.",
                \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
                \t  \t  };

                comments

                Examples of incorrect code for this rule with the { "comments": 65 } option:

                /*eslint max-len: ["error", { "comments": 65 }]*/
                
                /**
                 * This is a comment that violates the maximum line length we have specified
                **/

                ignoreComments

                Examples of correct code for this rule with the { "ignoreComments": true } option:

                /*eslint max-len: ["error", { "ignoreComments": true }]*/
                
                /**
                 * This is a really really really really really really really really really long comment
                **/

                ignoreTrailingComments

                Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

                /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
                
                var foo = 'bar'; // This is a really really really really really really really long comment

                ignoreUrls

                Examples of correct code for this rule with the { "ignoreUrls": true } option:

                /*eslint max-len: ["error", { "ignoreUrls": true }]*/
                
                var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

                ignorePattern

                Examples of correct code for this rule with the { "ignorePattern": true } option:

                /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
                
                var dep = require('really/really/really/really/really/really/really/really/long/module');

                Related Rules

                • [complexity](complexity.md)
                • [max-depth](max-depth.md)
                • [max-nested-callbacks](max-nested-callbacks.md)
                • [max-params](max-params.md)
                • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

                There should be no spaces inside this paren.
                Open

                          self_.grid_.on( 'dragItemPositioned', function() {
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                Disallow or enforce spaces inside of parentheses (space-in-parens)

                (fixable) The --fix option on the [command line](../user-guide/command-line-interface#fix) automatically fixes problems reported by this rule.

                Some style guides require or disallow spaces inside of parentheses:

                foo( 'bar' );
                var x = ( 1 + 2 ) * 3;
                
                foo('bar');
                var x = (1 + 2) * 3;

                Rule Details

                This rule will enforce consistency of spacing directly inside of parentheses, by disallowing or requiring one or more spaces to the right of ( and to the left of ). In either case, () will still be allowed.

                Options

                There are two options for this rule:

                • "always" enforces a space inside of parentheses
                • "never" enforces zero spaces inside of parentheses (default)

                Depending on your coding conventions, you can choose either option by specifying it in your configuration:

                "space-in-parens": ["error", "always"]

                "always"

                When "always" is set, the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always"]*/
                
                foo( 'bar');
                foo('bar' );
                foo('bar');
                
                var foo = (1 + 2) * 3;
                (function () { return 'bar'; }());

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always"]*/
                
                foo();
                
                foo( 'bar' );
                
                var foo = ( 1 + 2 ) * 3;
                ( function () { return 'bar'; }() );

                "never"

                When "never" is used, the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "never"]*/
                
                foo( 'bar');
                foo('bar' );
                foo( 'bar' );
                
                var foo = ( 1 + 2 ) * 3;
                ( function () { return 'bar'; }() );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "never"]*/
                
                foo();
                
                foo('bar');
                
                var foo = (1 + 2) * 3;
                (function () { return 'bar'; }());

                Exceptions

                An object literal may be used as a third array item to specify exceptions, with the key "exceptions" and an array as the value. These exceptions work in the context of the first option. That is, if "always" is set to enforce spacing, then any "exception" will disallow spacing. Conversely, if "never" is set to disallow spacing, then any "exception" will enforce spacing.

                The following exceptions are available: ["{}", "[]", "()", "empty"].

                For example, given "space-in-parens": ["error", "always", { "exceptions": ["{}"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/
                
                foo( {bar: 'baz'} );
                foo( 1, {bar: 'baz'} );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/
                
                foo({bar: 'baz'});
                foo( 1, {bar: 'baz'});

                Or, given "space-in-parens": ["error", "never", { "exceptions": ["{}"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/
                
                foo({bar: 'baz'});
                foo(1, {bar: 'baz'});

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/
                
                foo( {bar: 'baz'} );
                foo(1, {bar: 'baz'} );

                Given "space-in-parens": ["error", "always", { "exceptions": ["[]"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/
                
                foo( [bar, baz] );
                foo( [bar, baz], 1 );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/
                
                foo([bar, baz]);
                foo([bar, baz], 1 );

                Or, given "space-in-parens": ["error", "never", { "exceptions": ["[]"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/
                
                foo([bar, baz]);
                foo([bar, baz], 1);

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/
                
                foo( [bar, baz] );
                foo( [bar, baz], 1);

                Given "space-in-parens": ["error", "always", { "exceptions": ["()"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/
                
                foo( ( 1 + 2 ) );
                foo( ( 1 + 2 ), 1 );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/
                
                foo(( 1 + 2 ));
                foo(( 1 + 2 ), 1 );

                Or, given "space-in-parens": ["error", "never", { "exceptions": ["()"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/
                
                foo((1 + 2));
                foo((1 + 2), 1);

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/
                
                foo( (1 + 2) );
                foo( (1 + 2), 1);

                The "empty" exception concerns empty parentheses, and works the same way as the other exceptions, inverting the first option.

                For example, given "space-in-parens": ["error", "always", { "exceptions": ["empty"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/
                
                foo( );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/
                
                foo();

                Or, given "space-in-parens": ["error", "never", { "exceptions": ["empty"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/
                
                foo();

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/
                
                foo( );

                You can include multiple entries in the "exceptions" array. For example, given "space-in-parens": ["error", "always", { "exceptions": ["{}", "[]"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/
                
                bar( {bar:'baz'} );
                baz( 1, [1,2] );
                foo( {bar: 'baz'}, [1, 2] );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/
                
                bar({bar:'baz'});
                baz( 1, [1,2]);
                foo({bar: 'baz'}, [1, 2]);

                When Not To Use It

                You can turn this rule off if you are not concerned with the consistency of spacing between parentheses.

                Related Rules

                There should be no spaces inside this paren.
                Open

                          self_.grid_.on( 'dragItemPositioned', function() {
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                Disallow or enforce spaces inside of parentheses (space-in-parens)

                (fixable) The --fix option on the [command line](../user-guide/command-line-interface#fix) automatically fixes problems reported by this rule.

                Some style guides require or disallow spaces inside of parentheses:

                foo( 'bar' );
                var x = ( 1 + 2 ) * 3;
                
                foo('bar');
                var x = (1 + 2) * 3;

                Rule Details

                This rule will enforce consistency of spacing directly inside of parentheses, by disallowing or requiring one or more spaces to the right of ( and to the left of ). In either case, () will still be allowed.

                Options

                There are two options for this rule:

                • "always" enforces a space inside of parentheses
                • "never" enforces zero spaces inside of parentheses (default)

                Depending on your coding conventions, you can choose either option by specifying it in your configuration:

                "space-in-parens": ["error", "always"]

                "always"

                When "always" is set, the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always"]*/
                
                foo( 'bar');
                foo('bar' );
                foo('bar');
                
                var foo = (1 + 2) * 3;
                (function () { return 'bar'; }());

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always"]*/
                
                foo();
                
                foo( 'bar' );
                
                var foo = ( 1 + 2 ) * 3;
                ( function () { return 'bar'; }() );

                "never"

                When "never" is used, the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "never"]*/
                
                foo( 'bar');
                foo('bar' );
                foo( 'bar' );
                
                var foo = ( 1 + 2 ) * 3;
                ( function () { return 'bar'; }() );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "never"]*/
                
                foo();
                
                foo('bar');
                
                var foo = (1 + 2) * 3;
                (function () { return 'bar'; }());

                Exceptions

                An object literal may be used as a third array item to specify exceptions, with the key "exceptions" and an array as the value. These exceptions work in the context of the first option. That is, if "always" is set to enforce spacing, then any "exception" will disallow spacing. Conversely, if "never" is set to disallow spacing, then any "exception" will enforce spacing.

                The following exceptions are available: ["{}", "[]", "()", "empty"].

                For example, given "space-in-parens": ["error", "always", { "exceptions": ["{}"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/
                
                foo( {bar: 'baz'} );
                foo( 1, {bar: 'baz'} );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/
                
                foo({bar: 'baz'});
                foo( 1, {bar: 'baz'});

                Or, given "space-in-parens": ["error", "never", { "exceptions": ["{}"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/
                
                foo({bar: 'baz'});
                foo(1, {bar: 'baz'});

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/
                
                foo( {bar: 'baz'} );
                foo(1, {bar: 'baz'} );

                Given "space-in-parens": ["error", "always", { "exceptions": ["[]"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/
                
                foo( [bar, baz] );
                foo( [bar, baz], 1 );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/
                
                foo([bar, baz]);
                foo([bar, baz], 1 );

                Or, given "space-in-parens": ["error", "never", { "exceptions": ["[]"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/
                
                foo([bar, baz]);
                foo([bar, baz], 1);

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/
                
                foo( [bar, baz] );
                foo( [bar, baz], 1);

                Given "space-in-parens": ["error", "always", { "exceptions": ["()"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/
                
                foo( ( 1 + 2 ) );
                foo( ( 1 + 2 ), 1 );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/
                
                foo(( 1 + 2 ));
                foo(( 1 + 2 ), 1 );

                Or, given "space-in-parens": ["error", "never", { "exceptions": ["()"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/
                
                foo((1 + 2));
                foo((1 + 2), 1);

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/
                
                foo( (1 + 2) );
                foo( (1 + 2), 1);

                The "empty" exception concerns empty parentheses, and works the same way as the other exceptions, inverting the first option.

                For example, given "space-in-parens": ["error", "always", { "exceptions": ["empty"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/
                
                foo( );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/
                
                foo();

                Or, given "space-in-parens": ["error", "never", { "exceptions": ["empty"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/
                
                foo();

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/
                
                foo( );

                You can include multiple entries in the "exceptions" array. For example, given "space-in-parens": ["error", "always", { "exceptions": ["{}", "[]"] }], the following patterns are considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/
                
                bar( {bar:'baz'} );
                baz( 1, [1,2] );
                foo( {bar: 'baz'}, [1, 2] );

                The following patterns are not considered problems:

                /*eslint space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/
                
                bar({bar:'baz'});
                baz( 1, [1,2]);
                foo({bar: 'baz'}, [1, 2]);

                When Not To Use It

                You can turn this rule off if you are not concerned with the consistency of spacing between parentheses.

                Related Rules

                Expected indentation of 10 space characters but found 8.
                Open

                        this.grid_.layout();}
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                enforce consistent indentation (indent)

                (fixable) The --fix option on the [command line](../user-guide/command-line-interface#fix) automatically fixes problems reported by this rule.

                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.

                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 2 will indent case clauses with 4 spaces with respect to switch statements.
                • Indent of tabs with SwitchCase set to 2 will indent case clauses with 2 tabs with respect to switch statements.

                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;

                Compatibility

                Line 201 exceeds the maximum line length of 80.
                Open

                                    _matrix[_matrixIndex] = _matrix[neighborIndex] = chart.attr_id;
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                enforce a maximum line length (max-len)

                Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

                Rule Details

                This rule enforces a maximum line length to increase code readability and maintainability.

                Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

                Options

                This rule has a number or object option:

                • "code" (default 80) enforces a maximum line length
                • "tabWidth" (default 4) specifies the character width for tab characters
                • "comments" enforces a maximum line length for comments; defaults to value of code
                • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
                • "ignoreComments": true ignores all trailing comments and comments on their own line
                • "ignoreTrailingComments": true ignores only trailing comments
                • "ignoreUrls": true ignores lines that contain a URL

                code

                Examples of incorrect code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

                Examples of correct code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = {
                  "bar": "This is a bar.",
                  "baz": { "qux": "This is a qux" },
                  "easier": "to read"
                };

                tabWidth

                Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

                Examples of correct code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = {
                \t  \t  \t  \t  "bar": "This is a bar.",
                \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
                \t  \t  };

                comments

                Examples of incorrect code for this rule with the { "comments": 65 } option:

                /*eslint max-len: ["error", { "comments": 65 }]*/
                
                /**
                 * This is a comment that violates the maximum line length we have specified
                **/

                ignoreComments

                Examples of correct code for this rule with the { "ignoreComments": true } option:

                /*eslint max-len: ["error", { "ignoreComments": true }]*/
                
                /**
                 * This is a really really really really really really really really really long comment
                **/

                ignoreTrailingComments

                Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

                /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
                
                var foo = 'bar'; // This is a really really really really really really really long comment

                ignoreUrls

                Examples of correct code for this rule with the { "ignoreUrls": true } option:

                /*eslint max-len: ["error", { "ignoreUrls": true }]*/
                
                var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

                ignorePattern

                Examples of correct code for this rule with the { "ignorePattern": true } option:

                /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
                
                var dep = require('really/really/really/really/really/really/really/really/long/module');

                Related Rules

                • [complexity](complexity.md)
                • [max-depth](max-depth.md)
                • [max-nested-callbacks](max-nested-callbacks.md)
                • [max-params](max-params.md)
                • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

                Line 397 exceeds the maximum line length of 80.
                Open

                            self_.selectedsampleUIDs = iViz.util.intersection(_selectedCasesByFilters, _resultSelectedCases);
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                enforce a maximum line length (max-len)

                Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

                Rule Details

                This rule enforces a maximum line length to increase code readability and maintainability.

                Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

                Options

                This rule has a number or object option:

                • "code" (default 80) enforces a maximum line length
                • "tabWidth" (default 4) specifies the character width for tab characters
                • "comments" enforces a maximum line length for comments; defaults to value of code
                • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
                • "ignoreComments": true ignores all trailing comments and comments on their own line
                • "ignoreTrailingComments": true ignores only trailing comments
                • "ignoreUrls": true ignores lines that contain a URL

                code

                Examples of incorrect code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

                Examples of correct code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = {
                  "bar": "This is a bar.",
                  "baz": { "qux": "This is a qux" },
                  "easier": "to read"
                };

                tabWidth

                Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

                Examples of correct code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = {
                \t  \t  \t  \t  "bar": "This is a bar.",
                \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
                \t  \t  };

                comments

                Examples of incorrect code for this rule with the { "comments": 65 } option:

                /*eslint max-len: ["error", { "comments": 65 }]*/
                
                /**
                 * This is a comment that violates the maximum line length we have specified
                **/

                ignoreComments

                Examples of correct code for this rule with the { "ignoreComments": true } option:

                /*eslint max-len: ["error", { "ignoreComments": true }]*/
                
                /**
                 * This is a really really really really really really really really really long comment
                **/

                ignoreTrailingComments

                Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

                /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
                
                var foo = 'bar'; // This is a really really really really really really really long comment

                ignoreUrls

                Examples of correct code for this rule with the { "ignoreUrls": true } option:

                /*eslint max-len: ["error", { "ignoreUrls": true }]*/
                
                var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

                ignorePattern

                Examples of correct code for this rule with the { "ignorePattern": true } option:

                /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
                
                var dep = require('really/really/really/really/really/really/really/really/long/module');

                Related Rules

                • [complexity](complexity.md)
                • [max-depth](max-depth.md)
                • [max-nested-callbacks](max-nested-callbacks.md)
                • [max-params](max-params.md)
                • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

                Line 388 exceeds the maximum line length of 80.
                Open

                            self_.selectedpatientUIDs = iViz.util.intersection(_selectedCasesByFilters, _resultSelectedCases);
                Severity: Minor
                Found in app/scripts/views/mainTemplate.js by eslint

                enforce a maximum line length (max-len)

                Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

                Rule Details

                This rule enforces a maximum line length to increase code readability and maintainability.

                Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

                Options

                This rule has a number or object option:

                • "code" (default 80) enforces a maximum line length
                • "tabWidth" (default 4) specifies the character width for tab characters
                • "comments" enforces a maximum line length for comments; defaults to value of code
                • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
                • "ignoreComments": true ignores all trailing comments and comments on their own line
                • "ignoreTrailingComments": true ignores only trailing comments
                • "ignoreUrls": true ignores lines that contain a URL

                code

                Examples of incorrect code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

                Examples of correct code for this rule with the default { "code": 80 } option:

                /*eslint max-len: ["error", 80]*/
                
                var foo = {
                  "bar": "This is a bar.",
                  "baz": { "qux": "This is a qux" },
                  "easier": "to read"
                };

                tabWidth

                Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

                Examples of correct code for this rule with the default { "tabWidth": 4 } option:

                /*eslint max-len: ["error", 80, 4]*/
                
                \t  \t  var foo = {
                \t  \t  \t  \t  "bar": "This is a bar.",
                \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
                \t  \t  };

                comments

                Examples of incorrect code for this rule with the { "comments": 65 } option:

                /*eslint max-len: ["error", { "comments": 65 }]*/
                
                /**
                 * This is a comment that violates the maximum line length we have specified
                **/

                ignoreComments

                Examples of correct code for this rule with the { "ignoreComments": true } option:

                /*eslint max-len: ["error", { "ignoreComments": true }]*/
                
                /**
                 * This is a really really really really really really really really really long comment
                **/

                ignoreTrailingComments

                Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

                /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
                
                var foo = 'bar'; // This is a really really really really really really really long comment

                ignoreUrls

                Examples of correct code for this rule with the { "ignoreUrls": true } option:

                /*eslint max-len: ["error", { "ignoreUrls": true }]*/
                
                var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

                ignorePattern

                Examples of correct code for this rule with the { "ignorePattern": true } option:

                /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
                
                var dep = require('really/really/really/really/really/really/really/really/long/module');

                Related Rules

                • [complexity](complexity.md)
                • [max-depth](max-depth.md)
                • [max-nested-callbacks](max-nested-callbacks.md)
                • [max-params](max-params.md)
                • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

                There are no issues that match your filters.

                Category
                Status