cBioPortal/iViz

View on GitHub
app/scripts/views/components/virtualStudy/virtualStudy.js

Summary

Maintainability
F
3 days
Test Coverage

Function createQtip has 224 lines of code (exceeds 25 allowed). Consider refactoring.
Open

      createQtip: function() {
        var self_ = this;
        var previousSelection = {};
        $('.virtual-study').qtip(iViz.util.defaultQtipConfig(
          (self_.showSaveButton ? 'Save/' : '') + 'Share Virtual Study'));
Severity: Major
Found in app/scripts/views/components/virtualStudy/virtualStudy.js - About 1 day to fix

    File virtualStudy.js has 408 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    'use strict';
    (function(Vue, $, vcSession, iViz, _) {
      Vue.component('virtualStudy', {
        template:
        '<div class="virtual-study">' +
    Severity: Minor
    Found in app/scripts/views/components/virtualStudy/virtualStudy.js - About 5 hrs to fix

      Function render has 129 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

                  render: function(event, api) {
                    var tooltip = $('.iviz-virtual-study-btn-qtip .qtip-content');
                    tooltip.find('.save-cohort').click(function() {
                      self_.hideDialog(tooltip);
                      self_.showLoading(tooltip);
      Severity: Major
      Found in app/scripts/views/components/virtualStudy/virtualStudy.js - About 5 hrs to fix

        Function show has 38 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

                    show: function() {
                      var tooltip = $('.iviz-virtual-study-btn-qtip .qtip-content');
                      var showThis = this;
                      self_.updateSavingMessage(tooltip, 'Loading');
                      self_.updateStats = true;
        Severity: Minor
        Found in app/scripts/views/components/virtualStudy/virtualStudy.js - About 1 hr to fix

          Function getFilteredOriginStudies has 29 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                getFilteredOriginStudies: function() {
                  var selectedStudiesDisplayName = window.iviz.datamanager.getCancerStudyDisplayName(this.stats.origin);
                  var filteredOriginStudies = {
                    studies: [],
                    count: 0
          Severity: Minor
          Found in app/scripts/views/components/virtualStudy/virtualStudy.js - About 1 hr to fix

            'iviz' is not defined.
            Open

                      var _studyData = iviz.datamanager.getStudyById(studyId);

            Disallow Undeclared Variables (no-undef)

            This rule can help you locate potential ReferenceErrors resulting from misspellings of variable and parameter names, or accidental implicit globals (for example, from forgetting the var keyword in a for loop initializer).

            Rule Details

            Any reference to an undeclared variable causes a warning, unless the variable is explicitly mentioned in a /*global ...*/ comment.

            Examples of incorrect code for this rule:

            /*eslint no-undef: "error"*/
            
            var a = someFunction();
            b = 10;

            Examples of correct code for this rule with global declaration:

            /*global someFunction b:true*/
            /*eslint no-undef: "error"*/
            
            var a = someFunction();
            b = 10;

            The b:true syntax in /*global */ indicates that assignment to b is correct.

            Examples of incorrect code for this rule with global declaration:

            /*global b*/
            /*eslint no-undef: "error"*/
            
            b = 10;

            By default, variables declared in /*global */ are read-only, therefore assignment is incorrect.

            Options

            • typeof set to true will warn for variables used inside typeof check (Default false).

            typeof

            Examples of correct code for the default { "typeof": false } option:

            /*eslint no-undef: "error"*/
            
            if (typeof UndefinedIdentifier === "undefined") {
                // do something ...
            }

            You can use this option if you want to prevent typeof check on a variable which has not been declared.

            Examples of incorrect code for the { "typeof": true } option:

            /*eslint no-undef: ["error", { "typeof": true }] */
            
            if(typeof a === "string"){}

            Examples of correct code for the { "typeof": true } option with global declaration:

            /*global a*/
            /*eslint no-undef: ["error", { "typeof": true }] */
            
            if(typeof a === "string"){}

            Environments

            For convenience, ESLint provides shortcuts that pre-define global variables exposed by popular libraries and runtime environments. This rule supports these environments, as listed in Specifying Environments. A few examples are given below.

            browser

            Examples of correct code for this rule with browser environment:

            /*eslint no-undef: "error"*/
            /*eslint-env browser*/
            
            setTimeout(function() {
                alert("Hello");
            });

            node

            Examples of correct code for this rule with node environment:

            /*eslint no-undef: "error"*/
            /*eslint-env node*/
            
            var fs = require("fs");
            module.exports = function() {
                console.log(fs);
            };

            When Not To Use It

            If explicit declaration of global variables is not to your taste.

            Compatibility

            This rule provides compatibility with treatment of global variables in JSHint and JSLint.

            Further Reading

            'cbio' is not defined.
            Open

                              self_.updateOriginStudiesDescription(tooltip, cbio.util.getOriginStudiesDescriptionHtml(filteredOriginStudies.studies));

            Disallow Undeclared Variables (no-undef)

            This rule can help you locate potential ReferenceErrors resulting from misspellings of variable and parameter names, or accidental implicit globals (for example, from forgetting the var keyword in a for loop initializer).

            Rule Details

            Any reference to an undeclared variable causes a warning, unless the variable is explicitly mentioned in a /*global ...*/ comment.

            Examples of incorrect code for this rule:

            /*eslint no-undef: "error"*/
            
            var a = someFunction();
            b = 10;

            Examples of correct code for this rule with global declaration:

            /*global someFunction b:true*/
            /*eslint no-undef: "error"*/
            
            var a = someFunction();
            b = 10;

            The b:true syntax in /*global */ indicates that assignment to b is correct.

            Examples of incorrect code for this rule with global declaration:

            /*global b*/
            /*eslint no-undef: "error"*/
            
            b = 10;

            By default, variables declared in /*global */ are read-only, therefore assignment is incorrect.

            Options

            • typeof set to true will warn for variables used inside typeof check (Default false).

            typeof

            Examples of correct code for the default { "typeof": false } option:

            /*eslint no-undef: "error"*/
            
            if (typeof UndefinedIdentifier === "undefined") {
                // do something ...
            }

            You can use this option if you want to prevent typeof check on a variable which has not been declared.

            Examples of incorrect code for the { "typeof": true } option:

            /*eslint no-undef: ["error", { "typeof": true }] */
            
            if(typeof a === "string"){}

            Examples of correct code for the { "typeof": true } option with global declaration:

            /*global a*/
            /*eslint no-undef: ["error", { "typeof": true }] */
            
            if(typeof a === "string"){}

            Environments

            For convenience, ESLint provides shortcuts that pre-define global variables exposed by popular libraries and runtime environments. This rule supports these environments, as listed in Specifying Environments. A few examples are given below.

            browser

            Examples of correct code for this rule with browser environment:

            /*eslint no-undef: "error"*/
            /*eslint-env browser*/
            
            setTimeout(function() {
                alert("Hello");
            });

            node

            Examples of correct code for this rule with node environment:

            /*eslint no-undef: "error"*/
            /*eslint-env node*/
            
            var fs = require("fs");
            module.exports = function() {
                console.log(fs);
            };

            When Not To Use It

            If explicit declaration of global variables is not to your taste.

            Compatibility

            This rule provides compatibility with treatment of global variables in JSHint and JSLint.

            Further Reading

            'iviz' is not defined.
            Open

                                var studyMetaData = iviz.datamanager.getStudyById(study.id);

            Disallow Undeclared Variables (no-undef)

            This rule can help you locate potential ReferenceErrors resulting from misspellings of variable and parameter names, or accidental implicit globals (for example, from forgetting the var keyword in a for loop initializer).

            Rule Details

            Any reference to an undeclared variable causes a warning, unless the variable is explicitly mentioned in a /*global ...*/ comment.

            Examples of incorrect code for this rule:

            /*eslint no-undef: "error"*/
            
            var a = someFunction();
            b = 10;

            Examples of correct code for this rule with global declaration:

            /*global someFunction b:true*/
            /*eslint no-undef: "error"*/
            
            var a = someFunction();
            b = 10;

            The b:true syntax in /*global */ indicates that assignment to b is correct.

            Examples of incorrect code for this rule with global declaration:

            /*global b*/
            /*eslint no-undef: "error"*/
            
            b = 10;

            By default, variables declared in /*global */ are read-only, therefore assignment is incorrect.

            Options

            • typeof set to true will warn for variables used inside typeof check (Default false).

            typeof

            Examples of correct code for the default { "typeof": false } option:

            /*eslint no-undef: "error"*/
            
            if (typeof UndefinedIdentifier === "undefined") {
                // do something ...
            }

            You can use this option if you want to prevent typeof check on a variable which has not been declared.

            Examples of incorrect code for the { "typeof": true } option:

            /*eslint no-undef: ["error", { "typeof": true }] */
            
            if(typeof a === "string"){}

            Examples of correct code for the { "typeof": true } option with global declaration:

            /*global a*/
            /*eslint no-undef: ["error", { "typeof": true }] */
            
            if(typeof a === "string"){}

            Environments

            For convenience, ESLint provides shortcuts that pre-define global variables exposed by popular libraries and runtime environments. This rule supports these environments, as listed in Specifying Environments. A few examples are given below.

            browser

            Examples of correct code for this rule with browser environment:

            /*eslint no-undef: "error"*/
            /*eslint-env browser*/
            
            setTimeout(function() {
                alert("Hello");
            });

            node

            Examples of correct code for this rule with node environment:

            /*eslint no-undef: "error"*/
            /*eslint-env node*/
            
            var fs = require("fs");
            module.exports = function() {
                console.log(fs);
            };

            When Not To Use It

            If explicit declaration of global variables is not to your taste.

            Compatibility

            This rule provides compatibility with treatment of global variables in JSHint and JSLint.

            Further Reading

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

                                    tooltip.find('.saved .message .view-vs').click(function(event) {
                                      event.preventDefault();
                                      window.open(window.cbioURL + 'study?id=' +
                                        self_.savedVS.id);
                                    });
            Severity: Major
            Found in app/scripts/views/components/virtualStudy/virtualStudy.js and 1 other location - About 1 hr to fix
            app/scripts/views/components/virtualStudy/virtualStudy.js on lines 240..243

            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

                                    tooltip.find('.saved .message .query-vs').click(function(event) {
                                      event.preventDefault();
                                      window.open(window.cbioURL + 'index.do?cancer_study_id=' + self_.savedVS.id)
                                    });
            Severity: Major
            Found in app/scripts/views/components/virtualStudy/virtualStudy.js and 1 other location - About 1 hr to fix
            app/scripts/views/components/virtualStudy/virtualStudy.js on lines 235..239

            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

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

                            var cohortName = tooltip.find('.cohort-name').val() ?
                              tooltip.find('.cohort-name').val() : tooltip.find('.cohort-name').attr('placeholder');
            Severity: Major
            Found in app/scripts/views/components/virtualStudy/virtualStudy.js and 1 other location - About 1 hr to fix
            app/scripts/views/components/virtualStudy/virtualStudy.js on lines 273..274

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

            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

                            var cohortName = tooltip.find('.cohort-name').val() ?
                              tooltip.find('.cohort-name').val() : tooltip.find('.cohort-name').attr('placeholder');
            Severity: Major
            Found in app/scripts/views/components/virtualStudy/virtualStudy.js and 1 other location - About 1 hr to fix
            app/scripts/views/components/virtualStudy/virtualStudy.js on lines 205..206

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

            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 130 exceeds the maximum line length of 80.
            Open

                          _count += _.intersection(_study.samples, selectedStudies[_study.id]).length;

            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

                                  // When a user clicks copy, it will trigger saving the current virtual cohort and return the url 

            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/

            Unexpected negated condition.
            Open

                                  if (currentSelection !== previousSelection) {

            Disallow use of negated expressions in conditions (no-negated-condition)

            Checks against the use of a negated expression in an if condition when the else branch is not empty or in a ternary operator. Negated conditions are more difficult to understand. Code can be made more readable by inverting the condition instead.

            For example:

            if (!a) {
                doSomething();
            }
            else {
                doSomethingElse();
            }

            should instead be written as:

            if (a) {
                doSomethingElse();
            }
            else {
                doSomething();
            }

            Rule Details

            The rule is aimed at preventing the use of a negated expression in a condition.

            The following patterns are considered warnings:

            /*eslint no-negated-condition: "error"*/
            
            if (!a) {
                doSomething();
            } else {
                doSomethingElse();
            }
            
            if (a != b) {
                doSomething();
            } else {
                doSomethingElse();
            }
            
            if (a !== b) {
                doSomething();
            } else {
                doSomethingElse();
            }
            
            
            !a ? b : c

            The following patterns are not warnings:

            /*eslint no-negated-condition: "error"*/
            
            if (!a) {
                doSomething();
            }
            
            if (!a) {
                doSomething();
            } else if (b) {
                doSomething();
            }
            
            if (a != b) {
                doSomething();
            }
            
            a ? b : c

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

            Line 115 exceeds the maximum line length of 80.
            Open

                    var selectedStudiesDisplayName = window.iviz.datamanager.getCancerStudyDisplayName(this.stats.origin);

            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 227 exceeds the maximum line length of 80.
            Open

                                      '<button type="button" class="btn btn-default btn-xs view-vs">View</button>' +

            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 294 exceeds the maximum line length of 80.
            Open

                                          '<a class="virtual-study-link" href="' + window.cbioURL +

            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 295 exceeds the maximum line length of 80.
            Open

                                          'study?id=' + self_.savedVC.id + '" onclick="window.open(\'' +

            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 274 exceeds the maximum line length of 80.
            Open

                              tooltip.find('.cohort-name').val() : tooltip.find('.cohort-name').attr('placeholder');

            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 296 exceeds the maximum line length of 80.
            Open

                                          window.cbioURL + 'study?id=' + self_.savedVC.id + '\')">' +

            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/

            Strings must use singlequote.
            Open

                            document.execCommand("copy");

            Enforce Quote Style (quotes)

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

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

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

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

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

            Rule Details

            This rule is aimed at ensuring consistency of string quotes and as such will report a problem when an inconsistent style is found.

            The rule configuration takes up to two options:

            1. The first option is "double", "single" or "backtick" for double-quotes, single-quotes or backticks respectively. The default is "double".
            2. The second option takes two options:
              1. "avoidEscape": When using "avoidEscape", this rule will not report a problem when a string is using single-quotes or double-quotes so long as the string contains a quote that would have to be escaped otherwise. For example, if you specify "double" and "avoidEscape", the string 'He said, "hi!"' is not considered a problem because using double quotes for that string would require escaping the double quotes inside of the string. This option is off by default.
              2. "allowTemplateLiterals": when using "allowTemplateLiterals", this rule will not report a problem when a string is using backticks and option one is either "double" or "single".

            When using "single" or "double", template literals that don't contain a substitution, don't contain a line break and aren't tagged templates, are flagged as problems, even with the "avoidEscape" option. However they are not problems when "allowTemplateLiterals" is used.

            Configuration looks like this:

            [2, "single", {"avoidEscape": true, "allowTemplateLiterals": true}]

            Deprecation notice: The avoid-escape option is a deprecated syntax and you should use the object form instead.

            The following patterns are considered problems:

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

            The following patterns are not considered problems:

            /*eslint quotes: ["error", "double"]*/
            /*eslint-env es6*/
            
            var double = "double";
            var backtick = `back\ntick`;  // backticks are allowed due to newline
            var backtick = tag`backtick`; // backticks are allowed due to tag
            /*eslint quotes: ["error", "single"]*/
            /*eslint-env es6*/
            
            var single = 'single';
            var backtick = `back${x}tick`; // backticks are allowed due to substitution
            /*eslint quotes: ["error", "double", {"avoidEscape": true}]*/
            
            var single = 'a string containing "double" quotes';
            /*eslint quotes: ["error", "single", {"avoidEscape": true}]*/
            
            var double = "a string containing 'single' quotes";
            /*eslint quotes: ["error", "double", {"allowTemplateLiterals": true}]*/
            
            var single = 'single';
            var single = `single`;
            /*eslint quotes: ["error", "single", {"allowTemplateLiterals": true}]*/
            
            var double = "double";
            var double = `double`;
            /*eslint quotes: ["error", "backtick"]*/
            /*eslint-env es6*/
            
            var backtick = `backtick`;
            /*eslint quotes: ["error", "backtick", {"avoidEscape": true}]*/
            
            var double = "a string containing `backtick` quotes"

            When Not To Use It

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

            Line 224 exceeds the maximum line length of 80.
            Open

                                    self_.updateSavedMessage(tooltip, '<span>Virtual study <i>' + cohortName +

            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/

            Missing semicolon.
            Open

                            self_.hideSaved(tooltip)

            Enforce or Disallow Semicolons (semi)

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

            JavaScript is unique amongst the C-like languages in that it doesn't require semicolons at the end of each statement. In many cases, the JavaScript engine can determine that a semicolon should be in a certain spot and will automatically add it. This feature is known as automatic semicolon insertion (ASI) and is considered one of the more controversial features of JavaScript. For example, the following lines are both valid:

            var name = "ESLint"
            var website = "eslint.org";

            On the first line, the JavaScript engine will automatically insert a semicolon, so this is not considered a syntax error. The JavaScript engine still knows how to interpret the line and knows that the line end indicates the end of the statement.

            In the debate over ASI, there are generally two schools of thought. The first is that we should treat ASI as if it didn't exist and always include semicolons manually. The rationale is that it's easier to always include semicolons than to try to remember when they are or are not required, and thus decreases the possibility of introducing an error.

            However, the ASI mechanism can sometimes be tricky to people who are using semicolons. For example, consider this code:

            return
            {
                name: "ESLint"
            };

            This may look like a return statement that returns an object literal, however, the JavaScript engine will interpret this code as:

            return;
            {
                name: "ESLint";
            }

            Effectively, a semicolon is inserted after the return statement, causing the code below it (a labeled literal inside a block) to be unreachable. This rule and the [no-unreachable](no-unreachable.md) rule will protect your code from such cases.

            On the other side of the argument are those who says that since semicolons are inserted automatically, they are optional and do not need to be inserted manually. However, the ASI mechanism can also be tricky to people who don't use semicolons. For example, consider this code:

            var globalCounter = { }
            
            (function () {
                var n = 0
                globalCounter.increment = function () {
                    return ++n
                }
            })()

            In this example, a semicolon will not be inserted after the first line, causing a run-time error (because an empty object is called as if it's a function). The [no-unexpected-multiline](no-unexpected-multiline.md) rule can protect your code from such cases.

            Although ASI allows for more freedom over your coding style, it can also make your code behave in an unexpected way, whether you use semicolons or not. Therefore, it is best to know when ASI takes place and when it does not, and have ESLint protect your code from these potentially unexpected cases. In short, as once described by Isaac Schlueter, a \n character always ends a statement (just like a semicolon) unless one of the following is true:

            1. The statement has an unclosed paren, array literal, or object literal or ends in some other way that is not a valid way to end a statement. (For instance, ending with . or ,.)
            2. The line is -- or ++ (in which case it will decrement/increment the next token.)
            3. It is a for(), while(), do, if(), or else, and there is no {
            4. The next line starts with [, (, +, *, /, -, ,, ., or some other binary operator that can only be found between two tokens in a single expression.

            Rule Details

            This rule is aimed at ensuring consistent use of semicolons. You can decide whether or not to require semicolons at the end of statements.

            Options

            The rule takes one or two options. The first one is a string, which could be "always" or "never". The default is "always". The second one is an object for more fine-grained configuration when the first option is "always".

            You can set the option in configuration like this:

            "always"

            By using the default option, semicolons must be used any place where they are valid.

            semi: ["error", "always"]

            The following patterns are considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            The following patterns are not considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            Fine-grained control

            When setting the first option as "always", an additional option can be added to omit the last semicolon in a one-line block, that is, a block in which its braces (and therefore the content of the block) are in the same line:

            semi: ["error", "always", { "omitLastInOneLineBlock": true}]

            The following patterns are considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) {
                bar()
            }
            
            if (foo) { bar(); }

            The following patterns are not considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) { bar() }
            
            if (foo) { bar(); baz() }

            "never"

            If you want to enforce that semicolons are never used, switch the configuration to:

            semi: [2, "never"]

            Then, the following patterns are considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            And the following patterns are not considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            Even in "never" mode, semicolons are still allowed to disambiguate statements beginning with [, (, /, +, or -:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            ;(function() {
                // ...
            })()

            When Not To Use It

            If you do not want to enforce semicolon usage (or omission) in any particular way, then you can turn this rule off.

            Further Reading

            Related Rules

            • [no-extra-semi](no-extra-semi.md)
            • [no-unexpected-multiline](no-unexpected-multiline.md)
            • [semi-spacing](semi-spacing.md) Source: http://eslint.org/docs/rules/

            Line 240 exceeds the maximum line length of 80.
            Open

                                    tooltip.find('.saved .message .query-vs').click(function(event) {

            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/

            Strings must use singlequote.
            Open

                            $("body").append(temp);

            Enforce Quote Style (quotes)

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

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

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

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

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

            Rule Details

            This rule is aimed at ensuring consistency of string quotes and as such will report a problem when an inconsistent style is found.

            The rule configuration takes up to two options:

            1. The first option is "double", "single" or "backtick" for double-quotes, single-quotes or backticks respectively. The default is "double".
            2. The second option takes two options:
              1. "avoidEscape": When using "avoidEscape", this rule will not report a problem when a string is using single-quotes or double-quotes so long as the string contains a quote that would have to be escaped otherwise. For example, if you specify "double" and "avoidEscape", the string 'He said, "hi!"' is not considered a problem because using double quotes for that string would require escaping the double quotes inside of the string. This option is off by default.
              2. "allowTemplateLiterals": when using "allowTemplateLiterals", this rule will not report a problem when a string is using backticks and option one is either "double" or "single".

            When using "single" or "double", template literals that don't contain a substitution, don't contain a line break and aren't tagged templates, are flagged as problems, even with the "avoidEscape" option. However they are not problems when "allowTemplateLiterals" is used.

            Configuration looks like this:

            [2, "single", {"avoidEscape": true, "allowTemplateLiterals": true}]

            Deprecation notice: The avoid-escape option is a deprecated syntax and you should use the object form instead.

            The following patterns are considered problems:

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

            The following patterns are not considered problems:

            /*eslint quotes: ["error", "double"]*/
            /*eslint-env es6*/
            
            var double = "double";
            var backtick = `back\ntick`;  // backticks are allowed due to newline
            var backtick = tag`backtick`; // backticks are allowed due to tag
            /*eslint quotes: ["error", "single"]*/
            /*eslint-env es6*/
            
            var single = 'single';
            var backtick = `back${x}tick`; // backticks are allowed due to substitution
            /*eslint quotes: ["error", "double", {"avoidEscape": true}]*/
            
            var single = 'a string containing "double" quotes';
            /*eslint quotes: ["error", "single", {"avoidEscape": true}]*/
            
            var double = "a string containing 'single' quotes";
            /*eslint quotes: ["error", "double", {"allowTemplateLiterals": true}]*/
            
            var single = 'single';
            var single = `single`;
            /*eslint quotes: ["error", "single", {"allowTemplateLiterals": true}]*/
            
            var double = "double";
            var double = `double`;
            /*eslint quotes: ["error", "backtick"]*/
            /*eslint-env es6*/
            
            var backtick = `backtick`;
            /*eslint quotes: ["error", "backtick", {"avoidEscape": true}]*/
            
            var double = "a string containing `backtick` quotes"

            When Not To Use It

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

            Strings must use singlequote.
            Open

                            var temp = $("<input>");

            Enforce Quote Style (quotes)

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

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

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

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

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

            Rule Details

            This rule is aimed at ensuring consistency of string quotes and as such will report a problem when an inconsistent style is found.

            The rule configuration takes up to two options:

            1. The first option is "double", "single" or "backtick" for double-quotes, single-quotes or backticks respectively. The default is "double".
            2. The second option takes two options:
              1. "avoidEscape": When using "avoidEscape", this rule will not report a problem when a string is using single-quotes or double-quotes so long as the string contains a quote that would have to be escaped otherwise. For example, if you specify "double" and "avoidEscape", the string 'He said, "hi!"' is not considered a problem because using double quotes for that string would require escaping the double quotes inside of the string. This option is off by default.
              2. "allowTemplateLiterals": when using "allowTemplateLiterals", this rule will not report a problem when a string is using backticks and option one is either "double" or "single".

            When using "single" or "double", template literals that don't contain a substitution, don't contain a line break and aren't tagged templates, are flagged as problems, even with the "avoidEscape" option. However they are not problems when "allowTemplateLiterals" is used.

            Configuration looks like this:

            [2, "single", {"avoidEscape": true, "allowTemplateLiterals": true}]

            Deprecation notice: The avoid-escape option is a deprecated syntax and you should use the object form instead.

            The following patterns are considered problems:

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

            The following patterns are not considered problems:

            /*eslint quotes: ["error", "double"]*/
            /*eslint-env es6*/
            
            var double = "double";
            var backtick = `back\ntick`;  // backticks are allowed due to newline
            var backtick = tag`backtick`; // backticks are allowed due to tag
            /*eslint quotes: ["error", "single"]*/
            /*eslint-env es6*/
            
            var single = 'single';
            var backtick = `back${x}tick`; // backticks are allowed due to substitution
            /*eslint quotes: ["error", "double", {"avoidEscape": true}]*/
            
            var single = 'a string containing "double" quotes';
            /*eslint quotes: ["error", "single", {"avoidEscape": true}]*/
            
            var double = "a string containing 'single' quotes";
            /*eslint quotes: ["error", "double", {"allowTemplateLiterals": true}]*/
            
            var single = 'single';
            var single = `single`;
            /*eslint quotes: ["error", "single", {"allowTemplateLiterals": true}]*/
            
            var double = "double";
            var double = `double`;
            /*eslint quotes: ["error", "backtick"]*/
            /*eslint-env es6*/
            
            var backtick = `backtick`;
            /*eslint quotes: ["error", "backtick", {"avoidEscape": true}]*/
            
            var double = "a string containing `backtick` quotes"

            When Not To Use It

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

            Missing semicolon.
            Open

                      .html(message)

            Enforce or Disallow Semicolons (semi)

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

            JavaScript is unique amongst the C-like languages in that it doesn't require semicolons at the end of each statement. In many cases, the JavaScript engine can determine that a semicolon should be in a certain spot and will automatically add it. This feature is known as automatic semicolon insertion (ASI) and is considered one of the more controversial features of JavaScript. For example, the following lines are both valid:

            var name = "ESLint"
            var website = "eslint.org";

            On the first line, the JavaScript engine will automatically insert a semicolon, so this is not considered a syntax error. The JavaScript engine still knows how to interpret the line and knows that the line end indicates the end of the statement.

            In the debate over ASI, there are generally two schools of thought. The first is that we should treat ASI as if it didn't exist and always include semicolons manually. The rationale is that it's easier to always include semicolons than to try to remember when they are or are not required, and thus decreases the possibility of introducing an error.

            However, the ASI mechanism can sometimes be tricky to people who are using semicolons. For example, consider this code:

            return
            {
                name: "ESLint"
            };

            This may look like a return statement that returns an object literal, however, the JavaScript engine will interpret this code as:

            return;
            {
                name: "ESLint";
            }

            Effectively, a semicolon is inserted after the return statement, causing the code below it (a labeled literal inside a block) to be unreachable. This rule and the [no-unreachable](no-unreachable.md) rule will protect your code from such cases.

            On the other side of the argument are those who says that since semicolons are inserted automatically, they are optional and do not need to be inserted manually. However, the ASI mechanism can also be tricky to people who don't use semicolons. For example, consider this code:

            var globalCounter = { }
            
            (function () {
                var n = 0
                globalCounter.increment = function () {
                    return ++n
                }
            })()

            In this example, a semicolon will not be inserted after the first line, causing a run-time error (because an empty object is called as if it's a function). The [no-unexpected-multiline](no-unexpected-multiline.md) rule can protect your code from such cases.

            Although ASI allows for more freedom over your coding style, it can also make your code behave in an unexpected way, whether you use semicolons or not. Therefore, it is best to know when ASI takes place and when it does not, and have ESLint protect your code from these potentially unexpected cases. In short, as once described by Isaac Schlueter, a \n character always ends a statement (just like a semicolon) unless one of the following is true:

            1. The statement has an unclosed paren, array literal, or object literal or ends in some other way that is not a valid way to end a statement. (For instance, ending with . or ,.)
            2. The line is -- or ++ (in which case it will decrement/increment the next token.)
            3. It is a for(), while(), do, if(), or else, and there is no {
            4. The next line starts with [, (, +, *, /, -, ,, ., or some other binary operator that can only be found between two tokens in a single expression.

            Rule Details

            This rule is aimed at ensuring consistent use of semicolons. You can decide whether or not to require semicolons at the end of statements.

            Options

            The rule takes one or two options. The first one is a string, which could be "always" or "never". The default is "always". The second one is an object for more fine-grained configuration when the first option is "always".

            You can set the option in configuration like this:

            "always"

            By using the default option, semicolons must be used any place where they are valid.

            semi: ["error", "always"]

            The following patterns are considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            The following patterns are not considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            Fine-grained control

            When setting the first option as "always", an additional option can be added to omit the last semicolon in a one-line block, that is, a block in which its braces (and therefore the content of the block) are in the same line:

            semi: ["error", "always", { "omitLastInOneLineBlock": true}]

            The following patterns are considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) {
                bar()
            }
            
            if (foo) { bar(); }

            The following patterns are not considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) { bar() }
            
            if (foo) { bar(); baz() }

            "never"

            If you want to enforce that semicolons are never used, switch the configuration to:

            semi: [2, "never"]

            Then, the following patterns are considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            And the following patterns are not considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            Even in "never" mode, semicolons are still allowed to disambiguate statements beginning with [, (, /, +, or -:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            ;(function() {
                // ...
            })()

            When Not To Use It

            If you do not want to enforce semicolon usage (or omission) in any particular way, then you can turn this rule off.

            Further Reading

            Related Rules

            • [no-extra-semi](no-extra-semi.md)
            • [no-unexpected-multiline](no-unexpected-multiline.md)
            • [semi-spacing](semi-spacing.md) Source: http://eslint.org/docs/rules/

            Missing semicolon.
            Open

                      .html(message)

            Enforce or Disallow Semicolons (semi)

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

            JavaScript is unique amongst the C-like languages in that it doesn't require semicolons at the end of each statement. In many cases, the JavaScript engine can determine that a semicolon should be in a certain spot and will automatically add it. This feature is known as automatic semicolon insertion (ASI) and is considered one of the more controversial features of JavaScript. For example, the following lines are both valid:

            var name = "ESLint"
            var website = "eslint.org";

            On the first line, the JavaScript engine will automatically insert a semicolon, so this is not considered a syntax error. The JavaScript engine still knows how to interpret the line and knows that the line end indicates the end of the statement.

            In the debate over ASI, there are generally two schools of thought. The first is that we should treat ASI as if it didn't exist and always include semicolons manually. The rationale is that it's easier to always include semicolons than to try to remember when they are or are not required, and thus decreases the possibility of introducing an error.

            However, the ASI mechanism can sometimes be tricky to people who are using semicolons. For example, consider this code:

            return
            {
                name: "ESLint"
            };

            This may look like a return statement that returns an object literal, however, the JavaScript engine will interpret this code as:

            return;
            {
                name: "ESLint";
            }

            Effectively, a semicolon is inserted after the return statement, causing the code below it (a labeled literal inside a block) to be unreachable. This rule and the [no-unreachable](no-unreachable.md) rule will protect your code from such cases.

            On the other side of the argument are those who says that since semicolons are inserted automatically, they are optional and do not need to be inserted manually. However, the ASI mechanism can also be tricky to people who don't use semicolons. For example, consider this code:

            var globalCounter = { }
            
            (function () {
                var n = 0
                globalCounter.increment = function () {
                    return ++n
                }
            })()

            In this example, a semicolon will not be inserted after the first line, causing a run-time error (because an empty object is called as if it's a function). The [no-unexpected-multiline](no-unexpected-multiline.md) rule can protect your code from such cases.

            Although ASI allows for more freedom over your coding style, it can also make your code behave in an unexpected way, whether you use semicolons or not. Therefore, it is best to know when ASI takes place and when it does not, and have ESLint protect your code from these potentially unexpected cases. In short, as once described by Isaac Schlueter, a \n character always ends a statement (just like a semicolon) unless one of the following is true:

            1. The statement has an unclosed paren, array literal, or object literal or ends in some other way that is not a valid way to end a statement. (For instance, ending with . or ,.)
            2. The line is -- or ++ (in which case it will decrement/increment the next token.)
            3. It is a for(), while(), do, if(), or else, and there is no {
            4. The next line starts with [, (, +, *, /, -, ,, ., or some other binary operator that can only be found between two tokens in a single expression.

            Rule Details

            This rule is aimed at ensuring consistent use of semicolons. You can decide whether or not to require semicolons at the end of statements.

            Options

            The rule takes one or two options. The first one is a string, which could be "always" or "never". The default is "always". The second one is an object for more fine-grained configuration when the first option is "always".

            You can set the option in configuration like this:

            "always"

            By using the default option, semicolons must be used any place where they are valid.

            semi: ["error", "always"]

            The following patterns are considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            The following patterns are not considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            Fine-grained control

            When setting the first option as "always", an additional option can be added to omit the last semicolon in a one-line block, that is, a block in which its braces (and therefore the content of the block) are in the same line:

            semi: ["error", "always", { "omitLastInOneLineBlock": true}]

            The following patterns are considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) {
                bar()
            }
            
            if (foo) { bar(); }

            The following patterns are not considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) { bar() }
            
            if (foo) { bar(); baz() }

            "never"

            If you want to enforce that semicolons are never used, switch the configuration to:

            semi: [2, "never"]

            Then, the following patterns are considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            And the following patterns are not considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            Even in "never" mode, semicolons are still allowed to disambiguate statements beginning with [, (, /, +, or -:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            ;(function() {
                // ...
            })()

            When Not To Use It

            If you do not want to enforce semicolon usage (or omission) in any particular way, then you can turn this rule off.

            Further Reading

            Related Rules

            • [no-extra-semi](no-extra-semi.md)
            • [no-unexpected-multiline](no-unexpected-multiline.md)
            • [semi-spacing](semi-spacing.md) Source: http://eslint.org/docs/rules/

            Line 297 exceeds the maximum line length of 80.
            Open

                                          window.cbioURL + 'study?id=' + self_.savedVC.id + '</a>');

            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/

            Missing semicolon.
            Open

                                          'please try again later.</span>')

            Enforce or Disallow Semicolons (semi)

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

            JavaScript is unique amongst the C-like languages in that it doesn't require semicolons at the end of each statement. In many cases, the JavaScript engine can determine that a semicolon should be in a certain spot and will automatically add it. This feature is known as automatic semicolon insertion (ASI) and is considered one of the more controversial features of JavaScript. For example, the following lines are both valid:

            var name = "ESLint"
            var website = "eslint.org";

            On the first line, the JavaScript engine will automatically insert a semicolon, so this is not considered a syntax error. The JavaScript engine still knows how to interpret the line and knows that the line end indicates the end of the statement.

            In the debate over ASI, there are generally two schools of thought. The first is that we should treat ASI as if it didn't exist and always include semicolons manually. The rationale is that it's easier to always include semicolons than to try to remember when they are or are not required, and thus decreases the possibility of introducing an error.

            However, the ASI mechanism can sometimes be tricky to people who are using semicolons. For example, consider this code:

            return
            {
                name: "ESLint"
            };

            This may look like a return statement that returns an object literal, however, the JavaScript engine will interpret this code as:

            return;
            {
                name: "ESLint";
            }

            Effectively, a semicolon is inserted after the return statement, causing the code below it (a labeled literal inside a block) to be unreachable. This rule and the [no-unreachable](no-unreachable.md) rule will protect your code from such cases.

            On the other side of the argument are those who says that since semicolons are inserted automatically, they are optional and do not need to be inserted manually. However, the ASI mechanism can also be tricky to people who don't use semicolons. For example, consider this code:

            var globalCounter = { }
            
            (function () {
                var n = 0
                globalCounter.increment = function () {
                    return ++n
                }
            })()

            In this example, a semicolon will not be inserted after the first line, causing a run-time error (because an empty object is called as if it's a function). The [no-unexpected-multiline](no-unexpected-multiline.md) rule can protect your code from such cases.

            Although ASI allows for more freedom over your coding style, it can also make your code behave in an unexpected way, whether you use semicolons or not. Therefore, it is best to know when ASI takes place and when it does not, and have ESLint protect your code from these potentially unexpected cases. In short, as once described by Isaac Schlueter, a \n character always ends a statement (just like a semicolon) unless one of the following is true:

            1. The statement has an unclosed paren, array literal, or object literal or ends in some other way that is not a valid way to end a statement. (For instance, ending with . or ,.)
            2. The line is -- or ++ (in which case it will decrement/increment the next token.)
            3. It is a for(), while(), do, if(), or else, and there is no {
            4. The next line starts with [, (, +, *, /, -, ,, ., or some other binary operator that can only be found between two tokens in a single expression.

            Rule Details

            This rule is aimed at ensuring consistent use of semicolons. You can decide whether or not to require semicolons at the end of statements.

            Options

            The rule takes one or two options. The first one is a string, which could be "always" or "never". The default is "always". The second one is an object for more fine-grained configuration when the first option is "always".

            You can set the option in configuration like this:

            "always"

            By using the default option, semicolons must be used any place where they are valid.

            semi: ["error", "always"]

            The following patterns are considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            The following patterns are not considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            Fine-grained control

            When setting the first option as "always", an additional option can be added to omit the last semicolon in a one-line block, that is, a block in which its braces (and therefore the content of the block) are in the same line:

            semi: ["error", "always", { "omitLastInOneLineBlock": true}]

            The following patterns are considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) {
                bar()
            }
            
            if (foo) { bar(); }

            The following patterns are not considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) { bar() }
            
            if (foo) { bar(); baz() }

            "never"

            If you want to enforce that semicolons are never used, switch the configuration to:

            semi: [2, "never"]

            Then, the following patterns are considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            And the following patterns are not considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            Even in "never" mode, semicolons are still allowed to disambiguate statements beginning with [, (, /, +, or -:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            ;(function() {
                // ...
            })()

            When Not To Use It

            If you do not want to enforce semicolon usage (or omission) in any particular way, then you can turn this rule off.

            Further Reading

            Related Rules

            • [no-extra-semi](no-extra-semi.md)
            • [no-unexpected-multiline](no-unexpected-multiline.md)
            • [semi-spacing](semi-spacing.md) Source: http://eslint.org/docs/rules/

            Missing semicolon.
            Open

                      .html(message)

            Enforce or Disallow Semicolons (semi)

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

            JavaScript is unique amongst the C-like languages in that it doesn't require semicolons at the end of each statement. In many cases, the JavaScript engine can determine that a semicolon should be in a certain spot and will automatically add it. This feature is known as automatic semicolon insertion (ASI) and is considered one of the more controversial features of JavaScript. For example, the following lines are both valid:

            var name = "ESLint"
            var website = "eslint.org";

            On the first line, the JavaScript engine will automatically insert a semicolon, so this is not considered a syntax error. The JavaScript engine still knows how to interpret the line and knows that the line end indicates the end of the statement.

            In the debate over ASI, there are generally two schools of thought. The first is that we should treat ASI as if it didn't exist and always include semicolons manually. The rationale is that it's easier to always include semicolons than to try to remember when they are or are not required, and thus decreases the possibility of introducing an error.

            However, the ASI mechanism can sometimes be tricky to people who are using semicolons. For example, consider this code:

            return
            {
                name: "ESLint"
            };

            This may look like a return statement that returns an object literal, however, the JavaScript engine will interpret this code as:

            return;
            {
                name: "ESLint";
            }

            Effectively, a semicolon is inserted after the return statement, causing the code below it (a labeled literal inside a block) to be unreachable. This rule and the [no-unreachable](no-unreachable.md) rule will protect your code from such cases.

            On the other side of the argument are those who says that since semicolons are inserted automatically, they are optional and do not need to be inserted manually. However, the ASI mechanism can also be tricky to people who don't use semicolons. For example, consider this code:

            var globalCounter = { }
            
            (function () {
                var n = 0
                globalCounter.increment = function () {
                    return ++n
                }
            })()

            In this example, a semicolon will not be inserted after the first line, causing a run-time error (because an empty object is called as if it's a function). The [no-unexpected-multiline](no-unexpected-multiline.md) rule can protect your code from such cases.

            Although ASI allows for more freedom over your coding style, it can also make your code behave in an unexpected way, whether you use semicolons or not. Therefore, it is best to know when ASI takes place and when it does not, and have ESLint protect your code from these potentially unexpected cases. In short, as once described by Isaac Schlueter, a \n character always ends a statement (just like a semicolon) unless one of the following is true:

            1. The statement has an unclosed paren, array literal, or object literal or ends in some other way that is not a valid way to end a statement. (For instance, ending with . or ,.)
            2. The line is -- or ++ (in which case it will decrement/increment the next token.)
            3. It is a for(), while(), do, if(), or else, and there is no {
            4. The next line starts with [, (, +, *, /, -, ,, ., or some other binary operator that can only be found between two tokens in a single expression.

            Rule Details

            This rule is aimed at ensuring consistent use of semicolons. You can decide whether or not to require semicolons at the end of statements.

            Options

            The rule takes one or two options. The first one is a string, which could be "always" or "never". The default is "always". The second one is an object for more fine-grained configuration when the first option is "always".

            You can set the option in configuration like this:

            "always"

            By using the default option, semicolons must be used any place where they are valid.

            semi: ["error", "always"]

            The following patterns are considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            The following patterns are not considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            Fine-grained control

            When setting the first option as "always", an additional option can be added to omit the last semicolon in a one-line block, that is, a block in which its braces (and therefore the content of the block) are in the same line:

            semi: ["error", "always", { "omitLastInOneLineBlock": true}]

            The following patterns are considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) {
                bar()
            }
            
            if (foo) { bar(); }

            The following patterns are not considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) { bar() }
            
            if (foo) { bar(); baz() }

            "never"

            If you want to enforce that semicolons are never used, switch the configuration to:

            semi: [2, "never"]

            Then, the following patterns are considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            And the following patterns are not considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            Even in "never" mode, semicolons are still allowed to disambiguate statements beginning with [, (, /, +, or -:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            ;(function() {
                // ...
            })()

            When Not To Use It

            If you do not want to enforce semicolon usage (or omission) in any particular way, then you can turn this rule off.

            Further Reading

            Related Rules

            • [no-extra-semi](no-extra-semi.md)
            • [no-unexpected-multiline](no-unexpected-multiline.md)
            • [semi-spacing](semi-spacing.md) Source: http://eslint.org/docs/rules/

            Line 206 exceeds the maximum line length of 80.
            Open

                              tooltip.find('.cohort-name').val() : tooltip.find('.cohort-name').attr('placeholder');

            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 331 exceeds the maximum line length of 80.
            Open

                            temp.val(tooltip.find('.virtual-study-link').attr('href')).select();

            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 335 exceeds the maximum line length of 80.
            Open

                            if (temp.val() === tooltip.find('.virtual-study-link').attr('href')) {

            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/

            Missing space before opening brace.
            Open

                  showSaveButton: function(){

            Require Or Disallow Space Before Blocks (space-before-blocks)

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

            Consistency is an important part of any style guide. While it is a personal preference where to put the opening brace of blocks, it should be consistent across a whole project. Having an inconsistent style distracts the reader from seeing the important parts of the code.

            Rule Details

            This rule will enforce consistency of spacing before blocks. It is only applied on blocks that don’t begin on a new line.

            • This rule ignores spacing which is between => and a block. The spacing is handled by the arrow-spacing rule.
            • This rule ignores spacing which is between a keyword and a block. The spacing is handled by the keyword-spacing rule.

            Options

            This rule takes one argument. If it is "always" then blocks must always have at least one preceding space. If "never" then all blocks should never have any preceding space. If different spacing is desired for function blocks, keyword blocks and classes, an optional configuration object can be passed as the rule argument to configure the cases separately.

            ( e.g. { "functions": "never", "keywords": "always", classes: "always" } )

            The default is "always".

            "always"

            The following patterns are considered problems:

            /*eslint space-before-blocks: "error"*/
            
            if (a){
                b();
            }
            
            function a(){}
            
            for (;;){
                b();
            }
            
            try {} catch(a){}
            
            class Foo{
              constructor(){}
            }

            The following patterns are not considered problems:

            /*eslint space-before-blocks: "error"*/
            
            if (a) {
                b();
            }
            
            if (a) {
                b();
            } else{ /*no error. this is checked by `keyword-spacing` rule.*/
                c();
            }
            
            
            function a() {}
            
            for (;;) {
                b();
            }
            
            try {} catch(a) {}

            "never"

            The following patterns are considered problems:

            /*eslint space-before-blocks: ["error", "never"]*/
            
            if (a) {
                b();
            }
            
            function a() {}
            
            for (;;) {
                b();
            }
            
            try {} catch(a) {}

            The following patterns are not considered problems:

            /*eslint space-before-blocks: ["error", "never"]*/
            
            if (a){
                b();
            }
            
            function a(){}
            
            for (;;){
                b();
            }
            
            try{} catch(a){}
            
            class Foo{
              constructor(){}
            }

            The following patterns are considered problems when configured { "functions": "never", "keywords": "always", classes: "never" }:

            /*eslint space-before-blocks: ["error", { "functions": "never", "keywords": "always", classes: "never" }]*/
            /*eslint-env es6*/
            
            function a() {}
            
            try {} catch(a){}
            
            class Foo{
              constructor() {}
            }

            The following patterns are not considered problems when configured { "functions": "never", "keywords": "always", classes: "never" }:

            /*eslint space-before-blocks: ["error", { "functions": "never", "keywords": "always", classes: "never" }]*/
            /*eslint-env es6*/
            
            for (;;) {
              // ...
            }
            
            describe(function(){
              // ...
            });
            
            class Foo {
              constructor(){}
            }

            The following patterns are considered problems when configured { "functions": "always", "keywords": "never", classes: "never" }:

            /*eslint space-before-blocks: ["error", { "functions": "always", "keywords": "never", classes: "never" }]*/
            /*eslint-env es6*/
            
            function a(){}
            
            try {} catch(a) {}
            
            class Foo {
              constructor(){}
            }

            The following patterns are not considered problems when configured { "functions": "always", "keywords": "never", classes: "never" }:

            /*eslint space-before-blocks: ["error", { "functions": "always", "keywords": "never", classes: "never" }]*/
            /*eslint-env es6*/
            
            if (a){
              b();
            }
            
            var a = function() {}
            
            class Foo{
              constructor() {}
            }

            The following patterns are considered problems when configured { "functions": "never", "keywords": "never", classes: "always" }:

            /*eslint space-before-blocks: ["error", { "functions": "never", "keywords": "never", classes: "always" }]*/
            /*eslint-env es6*/
            
            class Foo{
              constructor(){}
            }

            The following patterns are not considered problems when configured { "functions": "never", "keywords": "never", classes: "always" }:

            /*eslint space-before-blocks: ["error", { "functions": "never", "keywords": "never", classes: "always" }]*/
            /*eslint-env es6*/
            
            class Foo {
              constructor(){}
            }

            When Not To Use It

            You can turn this rule off if you are not concerned with the consistency of spacing before blocks or if you are using the space-after-keywords rule set to "never".

            Related Rules

            Line 168 exceeds the maximum line length of 80.
            Open

                    return vcSession.utils.generateVSDescription(filteredOriginStudies, _.values(filters));

            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

                                  // to the user. When a user want to see the cohort url, he/she needs to click Share button. 

            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 286 exceeds the maximum line length of 80.
            Open

                                  var currentSelection = cohortName + cohortDescription + JSON.stringify(self_.stats.studies) + JSON.stringify(self_.stats);

            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/

            Missing semicolon.
            Open

                                      window.open(window.cbioURL + 'index.do?cancer_study_id=' + self_.savedVS.id)

            Enforce or Disallow Semicolons (semi)

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

            JavaScript is unique amongst the C-like languages in that it doesn't require semicolons at the end of each statement. In many cases, the JavaScript engine can determine that a semicolon should be in a certain spot and will automatically add it. This feature is known as automatic semicolon insertion (ASI) and is considered one of the more controversial features of JavaScript. For example, the following lines are both valid:

            var name = "ESLint"
            var website = "eslint.org";

            On the first line, the JavaScript engine will automatically insert a semicolon, so this is not considered a syntax error. The JavaScript engine still knows how to interpret the line and knows that the line end indicates the end of the statement.

            In the debate over ASI, there are generally two schools of thought. The first is that we should treat ASI as if it didn't exist and always include semicolons manually. The rationale is that it's easier to always include semicolons than to try to remember when they are or are not required, and thus decreases the possibility of introducing an error.

            However, the ASI mechanism can sometimes be tricky to people who are using semicolons. For example, consider this code:

            return
            {
                name: "ESLint"
            };

            This may look like a return statement that returns an object literal, however, the JavaScript engine will interpret this code as:

            return;
            {
                name: "ESLint";
            }

            Effectively, a semicolon is inserted after the return statement, causing the code below it (a labeled literal inside a block) to be unreachable. This rule and the [no-unreachable](no-unreachable.md) rule will protect your code from such cases.

            On the other side of the argument are those who says that since semicolons are inserted automatically, they are optional and do not need to be inserted manually. However, the ASI mechanism can also be tricky to people who don't use semicolons. For example, consider this code:

            var globalCounter = { }
            
            (function () {
                var n = 0
                globalCounter.increment = function () {
                    return ++n
                }
            })()

            In this example, a semicolon will not be inserted after the first line, causing a run-time error (because an empty object is called as if it's a function). The [no-unexpected-multiline](no-unexpected-multiline.md) rule can protect your code from such cases.

            Although ASI allows for more freedom over your coding style, it can also make your code behave in an unexpected way, whether you use semicolons or not. Therefore, it is best to know when ASI takes place and when it does not, and have ESLint protect your code from these potentially unexpected cases. In short, as once described by Isaac Schlueter, a \n character always ends a statement (just like a semicolon) unless one of the following is true:

            1. The statement has an unclosed paren, array literal, or object literal or ends in some other way that is not a valid way to end a statement. (For instance, ending with . or ,.)
            2. The line is -- or ++ (in which case it will decrement/increment the next token.)
            3. It is a for(), while(), do, if(), or else, and there is no {
            4. The next line starts with [, (, +, *, /, -, ,, ., or some other binary operator that can only be found between two tokens in a single expression.

            Rule Details

            This rule is aimed at ensuring consistent use of semicolons. You can decide whether or not to require semicolons at the end of statements.

            Options

            The rule takes one or two options. The first one is a string, which could be "always" or "never". The default is "always". The second one is an object for more fine-grained configuration when the first option is "always".

            You can set the option in configuration like this:

            "always"

            By using the default option, semicolons must be used any place where they are valid.

            semi: ["error", "always"]

            The following patterns are considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            The following patterns are not considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            Fine-grained control

            When setting the first option as "always", an additional option can be added to omit the last semicolon in a one-line block, that is, a block in which its braces (and therefore the content of the block) are in the same line:

            semi: ["error", "always", { "omitLastInOneLineBlock": true}]

            The following patterns are considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) {
                bar()
            }
            
            if (foo) { bar(); }

            The following patterns are not considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) { bar() }
            
            if (foo) { bar(); baz() }

            "never"

            If you want to enforce that semicolons are never used, switch the configuration to:

            semi: [2, "never"]

            Then, the following patterns are considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            And the following patterns are not considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            Even in "never" mode, semicolons are still allowed to disambiguate statements beginning with [, (, /, +, or -:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            ;(function() {
                // ...
            })()

            When Not To Use It

            If you do not want to enforce semicolon usage (or omission) in any particular way, then you can turn this rule off.

            Further Reading

            Related Rules

            • [no-extra-semi](no-extra-semi.md)
            • [no-unexpected-multiline](no-unexpected-multiline.md)
            • [semi-spacing](semi-spacing.md) Source: http://eslint.org/docs/rules/

            Line 353 exceeds the maximum line length of 80.
            Open

                              .attr('placeholder', vcSession.utils.VSDefaultName(self_.stats.studies));

            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 230 exceeds the maximum line length of 80.
            Open

                                    tooltip.find('.saved .message').find('a').click(function(event) {

            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 242 exceeds the maximum line length of 80.
            Open

                                      window.open(window.cbioURL + 'index.do?cancer_study_id=' + self_.savedVS.id)

            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

                                  // We always show the url to user but we don't need to same virtual cohort every time 

            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/

            Missing semicolon.
            Open

                    this.createQtip()

            Enforce or Disallow Semicolons (semi)

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

            JavaScript is unique amongst the C-like languages in that it doesn't require semicolons at the end of each statement. In many cases, the JavaScript engine can determine that a semicolon should be in a certain spot and will automatically add it. This feature is known as automatic semicolon insertion (ASI) and is considered one of the more controversial features of JavaScript. For example, the following lines are both valid:

            var name = "ESLint"
            var website = "eslint.org";

            On the first line, the JavaScript engine will automatically insert a semicolon, so this is not considered a syntax error. The JavaScript engine still knows how to interpret the line and knows that the line end indicates the end of the statement.

            In the debate over ASI, there are generally two schools of thought. The first is that we should treat ASI as if it didn't exist and always include semicolons manually. The rationale is that it's easier to always include semicolons than to try to remember when they are or are not required, and thus decreases the possibility of introducing an error.

            However, the ASI mechanism can sometimes be tricky to people who are using semicolons. For example, consider this code:

            return
            {
                name: "ESLint"
            };

            This may look like a return statement that returns an object literal, however, the JavaScript engine will interpret this code as:

            return;
            {
                name: "ESLint";
            }

            Effectively, a semicolon is inserted after the return statement, causing the code below it (a labeled literal inside a block) to be unreachable. This rule and the [no-unreachable](no-unreachable.md) rule will protect your code from such cases.

            On the other side of the argument are those who says that since semicolons are inserted automatically, they are optional and do not need to be inserted manually. However, the ASI mechanism can also be tricky to people who don't use semicolons. For example, consider this code:

            var globalCounter = { }
            
            (function () {
                var n = 0
                globalCounter.increment = function () {
                    return ++n
                }
            })()

            In this example, a semicolon will not be inserted after the first line, causing a run-time error (because an empty object is called as if it's a function). The [no-unexpected-multiline](no-unexpected-multiline.md) rule can protect your code from such cases.

            Although ASI allows for more freedom over your coding style, it can also make your code behave in an unexpected way, whether you use semicolons or not. Therefore, it is best to know when ASI takes place and when it does not, and have ESLint protect your code from these potentially unexpected cases. In short, as once described by Isaac Schlueter, a \n character always ends a statement (just like a semicolon) unless one of the following is true:

            1. The statement has an unclosed paren, array literal, or object literal or ends in some other way that is not a valid way to end a statement. (For instance, ending with . or ,.)
            2. The line is -- or ++ (in which case it will decrement/increment the next token.)
            3. It is a for(), while(), do, if(), or else, and there is no {
            4. The next line starts with [, (, +, *, /, -, ,, ., or some other binary operator that can only be found between two tokens in a single expression.

            Rule Details

            This rule is aimed at ensuring consistent use of semicolons. You can decide whether or not to require semicolons at the end of statements.

            Options

            The rule takes one or two options. The first one is a string, which could be "always" or "never". The default is "always". The second one is an object for more fine-grained configuration when the first option is "always".

            You can set the option in configuration like this:

            "always"

            By using the default option, semicolons must be used any place where they are valid.

            semi: ["error", "always"]

            The following patterns are considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            The following patterns are not considered problems:

            /*eslint semi: "error"*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            Fine-grained control

            When setting the first option as "always", an additional option can be added to omit the last semicolon in a one-line block, that is, a block in which its braces (and therefore the content of the block) are in the same line:

            semi: ["error", "always", { "omitLastInOneLineBlock": true}]

            The following patterns are considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) {
                bar()
            }
            
            if (foo) { bar(); }

            The following patterns are not considered problems:

            /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
            
            if (foo) { bar() }
            
            if (foo) { bar(); baz() }

            "never"

            If you want to enforce that semicolons are never used, switch the configuration to:

            semi: [2, "never"]

            Then, the following patterns are considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint";
            
            object.method = function() {
                // ...
            };

            And the following patterns are not considered problems:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            object.method = function() {
                // ...
            }

            Even in "never" mode, semicolons are still allowed to disambiguate statements beginning with [, (, /, +, or -:

            /*eslint semi: ["error", "never"]*/
            
            var name = "ESLint"
            
            ;(function() {
                // ...
            })()

            When Not To Use It

            If you do not want to enforce semicolon usage (or omission) in any particular way, then you can turn this rule off.

            Further Reading

            Related Rules

            • [no-extra-semi](no-extra-semi.md)
            • [no-unexpected-multiline](no-unexpected-multiline.md)
            • [semi-spacing](semi-spacing.md) Source: http://eslint.org/docs/rules/

            Line 125 exceeds the maximum line length of 80.
            Open

                    filteredOriginStudies.studies = this.stats.origin.map(function(studyId) {

            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 235 exceeds the maximum line length of 80.
            Open

                                    tooltip.find('.saved .message .view-vs').click(function(event) {

            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 271 exceeds the maximum line length of 80.
            Open

                            self_.updateSavingMessage(tooltip, 'Generating the virtual study link');

            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 133 exceeds the maximum line length of 80.
            Open

                        _count = selectedStudies.hasOwnProperty(studyId) ? selectedStudies[studyId].length : 0;

            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/

            A function with a name starting with an uppercase letter should only be used as a constructor.
            Open

                              .attr('placeholder', vcSession.utils.VSDefaultName(self_.stats.studies));

            require constructor function names to begin with a capital letter (new-cap)

            The new operator in JavaScript creates a new instance of a particular type of object. That type of object is represented by a constructor function. Since constructor functions are just regular functions, the only defining characteristic is that new is being used as part of the call. Native JavaScript functions begin with an uppercase letter to distinguish those functions that are to be used as constructors from functions that are not. Many style guides recommend following this pattern to more easily determine which functions are to be used as constructors.

            var friend = new Person();

            Rule Details

            This rule requires constructor names to begin with a capital letter. Certain built-in identifiers are exempt from this rule. These identifiers are:

            • Array
            • Boolean
            • Date
            • Error
            • Function
            • Number
            • Object
            • RegExp
            • String
            • Symbol

            Examples of correct code for this rule:

            /*eslint new-cap: "error"*/
            
            function foo(arg) {
                return Boolean(arg);
            }

            Options

            This rule has an object option:

            • "newIsCap": true (default) requires all new operators to be called with uppercase-started functions.
            • "newIsCap": false allows new operators to be called with lowercase-started or uppercase-started functions.
            • "capIsNew": true (default) requires all uppercase-started functions to be called with new operators.
            • "capIsNew": false allows uppercase-started functions to be called without new operators.
            • "newIsCapExceptions" allows specified lowercase-started function names to be called with the new operator.
            • "capIsNewExceptions" allows specified uppercase-started function names to be called without the new operator.
            • "properties": true (default) enables checks on object properties
            • "properties": false disables checks on object properties

            newIsCap

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

            /*eslint new-cap: ["error", { "newIsCap": true }]*/
            
            var friend = new person();

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

            /*eslint new-cap: ["error", { "newIsCap": true }]*/
            
            var friend = new Person();

            Examples of correct code for this rule with the { "newIsCap": false } option:

            /*eslint new-cap: ["error", { "newIsCap": false }]*/
            
            var friend = new person();

            capIsNew

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

            /*eslint new-cap: ["error", { "capIsNew": true }]*/
            
            var colleague = Person();

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

            /*eslint new-cap: ["error", { "capIsNew": true }]*/
            
            var colleague = new Person();

            Examples of correct code for this rule with the { "capIsNew": false } option:

            /*eslint new-cap: ["error", { "capIsNew": false }]*/
            
            var colleague = Person();

            newIsCapExceptions

            Examples of additional correct code for this rule with the { "newIsCapExceptions": ["events"] } option:

            /*eslint new-cap: ["error", { "newIsCapExceptions": ["events"] }]*/
            
            var events = require('events');
            
            var emitter = new events();

            capIsNewExceptions

            Examples of additional correct code for this rule with the { "capIsNewExceptions": ["Person"] } option:

            /*eslint new-cap: ["error", { "capIsNewExceptions": ["Person"] }]*/
            
            function foo(arg) {
                return Person(arg);
            }

            properties

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

            /*eslint new-cap: ["error", { "properties": true }]*/
            
            var friend = new person.acquaintance();

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

            /*eslint new-cap: ["error", { "properties": true }]*/
            
            var friend = new person.Acquaintance();

            Examples of correct code for this rule with the { "properties": false } option:

            /*eslint new-cap: ["error", { "properties": false }]*/
            
            var friend = new person.acquaintance();

            When Not To Use It

            If you have conventions that don't require an uppercase letter for constructors, or don't require capitalized functions be only used as constructors, turn this rule off. Source: http://eslint.org/docs/rules/

            Line 228 exceeds the maximum line length of 80.
            Open

                                      '<button type="button" class="btn btn-default btn-xs query-vs">Query</button>' +

            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/

            Strings must use singlequote.
            Open

                          $(document).one("click", function() {

            Enforce Quote Style (quotes)

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

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

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

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

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

            Rule Details

            This rule is aimed at ensuring consistency of string quotes and as such will report a problem when an inconsistent style is found.

            The rule configuration takes up to two options:

            1. The first option is "double", "single" or "backtick" for double-quotes, single-quotes or backticks respectively. The default is "double".
            2. The second option takes two options:
              1. "avoidEscape": When using "avoidEscape", this rule will not report a problem when a string is using single-quotes or double-quotes so long as the string contains a quote that would have to be escaped otherwise. For example, if you specify "double" and "avoidEscape", the string 'He said, "hi!"' is not considered a problem because using double quotes for that string would require escaping the double quotes inside of the string. This option is off by default.
              2. "allowTemplateLiterals": when using "allowTemplateLiterals", this rule will not report a problem when a string is using backticks and option one is either "double" or "single".

            When using "single" or "double", template literals that don't contain a substitution, don't contain a line break and aren't tagged templates, are flagged as problems, even with the "avoidEscape" option. However they are not problems when "allowTemplateLiterals" is used.

            Configuration looks like this:

            [2, "single", {"avoidEscape": true, "allowTemplateLiterals": true}]

            Deprecation notice: The avoid-escape option is a deprecated syntax and you should use the object form instead.

            The following patterns are considered problems:

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

            The following patterns are not considered problems:

            /*eslint quotes: ["error", "double"]*/
            /*eslint-env es6*/
            
            var double = "double";
            var backtick = `back\ntick`;  // backticks are allowed due to newline
            var backtick = tag`backtick`; // backticks are allowed due to tag
            /*eslint quotes: ["error", "single"]*/
            /*eslint-env es6*/
            
            var single = 'single';
            var backtick = `back${x}tick`; // backticks are allowed due to substitution
            /*eslint quotes: ["error", "double", {"avoidEscape": true}]*/
            
            var single = 'a string containing "double" quotes';
            /*eslint quotes: ["error", "single", {"avoidEscape": true}]*/
            
            var double = "a string containing 'single' quotes";
            /*eslint quotes: ["error", "double", {"allowTemplateLiterals": true}]*/
            
            var single = 'single';
            var single = `single`;
            /*eslint quotes: ["error", "single", {"allowTemplateLiterals": true}]*/
            
            var double = "double";
            var double = `double`;
            /*eslint quotes: ["error", "backtick"]*/
            /*eslint-env es6*/
            
            var backtick = `backtick`;
            /*eslint quotes: ["error", "backtick", {"avoidEscape": true}]*/
            
            var double = "a string containing `backtick` quotes"

            When Not To Use It

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

            Newline required at end of file but not found.
            Open

              window.$ || window.jQuery, window.vcSession, window.iViz, window._);

            Require file to end with single newline (eol-last)

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

            Trailing newlines in non-empty files are a common UNIX idiom. Benefits of trailing newlines include the ability to concatenate or append to files as well as output files to the terminal without interfering with shell prompts.

            Rule Details

            This rule requires at least one newline at the end of non-empty files.

            Prior to v0.16.0 this rule also enforced that there was only a single line at the end of the file. If you still want this behaviour, consider enabling [no-multiple-empty-lines](no-multiple-empty-lines.md) with maxEOF and/or [no-trailing-spaces](no-trailing-spaces.md).

            Examples of incorrect code for this rule:

            /*eslint eol-last: "error"*/
            
            function doSmth() {
              var foo = 2;
            }

            Examples of correct code for this rule:

            /*eslint eol-last: "error"*/
            
            function doSmth() {
              var foo = 2;
            }

            Options

            This rule has a string option:

            • "unix" (default) enforces line feed (LF) as newline
            • "windows" enforces carriage return line feed (CRLF) as newline Source: http://eslint.org/docs/rules/

            Strings must use singlequote.
            Open

                            $(".virtual-study-btn").qtip('hide');

            Enforce Quote Style (quotes)

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

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

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

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

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

            Rule Details

            This rule is aimed at ensuring consistency of string quotes and as such will report a problem when an inconsistent style is found.

            The rule configuration takes up to two options:

            1. The first option is "double", "single" or "backtick" for double-quotes, single-quotes or backticks respectively. The default is "double".
            2. The second option takes two options:
              1. "avoidEscape": When using "avoidEscape", this rule will not report a problem when a string is using single-quotes or double-quotes so long as the string contains a quote that would have to be escaped otherwise. For example, if you specify "double" and "avoidEscape", the string 'He said, "hi!"' is not considered a problem because using double quotes for that string would require escaping the double quotes inside of the string. This option is off by default.
              2. "allowTemplateLiterals": when using "allowTemplateLiterals", this rule will not report a problem when a string is using backticks and option one is either "double" or "single".

            When using "single" or "double", template literals that don't contain a substitution, don't contain a line break and aren't tagged templates, are flagged as problems, even with the "avoidEscape" option. However they are not problems when "allowTemplateLiterals" is used.

            Configuration looks like this:

            [2, "single", {"avoidEscape": true, "allowTemplateLiterals": true}]

            Deprecation notice: The avoid-escape option is a deprecated syntax and you should use the object form instead.

            The following patterns are considered problems:

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

            The following patterns are not considered problems:

            /*eslint quotes: ["error", "double"]*/
            /*eslint-env es6*/
            
            var double = "double";
            var backtick = `back\ntick`;  // backticks are allowed due to newline
            var backtick = tag`backtick`; // backticks are allowed due to tag
            /*eslint quotes: ["error", "single"]*/
            /*eslint-env es6*/
            
            var single = 'single';
            var backtick = `back${x}tick`; // backticks are allowed due to substitution
            /*eslint quotes: ["error", "double", {"avoidEscape": true}]*/
            
            var single = 'a string containing "double" quotes';
            /*eslint quotes: ["error", "single", {"avoidEscape": true}]*/
            
            var double = "a string containing 'single' quotes";
            /*eslint quotes: ["error", "double", {"allowTemplateLiterals": true}]*/
            
            var single = 'single';
            var single = `single`;
            /*eslint quotes: ["error", "single", {"allowTemplateLiterals": true}]*/
            
            var double = "double";
            var double = `double`;
            /*eslint quotes: ["error", "backtick"]*/
            /*eslint-env es6*/
            
            var backtick = `backtick`;
            /*eslint quotes: ["error", "backtick", {"avoidEscape": true}]*/
            
            var double = "a string containing `backtick` quotes"

            When Not To Use It

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

            Line 367 exceeds the maximum line length of 80.
            Open

                              $('.origin-studies-frame [data-toggle="collapse"]').click(function(a, b) {

            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 412 exceeds the maximum line length of 80.
            Open

                      '<div class="shared" style="display: none;"><span class="cohort-link"></span>' +

            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 357 exceeds the maximum line length of 80.
            Open

                            var defaultVSDescription = self_.getDefaultVSDescription(filteredOriginStudies);

            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 363 exceeds the maximum line length of 80.
            Open

                                study.description = studyMetaData.studyType === 'vs' ? studyMetaData.data.description : studyMetaData.description;

            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 366 exceeds the maximum line length of 80.
            Open

                              self_.updateOriginStudiesDescription(tooltip, cbio.util.getOriginStudiesDescriptionHtml(filteredOriginStudies.studies));

            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 399 exceeds the maximum line length of 80.
            Open

                      (self_.showShareButton ? '<button class="btn btn-default share-cohort" type="button">Share</button>' : '') +

            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 398 exceeds the maximum line length of 80.
            Open

                      (self_.showSaveButton ? '<button class="btn btn-default save-cohort" type="button">Save</button>' : '') +

            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