Socket
Socket
Sign inDemoInstall

eslint-plugin-testing-library

Package Overview
Dependencies
Maintainers
3
Versions
155
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-testing-library - npm Package Compare versions

Comparing version 5.0.4 to 5.0.5

48

create-testing-library-rule/detect-testing-library-utils.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.detectTestingLibraryUtils = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const node_utils_1 = require("../node-utils");
const utils_1 = require("../utils");
const utils_2 = require("../utils");
const SETTING_OPTION_OFF = 'off';

@@ -103,3 +103,3 @@ const USER_EVENT_PACKAGE = '@testing-library/user-event';

const customQueries = getCustomQueries();
const isBuiltInQuery = utils_1.ALL_QUERIES_COMBINATIONS.includes(node.name);
const isBuiltInQuery = utils_2.ALL_QUERIES_COMBINATIONS.includes(node.name);
const isReportableCustomQuery = customQueries.some((pattern) => new RegExp(pattern).test(node.name));

@@ -124,8 +124,8 @@ return isBuiltInQuery || isReportableCustomQuery;

const isCustomQuery = (node) => {
return isQuery(node) && !utils_1.ALL_QUERIES_COMBINATIONS.includes(node.name);
return isQuery(node) && !utils_2.ALL_QUERIES_COMBINATIONS.includes(node.name);
};
const isBuiltInQuery = (node) => {
return isQuery(node) && utils_1.ALL_QUERIES_COMBINATIONS.includes(node.name);
return isQuery(node) && utils_2.ALL_QUERIES_COMBINATIONS.includes(node.name);
};
const isAsyncUtil = (node, validNames = utils_1.ASYNC_UTILS) => {
const isAsyncUtil = (node, validNames = utils_2.ASYNC_UTILS) => {
return isPotentialTestingLibraryFunction(node, (identifierNodeName, originalNodeName) => {

@@ -160,3 +160,3 @@ return (validNames.includes(identifierNodeName) ||

if (fireEventUtil) {
fireEventUtilName = experimental_utils_1.ASTUtils.isIdentifier(fireEventUtil)
fireEventUtilName = utils_1.ASTUtils.isIdentifier(fireEventUtil)
? fireEventUtil.name

@@ -182,3 +182,3 @@ : fireEventUtil.local.name;

const definedParentMemberExpression = parentMemberExpression;
const regularCall = experimental_utils_1.ASTUtils.isIdentifier(definedParentMemberExpression.object) &&
const regularCall = utils_1.ASTUtils.isIdentifier(definedParentMemberExpression.object) &&
(0, node_utils_1.isCallExpression)(definedParentMemberExpression.parent) &&

@@ -189,6 +189,6 @@ definedParentMemberExpression.object.name === fireEventUtilName &&

const wildcardCall = (0, node_utils_1.isMemberExpression)(definedParentMemberExpression.object) &&
experimental_utils_1.ASTUtils.isIdentifier(definedParentMemberExpression.object.object) &&
utils_1.ASTUtils.isIdentifier(definedParentMemberExpression.object.object) &&
definedParentMemberExpression.object.object.name ===
fireEventUtilName &&
experimental_utils_1.ASTUtils.isIdentifier(definedParentMemberExpression.object.property) &&
utils_1.ASTUtils.isIdentifier(definedParentMemberExpression.object.property) &&
definedParentMemberExpression.object.property.name ===

@@ -198,5 +198,5 @@ FIRE_EVENT_NAME &&

node.name !== fireEventUtilName;
const wildcardCallWithCallExpression = experimental_utils_1.ASTUtils.isIdentifier(definedParentMemberExpression.object) &&
const wildcardCallWithCallExpression = utils_1.ASTUtils.isIdentifier(definedParentMemberExpression.object) &&
definedParentMemberExpression.object.name === fireEventUtilName &&
experimental_utils_1.ASTUtils.isIdentifier(definedParentMemberExpression.property) &&
utils_1.ASTUtils.isIdentifier(definedParentMemberExpression.property) &&
definedParentMemberExpression.property.name === FIRE_EVENT_NAME &&

@@ -227,7 +227,7 @@ !(0, node_utils_1.isMemberExpression)(definedParentMemberExpression.parent) &&

if ([userEventName, USER_EVENT_NAME].includes(node.name) ||
(experimental_utils_1.ASTUtils.isIdentifier(parentMemberExpression.object) &&
(utils_1.ASTUtils.isIdentifier(parentMemberExpression.object) &&
parentMemberExpression.object.name === node.name)) {
return false;
}
return (experimental_utils_1.ASTUtils.isIdentifier(parentMemberExpression.object) &&
return (utils_1.ASTUtils.isIdentifier(parentMemberExpression.object) &&
parentMemberExpression.object.name === userEventName);

@@ -247,3 +247,3 @@ };

(0, node_utils_1.isMemberExpression)(node.callee) &&
experimental_utils_1.ASTUtils.isIdentifier(node.callee.object)) {
utils_1.ASTUtils.isIdentifier(node.callee.object)) {
return isPotentialTestingLibraryFunction(node.callee.object, isCreateEventCallback);

@@ -254,3 +254,3 @@ }

(0, node_utils_1.isMemberExpression)(node.callee.object) &&
experimental_utils_1.ASTUtils.isIdentifier(node.callee.object.property)) {
utils_1.ASTUtils.isIdentifier(node.callee.object.property)) {
return isPotentialTestingLibraryFunction(node.callee.object.property, isCreateEventCallback);

@@ -271,5 +271,5 @@ }

};
const isDebugUtil = (identifierNode, validNames = utils_1.DEBUG_UTILS) => {
const isDebugUtil = (identifierNode, validNames = utils_2.DEBUG_UTILS) => {
const isBuiltInConsole = (0, node_utils_1.isMemberExpression)(identifierNode.parent) &&
experimental_utils_1.ASTUtils.isIdentifier(identifierNode.parent.object) &&
utils_1.ASTUtils.isIdentifier(identifierNode.parent.object) &&
identifierNode.parent.object.name === 'console';

@@ -341,4 +341,4 @@ return (!isBuiltInConsole &&

return isNegated
? utils_1.ABSENCE_MATCHERS.includes(matcher)
: utils_1.PRESENCE_MATCHERS.includes(matcher);
? utils_2.ABSENCE_MATCHERS.includes(matcher)
: utils_2.PRESENCE_MATCHERS.includes(matcher);
};

@@ -351,4 +351,4 @@ const isAbsenceAssert = (node) => {

return isNegated
? utils_1.PRESENCE_MATCHERS.includes(matcher)
: utils_1.ABSENCE_MATCHERS.includes(matcher);
? utils_2.PRESENCE_MATCHERS.includes(matcher)
: utils_2.ABSENCE_MATCHERS.includes(matcher);
};

@@ -374,7 +374,7 @@ const findImportedTestingLibraryUtilSpecifier = (specifierName) => {

else {
if (!experimental_utils_1.ASTUtils.isVariableDeclarator(importedUserEventLibraryNode.parent)) {
if (!utils_1.ASTUtils.isVariableDeclarator(importedUserEventLibraryNode.parent)) {
return null;
}
const requireNode = importedUserEventLibraryNode.parent;
if (!experimental_utils_1.ASTUtils.isIdentifier(requireNode.id)) {
if (!utils_1.ASTUtils.isIdentifier(requireNode.id)) {
return null;

@@ -381,0 +381,0 @@ }

@@ -15,9 +15,9 @@ "use strict";

exports.createTestingLibraryRule = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("../utils");
const utils_1 = require("@typescript-eslint/utils");
const utils_2 = require("../utils");
const detect_testing_library_utils_1 = require("./detect-testing-library-utils");
function createTestingLibraryRule(_a) {
var { create, detectionOptions = {}, meta } = _a, remainingConfig = __rest(_a, ["create", "detectionOptions", "meta"]);
return experimental_utils_1.ESLintUtils.RuleCreator(utils_1.getDocsUrl)(Object.assign(Object.assign({}, remainingConfig), { create: (0, detect_testing_library_utils_1.detectTestingLibraryUtils)(create, detectionOptions), meta: Object.assign(Object.assign({}, meta), { docs: Object.assign(Object.assign({}, meta.docs), { recommended: false }) }) }));
return utils_1.ESLintUtils.RuleCreator(utils_2.getDocsUrl)(Object.assign(Object.assign({}, remainingConfig), { create: (0, detect_testing_library_utils_1.detectTestingLibraryUtils)(create, detectionOptions), meta: Object.assign(Object.assign({}, meta), { docs: Object.assign(Object.assign({}, meta.docs), { recommended: false }) }) }));
}
exports.createTestingLibraryRule = createTestingLibraryRule;

@@ -14,31 +14,31 @@ "use strict";

exports.findImportSpecifier = exports.isEmptyFunction = exports.getStatementCallExpression = exports.hasImportMatch = exports.getInnermostReturningFunction = exports.hasClosestExpectResolvesRejects = exports.getAssertNodeInfo = exports.getImportModuleName = exports.getFunctionName = exports.getReferenceNode = exports.getDeepestIdentifierNode = exports.getPropertyIdentifierNode = exports.getFunctionReturnStatementNode = exports.getInnermostFunctionScope = exports.getVariableReferences = exports.isPromiseHandled = exports.isPromisesArrayResolved = exports.isPromiseAllSettled = exports.isPromiseAll = exports.isPromiseIdentifier = exports.hasChainedThen = exports.hasThenProperty = exports.findClosestCallNode = exports.findClosestVariableDeclaratorNode = exports.findClosestCallExpressionNode = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const is_node_of_type_1 = require("./is-node-of-type");
__exportStar(require("./is-node-of-type"), exports);
const ValidLeftHandSideExpressions = [
experimental_utils_1.AST_NODE_TYPES.CallExpression,
experimental_utils_1.AST_NODE_TYPES.ClassExpression,
experimental_utils_1.AST_NODE_TYPES.ClassDeclaration,
experimental_utils_1.AST_NODE_TYPES.FunctionExpression,
experimental_utils_1.AST_NODE_TYPES.Literal,
experimental_utils_1.AST_NODE_TYPES.TemplateLiteral,
experimental_utils_1.AST_NODE_TYPES.MemberExpression,
experimental_utils_1.AST_NODE_TYPES.ArrayExpression,
experimental_utils_1.AST_NODE_TYPES.ArrayPattern,
experimental_utils_1.AST_NODE_TYPES.ClassExpression,
experimental_utils_1.AST_NODE_TYPES.FunctionExpression,
experimental_utils_1.AST_NODE_TYPES.Identifier,
experimental_utils_1.AST_NODE_TYPES.JSXElement,
experimental_utils_1.AST_NODE_TYPES.JSXFragment,
experimental_utils_1.AST_NODE_TYPES.JSXOpeningElement,
experimental_utils_1.AST_NODE_TYPES.MetaProperty,
experimental_utils_1.AST_NODE_TYPES.ObjectExpression,
experimental_utils_1.AST_NODE_TYPES.ObjectPattern,
experimental_utils_1.AST_NODE_TYPES.Super,
experimental_utils_1.AST_NODE_TYPES.ThisExpression,
experimental_utils_1.AST_NODE_TYPES.TSNullKeyword,
experimental_utils_1.AST_NODE_TYPES.TaggedTemplateExpression,
experimental_utils_1.AST_NODE_TYPES.TSNonNullExpression,
experimental_utils_1.AST_NODE_TYPES.TSAsExpression,
experimental_utils_1.AST_NODE_TYPES.ArrowFunctionExpression,
utils_1.AST_NODE_TYPES.CallExpression,
utils_1.AST_NODE_TYPES.ClassExpression,
utils_1.AST_NODE_TYPES.ClassDeclaration,
utils_1.AST_NODE_TYPES.FunctionExpression,
utils_1.AST_NODE_TYPES.Literal,
utils_1.AST_NODE_TYPES.TemplateLiteral,
utils_1.AST_NODE_TYPES.MemberExpression,
utils_1.AST_NODE_TYPES.ArrayExpression,
utils_1.AST_NODE_TYPES.ArrayPattern,
utils_1.AST_NODE_TYPES.ClassExpression,
utils_1.AST_NODE_TYPES.FunctionExpression,
utils_1.AST_NODE_TYPES.Identifier,
utils_1.AST_NODE_TYPES.JSXElement,
utils_1.AST_NODE_TYPES.JSXFragment,
utils_1.AST_NODE_TYPES.JSXOpeningElement,
utils_1.AST_NODE_TYPES.MetaProperty,
utils_1.AST_NODE_TYPES.ObjectExpression,
utils_1.AST_NODE_TYPES.ObjectPattern,
utils_1.AST_NODE_TYPES.Super,
utils_1.AST_NODE_TYPES.ThisExpression,
utils_1.AST_NODE_TYPES.TSNullKeyword,
utils_1.AST_NODE_TYPES.TaggedTemplateExpression,
utils_1.AST_NODE_TYPES.TSNonNullExpression,
utils_1.AST_NODE_TYPES.TSAsExpression,
utils_1.AST_NODE_TYPES.ArrowFunctionExpression,
];

@@ -63,3 +63,3 @@ function findClosestCallExpressionNode(node, shouldRestrictInnerScope = false) {

}
if (experimental_utils_1.ASTUtils.isVariableDeclarator(node)) {
if (utils_1.ASTUtils.isVariableDeclarator(node)) {
return node;

@@ -75,3 +75,3 @@ }

if ((0, is_node_of_type_1.isCallExpression)(node) &&
experimental_utils_1.ASTUtils.isIdentifier(node.callee) &&
utils_1.ASTUtils.isIdentifier(node.callee) &&
node.callee.name === name) {

@@ -87,3 +87,3 @@ return node;

return ((0, is_node_of_type_1.isMemberExpression)(node) &&
experimental_utils_1.ASTUtils.isIdentifier(node.property) &&
utils_1.ASTUtils.isIdentifier(node.property) &&
node.property.name === 'then');

@@ -101,3 +101,3 @@ }

function isPromiseIdentifier(node) {
return experimental_utils_1.ASTUtils.isIdentifier(node) && node.name === 'Promise';
return utils_1.ASTUtils.isIdentifier(node) && node.name === 'Promise';
}

@@ -108,3 +108,3 @@ exports.isPromiseIdentifier = isPromiseIdentifier;

isPromiseIdentifier(node.callee.object) &&
experimental_utils_1.ASTUtils.isIdentifier(node.callee.property) &&
utils_1.ASTUtils.isIdentifier(node.callee.property) &&
node.callee.property.name === 'all');

@@ -116,3 +116,3 @@ }

isPromiseIdentifier(node.callee.object) &&
experimental_utils_1.ASTUtils.isIdentifier(node.callee.property) &&
utils_1.ASTUtils.isIdentifier(node.callee.property) &&
node.callee.property.name === 'allSettled');

@@ -140,3 +140,3 @@ }

}
if (experimental_utils_1.ASTUtils.isAwaitExpression(node.parent)) {
if (utils_1.ASTUtils.isAwaitExpression(node.parent)) {
return true;

@@ -163,3 +163,3 @@ }

var _a, _b, _c;
if (experimental_utils_1.ASTUtils.isVariableDeclarator(node)) {
if (utils_1.ASTUtils.isVariableDeclarator(node)) {
return (_c = (_b = (_a = context.getDeclaredVariables(node)[0]) === null || _a === void 0 ? void 0 : _a.references) === null || _b === void 0 ? void 0 : _b.slice(1)) !== null && _c !== void 0 ? _c : [];

@@ -171,5 +171,5 @@ }

function getInnermostFunctionScope(context, asyncQueryNode) {
const innermostScope = experimental_utils_1.ASTUtils.getInnermostScope(context.getScope(), asyncQueryNode);
const innermostScope = utils_1.ASTUtils.getInnermostScope(context.getScope(), asyncQueryNode);
if (innermostScope.type === 'function' &&
experimental_utils_1.ASTUtils.isFunction(innermostScope.block)) {
utils_1.ASTUtils.isFunction(innermostScope.block)) {
return innermostScope;

@@ -195,3 +195,3 @@ }

function getPropertyIdentifierNode(node) {
if (experimental_utils_1.ASTUtils.isIdentifier(node)) {
if (utils_1.ASTUtils.isIdentifier(node)) {
return node;

@@ -212,6 +212,6 @@ }

function getDeepestIdentifierNode(node) {
if (experimental_utils_1.ASTUtils.isIdentifier(node)) {
if (utils_1.ASTUtils.isIdentifier(node)) {
return node;
}
if ((0, is_node_of_type_1.isMemberExpression)(node) && experimental_utils_1.ASTUtils.isIdentifier(node.property)) {
if ((0, is_node_of_type_1.isMemberExpression)(node) && utils_1.ASTUtils.isIdentifier(node.property)) {
return node.property;

@@ -222,3 +222,3 @@ }

}
if (experimental_utils_1.ASTUtils.isAwaitExpression(node)) {
if (utils_1.ASTUtils.isAwaitExpression(node)) {
return getDeepestIdentifierNode(node.argument);

@@ -239,3 +239,3 @@ }

var _a, _b;
return ((_b = (_a = experimental_utils_1.ASTUtils.getFunctionNameWithKind(node)
return ((_b = (_a = utils_1.ASTUtils.getFunctionNameWithKind(node)
.match(/('\w+')/g)) === null || _a === void 0 ? void 0 : _a[0].replace(/'/g, '')) !== null && _b !== void 0 ? _b : '');

@@ -259,3 +259,3 @@ }

if (!(0, is_node_of_type_1.isCallExpression)(node.object) ||
!experimental_utils_1.ASTUtils.isIdentifier(node.object.callee)) {
!utils_1.ASTUtils.isIdentifier(node.object.callee)) {
return emptyInfo;

@@ -266,3 +266,3 @@ }

}
let matcher = experimental_utils_1.ASTUtils.getPropertyName(node);
let matcher = utils_1.ASTUtils.getPropertyName(node);
const isNegated = matcher === 'not';

@@ -272,3 +272,3 @@ if (isNegated) {

node.parent && (0, is_node_of_type_1.isMemberExpression)(node.parent)
? experimental_utils_1.ASTUtils.getPropertyName(node.parent)
? utils_1.ASTUtils.getPropertyName(node.parent)
: null;

@@ -284,3 +284,3 @@ }

if ((0, is_node_of_type_1.isCallExpression)(node) &&
experimental_utils_1.ASTUtils.isIdentifier(node.callee) &&
utils_1.ASTUtils.isIdentifier(node.callee) &&
node.parent &&

@@ -290,3 +290,3 @@ (0, is_node_of_type_1.isMemberExpression)(node.parent) &&

const expectMatcher = node.parent.property;
return (experimental_utils_1.ASTUtils.isIdentifier(expectMatcher) &&
return (utils_1.ASTUtils.isIdentifier(expectMatcher) &&
(expectMatcher.name === 'resolves' || expectMatcher.name === 'rejects'));

@@ -317,3 +317,3 @@ }

function hasImportMatch(importNode, identifierName) {
if (experimental_utils_1.ASTUtils.isIdentifier(importNode)) {
if (utils_1.ASTUtils.isIdentifier(importNode)) {
return importNode.name === identifierName;

@@ -330,3 +330,3 @@ }

}
if (experimental_utils_1.ASTUtils.isAwaitExpression(expression) &&
if (utils_1.ASTUtils.isAwaitExpression(expression) &&
(0, is_node_of_type_1.isCallExpression)(expression.argument)) {

@@ -339,3 +339,3 @@ return expression.argument;

}
if (experimental_utils_1.ASTUtils.isAwaitExpression(expression.right) &&
if (utils_1.ASTUtils.isAwaitExpression(expression.right) &&
(0, is_node_of_type_1.isCallExpression)(expression.right.argument)) {

@@ -360,3 +360,3 @@ return expression.right.argument;

function isEmptyFunction(node) {
if (experimental_utils_1.ASTUtils.isFunction(node) && (0, is_node_of_type_1.isBlockStatement)(node.body)) {
if (utils_1.ASTUtils.isFunction(node) && (0, is_node_of_type_1.isBlockStatement)(node.body)) {
return node.body.body.length === 0;

@@ -379,7 +379,7 @@ }

else {
if (!experimental_utils_1.ASTUtils.isVariableDeclarator(node.parent)) {
if (!utils_1.ASTUtils.isVariableDeclarator(node.parent)) {
return undefined;
}
const requireNode = node.parent;
if (experimental_utils_1.ASTUtils.isIdentifier(requireNode.id)) {
if (utils_1.ASTUtils.isIdentifier(requireNode.id)) {
return requireNode.id;

@@ -391,3 +391,3 @@ }

const property = requireNode.id.properties.find((n) => (0, is_node_of_type_1.isProperty)(n) &&
experimental_utils_1.ASTUtils.isIdentifier(n.key) &&
utils_1.ASTUtils.isIdentifier(n.key) &&
n.key.name === specifierName);

@@ -394,0 +394,0 @@ if (!property) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isFunctionExpression = exports.isReturnStatement = exports.isProperty = exports.isObjectPattern = exports.isObjectExpression = exports.isNewExpression = exports.isMemberExpression = exports.isLiteral = exports.isJSXAttribute = exports.isImportSpecifier = exports.isImportNamespaceSpecifier = exports.isImportDefaultSpecifier = exports.isImportDeclaration = exports.isSequenceExpression = exports.isAssignmentExpression = exports.isVariableDeclaration = exports.isExpressionStatement = exports.isCallExpression = exports.isBlockStatement = exports.isArrowFunctionExpression = exports.isArrayExpression = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const isNodeOfType = (nodeType) => (node) => (node === null || node === void 0 ? void 0 : node.type) === nodeType;
exports.isArrayExpression = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.ArrayExpression);
exports.isArrowFunctionExpression = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.ArrowFunctionExpression);
exports.isBlockStatement = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.BlockStatement);
exports.isCallExpression = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.CallExpression);
exports.isExpressionStatement = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.ExpressionStatement);
exports.isVariableDeclaration = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.VariableDeclaration);
exports.isAssignmentExpression = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.AssignmentExpression);
exports.isSequenceExpression = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.SequenceExpression);
exports.isImportDeclaration = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.ImportDeclaration);
exports.isImportDefaultSpecifier = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.ImportDefaultSpecifier);
exports.isImportNamespaceSpecifier = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.ImportNamespaceSpecifier);
exports.isImportSpecifier = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.ImportSpecifier);
exports.isJSXAttribute = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.JSXAttribute);
exports.isLiteral = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.Literal);
exports.isMemberExpression = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.MemberExpression);
exports.isNewExpression = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.NewExpression);
exports.isObjectExpression = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.ObjectExpression);
exports.isObjectPattern = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.ObjectPattern);
exports.isProperty = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.Property);
exports.isReturnStatement = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.ReturnStatement);
exports.isFunctionExpression = isNodeOfType(experimental_utils_1.AST_NODE_TYPES.FunctionExpression);
exports.isArrayExpression = isNodeOfType(utils_1.AST_NODE_TYPES.ArrayExpression);
exports.isArrowFunctionExpression = isNodeOfType(utils_1.AST_NODE_TYPES.ArrowFunctionExpression);
exports.isBlockStatement = isNodeOfType(utils_1.AST_NODE_TYPES.BlockStatement);
exports.isCallExpression = isNodeOfType(utils_1.AST_NODE_TYPES.CallExpression);
exports.isExpressionStatement = isNodeOfType(utils_1.AST_NODE_TYPES.ExpressionStatement);
exports.isVariableDeclaration = isNodeOfType(utils_1.AST_NODE_TYPES.VariableDeclaration);
exports.isAssignmentExpression = isNodeOfType(utils_1.AST_NODE_TYPES.AssignmentExpression);
exports.isSequenceExpression = isNodeOfType(utils_1.AST_NODE_TYPES.SequenceExpression);
exports.isImportDeclaration = isNodeOfType(utils_1.AST_NODE_TYPES.ImportDeclaration);
exports.isImportDefaultSpecifier = isNodeOfType(utils_1.AST_NODE_TYPES.ImportDefaultSpecifier);
exports.isImportNamespaceSpecifier = isNodeOfType(utils_1.AST_NODE_TYPES.ImportNamespaceSpecifier);
exports.isImportSpecifier = isNodeOfType(utils_1.AST_NODE_TYPES.ImportSpecifier);
exports.isJSXAttribute = isNodeOfType(utils_1.AST_NODE_TYPES.JSXAttribute);
exports.isLiteral = isNodeOfType(utils_1.AST_NODE_TYPES.Literal);
exports.isMemberExpression = isNodeOfType(utils_1.AST_NODE_TYPES.MemberExpression);
exports.isNewExpression = isNodeOfType(utils_1.AST_NODE_TYPES.NewExpression);
exports.isObjectExpression = isNodeOfType(utils_1.AST_NODE_TYPES.ObjectExpression);
exports.isObjectPattern = isNodeOfType(utils_1.AST_NODE_TYPES.ObjectPattern);
exports.isProperty = isNodeOfType(utils_1.AST_NODE_TYPES.Property);
exports.isReturnStatement = isNodeOfType(utils_1.AST_NODE_TYPES.ReturnStatement);
exports.isFunctionExpression = isNodeOfType(utils_1.AST_NODE_TYPES.FunctionExpression);
{
"name": "eslint-plugin-testing-library",
"version": "5.0.4",
"version": "5.0.5",
"description": "ESLint rules for Testing Library",

@@ -45,3 +45,3 @@ "keywords": [

"dependencies": {
"@typescript-eslint/experimental-utils": "^5.9.0"
"@typescript-eslint/utils": "^5.10.2"
},

@@ -54,4 +54,4 @@ "devDependencies": {

"@types/node": "^16.11.19",
"@typescript-eslint/eslint-plugin": "^5.9.0",
"@typescript-eslint/parser": "^5.9.0",
"@typescript-eslint/eslint-plugin": "^5.10.2",
"@typescript-eslint/parser": "^5.10.2",
"cpy-cli": "^3.1.1",

@@ -62,3 +62,3 @@ "eslint": "^8.6.0",

"eslint-plugin-import": "^2.25.4",
"eslint-plugin-jest": "^25.3.4",
"eslint-plugin-jest": "^26.0.0",
"eslint-plugin-jest-formatting": "^3.1.0",

@@ -69,3 +69,3 @@ "eslint-plugin-node": "^11.1.0",

"eslint-remote-tester": "^2.1.1",
"eslint-remote-tester-repositories": "^0.0.3",
"eslint-remote-tester-repositories": "^0.0.4",
"husky": "^7.0.4",

@@ -76,4 +76,4 @@ "is-ci": "^3.0.1",

"prettier": "2.5.1",
"semantic-release": "^18.0.1",
"ts-jest": "27.1.2",
"semantic-release": "^19.0.2",
"ts-jest": "27.1.3",
"ts-node": "^10.4.0",

@@ -80,0 +80,0 @@ "typescript": "^4.5.4"

@@ -387,2 +387,3 @@ <div align="center">

<td align="center"><a href="https://diegocasmo.github.io/"><img src="https://avatars.githubusercontent.com/u/4553097?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Diego Castillo</b></sub></a><br /><a href="https://github.com/testing-library/eslint-plugin-testing-library/commits?author=diegocasmo" title="Code">💻</a></td>
<td align="center"><a href="http://bpinto.github.com"><img src="https://avatars.githubusercontent.com/u/526122?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bruno Pinto</b></sub></a><br /><a href="https://github.com/testing-library/eslint-plugin-testing-library/commits?author=bpinto" title="Code">💻</a> <a href="https://github.com/testing-library/eslint-plugin-testing-library/commits?author=bpinto" title="Tests">⚠️</a></td>
</tr>

@@ -389,0 +390,0 @@ </table>

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -60,3 +60,3 @@ const node_utils_1 = require("../node-utils");

for (const reference of references) {
if (experimental_utils_1.ASTUtils.isIdentifier(reference.identifier) &&
if (utils_1.ASTUtils.isIdentifier(reference.identifier) &&
!(0, node_utils_1.isPromiseHandled)(reference.identifier)) {

@@ -63,0 +63,0 @@ context.report({

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -59,3 +59,3 @@ const node_utils_1 = require("../node-utils");

for (const reference of references) {
if (experimental_utils_1.ASTUtils.isIdentifier(reference.identifier)) {
if (utils_1.ASTUtils.isIdentifier(reference.identifier)) {
reportUnhandledNode(reference.identifier, closestCallExpression);

@@ -62,0 +62,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -44,3 +44,3 @@ const node_utils_1 = require("../node-utils");

lastArg.properties.some((property) => (0, node_utils_1.isProperty)(property) &&
experimental_utils_1.ASTUtils.isIdentifier(property.key) &&
utils_1.ASTUtils.isIdentifier(property.key) &&
property.key.name === 'delay' &&

@@ -47,0 +47,0 @@ (0, node_utils_1.isLiteral)(property.value) &&

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -41,3 +41,3 @@ const node_utils_1 = require("../node-utils");

if ((0, node_utils_1.isMemberExpression)(innerNode)) {
if (experimental_utils_1.ASTUtils.isIdentifier(innerNode.object)) {
if (utils_1.ASTUtils.isIdentifier(innerNode.object)) {
const isContainerName = innerNode.object.name === containerName;

@@ -53,3 +53,3 @@ if (isContainerName) {

containerCallsMethod =
experimental_utils_1.ASTUtils.isIdentifier(innerNode.property) &&
utils_1.ASTUtils.isIdentifier(innerNode.property) &&
innerNode.property.name === 'container' &&

@@ -80,3 +80,3 @@ isRenderWrapper;

}
else if (experimental_utils_1.ASTUtils.isIdentifier(node.callee) &&
else if (utils_1.ASTUtils.isIdentifier(node.callee) &&
destructuredContainerPropNames.includes(node.callee.name)) {

@@ -104,3 +104,3 @@ context.report({

const containerIndex = node.id.properties.findIndex((property) => (0, node_utils_1.isProperty)(property) &&
experimental_utils_1.ASTUtils.isIdentifier(property.key) &&
utils_1.ASTUtils.isIdentifier(property.key) &&
property.key.name === 'container');

@@ -111,3 +111,3 @@ const nodeValue = containerIndex !== -1 && node.id.properties[containerIndex].value;

}
if (experimental_utils_1.ASTUtils.isIdentifier(nodeValue)) {
if (utils_1.ASTUtils.isIdentifier(nodeValue)) {
containerName = nodeValue.name;

@@ -117,7 +117,7 @@ }

nodeValue.properties.forEach((property) => (0, node_utils_1.isProperty)(property) &&
experimental_utils_1.ASTUtils.isIdentifier(property.key) &&
utils_1.ASTUtils.isIdentifier(property.key) &&
destructuredContainerPropNames.push(property.key.name));
}
}
else if (experimental_utils_1.ASTUtils.isIdentifier(node.id)) {
else if (utils_1.ASTUtils.isIdentifier(node.id)) {
renderResultVarName = node.id.name;

@@ -124,0 +124,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");
const node_utils_1 = require("../node-utils");
const utils_1 = require("../utils");
const utils_2 = require("../utils");
exports.RULE_NAME = 'no-debugging-utils';

@@ -31,3 +31,3 @@ exports.default = (0, create_testing_library_rule_1.createTestingLibraryRule)({

type: 'object',
properties: utils_1.DEBUG_UTILS.reduce((obj, name) => (Object.assign({ [name]: { type: 'boolean' } }, obj)), {}),
properties: utils_2.DEBUG_UTILS.reduce((obj, name) => (Object.assign({ [name]: { type: 'boolean' } }, obj)), {}),
additionalProperties: false,

@@ -78,3 +78,3 @@ },

if ((0, node_utils_1.isProperty)(property) &&
experimental_utils_1.ASTUtils.isIdentifier(property.key) &&
utils_1.ASTUtils.isIdentifier(property.key) &&
utilsToReport.includes(property.key.name)) {

@@ -88,3 +88,3 @@ const identifierNode = (0, node_utils_1.getDeepestIdentifierNode)(property.value);

}
if (experimental_utils_1.ASTUtils.isIdentifier(node.id)) {
if (utils_1.ASTUtils.isIdentifier(node.id)) {
suspiciousReferenceNodes.push(node.id);

@@ -91,0 +91,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -34,3 +34,3 @@ const node_utils_1 = require("../node-utils");

(0, node_utils_1.isMemberExpression)(utilsUsage) &&
experimental_utils_1.ASTUtils.isIdentifier(utilsUsage.property) &&
utils_1.ASTUtils.isIdentifier(utilsUsage.property) &&
utilsUsage.property.name === 'cleanup') {

@@ -63,3 +63,3 @@ context.report({

const cleanupProperty = declaratorNode.id.properties.find((property) => (0, node_utils_1.isProperty)(property) &&
experimental_utils_1.ASTUtils.isIdentifier(property.key) &&
utils_1.ASTUtils.isIdentifier(property.key) &&
property.key.name === 'cleanup');

@@ -66,0 +66,0 @@ if (cleanupProperty) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");
const utils_1 = require("../utils");
const utils_2 = require("../utils");
exports.RULE_NAME = 'no-node-access';

@@ -32,4 +32,4 @@ exports.default = (0, create_testing_library_rule_1.createTestingLibraryRule)({

}
if (experimental_utils_1.ASTUtils.isIdentifier(node.property) &&
utils_1.ALL_RETURNING_NODES.includes(node.property.name)) {
if (utils_1.ASTUtils.isIdentifier(node.property) &&
utils_2.ALL_RETURNING_NODES.includes(node.property.name)) {
context.report({

@@ -36,0 +36,0 @@ node,

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -29,3 +29,3 @@ const node_utils_1 = require("../node-utils");

function checkSuspiciousNode(node, originalNode) {
if (experimental_utils_1.ASTUtils.isAwaitExpression(node)) {
if (utils_1.ASTUtils.isAwaitExpression(node)) {
return;

@@ -56,4 +56,4 @@ }

}
if (experimental_utils_1.ASTUtils.isIdentifier(node)) {
const nodeVariable = experimental_utils_1.ASTUtils.findVariable(context.getScope(), node.name);
if (utils_1.ASTUtils.isIdentifier(node)) {
const nodeVariable = utils_1.ASTUtils.findVariable(context.getScope(), node.name);
if (!nodeVariable) {

@@ -60,0 +60,0 @@ return;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.findClosestBeforeHook = exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");
const node_utils_1 = require("../node-utils");
const utils_1 = require("../utils");
const utils_2 = require("../utils");
exports.RULE_NAME = 'no-render-in-setup';

@@ -14,3 +14,3 @@ function findClosestBeforeHook(node, testingFrameworkSetupHooksToFilter) {

if ((0, node_utils_1.isCallExpression)(node) &&
experimental_utils_1.ASTUtils.isIdentifier(node.callee) &&
utils_1.ASTUtils.isIdentifier(node.callee) &&
testingFrameworkSetupHooksToFilter.includes(node.callee.name)) {

@@ -46,3 +46,3 @@ return node.callee;

allowTestingFrameworkSetupHook: {
enum: utils_1.TESTING_FRAMEWORK_SETUP_HOOKS,
enum: utils_2.TESTING_FRAMEWORK_SETUP_HOOKS,
},

@@ -68,3 +68,3 @@ },

CallExpression(node) {
const testingFrameworkSetupHooksToFilter = utils_1.TESTING_FRAMEWORK_SETUP_HOOKS.filter((hook) => hook !== allowTestingFrameworkSetupHook);
const testingFrameworkSetupHooksToFilter = utils_2.TESTING_FRAMEWORK_SETUP_HOOKS.filter((hook) => hook !== allowTestingFrameworkSetupHook);
const callExpressionIdentifier = (0, node_utils_1.getDeepestIdentifierNode)(node);

@@ -71,0 +71,0 @@ if (!callExpressionIdentifier) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -53,3 +53,3 @@ const node_utils_1 = require("../node-utils");

if ((0, node_utils_1.isExpressionStatement)(statement) &&
experimental_utils_1.ASTUtils.isAwaitExpression(statement.expression)) {
utils_1.ASTUtils.isAwaitExpression(statement.expression)) {
return (0, node_utils_1.getPropertyIdentifierNode)(statement.expression.argument);

@@ -56,0 +56,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -45,3 +45,3 @@ const node_utils_1 = require("../node-utils");

(0, node_utils_1.isCallExpression)(node.parent) &&
experimental_utils_1.ASTUtils.isIdentifier(node.parent.callee)) {
utils_1.ASTUtils.isIdentifier(node.parent.callee)) {
context.report({

@@ -67,3 +67,3 @@ node,

methodName: (0, node_utils_1.isCallExpression)(node.parent) &&
experimental_utils_1.ASTUtils.isIdentifier(node.parent.callee) &&
utils_1.ASTUtils.isIdentifier(node.parent.callee) &&
node.parent.callee.name,

@@ -70,0 +70,0 @@ },

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -36,3 +36,3 @@ const node_utils_1 = require("../node-utils");

}
if (experimental_utils_1.ASTUtils.isIdentifier(callExpression.callee) &&
if (utils_1.ASTUtils.isIdentifier(callExpression.callee) &&
helpers.isAsyncUtil(callExpression.callee)) {

@@ -42,3 +42,3 @@ return callExpression.callee;

if ((0, node_utils_1.isMemberExpression)(callExpression.callee) &&
experimental_utils_1.ASTUtils.isIdentifier(callExpression.callee.property) &&
utils_1.ASTUtils.isIdentifier(callExpression.callee.property) &&
helpers.isAsyncUtil(callExpression.callee.property)) {

@@ -45,0 +45,0 @@ return callExpression.callee.property;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");
const node_utils_1 = require("../node-utils");
const utils_1 = require("../utils");
const utils_2 = require("../utils");
exports.RULE_NAME = 'prefer-explicit-assert';

@@ -19,8 +19,8 @@ const isAtTopLevel = (node) => {

if ((0, node_utils_1.isCallExpression)(node.parent) &&
experimental_utils_1.ASTUtils.isAwaitExpression(node.parent.parent) &&
experimental_utils_1.ASTUtils.isVariableDeclarator(node.parent.parent.parent)) {
utils_1.ASTUtils.isAwaitExpression(node.parent.parent) &&
utils_1.ASTUtils.isVariableDeclarator(node.parent.parent.parent)) {
return true;
}
if ((0, node_utils_1.isCallExpression)(node.parent) &&
experimental_utils_1.ASTUtils.isVariableDeclarator(node.parent.parent)) {
utils_1.ASTUtils.isVariableDeclarator(node.parent.parent)) {
return true;

@@ -30,4 +30,4 @@ }

(0, node_utils_1.isCallExpression)(node.parent.parent) &&
experimental_utils_1.ASTUtils.isAwaitExpression(node.parent.parent.parent) &&
experimental_utils_1.ASTUtils.isVariableDeclarator(node.parent.parent.parent.parent)) {
utils_1.ASTUtils.isAwaitExpression(node.parent.parent.parent) &&
utils_1.ASTUtils.isVariableDeclarator(node.parent.parent.parent.parent)) {
return true;

@@ -37,3 +37,3 @@ }

(0, node_utils_1.isCallExpression)(node.parent.parent) &&
experimental_utils_1.ASTUtils.isVariableDeclarator(node.parent.parent.parent)) {
utils_1.ASTUtils.isVariableDeclarator(node.parent.parent.parent)) {
return true;

@@ -67,3 +67,3 @@ }

type: 'string',
enum: utils_1.PRESENCE_MATCHERS,
enum: utils_2.PRESENCE_MATCHERS,
},

@@ -130,3 +130,3 @@ includeFindQueries: { type: 'boolean' },

const property = expectStatement.property;
if (!experimental_utils_1.ASTUtils.isIdentifier(property)) {
if (!utils_1.ASTUtils.isIdentifier(property)) {
return;

@@ -138,8 +138,8 @@ }

(0, node_utils_1.isMemberExpression)(expectStatement.parent) &&
experimental_utils_1.ASTUtils.isIdentifier(expectStatement.parent.property)) {
utils_1.ASTUtils.isIdentifier(expectStatement.parent.property)) {
isNegatedMatcher = true;
matcher = expectStatement.parent.property.name;
}
const shouldEnforceAssertion = (!isNegatedMatcher && utils_1.PRESENCE_MATCHERS.includes(matcher)) ||
(isNegatedMatcher && utils_1.ABSENCE_MATCHERS.includes(matcher));
const shouldEnforceAssertion = (!isNegatedMatcher && utils_2.PRESENCE_MATCHERS.includes(matcher)) ||
(isNegatedMatcher && utils_2.ABSENCE_MATCHERS.includes(matcher));
if (shouldEnforceAssertion && matcher !== assertion) {

@@ -146,0 +146,0 @@ context.report({

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFindByQueryVariant = exports.WAIT_METHODS = exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -22,3 +22,3 @@ const node_utils_1 = require("../node-utils");

.map(({ name }) => name)
.filter(experimental_utils_1.ASTUtils.isIdentifier)
.filter(utils_1.ASTUtils.isIdentifier)
.find(({ name }) => name === query)) !== null && _a !== void 0 ? _a : null);

@@ -71,6 +71,6 @@ }

(0, node_utils_1.isCallExpression)(node.body.callee.object.arguments[0]) &&
experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object.arguments[0].callee)) {
utils_1.ASTUtils.isIdentifier(node.body.callee.object.arguments[0].callee)) {
return node.body.callee.object.arguments[0].callee.name;
}
if (!experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.property)) {
if (!utils_1.ASTUtils.isIdentifier(node.body.callee.property)) {
return null;

@@ -81,3 +81,3 @@ }

(0, node_utils_1.isMemberExpression)(node.body.callee.object.arguments[0].callee) &&
experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object.arguments[0].callee.property)) {
utils_1.ASTUtils.isIdentifier(node.body.callee.object.arguments[0].callee.property)) {
return node.body.callee.object.arguments[0].callee.property.name;

@@ -89,3 +89,3 @@ }

(0, node_utils_1.isMemberExpression)(node.body.callee.object.object.arguments[0].callee) &&
experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object.object.arguments[0].callee.property)) {
utils_1.ASTUtils.isIdentifier(node.body.callee.object.object.arguments[0].callee.property)) {
return node.body.callee.object.object.arguments[0].callee.property.name;

@@ -96,3 +96,3 @@ }

(0, node_utils_1.isCallExpression)(node.body.callee.object.object.arguments[0]) &&
experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object.object.arguments[0].callee)) {
utils_1.ASTUtils.isIdentifier(node.body.callee.object.object.arguments[0].callee)) {
return node.body.callee.object.object.arguments[0].callee.name;

@@ -106,3 +106,3 @@ }

}
if (experimental_utils_1.ASTUtils.isIdentifier(node.body.callee) &&
if (utils_1.ASTUtils.isIdentifier(node.body.callee) &&
helpers.isSyncQuery(node.body.callee)) {

@@ -118,10 +118,10 @@ return node.body.callee.name;

}
if (experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object)) {
if (utils_1.ASTUtils.isIdentifier(node.body.callee.object)) {
return node.body.callee.object.name;
}
if ((0, node_utils_1.isCallExpression)(node.body.callee.object) &&
experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object.callee) &&
utils_1.ASTUtils.isIdentifier(node.body.callee.object.callee) &&
(0, node_utils_1.isCallExpression)(node.body.callee.object.arguments[0]) &&
(0, node_utils_1.isMemberExpression)(node.body.callee.object.arguments[0].callee) &&
experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object.arguments[0].callee.object)) {
utils_1.ASTUtils.isIdentifier(node.body.callee.object.arguments[0].callee.object)) {
return node.body.callee.object.arguments[0].callee.object.name;

@@ -133,3 +133,3 @@ }

(0, node_utils_1.isMemberExpression)(node.body.callee.object.object.arguments[0].callee) &&
experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object.object.arguments[0].callee.object)) {
utils_1.ASTUtils.isIdentifier(node.body.callee.object.object.arguments[0].callee.object)) {
return node.body.callee.object.object.arguments[0].callee.object.name;

@@ -143,3 +143,3 @@ }

}
const isQuery = experimental_utils_1.ASTUtils.isIdentifier(node.body.callee) &&
const isQuery = utils_1.ASTUtils.isIdentifier(node.body.callee) &&
helpers.isSyncQuery(node.body.callee);

@@ -149,3 +149,3 @@ const isWrappedInPresenceAssert = (0, node_utils_1.isMemberExpression)(node.body.callee) &&

(0, node_utils_1.isCallExpression)(node.body.callee.object.arguments[0]) &&
experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object.arguments[0].callee) &&
utils_1.ASTUtils.isIdentifier(node.body.callee.object.arguments[0].callee) &&
helpers.isSyncQuery(node.body.callee.object.arguments[0].callee) &&

@@ -157,3 +157,3 @@ helpers.isPresenceAssert(node.body.callee);

(0, node_utils_1.isCallExpression)(node.body.callee.object.object.arguments[0]) &&
experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object.object.arguments[0].callee) &&
utils_1.ASTUtils.isIdentifier(node.body.callee.object.object.arguments[0].callee) &&
helpers.isSyncQuery(node.body.callee.object.object.arguments[0].callee) &&

@@ -168,6 +168,6 @@ helpers.isPresenceAssert(node.body.callee.object);

if (!(0, node_utils_1.isMemberExpression)(node.body.callee) ||
!experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.property)) {
!utils_1.ASTUtils.isIdentifier(node.body.callee.property)) {
return false;
}
if (!experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object) &&
if (!utils_1.ASTUtils.isIdentifier(node.body.callee.object) &&
!(0, node_utils_1.isCallExpression)(node.body.callee.object) &&

@@ -181,3 +181,3 @@ !(0, node_utils_1.isMemberExpression)(node.body.callee.object)) {

(0, node_utils_1.isMemberExpression)(node.body.callee.object.arguments[0].callee) &&
experimental_utils_1.ASTUtils.isIdentifier(node.body.callee.object.arguments[0].callee.object);
utils_1.ASTUtils.isIdentifier(node.body.callee.object.arguments[0].callee.object);
const isWrappedInNegatedPresenceAssert = (0, node_utils_1.isMemberExpression)(node.body.callee.object) &&

@@ -208,3 +208,3 @@ helpers.isPresenceAssert(node.body.callee.object) &&

'AwaitExpression > CallExpression'(node) {
if (!experimental_utils_1.ASTUtils.isIdentifier(node.callee) ||
if (!utils_1.ASTUtils.isIdentifier(node.callee) ||
!helpers.isAsyncUtil(node.callee, exports.WAIT_METHODS)) {

@@ -287,3 +287,3 @@ return;

if (allVariableDeclarations.properties.some((p) => (0, node_utils_1.isProperty)(p) &&
experimental_utils_1.ASTUtils.isIdentifier(p.key) &&
utils_1.ASTUtils.isIdentifier(p.key) &&
p.key.name === findByMethod)) {

@@ -290,0 +290,0 @@ return allFixes;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -16,3 +16,3 @@ const node_utils_1 = require("../node-utils");

secondArgument.properties.some((property) => (0, node_utils_1.isProperty)(property) &&
experimental_utils_1.ASTUtils.isIdentifier(property.key) &&
utils_1.ASTUtils.isIdentifier(property.key) &&
ALLOWED_RENDER_PROPERTIES_FOR_DESTRUCTURING.includes(property.key.name)));

@@ -63,3 +63,3 @@ }

if ((0, node_utils_1.isProperty)(property) &&
experimental_utils_1.ASTUtils.isIdentifier(property.key) &&
utils_1.ASTUtils.isIdentifier(property.key) &&
helpers.isBuiltInQuery(property.key)) {

@@ -79,3 +79,3 @@ safeDestructuredQueries.push(property.key.name);

if (!(0, node_utils_1.isCallExpression)(node.init) ||
!experimental_utils_1.ASTUtils.isIdentifier(node.init.callee)) {
!utils_1.ASTUtils.isIdentifier(node.init.callee)) {
return;

@@ -95,3 +95,3 @@ }

}
else if (experimental_utils_1.ASTUtils.isIdentifier(node.id)) {
else if (utils_1.ASTUtils.isIdentifier(node.id)) {
withinDeclaredVariables.push(node.id.name);

@@ -121,3 +121,3 @@ }

if ((0, node_utils_1.isCallExpression)(memberExpressionNode.object) &&
experimental_utils_1.ASTUtils.isIdentifier(memberExpressionNode.object.callee) &&
utils_1.ASTUtils.isIdentifier(memberExpressionNode.object.callee) &&
memberExpressionNode.object.callee.name !== 'within' &&

@@ -129,3 +129,3 @@ isReportableRender(memberExpressionNode.object.callee) &&

}
if (experimental_utils_1.ASTUtils.isIdentifier(memberExpressionNode.object) &&
if (utils_1.ASTUtils.isIdentifier(memberExpressionNode.object) &&
!isIdentifierAllowed(memberExpressionNode.object.name)) {

@@ -132,0 +132,0 @@ reportInvalidUsage(identifierNode);

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MAPPING_TO_USER_EVENT = exports.UserEventMethods = exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -82,3 +82,3 @@ const node_utils_1 = require("../node-utils");

const getFireEventMethodName = (callExpressionNode, node) => {
if (!experimental_utils_1.ASTUtils.isIdentifier(callExpressionNode.callee) &&
if (!utils_1.ASTUtils.isIdentifier(callExpressionNode.callee) &&
!(0, node_utils_1.isMemberExpression)(callExpressionNode.callee)) {

@@ -88,3 +88,3 @@ return node.name;

const secondArgument = callExpressionNode.arguments[1];
if (experimental_utils_1.ASTUtils.isIdentifier(secondArgument) &&
if (utils_1.ASTUtils.isIdentifier(secondArgument) &&
createEventVariables[secondArgument.name] !== undefined) {

@@ -97,3 +97,3 @@ return createEventVariables[secondArgument.name];

}
if (experimental_utils_1.ASTUtils.isIdentifier(secondArgument.callee)) {
if (utils_1.ASTUtils.isIdentifier(secondArgument.callee)) {
return secondArgument.arguments[0]

@@ -131,3 +131,3 @@ .value;

!helpers.isCreateEventUtil(node.init) ||
!experimental_utils_1.ASTUtils.isIdentifier(node.id)) {
!utils_1.ASTUtils.isIdentifier(node.id)) {
return;

@@ -137,3 +137,3 @@ }

if ((0, node_utils_1.isMemberExpression)(node.init.callee) &&
experimental_utils_1.ASTUtils.isIdentifier(node.init.callee.property)) {
utils_1.ASTUtils.isIdentifier(node.init.callee.property)) {
fireEventMethodName = node.init.callee.property.name;

@@ -140,0 +140,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -41,3 +41,3 @@ const node_utils_1 = require("../node-utils");

.filter((s) => (0, node_utils_1.isProperty)(s) &&
experimental_utils_1.ASTUtils.isIdentifier(s.key) &&
utils_1.ASTUtils.isIdentifier(s.key) &&
!excludedImports.includes(s.key.name))

@@ -90,3 +90,3 @@ .map((s) => s.key.name);

if ((0, node_utils_1.isMemberExpression)(node.parent) &&
experimental_utils_1.ASTUtils.isIdentifier(node.parent.object)) {
utils_1.ASTUtils.isIdentifier(node.parent.object)) {
methodReplacement = `${node.parent.object.name}.${methodReplacement}`;

@@ -103,3 +103,3 @@ }

'CallExpression > MemberExpression'(node) {
const isDeprecatedMethod = experimental_utils_1.ASTUtils.isIdentifier(node.property) &&
const isDeprecatedMethod = utils_1.ASTUtils.isIdentifier(node.property) &&
DEPRECATED_METHODS.includes(node.property.name);

@@ -106,0 +106,0 @@ if (!isDeprecatedMethod) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RULE_NAME = void 0;
const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
const utils_1 = require("@typescript-eslint/utils");
const create_testing_library_rule_1 = require("../create-testing-library-rule");

@@ -64,3 +64,3 @@ const node_utils_1 = require("../node-utils");

}
const renderResultName = experimental_utils_1.ASTUtils.isIdentifier(node.id) && node.id.name;
const renderResultName = utils_1.ASTUtils.isIdentifier(node.id) && node.id.name;
if (!renderResultName) {

@@ -67,0 +67,0 @@ return;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc