From 4fa710754ecc412b65ac3864fe0c7857c254ac1b Mon Sep 17 00:00:00 2001 From: Brad Zacher Date: Wed, 25 Mar 2020 20:09:04 -0700 Subject: [PATCH] fix(eslint-plugin): [no-unsafe-call] allow import expressions (#1800) --- packages/eslint-plugin/src/rules/no-unsafe-call.ts | 6 +++--- packages/eslint-plugin/tests/rules/no-unsafe-call.test.ts | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/eslint-plugin/src/rules/no-unsafe-call.ts b/packages/eslint-plugin/src/rules/no-unsafe-call.ts index 42630181936..13cabc87d92 100644 --- a/packages/eslint-plugin/src/rules/no-unsafe-call.ts +++ b/packages/eslint-plugin/src/rules/no-unsafe-call.ts @@ -41,10 +41,10 @@ export default util.createRule<[], MessageIds>({ } return { - 'CallExpression, OptionalCallExpression'( - node: TSESTree.CallExpression | TSESTree.OptionalCallExpression, + ':matches(CallExpression, OptionalCallExpression) > :not(Import)'( + node: Exclude, ): void { - checkCall(node.callee, node.callee, 'unsafeCall'); + checkCall(node, node, 'unsafeCall'); }, NewExpression(node): void { checkCall(node.callee, node, 'unsafeNew'); diff --git a/packages/eslint-plugin/tests/rules/no-unsafe-call.test.ts b/packages/eslint-plugin/tests/rules/no-unsafe-call.test.ts index 1930db27326..a51273c9b9c 100644 --- a/packages/eslint-plugin/tests/rules/no-unsafe-call.test.ts +++ b/packages/eslint-plugin/tests/rules/no-unsafe-call.test.ts @@ -20,6 +20,7 @@ ruleTester.run('no-unsafe-call', rule, { 'function foo(x: { a?: () => void }) { x.a?.() }', 'new Map()', 'String.raw`foo`', + 'const x = import("./foo");', ], invalid: [ ...batchedSingleLineTests({