From 85577de728df9a65fe85bd4ac2e2a55045d12473 Mon Sep 17 00:00:00 2001 From: Tim Seckinger Date: Wed, 24 Apr 2019 11:43:48 -0500 Subject: [PATCH] fix(no-mocks-import): do not crash on dynamic `require` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Martin Zlámal --- rules/__tests__/no-mocks-import.test.js | 1 + rules/no-mocks-import.js | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/rules/__tests__/no-mocks-import.test.js b/rules/__tests__/no-mocks-import.test.js index 04ca37de0..3bd91d771 100644 --- a/rules/__tests__/no-mocks-import.test.js +++ b/rules/__tests__/no-mocks-import.test.js @@ -18,6 +18,7 @@ ruleTester.run('no-mocks-import', rule, { 'require("./x__mocks__")', 'require("./x__mocks__/x")', 'require()', + 'var path = "./__mocks__.js"; require(path)', 'entirelyDifferent(fn)', ], invalid: [ diff --git a/rules/no-mocks-import.js b/rules/no-mocks-import.js index d4a99adcc..cb08a2eba 100644 --- a/rules/no-mocks-import.js +++ b/rules/no-mocks-import.js @@ -22,7 +22,11 @@ module.exports = { } }, 'CallExpression[callee.name="require"]'(node) { - if (node.arguments.length && isMockPath(node.arguments[0].value)) { + if ( + node.arguments.length && + node.arguments[0].value && + isMockPath(node.arguments[0].value) + ) { context.report({ loc: node.arguments[0].loc, message,