diff --git a/packages/eslint-plugin/src/rules/no-var-requires.ts b/packages/eslint-plugin/src/rules/no-var-requires.ts index 66ac16a4e22..af1d5f815fd 100644 --- a/packages/eslint-plugin/src/rules/no-var-requires.ts +++ b/packages/eslint-plugin/src/rules/no-var-requires.ts @@ -34,7 +34,9 @@ export default util.createRule({ node.parent && (node.parent.type === AST_NODE_TYPES.VariableDeclarator || node.parent.type === AST_NODE_TYPES.CallExpression || - node.parent.type === AST_NODE_TYPES.OptionalCallExpression) + node.parent.type === AST_NODE_TYPES.OptionalCallExpression || + node.parent.type === AST_NODE_TYPES.TSAsExpression || + node.parent.type === AST_NODE_TYPES.MemberExpression) ) { context.report({ node, diff --git a/packages/eslint-plugin/tests/rules/no-var-requires.test.ts b/packages/eslint-plugin/tests/rules/no-var-requires.test.ts index 25d53d9ab94..3ae5e243154 100644 --- a/packages/eslint-plugin/tests/rules/no-var-requires.test.ts +++ b/packages/eslint-plugin/tests/rules/no-var-requires.test.ts @@ -102,5 +102,25 @@ ruleTester.run('no-var-requires', rule, { }, ], }, + { + code: "const foo = require('./foo.json') as Foo;", + errors: [ + { + messageId: 'noVarReqs', + line: 1, + column: 13, + }, + ], + }, + { + code: "const foo: Foo = require('./foo.json').default;", + errors: [ + { + messageId: 'noVarReqs', + line: 1, + column: 18, + }, + ], + }, ], });