module.exports = { meta: { docs: {}, schema: [] }, create(context) { const scopeDidWait = new WeakSet() return { AwaitExpression() { scopeDidWait.add(context.getScope(), true) }, MemberExpression(node) { if (node.property && node.property.name === 'currentTarget') { const scope = context.getScope() if (scope.block.async && scopeDidWait.has(scope)) { context.report(node, 'event.currentTarget inside an async function is error prone') } } } } } }