diff --git a/tools/eslint-rules/required-modules.js b/tools/eslint-rules/required-modules.js index 3e4a8e8aadfc82..ad107132159b8d 100644 --- a/tools/eslint-rules/required-modules.js +++ b/tools/eslint-rules/required-modules.js @@ -1,5 +1,6 @@ /** - * @fileoverview Require usage of specified node modules. + * @fileoverview Require usage of specified node modules before any other + * modules are loaded. * @author Rich Trott */ 'use strict'; @@ -63,11 +64,16 @@ module.exports = function(context) { return { 'CallExpression': function(node) { - if (isRequireCall(node)) { + if (foundModules.length < requiredModules.length && isRequireCall(node)) { var requiredModuleName = getRequiredModuleName(node); if (requiredModuleName) { foundModules.push(requiredModuleName); + } else { + context.report( + node, + 'Module loaded before all required modules loaded.' + ); } } }, @@ -89,11 +95,3 @@ module.exports = function(context) { } }; }; - -module.exports.schema = { - 'type': 'array', - 'additionalItems': { - 'type': 'string' - }, - 'uniqueItems': true -};