From 0a6af90b1f075bd7a07a8ada5b1c94a8e11890ed Mon Sep 17 00:00:00 2001 From: Darin Kadrioski Date: Thu, 16 Jun 2016 13:09:16 -0700 Subject: [PATCH 1/2] Safeguard against null access when using gulp-eslint runner. --- lib/rules/no-angular-classes.js | 2 +- lib/rules/use-angular-locators.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rules/no-angular-classes.js b/lib/rules/no-angular-classes.js index b637da3..3bce51c 100644 --- a/lib/rules/no-angular-classes.js +++ b/lib/rules/no-angular-classes.js @@ -21,7 +21,7 @@ module.exports = function (context) { return { 'CallExpression': function (node) { - if (node.arguments) { + if (node.arguments && node.arguments[0].hasOwnProperty('value')) { if (isCSSLocator(node)) { for (var i = 0; i < prohibitedClasses.length; i++) { if (node.arguments[0].value.indexOf(prohibitedClasses[i]) >= 0) { diff --git a/lib/rules/use-angular-locators.js b/lib/rules/use-angular-locators.js index dc40c6d..48f00f8 100644 --- a/lib/rules/use-angular-locators.js +++ b/lib/rules/use-angular-locators.js @@ -16,7 +16,7 @@ module.exports = function (context) { return { 'CallExpression': function (node) { - if (node.arguments) { + if (node.arguments && node.arguments[0].hasOwnProperty('value')) { if (isCSSLocator(node)) { Object.keys(attributeToLocatorMap).forEach(function (key) { if (node.arguments[0].value.indexOf(key) >= 0) { From fa7f65fece8ced266867a29df22de9bbad8e768d Mon Sep 17 00:00:00 2001 From: Darin Kadrioski Date: Thu, 16 Jun 2016 13:40:17 -0700 Subject: [PATCH 2/2] Slight tweak --- lib/rules/no-angular-classes.js | 2 +- lib/rules/use-angular-locators.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rules/no-angular-classes.js b/lib/rules/no-angular-classes.js index 3bce51c..5638371 100644 --- a/lib/rules/no-angular-classes.js +++ b/lib/rules/no-angular-classes.js @@ -21,7 +21,7 @@ module.exports = function (context) { return { 'CallExpression': function (node) { - if (node.arguments && node.arguments[0].hasOwnProperty('value')) { + if (node.arguments && node.arguments.length && node.arguments[0].hasOwnProperty('value')) { if (isCSSLocator(node)) { for (var i = 0; i < prohibitedClasses.length; i++) { if (node.arguments[0].value.indexOf(prohibitedClasses[i]) >= 0) { diff --git a/lib/rules/use-angular-locators.js b/lib/rules/use-angular-locators.js index 48f00f8..3a50b73 100644 --- a/lib/rules/use-angular-locators.js +++ b/lib/rules/use-angular-locators.js @@ -16,7 +16,7 @@ module.exports = function (context) { return { 'CallExpression': function (node) { - if (node.arguments && node.arguments[0].hasOwnProperty('value')) { + if (node.arguments && node.arguments.length && node.arguments[0].hasOwnProperty('value')) { if (isCSSLocator(node)) { Object.keys(attributeToLocatorMap).forEach(function (key) { if (node.arguments[0].value.indexOf(key) >= 0) {