From bdc0bb0f0967687486e88b4d0154c465ba093b6a Mon Sep 17 00:00:00 2001 From: Tim Seckinger Date: Thu, 25 Apr 2019 08:22:34 +0200 Subject: [PATCH] fix(no-mocks-import): do not crash on dynamic `require` (#250) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #249 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,