leafjs/orient

View on GitHub
lib/index.js

Summary

Maintainability
F
5 days
Test Coverage

File index.js has 500 lines of code (exceeds 250 allowed). Consider refactoring.
Open

const glob = require('glob');
const debug = require('debug')("leafjs:http:middleware:orient");
const Orientose = require('../dist/orientose').default;
const Schema = Orientose.Schema;

Severity: Minor
Found in lib/index.js - About 1 day to fix

    Function buildschema has 173 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        buildschema(parent) {
            var self = this;
            parent = parent || Schema.V;
            var schema = new parent(self._props, {
                className: this._name
    Severity: Major
    Found in lib/index.js - About 6 hrs to fix

      Function buildschema has a Cognitive Complexity of 20 (exceeds 5 allowed). Consider refactoring.
      Open

          buildschema(parent) {
              var self = this;
              parent = parent || Schema.V;
              var schema = new parent(self._props, {
                  className: this._name
      Severity: Minor
      Found in lib/index.js - About 2 hrs to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Function initialize has 65 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          * initialize(next) {
              let koa = this.koa;
              let http = this;
      
              let _config = require("extend")({}, DEFAULTCONFIG, {
      Severity: Major
      Found in lib/index.js - About 2 hrs to fix

        Function has a complexity of 12.
        Open

                            (function(name) {
        Severity: Minor
        Found in lib/index.js by eslint

        Limit Cyclomatic Complexity (complexity)

        Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

        function a(x) {
            if (true) {
                return x; // 1st path
            } else if (false) {
                return x+1; // 2nd path
            } else {
                return 4; // 3rd path
            }
        }

        Rule Details

        This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

        Examples of incorrect code for a maximum of 2:

        /*eslint complexity: ["error", 2]*/
        
        function a(x) {
            if (true) {
                return x;
            } else if (false) {
                return x+1;
            } else {
                return 4; // 3rd path
            }
        }

        Examples of correct code for a maximum of 2:

        /*eslint complexity: ["error", 2]*/
        
        function a(x) {
            if (true) {
                return x;
            } else {
                return 4;
            }
        }

        Options

        Optionally, you may specify a max object property:

        "complexity": ["error", 2]

        is equivalent to

        "complexity": ["error", { "max": 2 }]

        Deprecated: the object property maximum is deprecated. Please use the property max instead.

        When Not To Use It

        If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

        Further Reading

        Related Rules

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

        Method 'buildschema' has a complexity of 12.
        Open

            buildschema(parent) {
        Severity: Minor
        Found in lib/index.js by eslint

        Limit Cyclomatic Complexity (complexity)

        Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

        function a(x) {
            if (true) {
                return x; // 1st path
            } else if (false) {
                return x+1; // 2nd path
            } else {
                return 4; // 3rd path
            }
        }

        Rule Details

        This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

        Examples of incorrect code for a maximum of 2:

        /*eslint complexity: ["error", 2]*/
        
        function a(x) {
            if (true) {
                return x;
            } else if (false) {
                return x+1;
            } else {
                return 4; // 3rd path
            }
        }

        Examples of correct code for a maximum of 2:

        /*eslint complexity: ["error", 2]*/
        
        function a(x) {
            if (true) {
                return x;
            } else {
                return 4;
            }
        }

        Options

        Optionally, you may specify a max object property:

        "complexity": ["error", 2]

        is equivalent to

        "complexity": ["error", { "max": 2 }]

        Deprecated: the object property maximum is deprecated. Please use the property max instead.

        When Not To Use It

        If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

        Further Reading

        Related Rules

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

        Method 'buildschema' has too many statements (34). Maximum allowed is 30.
        Open

            buildschema(parent) {
        Severity: Minor
        Found in lib/index.js by eslint

        enforce a maximum number of statements allowed in function blocks (max-statements)

        The max-statements rule allows you to specify the maximum number of statements allowed in a function.

        function foo() {
          var bar = 1; // one statement
          var baz = 2; // two statements
          var qux = 3; // three statements
        }

        Rule Details

        This rule enforces a maximum number of statements allowed in function blocks.

        Options

        This rule has a number or object option:

        • "max" (default 10) enforces a maximum number of statements allows in function blocks

        Deprecated: The object property maximum is deprecated; please use the object property max instead.

        This rule has an object option:

        • "ignoreTopLevelFunctions": true ignores top-level functions

        max

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

        /*eslint max-statements: ["error", 10]*/
        /*eslint-env es6*/
        
        function foo() {
          var foo1 = 1;
          var foo2 = 2;
          var foo3 = 3;
          var foo4 = 4;
          var foo5 = 5;
          var foo6 = 6;
          var foo7 = 7;
          var foo8 = 8;
          var foo9 = 9;
          var foo10 = 10;
        
          var foo11 = 11; // Too many.
        }
        
        let foo = () => {
          var foo1 = 1;
          var foo2 = 2;
          var foo3 = 3;
          var foo4 = 4;
          var foo5 = 5;
          var foo6 = 6;
          var foo7 = 7;
          var foo8 = 8;
          var foo9 = 9;
          var foo10 = 10;
        
          var foo11 = 11; // Too many.
        };

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

        /*eslint max-statements: ["error", 10]*/
        /*eslint-env es6*/
        
        function foo() {
          var foo1 = 1;
          var foo2 = 2;
          var foo3 = 3;
          var foo4 = 4;
          var foo5 = 5;
          var foo6 = 6;
          var foo7 = 7;
          var foo8 = 8;
          var foo9 = 9;
          var foo10 = 10;
          return function () {
        
            // The number of statements in the inner function does not count toward the
            // statement maximum.
        
            return 42;
          };
        }
        
        let foo = () => {
          var foo1 = 1;
          var foo2 = 2;
          var foo3 = 3;
          var foo4 = 4;
          var foo5 = 5;
          var foo6 = 6;
          var foo7 = 7;
          var foo8 = 8;
          var foo9 = 9;
          var foo10 = 10;
          return function () {
        
            // The number of statements in the inner function does not count toward the
            // statement maximum.
        
            return 42;
          };
        }

        ignoreTopLevelFunctions

        Examples of additional correct code for this rule with the { "max": 10 }, { "ignoreTopLevelFunctions": true } options:

        /*eslint max-statements: ["error", 10, { "ignoreTopLevelFunctions": true }]*/
        
        function foo() {
          var foo1 = 1;
          var foo2 = 2;
          var foo3 = 3;
          var foo4 = 4;
          var foo5 = 5;
          var foo6 = 6;
          var foo7 = 7;
          var foo8 = 8;
          var foo9 = 9;
          var foo10 = 10;
          var foo11 = 11;
        }

        Related Rules

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

        Static method 'getConfig' has a complexity of 9.
        Open

            static getConfig(http) {
        Severity: Minor
        Found in lib/index.js by eslint

        Limit Cyclomatic Complexity (complexity)

        Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

        function a(x) {
            if (true) {
                return x; // 1st path
            } else if (false) {
                return x+1; // 2nd path
            } else {
                return 4; // 3rd path
            }
        }

        Rule Details

        This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

        Examples of incorrect code for a maximum of 2:

        /*eslint complexity: ["error", 2]*/
        
        function a(x) {
            if (true) {
                return x;
            } else if (false) {
                return x+1;
            } else {
                return 4; // 3rd path
            }
        }

        Examples of correct code for a maximum of 2:

        /*eslint complexity: ["error", 2]*/
        
        function a(x) {
            if (true) {
                return x;
            } else {
                return 4;
            }
        }

        Options

        Optionally, you may specify a max object property:

        "complexity": ["error", 2]

        is equivalent to

        "complexity": ["error", { "max": 2 }]

        Deprecated: the object property maximum is deprecated. Please use the property max instead.

        When Not To Use It

        If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

        Further Reading

        Related Rules

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

        Function _reverseLocate has 39 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

                                    schema.static("findBy"+name, function _reverseLocate(id){
                                        if ( id._id ) {
                                            id = id._id;
                                        }
                                        var self = this;
        Severity: Minor
        Found in lib/index.js - About 1 hr to fix

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

                                      schema.method(methodName, function _getRelation(){
                                          var self = this;
                                          var query = this._orientose()
                                                  ._db
                                                  .select()
          Severity: Minor
          Found in lib/index.js - About 1 hr to fix

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

                static getConfig(http) {
                    let config = require("extend")({}, DEFAULTCONFIG, {
                        connection: {}
                    });
                    var _config = http._config.db || {};
            Severity: Minor
            Found in lib/index.js - About 1 hr to fix

              Consider simplifying this complex logical expression.
              Open

                                      if ( "link" in rel || "in" in rel || "out" in rel || "both" in rel ) {
                                          var cond = rel.link || rel.in || rel.out || rel.both;
                                          var reverseCond;
                                          if ( "link" !== rel.linkType ) {
                                              if ( rel.in ) {
              Severity: Major
              Found in lib/index.js - About 1 hr to fix

                Avoid deeply nested control flow statements.
                Open

                                                    if ( fn ) {
                                                        p = p.then(fn);
                                                    }
                Severity: Major
                Found in lib/index.js - About 45 mins to fix

                  Avoid deeply nested control flow statements.
                  Open

                                                          if ( one ) {
                                                              return Promise.resolve(model._createDocument(m[0]));
                                                          }
                  Severity: Major
                  Found in lib/index.js - About 45 mins to fix

                    Avoid deeply nested control flow statements.
                    Open

                                                    if ( one ) {
                                                        query.limit(1);
                                                    }
                    Severity: Major
                    Found in lib/index.js - About 45 mins to fix

                      Avoid deeply nested control flow statements.
                      Open

                                                  if ( "link" !== rel.linkType ) {
                                                      if ( rel.in ) {
                                                          reverseCond = "out";
                                                      } else if ( rel.out ) {
                                                          reverseCond = "in";
                      Severity: Major
                      Found in lib/index.js - About 45 mins to fix

                        Avoid deeply nested control flow statements.
                        Open

                                                                if ( one ) {
                                                                    debug("creating just one?", m[0]);
                                                                    return model._createDocument(m[0]);
                                                                }
                        Severity: Major
                        Found in lib/index.js - About 45 mins to fix

                          Avoid deeply nested control flow statements.
                          Open

                                                          if ( id._id ) {
                                                              id = id._id;
                                                          }
                          Severity: Major
                          Found in lib/index.js - About 45 mins to fix

                            Function genModel has 6 arguments (exceeds 4 allowed). Consider refactoring.
                            Open

                            function genModel(file, remove, orientose, app, builders, parentSchema) {
                            Severity: Minor
                            Found in lib/index.js - About 45 mins to fix

                              Avoid deeply nested control flow statements.
                              Open

                                                              if ( one ) {
                                                                  query.limit(1);
                                                              }
                              Severity: Major
                              Found in lib/index.js - About 45 mins to fix

                                Avoid deeply nested control flow statements.
                                Open

                                                                    if ( fn ) {
                                                                        p = p.then(fn);
                                                                    }
                                Severity: Major
                                Found in lib/index.js - About 45 mins to fix

                                  Unexpected require().
                                  Open

                                          let _config = require("extend")({}, DEFAULTCONFIG, {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

                                  Unexpected require().
                                  Open

                                          if (require("util").isFunction(fn)) {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

                                  Unexpected require().
                                  Open

                                                  glob(require("path").resolve(http.basepath, _config.base + "edge/*.js"), function(er, files) {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

                                  Unexpected require().
                                  Open

                                                      let seeding = require(file);
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

                                  Unexpected require().
                                  Open

                                              glob(require("path").resolve(http.basepath, _config.base + "vertex/*.js"), function(er, files) {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

                                  Unexpected require().
                                  Open

                                              glob(require("path").resolve(http.basepath, "db/seed/*.js"), function(er, files) {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

                                  Unexpected require().
                                  Open

                                                  debug: require('debug')("orientose:debug")
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

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

                                                  schema.pre(name, (function(name){
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Require IIFEs to be Wrapped (wrap-iife)

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

                                  // function expression could be unwrapped
                                  var x = function () { return { y: 1 };}();
                                  
                                  // function declaration must be wrapped
                                  function () { /* side effects */ }(); // SyntaxError

                                  Rule Details

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

                                  Options

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

                                  String option:

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

                                  Object option:

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

                                  outside

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

                                  /*eslint wrap-iife: ["error", "outside"]*/
                                  
                                  var x = function () { return { y: 1 };}(); // unwrapped
                                  var x = (function () { return { y: 1 };})(); // wrapped function expression

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

                                  /*eslint wrap-iife: ["error", "outside"]*/
                                  
                                  var x = (function () { return { y: 1 };}()); // wrapped call expression

                                  inside

                                  Examples of incorrect code for the "inside" option:

                                  /*eslint wrap-iife: ["error", "inside"]*/
                                  
                                  var x = function () { return { y: 1 };}(); // unwrapped
                                  var x = (function () { return { y: 1 };}()); // wrapped call expression

                                  Examples of correct code for the "inside" option:

                                  /*eslint wrap-iife: ["error", "inside"]*/
                                  
                                  var x = (function () { return { y: 1 };})(); // wrapped function expression

                                  any

                                  Examples of incorrect code for the "any" option:

                                  /*eslint wrap-iife: ["error", "any"]*/
                                  
                                  var x = function () { return { y: 1 };}(); // unwrapped

                                  Examples of correct code for the "any" option:

                                  /*eslint wrap-iife: ["error", "any"]*/
                                  
                                  var x = (function () { return { y: 1 };}()); // wrapped call expression
                                  var x = (function () { return { y: 1 };})(); // wrapped function expression

                                  functionPrototypeMethods

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

                                  /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                  
                                  var x = function(){ foo(); }()
                                  var x = (function(){ foo(); }())
                                  var x = function(){ foo(); }.call(bar)
                                  var x = (function(){ foo(); }.call(bar))

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

                                  /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                  
                                  var x = (function(){ foo(); })()
                                  var x = (function(){ foo(); }).call(bar)

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

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

                                                      (function(name) {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Require IIFEs to be Wrapped (wrap-iife)

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

                                  // function expression could be unwrapped
                                  var x = function () { return { y: 1 };}();
                                  
                                  // function declaration must be wrapped
                                  function () { /* side effects */ }(); // SyntaxError

                                  Rule Details

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

                                  Options

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

                                  String option:

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

                                  Object option:

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

                                  outside

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

                                  /*eslint wrap-iife: ["error", "outside"]*/
                                  
                                  var x = function () { return { y: 1 };}(); // unwrapped
                                  var x = (function () { return { y: 1 };})(); // wrapped function expression

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

                                  /*eslint wrap-iife: ["error", "outside"]*/
                                  
                                  var x = (function () { return { y: 1 };}()); // wrapped call expression

                                  inside

                                  Examples of incorrect code for the "inside" option:

                                  /*eslint wrap-iife: ["error", "inside"]*/
                                  
                                  var x = function () { return { y: 1 };}(); // unwrapped
                                  var x = (function () { return { y: 1 };}()); // wrapped call expression

                                  Examples of correct code for the "inside" option:

                                  /*eslint wrap-iife: ["error", "inside"]*/
                                  
                                  var x = (function () { return { y: 1 };})(); // wrapped function expression

                                  any

                                  Examples of incorrect code for the "any" option:

                                  /*eslint wrap-iife: ["error", "any"]*/
                                  
                                  var x = function () { return { y: 1 };}(); // unwrapped

                                  Examples of correct code for the "any" option:

                                  /*eslint wrap-iife: ["error", "any"]*/
                                  
                                  var x = (function () { return { y: 1 };}()); // wrapped call expression
                                  var x = (function () { return { y: 1 };})(); // wrapped function expression

                                  functionPrototypeMethods

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

                                  /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                  
                                  var x = function(){ foo(); }()
                                  var x = (function(){ foo(); }())
                                  var x = function(){ foo(); }.call(bar)
                                  var x = (function(){ foo(); }.call(bar))

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

                                  /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                  
                                  var x = (function(){ foo(); })()
                                  var x = (function(){ foo(); }).call(bar)

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

                                  Unexpected require().
                                  Open

                                      var name = require("path").basename(file, ".js");
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

                                  Unexpected require().
                                  Open

                                          if (require("util").isFunction(fn)) {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

                                  Unexpected require().
                                  Open

                                              if ( require("util").isFunction(property.value)) {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

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

                                      ModelBuilder.prototype[type.toLowerCase()] = (function(type) {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Require IIFEs to be Wrapped (wrap-iife)

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

                                  // function expression could be unwrapped
                                  var x = function () { return { y: 1 };}();
                                  
                                  // function declaration must be wrapped
                                  function () { /* side effects */ }(); // SyntaxError

                                  Rule Details

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

                                  Options

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

                                  String option:

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

                                  Object option:

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

                                  outside

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

                                  /*eslint wrap-iife: ["error", "outside"]*/
                                  
                                  var x = function () { return { y: 1 };}(); // unwrapped
                                  var x = (function () { return { y: 1 };})(); // wrapped function expression

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

                                  /*eslint wrap-iife: ["error", "outside"]*/
                                  
                                  var x = (function () { return { y: 1 };}()); // wrapped call expression

                                  inside

                                  Examples of incorrect code for the "inside" option:

                                  /*eslint wrap-iife: ["error", "inside"]*/
                                  
                                  var x = function () { return { y: 1 };}(); // unwrapped
                                  var x = (function () { return { y: 1 };}()); // wrapped call expression

                                  Examples of correct code for the "inside" option:

                                  /*eslint wrap-iife: ["error", "inside"]*/
                                  
                                  var x = (function () { return { y: 1 };})(); // wrapped function expression

                                  any

                                  Examples of incorrect code for the "any" option:

                                  /*eslint wrap-iife: ["error", "any"]*/
                                  
                                  var x = function () { return { y: 1 };}(); // unwrapped

                                  Examples of correct code for the "any" option:

                                  /*eslint wrap-iife: ["error", "any"]*/
                                  
                                  var x = (function () { return { y: 1 };}()); // wrapped call expression
                                  var x = (function () { return { y: 1 };})(); // wrapped function expression

                                  functionPrototypeMethods

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

                                  /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                  
                                  var x = function(){ foo(); }()
                                  var x = (function(){ foo(); }())
                                  var x = function(){ foo(); }.call(bar)
                                  var x = (function(){ foo(); }.call(bar))

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

                                  /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                  
                                  var x = (function(){ foo(); })()
                                  var x = (function(){ foo(); }).call(bar)

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

                                  Unexpected require().
                                  Open

                                      var modelDef = require(path);
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

                                  Unexpected require().
                                  Open

                                          let config = require("extend")({}, DEFAULTCONFIG, {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Enforce require() on the top-level module scope (global-require)

                                  In Node.js, module dependencies are included using the require() function, such as:

                                  var fs = require("fs");

                                  While require() may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies. For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:

                                  function foo() {
                                  
                                      if (condition) {
                                          var fs = require("fs");
                                      }
                                  }

                                  Since require() does a synchronous load, it can cause performance problems when used in other locations.

                                  Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.

                                  Rule Details

                                  This rule requires all calls to require() to be at the top level of the module, similar to ES6 import and export statements, which also can occur only at the top level.

                                  Examples of incorrect code for this rule:

                                  /*eslint global-require: "error"*/
                                  /*eslint-env es6*/
                                  
                                  // calling require() inside of a function is not allowed
                                  function readFile(filename, callback) {
                                      var fs = require('fs');
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // conditional requires like this are also not allowed
                                  if (DEBUG) { require('debug'); }
                                  
                                  // a require() in a switch statement is also flagged
                                  switch(x) { case '1': require('1'); break; }
                                  
                                  // you may not require() inside an arrow function body
                                  var getModule = (name) => require(name);
                                  
                                  // you may not require() inside of a function body as well
                                  function getModule(name) { return require(name); }
                                  
                                  // you may not require() inside of a try/catch block
                                  try {
                                      require(unsafeModule);
                                  } catch(e) {
                                      console.log(e);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint global-require: "error"*/
                                  
                                  // all these variations of require() are ok
                                  require('x');
                                  var y = require('y');
                                  var z;
                                  z = require('z').initialize();
                                  
                                  // requiring a module and using it in a function is ok
                                  var fs = require('fs');
                                  function readFile(filename, callback) {
                                      fs.readFile(filename, callback)
                                  }
                                  
                                  // you can use a ternary to determine which module to require
                                  var logger = DEBUG ? require('dev-logger') : require('logger');
                                  
                                  // if you want you can require() at the end of your module
                                  function doSomethingA() {}
                                  function doSomethingB() {}
                                  var x = require("x"),
                                      z = require("z");

                                  When Not To Use It

                                  If you have a module that must be initialized with information that comes from the file-system or if a module is only used in very rare situations and will cause significant overhead to load it may make sense to disable the rule. If you need to require() an optional dependency inside of a try/catch, you can disable this rule for just that dependency using the // eslint-disable-line global-require comment. Source: http://eslint.org/docs/rules/

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

                                  for (var type in Orientose.Type) {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

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

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

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

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

                                  Rule Details

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

                                  Examples of incorrect code for this rule:

                                  /*eslint guard-for-in: "error"*/
                                  
                                  for (key in foo) {
                                      doSomething(key);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint guard-for-in: "error"*/
                                  
                                  for (key in foo) {
                                      if (Object.prototype.hasOwnProperty.call(foo, key)) {
                                          doSomething(key);
                                      }
                                      if ({}.hasOwnProperty.call(foo, key)) {
                                          doSomething(key);
                                      }
                                  }

                                  Related Rules

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

                                  Further Reading

                                  Do not use 'new' for side effects.
                                  Open

                                      new modelDef(builder, orientose);
                                  Severity: Minor
                                  Found in lib/index.js by eslint

                                  Disallow new For Side Effects (no-new)

                                  The goal of using new with a constructor is typically to create an object of a particular type and store that object in a variable, such as:

                                  var person = new Person();

                                  It's less common to use new and not store the result, such as:

                                  new Person();

                                  In this case, the created object is thrown away because its reference isn't stored anywhere, and in many cases, this means that the constructor should be replaced with a function that doesn't require new to be used.

                                  Rule Details

                                  This rule is aimed at maintaining consistency and convention by disallowing constructor calls using the new keyword that do not assign the resulting object to a variable.

                                  Examples of incorrect code for this rule:

                                  /*eslint no-new: "error"*/
                                  
                                  new Thing();

                                  Examples of correct code for this rule:

                                  /*eslint no-new: "error"*/
                                  
                                  var thing = new Thing();
                                  
                                  Thing();

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

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

                                              for (let name in this._pre) {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

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

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

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

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

                                  Rule Details

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

                                  Examples of incorrect code for this rule:

                                  /*eslint guard-for-in: "error"*/
                                  
                                  for (key in foo) {
                                      doSomething(key);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint guard-for-in: "error"*/
                                  
                                  for (key in foo) {
                                      if (Object.prototype.hasOwnProperty.call(foo, key)) {
                                          doSomething(key);
                                      }
                                      if ({}.hasOwnProperty.call(foo, key)) {
                                          doSomething(key);
                                      }
                                  }

                                  Related Rules

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

                                  Further Reading

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

                                                  for (let name in self._relations ) {
                                  Severity: Minor
                                  Found in lib/index.js by eslint

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

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

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

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

                                  Rule Details

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

                                  Examples of incorrect code for this rule:

                                  /*eslint guard-for-in: "error"*/
                                  
                                  for (key in foo) {
                                      doSomething(key);
                                  }

                                  Examples of correct code for this rule:

                                  /*eslint guard-for-in: "error"*/
                                  
                                  for (key in foo) {
                                      if (Object.prototype.hasOwnProperty.call(foo, key)) {
                                          doSomething(key);
                                      }
                                      if ({}.hasOwnProperty.call(foo, key)) {
                                          doSomething(key);
                                      }
                                  }

                                  Related Rules

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

                                  Further Reading

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

                                  ModelBuilder.prototype.embedded = function(name, fn) {
                                      this._later = this._later || [];
                                      this._later.push(function(schemas) {
                                          if (require("util").isFunction(fn)) {
                                              this.attr(name, fn(schemas));
                                  Severity: Major
                                  Found in lib/index.js and 1 other location - About 3 hrs to fix
                                  lib/index.js on lines 285..294

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

                                  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

                                  ModelBuilder.prototype.embeddedlist = function(name, fn) {
                                      this._later = this._later || [];
                                      this._later.push(function(schemas) {
                                          if (require("util").isFunction(fn)) {
                                              this.attr(name, fn(schemas));
                                  Severity: Major
                                  Found in lib/index.js and 1 other location - About 3 hrs to fix
                                  lib/index.js on lines 296..305

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

                                  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

                                                                  "limit where order let".split(" ").forEach(function(name){
                                                                      newQuery[name] = function(){
                                                                          debug(this.query);
                                                                          this.query[name].apply(this.query, arguments);
                                                                          return this;
                                  Severity: Major
                                  Found in lib/index.js and 1 other location - About 2 hrs to fix
                                  lib/index.js on lines 166..172

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

                                  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

                                                                  "limit where order let".split(" ").forEach(function(name){
                                                                      newQuery[name] = function(){
                                                                          debug(this.query);
                                                                          this.query[name].apply(this.query, arguments);
                                                                          return this;
                                  Severity: Major
                                  Found in lib/index.js and 1 other location - About 2 hrs to fix
                                  lib/index.js on lines 128..134

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

                                  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

                                                      for (let i = 0; i < builders.length; i++) {
                                                          schemas[builders[i]._name] = builders[i]._schema;
                                                      }
                                  Severity: Minor
                                  Found in lib/index.js and 1 other location - About 55 mins to fix
                                  lib/index.js on lines 487..489

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

                                  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

                                                  for (let i = 0; i < builders.length; i++) {
                                                      schemas[builders[i]._name] = builders[i]._schema;
                                                  }
                                  Severity: Minor
                                  Found in lib/index.js and 1 other location - About 55 mins to fix
                                  lib/index.js on lines 503..505

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

                                  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

                                  There are no issues that match your filters.

                                  Category
                                  Status