Socket
Socket
Sign inDemoInstall

eslint-plugin-jest

Package Overview
Dependencies
Maintainers
11
Versions
325
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-jest - npm Package Compare versions

Comparing version 25.7.0 to 26.0.0

40

lib/rules/consistent-test-it.js

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

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
const buildFixer = (callee, nodeName, preferredTestKeyword) => fixer => [fixer.replaceText(callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression ? callee.object : callee, getPreferredNodeName(nodeName, preferredTestKeyword))];
const buildFixer = (callee, nodeName, preferredTestKeyword) => fixer => [fixer.replaceText(callee.type === _utils.AST_NODE_TYPES.MemberExpression ? callee.object : callee, getPreferredNodeName(nodeName, preferredTestKeyword))];
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -32,6 +32,6 @@ meta: {

fn: {
enum: [_utils.TestCaseName.it, _utils.TestCaseName.test]
enum: [_utils2.TestCaseName.it, _utils2.TestCaseName.test]
},
withinDescribe: {
enum: [_utils.TestCaseName.it, _utils.TestCaseName.test]
enum: [_utils2.TestCaseName.it, _utils2.TestCaseName.test]
}

@@ -44,4 +44,4 @@ },

defaultOptions: [{
fn: _utils.TestCaseName.test,
withinDescribe: _utils.TestCaseName.it
fn: _utils2.TestCaseName.test,
withinDescribe: _utils2.TestCaseName.it
}],

@@ -51,8 +51,8 @@

const configObj = context.options[0] || {};
const testKeyword = configObj.fn || _utils.TestCaseName.test;
const testKeywordWithinDescribe = configObj.withinDescribe || configObj.fn || _utils.TestCaseName.it;
const testKeyword = configObj.fn || _utils2.TestCaseName.test;
const testKeywordWithinDescribe = configObj.withinDescribe || configObj.fn || _utils2.TestCaseName.it;
let describeNestingLevel = 0;
return {
CallExpression(node) {
const nodeName = (0, _utils.getNodeName)(node.callee);
const nodeName = (0, _utils2.getNodeName)(node.callee);

@@ -63,9 +63,9 @@ if (!nodeName) {

if ((0, _utils.isDescribeCall)(node)) {
if ((0, _utils2.isDescribeCall)(node)) {
describeNestingLevel++;
}
const funcNode = node.callee.type === _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression ? node.callee.tag : node.callee.type === _experimentalUtils.AST_NODE_TYPES.CallExpression ? node.callee.callee : node.callee;
const funcNode = node.callee.type === _utils.AST_NODE_TYPES.TaggedTemplateExpression ? node.callee.tag : node.callee.type === _utils.AST_NODE_TYPES.CallExpression ? node.callee.callee : node.callee;
if ((0, _utils.isTestCaseCall)(node) && describeNestingLevel === 0 && !nodeName.includes(testKeyword)) {
if ((0, _utils2.isTestCaseCall)(node) && describeNestingLevel === 0 && !nodeName.includes(testKeyword)) {
const oppositeTestKeyword = getOppositeTestKeyword(testKeyword);

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

if ((0, _utils.isTestCaseCall)(node) && describeNestingLevel > 0 && !nodeName.includes(testKeywordWithinDescribe)) {
if ((0, _utils2.isTestCaseCall)(node) && describeNestingLevel > 0 && !nodeName.includes(testKeywordWithinDescribe)) {
const oppositeTestKeyword = getOppositeTestKeyword(testKeywordWithinDescribe);

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

'CallExpression:exit'(node) {
if ((0, _utils.isDescribeCall)(node)) {
if ((0, _utils2.isDescribeCall)(node)) {
describeNestingLevel--;

@@ -113,3 +113,3 @@ }

function getPreferredNodeName(nodeName, preferredTestKeyword) {
if (nodeName === _utils.TestCaseName.fit) {
if (nodeName === _utils2.TestCaseName.fit) {
return 'test.only';

@@ -122,7 +122,7 @@ }

function getOppositeTestKeyword(test) {
if (test === _utils.TestCaseName.test) {
return _utils.TestCaseName.it;
if (test === _utils2.TestCaseName.test) {
return _utils2.TestCaseName.it;
}
return _utils.TestCaseName.test;
return _utils2.TestCaseName.test;
}

@@ -8,5 +8,5 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");

@@ -32,3 +32,3 @@ /*

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -77,7 +77,7 @@ meta: {

for (const node of nodes) {
const index = node.type === _experimentalUtils.AST_NODE_TYPES.CallExpression ? unchecked.indexOf(node) : -1;
const index = node.type === _utils.AST_NODE_TYPES.CallExpression ? unchecked.indexOf(node) : -1;
if (node.type === _experimentalUtils.AST_NODE_TYPES.FunctionDeclaration) {
if (node.type === _utils.AST_NODE_TYPES.FunctionDeclaration) {
const declaredVariables = context.getDeclaredVariables(node);
const testCallExpressions = (0, _utils.getTestCallExpressionsFromDeclaredVariables)(declaredVariables);
const testCallExpressions = (0, _utils2.getTestCallExpressionsFromDeclaredVariables)(declaredVariables);
checkCallExpressionUsed(testCallExpressions);

@@ -97,6 +97,6 @@ }

const name = (_getNodeName = (0, _utils.getNodeName)(node.callee)) !== null && _getNodeName !== void 0 ? _getNodeName : '';
const name = (_getNodeName = (0, _utils2.getNodeName)(node.callee)) !== null && _getNodeName !== void 0 ? _getNodeName : '';
if ((0, _utils.isTestCaseCall)(node) || additionalTestBlockFunctions.includes(name)) {
if (node.callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression && (0, _utils.isSupportedAccessor)(node.callee.property, 'todo')) {
if ((0, _utils2.isTestCaseCall)(node) || additionalTestBlockFunctions.includes(name)) {
if (node.callee.type === _utils.AST_NODE_TYPES.MemberExpression && (0, _utils2.isSupportedAccessor)(node.callee.property, 'todo')) {
return;

@@ -103,0 +103,0 @@ }

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -50,3 +50,3 @@ meta: {

if ((parent === null || parent === void 0 ? void 0 : parent.type) !== _experimentalUtils.AST_NODE_TYPES.CallExpression || !(0, _utils.isDescribeCall)(parent)) {
if ((parent === null || parent === void 0 ? void 0 : parent.type) !== _utils.AST_NODE_TYPES.CallExpression || !(0, _utils2.isDescribeCall)(parent)) {
return;

@@ -74,3 +74,3 @@ }

if ((parent === null || parent === void 0 ? void 0 : parent.type) === _experimentalUtils.AST_NODE_TYPES.CallExpression && (0, _utils.isDescribeCall)(parent)) {
if ((parent === null || parent === void 0 ? void 0 : parent.type) === _utils.AST_NODE_TYPES.CallExpression && (0, _utils2.isDescribeCall)(parent)) {
describeCallbackStack.pop();

@@ -77,0 +77,0 @@ }

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

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
const isCatchCall = node => node.callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression && (0, _utils.isSupportedAccessor)(node.callee.property, 'catch');
const isCatchCall = node => node.callee.type === _utils.AST_NODE_TYPES.MemberExpression && (0, _utils2.isSupportedAccessor)(node.callee.property, 'catch');
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -43,3 +43,3 @@ meta: {

const declaredVariables = context.getDeclaredVariables(node);
const testCallExpressions = (0, _utils.getTestCallExpressionsFromDeclaredVariables)(declaredVariables);
const testCallExpressions = (0, _utils2.getTestCallExpressionsFromDeclaredVariables)(declaredVariables);

@@ -52,3 +52,3 @@ if (testCallExpressions.length > 0) {

CallExpression(node) {
if ((0, _utils.isTestCaseCall)(node)) {
if ((0, _utils2.isTestCaseCall)(node)) {
inTestCase = true;

@@ -61,3 +61,3 @@ }

if (inTestCase && (0, _utils.isExpectCall)(node) && conditionalDepth > 0) {
if (inTestCase && (0, _utils2.isExpectCall)(node) && conditionalDepth > 0) {
context.report({

@@ -69,3 +69,3 @@ messageId: 'conditionalExpect',

if (inPromiseCatch && (0, _utils.isExpectCall)(node)) {
if (inPromiseCatch && (0, _utils2.isExpectCall)(node)) {
context.report({

@@ -79,3 +79,3 @@ messageId: 'conditionalExpect',

'CallExpression:exit'(node) {
if ((0, _utils.isTestCaseCall)(node)) {
if ((0, _utils2.isTestCaseCall)(node)) {
inTestCase = false;

@@ -82,0 +82,0 @@ }

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _detectJestVersion = require("./detectJestVersion");
var _utils = require("./utils");
var _utils2 = require("./utils");

@@ -24,3 +24,3 @@ const parseJestVersion = rawVersion => {

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -65,7 +65,7 @@ meta: {

CallExpression(node) {
if (node.callee.type !== _experimentalUtils.AST_NODE_TYPES.MemberExpression) {
if (node.callee.type !== _utils.AST_NODE_TYPES.MemberExpression) {
return;
}
const deprecation = (0, _utils.getNodeName)(node);
const deprecation = (0, _utils2.getNodeName)(node);

@@ -91,3 +91,3 @@ if (!deprecation || !(deprecation in deprecations)) {

if (callee.property.type === _experimentalUtils.AST_NODE_TYPES.Literal) {
if (callee.property.type === _utils.AST_NODE_TYPES.Literal) {
func = `'${func}'`;

@@ -94,0 +94,0 @@ }

@@ -8,5 +8,5 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");

@@ -18,7 +18,7 @@ const findCallbackArg = (node, isJestEach) => {

if ((0, _utils.isHook)(node) && node.arguments.length >= 1) {
if ((0, _utils2.isHook)(node) && node.arguments.length >= 1) {
return node.arguments[0];
}
if ((0, _utils.isTestCaseCall)(node) && node.arguments.length >= 2) {
if ((0, _utils2.isTestCaseCall)(node) && node.arguments.length >= 2) {
return node.arguments[1];

@@ -30,3 +30,3 @@ }

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -57,5 +57,5 @@ meta: {

// done is the second argument for it.each, not the first
const isJestEach = (_getNodeName$endsWith = (_getNodeName = (0, _utils.getNodeName)(node.callee)) === null || _getNodeName === void 0 ? void 0 : _getNodeName.endsWith('.each')) !== null && _getNodeName$endsWith !== void 0 ? _getNodeName$endsWith : false;
const isJestEach = (_getNodeName$endsWith = (_getNodeName = (0, _utils2.getNodeName)(node.callee)) === null || _getNodeName === void 0 ? void 0 : _getNodeName.endsWith('.each')) !== null && _getNodeName$endsWith !== void 0 ? _getNodeName$endsWith : false;
if (isJestEach && node.callee.type !== _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression) {
if (isJestEach && node.callee.type !== _utils.AST_NODE_TYPES.TaggedTemplateExpression) {
// isJestEach but not a TaggedTemplateExpression, so this must be

@@ -70,3 +70,3 @@ // the `jest.each([])()` syntax which this rule doesn't support due

if (!callback || !(0, _utils.isFunction)(callback) || callback.params.length !== 1 + callbackArgIndex) {
if (!callback || !(0, _utils2.isFunction)(callback) || callback.params.length !== 1 + callbackArgIndex) {
return;

@@ -77,3 +77,3 @@ }

if (argument.type !== _experimentalUtils.AST_NODE_TYPES.Identifier) {
if (argument.type !== _utils.AST_NODE_TYPES.Identifier) {
context.report({

@@ -135,3 +135,3 @@ node: argument,

if (body.type === _experimentalUtils.AST_NODE_TYPES.BlockStatement) {
if (body.type === _utils.AST_NODE_TYPES.BlockStatement) {
const keyword = 'return';

@@ -138,0 +138,0 @@ beforeReplacement = `${keyword} ${beforeReplacement}{`;

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -45,3 +45,3 @@ meta: {

CallExpression(node) {
if ((0, _utils.isTestCaseCall)(node)) {
if ((0, _utils2.isTestCaseCall)(node)) {
hasTestCase = true;

@@ -61,3 +61,3 @@ }

if (object.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression) {
if (object.type === _utils.AST_NODE_TYPES.MemberExpression) {
({

@@ -69,3 +69,3 @@ object,

if ('name' in object && object.name === 'module' && property.type === _experimentalUtils.AST_NODE_TYPES.Identifier && /^exports?$/u.test(property.name)) {
if ('name' in object && object.name === 'module' && property.type === _utils.AST_NODE_TYPES.Identifier && /^exports?$/u.test(property.name)) {
exportNodes.push(node);

@@ -72,0 +72,0 @@ }

@@ -8,12 +8,12 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
const findOnlyNode = node => {
const callee = node.callee.type === _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression ? node.callee.tag : node.callee.type === _experimentalUtils.AST_NODE_TYPES.CallExpression ? node.callee.callee : node.callee;
const callee = node.callee.type === _utils.AST_NODE_TYPES.TaggedTemplateExpression ? node.callee.tag : node.callee.type === _utils.AST_NODE_TYPES.CallExpression ? node.callee.callee : node.callee;
if (callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression) {
if (callee.object.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression) {
if ((0, _utils.isSupportedAccessor)(callee.object.property, 'only')) {
if (callee.type === _utils.AST_NODE_TYPES.MemberExpression) {
if (callee.object.type === _utils.AST_NODE_TYPES.MemberExpression) {
if ((0, _utils2.isSupportedAccessor)(callee.object.property, 'only')) {
return callee.object.property;

@@ -23,3 +23,3 @@ }

if ((0, _utils.isSupportedAccessor)(callee.property, 'only')) {
if ((0, _utils2.isSupportedAccessor)(callee.property, 'only')) {
return callee.property;

@@ -32,3 +32,3 @@ }

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -53,7 +53,7 @@ meta: {

CallExpression(node) {
if (!(0, _utils.isDescribeCall)(node) && !(0, _utils.isTestCaseCall)(node)) {
if (!(0, _utils2.isDescribeCall)(node) && !(0, _utils2.isTestCaseCall)(node)) {
return;
}
if ((0, _utils.getNodeName)(node).startsWith('f')) {
if ((0, _utils2.getNodeName)(node).startsWith('f')) {
context.report({

@@ -81,3 +81,3 @@ messageId: 'focusedTest',

messageId: 'suggestRemoveFocus',
fix: fixer => fixer.removeRange([onlyNode.range[0] - 1, onlyNode.range[1] + Number(onlyNode.type !== _experimentalUtils.AST_NODE_TYPES.Identifier)])
fix: fixer => fixer.removeRange([onlyNode.range[0] - 1, onlyNode.range[1] + Number(onlyNode.type !== _utils.AST_NODE_TYPES.Identifier)])
}]

@@ -84,0 +84,0 @@ });

@@ -8,17 +8,17 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
const testCaseNames = new Set([...Object.keys(_utils.TestCaseName), 'it.only', 'it.concurrent.only', 'it.skip', 'it.concurrent.skip', 'test.only', 'test.concurrent.only', 'test.skip', 'test.concurrent.skip', 'fit.concurrent']);
const testCaseNames = new Set([...Object.keys(_utils2.TestCaseName), 'it.only', 'it.concurrent.only', 'it.skip', 'it.concurrent.skip', 'test.only', 'test.concurrent.only', 'test.skip', 'test.concurrent.skip', 'fit.concurrent']);
const isTestFunctionExpression = node => node.parent !== undefined && node.parent.type === _experimentalUtils.AST_NODE_TYPES.CallExpression && testCaseNames.has((0, _utils.getNodeName)(node.parent.callee));
const isTestFunctionExpression = node => node.parent !== undefined && node.parent.type === _utils.AST_NODE_TYPES.CallExpression && testCaseNames.has((0, _utils2.getNodeName)(node.parent.callee));
const conditionName = {
[_experimentalUtils.AST_NODE_TYPES.ConditionalExpression]: 'conditional',
[_experimentalUtils.AST_NODE_TYPES.SwitchStatement]: 'switch',
[_experimentalUtils.AST_NODE_TYPES.IfStatement]: 'if'
[_utils.AST_NODE_TYPES.ConditionalExpression]: 'conditional',
[_utils.AST_NODE_TYPES.SwitchStatement]: 'switch',
[_utils.AST_NODE_TYPES.IfStatement]: 'if'
};
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -60,6 +60,6 @@ meta: {

CallExpression(node) {
if ((0, _utils.isTestCaseCall)(node)) {
if ((0, _utils2.isTestCaseCall)(node)) {
stack.push(true);
if ((0, _utils.getNodeName)(node).endsWith('each')) {
if ((0, _utils2.getNodeName)(node).endsWith('each')) {
stack.push(true);

@@ -76,3 +76,3 @@ }

const declaredVariables = context.getDeclaredVariables(node);
const testCallExpressions = (0, _utils.getTestCallExpressionsFromDeclaredVariables)(declaredVariables);
const testCallExpressions = (0, _utils2.getTestCallExpressionsFromDeclaredVariables)(declaredVariables);
stack.push(testCallExpressions.length > 0);

@@ -79,0 +79,0 @@ },

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -32,3 +32,3 @@ meta: {

CallExpression(node) {
if (!(0, _utils.isExpectCall)(node)) {
if (!(0, _utils2.isExpectCall)(node)) {
return;

@@ -39,3 +39,3 @@ }

matcher
} = (0, _utils.parseExpectCall)(node);
} = (0, _utils2.parseExpectCall)(node);

@@ -51,3 +51,3 @@ if (!matcher) {

(_matcher$arguments = matcher.arguments) === null || _matcher$arguments === void 0 ? void 0 : _matcher$arguments.forEach(argument => {
if (argument.type === _experimentalUtils.AST_NODE_TYPES.TemplateLiteral && argument.expressions.length > 0) {
if (argument.type === _utils.AST_NODE_TYPES.TemplateLiteral && argument.expressions.length > 0) {
context.report({

@@ -54,0 +54,0 @@ messageId: 'noInterpolation',

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -40,3 +40,3 @@ meta: {

} = node;
const calleeName = (0, _utils.getNodeName)(callee);
const calleeName = (0, _utils2.getNodeName)(callee);

@@ -48,3 +48,3 @@ if (!calleeName) {

if (calleeName === 'spyOn' || calleeName === 'spyOnProperty' || calleeName === 'fail' || calleeName === 'pending') {
if ((0, _utils.scopeHasLocalReference)(context.getScope(), calleeName)) {
if ((0, _utils2.scopeHasLocalReference)(context.getScope(), calleeName)) {
// It's a local variable, not a jasmine global.

@@ -85,3 +85,3 @@ return;

if (callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression && calleeName.startsWith('jasmine.')) {
if (callee.type === _utils.AST_NODE_TYPES.MemberExpression && calleeName.startsWith('jasmine.')) {
const functionName = calleeName.replace('jasmine.', '');

@@ -134,3 +134,3 @@

MemberExpression(node) {
if ((0, _utils.isSupportedAccessor)(node.object, 'jasmine')) {
if ((0, _utils2.isSupportedAccessor)(node.object, 'jasmine')) {
const {

@@ -141,4 +141,4 @@ parent,

if (parent && parent.type === _experimentalUtils.AST_NODE_TYPES.AssignmentExpression) {
if ((0, _utils.isSupportedAccessor)(property, 'DEFAULT_TIMEOUT_INTERVAL')) {
if (parent && parent.type === _utils.AST_NODE_TYPES.AssignmentExpression) {
if ((0, _utils2.isSupportedAccessor)(property, 'DEFAULT_TIMEOUT_INTERVAL')) {
const {

@@ -148,3 +148,3 @@ right

if (right.type === _experimentalUtils.AST_NODE_TYPES.Literal) {
if (right.type === _utils.AST_NODE_TYPES.Literal) {
context.report({

@@ -151,0 +151,0 @@ fix: fixer => [fixer.replaceText(parent, `jest.setTimeout(${right.value})`)],

@@ -10,5 +10,5 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");

@@ -30,3 +30,3 @@ const reportOnViolation = (context, node, {

if (node.type === _experimentalUtils.AST_NODE_TYPES.ExpressionStatement && 'left' in node.expression && (0, _utils.isExpectMember)(node.expression.left)) {
if (node.type === _utils.AST_NODE_TYPES.ExpressionStatement && 'left' in node.expression && (0, _utils2.isExpectMember)(node.expression.left)) {
const fileName = context.getFilename();

@@ -36,3 +36,3 @@ const allowedSnapshotsInFile = allowedSnapshots[fileName];

if (allowedSnapshotsInFile) {
const snapshotName = (0, _utils.getAccessorValue)(node.expression.left.property);
const snapshotName = (0, _utils2.getAccessorValue)(node.expression.left.property);
isAllowed = allowedSnapshotsInFile.some(name => {

@@ -60,3 +60,3 @@ if (name instanceof RegExp) {

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -109,3 +109,3 @@ meta: {

if (!(0, _utils.isExpectCall)(node)) {
if (!(0, _utils2.isExpectCall)(node)) {
return;

@@ -116,5 +116,5 @@ }

matcher
} = (0, _utils.parseExpectCall)(node);
} = (0, _utils2.parseExpectCall)(node);
if ((matcher === null || matcher === void 0 ? void 0 : matcher.node.parent.type) !== _experimentalUtils.AST_NODE_TYPES.CallExpression) {
if ((matcher === null || matcher === void 0 ? void 0 : matcher.node.parent.type) !== _utils.AST_NODE_TYPES.CallExpression) {
return;

@@ -121,0 +121,0 @@ }

@@ -8,5 +8,5 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");

@@ -22,10 +22,10 @@ const getBlockType = statement => {

if (func.type === _experimentalUtils.AST_NODE_TYPES.FunctionDeclaration) {
if (func.type === _utils.AST_NODE_TYPES.FunctionDeclaration) {
return 'function';
}
if ((0, _utils.isFunction)(func) && func.parent) {
if ((0, _utils2.isFunction)(func) && func.parent) {
const expr = func.parent; // arrow function or function expr
if (expr.type === _experimentalUtils.AST_NODE_TYPES.VariableDeclarator) {
if (expr.type === _utils.AST_NODE_TYPES.VariableDeclarator) {
return 'function';

@@ -35,3 +35,3 @@ } // if it's not a variable, it will be callExpr, we only care about describe

if (expr.type === _experimentalUtils.AST_NODE_TYPES.CallExpression && (0, _utils.isDescribeCall)(expr)) {
if (expr.type === _utils.AST_NODE_TYPES.CallExpression && (0, _utils2.isDescribeCall)(expr)) {
return 'describe';

@@ -44,3 +44,3 @@ }

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -78,12 +78,12 @@ meta: {

const isCustomTestBlockFunction = node => additionalTestBlockFunctions.includes((0, _utils.getNodeName)(node) || '');
const isCustomTestBlockFunction = node => additionalTestBlockFunctions.includes((0, _utils2.getNodeName)(node) || '');
const isTestBlock = node => (0, _utils.isTestCaseCall)(node) || isCustomTestBlockFunction(node);
const isTestBlock = node => (0, _utils2.isTestCaseCall)(node) || isCustomTestBlockFunction(node);
return {
CallExpression(node) {
if ((0, _utils.isExpectCall)(node)) {
if ((0, _utils2.isExpectCall)(node)) {
const parent = callStack[callStack.length - 1];
if (!parent || parent === _utils.DescribeAlias.describe) {
if (!parent || parent === _utils2.DescribeAlias.describe) {
context.report({

@@ -102,3 +102,3 @@ node,

if (node.callee.type === _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression) {
if (node.callee.type === _utils.AST_NODE_TYPES.TaggedTemplateExpression) {
callStack.push('template');

@@ -111,3 +111,3 @@ }

if (top === 'test' && isTestBlock(node) && node.callee.type !== _experimentalUtils.AST_NODE_TYPES.MemberExpression || top === 'template' && node.callee.type === _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression) {
if (top === 'test' && isTestBlock(node) && node.callee.type !== _utils.AST_NODE_TYPES.MemberExpression || top === 'template' && node.callee.type === _utils.AST_NODE_TYPES.TaggedTemplateExpression) {
callStack.pop();

@@ -134,3 +134,3 @@ }

if (((_node$parent = node.parent) === null || _node$parent === void 0 ? void 0 : _node$parent.type) !== _experimentalUtils.AST_NODE_TYPES.CallExpression) {
if (((_node$parent = node.parent) === null || _node$parent === void 0 ? void 0 : _node$parent.type) !== _utils.AST_NODE_TYPES.CallExpression) {
callStack.push('arrow');

@@ -137,0 +137,0 @@ }

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -33,7 +33,7 @@ meta: {

CallExpression(node) {
const nodeName = (0, _utils.getNodeName)(node.callee);
if (!nodeName || !(0, _utils.isDescribeCall)(node) && !(0, _utils.isTestCaseCall)(node)) return;
const nodeName = (0, _utils2.getNodeName)(node.callee);
if (!nodeName || !(0, _utils2.isDescribeCall)(node) && !(0, _utils2.isTestCaseCall)(node)) return;
const preferredNodeName = getPreferredNodeName(nodeName);
if (!preferredNodeName) return;
const funcNode = node.callee.type === _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression ? node.callee.tag : node.callee.type === _experimentalUtils.AST_NODE_TYPES.CallExpression ? node.callee.callee : node.callee;
const funcNode = node.callee.type === _utils.AST_NODE_TYPES.TaggedTemplateExpression ? node.callee.tag : node.callee.type === _utils.AST_NODE_TYPES.CallExpression ? node.callee.callee : node.callee;
context.report({

@@ -40,0 +40,0 @@ messageId: 'usePreferredName',

@@ -8,5 +8,5 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");

@@ -16,3 +16,3 @@ const getBody = args => {

if (secondArg && (0, _utils.isFunction)(secondArg) && secondArg.body.type === _experimentalUtils.AST_NODE_TYPES.BlockStatement) {
if (secondArg && (0, _utils2.isFunction)(secondArg) && secondArg.body.type === _utils.AST_NODE_TYPES.BlockStatement) {
return secondArg.body.body;

@@ -24,3 +24,3 @@ }

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -44,5 +44,5 @@ meta: {

CallExpression(node) {
if (!(0, _utils.isTestCaseCall)(node)) return;
if (!(0, _utils2.isTestCaseCall)(node)) return;
const body = getBody(node.arguments);
const returnStmt = body.find(t => t.type === _experimentalUtils.AST_NODE_TYPES.ReturnStatement);
const returnStmt = body.find(t => t.type === _utils.AST_NODE_TYPES.ReturnStatement);
if (!returnStmt) return;

@@ -57,5 +57,5 @@ context.report({

const declaredVariables = context.getDeclaredVariables(node);
const testCallExpressions = (0, _utils.getTestCallExpressionsFromDeclaredVariables)(declaredVariables);
const testCallExpressions = (0, _utils2.getTestCallExpressionsFromDeclaredVariables)(declaredVariables);
if (testCallExpressions.length === 0) return;
const returnStmt = node.body.body.find(t => t.type === _experimentalUtils.AST_NODE_TYPES.ReturnStatement);
const returnStmt = node.body.body.find(t => t.type === _utils.AST_NODE_TYPES.ReturnStatement);
if (!returnStmt) return;

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

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
const isBooleanLiteral = node => node.type === _experimentalUtils.AST_NODE_TYPES.Literal && typeof node.value === 'boolean';
const isBooleanLiteral = node => node.type === _utils.AST_NODE_TYPES.Literal && typeof node.value === 'boolean';

@@ -27,6 +27,6 @@ /**

*/
const isBooleanEqualityMatcher = matcher => (0, _utils.isParsedEqualityMatcherCall)(matcher) && isBooleanLiteral((0, _utils.followTypeAssertionChain)(matcher.arguments[0]));
const isBooleanEqualityMatcher = matcher => (0, _utils2.isParsedEqualityMatcherCall)(matcher) && isBooleanLiteral((0, _utils2.followTypeAssertionChain)(matcher.arguments[0]));
const isString = node => {
return (0, _utils.isStringNode)(node) || node.type === _experimentalUtils.AST_NODE_TYPES.TemplateLiteral;
return (0, _utils2.isStringNode)(node) || node.type === _utils.AST_NODE_TYPES.TemplateLiteral;
};

@@ -76,3 +76,3 @@

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -97,3 +97,3 @@ meta: {

CallExpression(node) {
if (!(0, _utils.isExpectCall)(node)) {
if (!(0, _utils2.isExpectCall)(node)) {
return;

@@ -109,9 +109,9 @@ }

modifier
} = (0, _utils.parseExpectCall)(node);
} = (0, _utils2.parseExpectCall)(node);
if (!matcher || (comparison === null || comparison === void 0 ? void 0 : comparison.type) !== _experimentalUtils.AST_NODE_TYPES.BinaryExpression || isComparingToString(comparison) || !isBooleanEqualityMatcher(matcher)) {
if (!matcher || (comparison === null || comparison === void 0 ? void 0 : comparison.type) !== _utils.AST_NODE_TYPES.BinaryExpression || isComparingToString(comparison) || !isBooleanEqualityMatcher(matcher)) {
return;
}
const preferredMatcher = determineMatcher(comparison.operator, (0, _utils.followTypeAssertionChain)(matcher.arguments[0]).value === !!modifier);
const preferredMatcher = determineMatcher(comparison.operator, (0, _utils2.followTypeAssertionChain)(matcher.arguments[0]).value === !!modifier);

@@ -118,0 +118,0 @@ if (!preferredMatcher) {

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
const isBooleanLiteral = node => node.type === _experimentalUtils.AST_NODE_TYPES.Literal && typeof node.value === 'boolean';
const isBooleanLiteral = node => node.type === _utils.AST_NODE_TYPES.Literal && typeof node.value === 'boolean';

@@ -27,5 +27,5 @@ /**

*/
const isBooleanEqualityMatcher = matcher => (0, _utils.isParsedEqualityMatcherCall)(matcher) && isBooleanLiteral((0, _utils.followTypeAssertionChain)(matcher.arguments[0]));
const isBooleanEqualityMatcher = matcher => (0, _utils2.isParsedEqualityMatcherCall)(matcher) && isBooleanLiteral((0, _utils2.followTypeAssertionChain)(matcher.arguments[0]));
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -52,3 +52,3 @@ meta: {

CallExpression(node) {
if (!(0, _utils.isExpectCall)(node)) {
if (!(0, _utils2.isExpectCall)(node)) {
return;

@@ -64,9 +64,9 @@ }

modifier
} = (0, _utils.parseExpectCall)(node);
} = (0, _utils2.parseExpectCall)(node);
if (!matcher || (comparison === null || comparison === void 0 ? void 0 : comparison.type) !== _experimentalUtils.AST_NODE_TYPES.BinaryExpression || comparison.operator !== '===' && comparison.operator !== '!==' || !isBooleanEqualityMatcher(matcher)) {
if (!matcher || (comparison === null || comparison === void 0 ? void 0 : comparison.type) !== _utils.AST_NODE_TYPES.BinaryExpression || comparison.operator !== '===' && comparison.operator !== '!==' || !isBooleanEqualityMatcher(matcher)) {
return;
}
const matcherValue = (0, _utils.followTypeAssertionChain)(matcher.arguments[0]).value; // we need to negate the expectation if the current expected
const matcherValue = (0, _utils2.followTypeAssertionChain)(matcher.arguments[0]).value; // we need to negate the expectation if the current expected
// value is itself negated by the "not" modifier

@@ -80,3 +80,3 @@

fixer.replaceText(comparison, sourceCode.getText(comparison.left)), // replace the current matcher & modifier with the preferred matcher
fixer.replaceTextRange([expectCallEnd, matcher.node.range[1]], addNotModifier ? `.${_utils.ModifierName.not}.${equalityMatcher}` : `.${equalityMatcher}`), // replace the matcher argument with the right-hand side of the comparison
fixer.replaceTextRange([expectCallEnd, matcher.node.range[1]], addNotModifier ? `.${_utils2.ModifierName.not}.${equalityMatcher}` : `.${equalityMatcher}`), // replace the matcher argument with the right-hand side of the comparison
fixer.replaceText(matcher.arguments[0], sourceCode.getText(comparison.right))];

@@ -83,0 +83,0 @@ };

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

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
const isExpectAssertionsOrHasAssertionsCall = expression => expression.type === _experimentalUtils.AST_NODE_TYPES.CallExpression && expression.callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression && (0, _utils.isSupportedAccessor)(expression.callee.object, 'expect') && (0, _utils.isSupportedAccessor)(expression.callee.property) && ['assertions', 'hasAssertions'].includes((0, _utils.getAccessorValue)(expression.callee.property));
const isExpectAssertionsOrHasAssertionsCall = expression => expression.type === _utils.AST_NODE_TYPES.CallExpression && expression.callee.type === _utils.AST_NODE_TYPES.MemberExpression && (0, _utils2.isSupportedAccessor)(expression.callee.object, 'expect') && (0, _utils2.isSupportedAccessor)(expression.callee.property) && ['assertions', 'hasAssertions'].includes((0, _utils2.getAccessorValue)(expression.callee.property));
const isFirstLineExprStmt = functionBody => functionBody[0] && functionBody[0].type === _experimentalUtils.AST_NODE_TYPES.ExpressionStatement;
const isFirstLineExprStmt = functionBody => functionBody[0] && functionBody[0].type === _utils.AST_NODE_TYPES.ExpressionStatement;

@@ -24,3 +24,3 @@ const suggestRemovingExtraArguments = (args, extraArgsStartAt) => ({

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -121,3 +121,3 @@ meta: {

CallExpression(node) {
if ((0, _utils.isTestCaseCall)(node)) {
if ((0, _utils2.isTestCaseCall)(node)) {
inTestCaseCall = true;

@@ -127,3 +127,3 @@ return;

if ((0, _utils.isExpectCall)(node) && inTestCaseCall) {
if ((0, _utils2.isExpectCall)(node) && inTestCaseCall) {
if (inForLoop) {

@@ -140,3 +140,3 @@ hasExpectInLoop = true;

'CallExpression:exit'(node) {
if (!(0, _utils.isTestCaseCall)(node)) {
if (!(0, _utils2.isTestCaseCall)(node)) {
return;

@@ -151,3 +151,3 @@ }

if (!(0, _utils.isFunction)(testFn) || testFn.body.type !== _experimentalUtils.AST_NODE_TYPES.BlockStatement) {
if (!(0, _utils2.isFunction)(testFn) || testFn.body.type !== _utils.AST_NODE_TYPES.BlockStatement) {
return;

@@ -190,3 +190,3 @@ }

if ((0, _utils.isSupportedAccessor)(testFuncFirstLine.callee.property, 'hasAssertions')) {
if ((0, _utils2.isSupportedAccessor)(testFuncFirstLine.callee.property, 'hasAssertions')) {
if (testFuncFirstLine.arguments.length) {

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

if (!(0, _utils.hasOnlyOneArgument)(testFuncFirstLine)) {
if (!(0, _utils2.hasOnlyOneArgument)(testFuncFirstLine)) {
let {

@@ -225,3 +225,3 @@ loc

if (arg.type === _experimentalUtils.AST_NODE_TYPES.Literal && typeof arg.value === 'number' && Number.isInteger(arg.value)) {
if (arg.type === _utils.AST_NODE_TYPES.Literal && typeof arg.value === 'number' && Number.isInteger(arg.value)) {
return;

@@ -228,0 +228,0 @@ }

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -33,3 +33,3 @@ meta: {

if ((0, _utils.isExpectCall)(node) && (awaitNode === null || awaitNode === void 0 ? void 0 : awaitNode.type) === _experimentalUtils.AST_NODE_TYPES.AwaitExpression) {
if ((0, _utils2.isExpectCall)(node) && (awaitNode === null || awaitNode === void 0 ? void 0 : awaitNode.type) === _utils.AST_NODE_TYPES.AwaitExpression) {
context.report({

@@ -36,0 +36,0 @@ node: node.arguments[0],

@@ -8,5 +8,5 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");

@@ -18,3 +18,3 @@ const findNodeObject = node => {

if (node.callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression) {
if (node.callee.type === _utils.AST_NODE_TYPES.MemberExpression) {
return node.callee.object;

@@ -27,3 +27,3 @@ }

const getJestFnCall = node => {
if (node.type !== _experimentalUtils.AST_NODE_TYPES.CallExpression && node.type !== _experimentalUtils.AST_NODE_TYPES.MemberExpression) {
if (node.type !== _utils.AST_NODE_TYPES.CallExpression && node.type !== _utils.AST_NODE_TYPES.MemberExpression) {
return null;

@@ -38,4 +38,4 @@ }

if (obj.type === _experimentalUtils.AST_NODE_TYPES.Identifier) {
return node.type === _experimentalUtils.AST_NODE_TYPES.CallExpression && (0, _utils.getNodeName)(node.callee) === 'jest.fn' ? node : null;
if (obj.type === _utils.AST_NODE_TYPES.Identifier) {
return node.type === _utils.AST_NODE_TYPES.CallExpression && (0, _utils2.getNodeName)(node.callee) === 'jest.fn' ? node : null;
}

@@ -46,3 +46,3 @@

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -71,3 +71,3 @@ meta: {

} = node;
if (left.type !== _experimentalUtils.AST_NODE_TYPES.MemberExpression) return;
if (left.type !== _utils.AST_NODE_TYPES.MemberExpression) return;
const jestFnCall = getJestFnCall(right);

@@ -80,3 +80,3 @@ if (!jestFnCall) return;

fix(fixer) {
const leftPropQuote = left.property.type === _experimentalUtils.AST_NODE_TYPES.Identifier ? "'" : '';
const leftPropQuote = left.property.type === _utils.AST_NODE_TYPES.Identifier ? "'" : '';
const [arg] = jestFnCall.arguments;

@@ -83,0 +83,0 @@ const argSource = arg && context.getSourceCode().getText(arg);

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
const isNullLiteral = node => node.type === _experimentalUtils.AST_NODE_TYPES.Literal && node.value === null;
const isNullLiteral = node => node.type === _utils.AST_NODE_TYPES.Literal && node.value === null;
/**

@@ -22,3 +22,3 @@ * Checks if the given `ParsedEqualityMatcherCall` is a call to one of the equality matchers,

const isFirstArgumentIdentifier = (matcher, name) => (0, _utils.isIdentifier)(getFirstArgument(matcher), name);
const isFirstArgumentIdentifier = (matcher, name) => (0, _utils2.isIdentifier)(getFirstArgument(matcher), name);

@@ -28,3 +28,3 @@ const shouldUseToBe = matcher => {

if (firstArg.type === _experimentalUtils.AST_NODE_TYPES.Literal) {
if (firstArg.type === _utils.AST_NODE_TYPES.Literal) {
// regex literals are classed as literals, but they're actually objects

@@ -35,11 +35,11 @@ // which means "toBe" will give different results than other matchers

return firstArg.type === _experimentalUtils.AST_NODE_TYPES.TemplateLiteral;
return firstArg.type === _utils.AST_NODE_TYPES.TemplateLiteral;
};
const getFirstArgument = matcher => {
return (0, _utils.followTypeAssertionChain)(matcher.arguments[0]);
return (0, _utils2.followTypeAssertionChain)(matcher.arguments[0]);
};
const reportPreferToBe = (context, whatToBe, matcher, modifier) => {
const modifierNode = (modifier === null || modifier === void 0 ? void 0 : modifier.negation) || (modifier === null || modifier === void 0 ? void 0 : modifier.name) === _utils.ModifierName.not && (modifier === null || modifier === void 0 ? void 0 : modifier.node);
const modifierNode = (modifier === null || modifier === void 0 ? void 0 : modifier.negation) || (modifier === null || modifier === void 0 ? void 0 : modifier.name) === _utils2.ModifierName.not && (modifier === null || modifier === void 0 ? void 0 : modifier.node);
context.report({

@@ -68,3 +68,3 @@ messageId: `useToBe${whatToBe}`,

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -93,3 +93,3 @@ meta: {

CallExpression(node) {
if (!(0, _utils.isExpectCall)(node)) {
if (!(0, _utils2.isExpectCall)(node)) {
return;

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

modifier
} = (0, _utils.parseExpectCall)(node);
} = (0, _utils2.parseExpectCall)(node);

@@ -108,3 +108,3 @@ if (!matcher) {

if (((modifier === null || modifier === void 0 ? void 0 : modifier.name) === _utils.ModifierName.not || modifier !== null && modifier !== void 0 && modifier.negation) && ['toBeUndefined', 'toBeDefined'].includes(matcher.name)) {
if (((modifier === null || modifier === void 0 ? void 0 : modifier.name) === _utils2.ModifierName.not || modifier !== null && modifier !== void 0 && modifier.negation) && ['toBeUndefined', 'toBeDefined'].includes(matcher.name)) {
reportPreferToBe(context, matcher.name === 'toBeDefined' ? 'Undefined' : 'Defined', matcher, modifier);

@@ -114,3 +114,3 @@ return;

if (!(0, _utils.isParsedEqualityMatcherCall)(matcher)) {
if (!(0, _utils2.isParsedEqualityMatcherCall)(matcher)) {
return;

@@ -125,3 +125,3 @@ }

if (isFirstArgumentIdentifier(matcher, 'undefined')) {
const name = (modifier === null || modifier === void 0 ? void 0 : modifier.name) === _utils.ModifierName.not || modifier !== null && modifier !== void 0 && modifier.negation ? 'Defined' : 'Undefined';
const name = (modifier === null || modifier === void 0 ? void 0 : modifier.name) === _utils2.ModifierName.not || modifier !== null && modifier !== void 0 && modifier.negation ? 'Defined' : 'Undefined';
reportPreferToBe(context, name, matcher, modifier);

@@ -136,3 +136,3 @@ return;

if (shouldUseToBe(matcher) && matcher.name !== _utils.EqualityMatcher.toBe) {
if (shouldUseToBe(matcher) && matcher.name !== _utils2.EqualityMatcher.toBe) {
reportPreferToBe(context, '', matcher);

@@ -139,0 +139,0 @@ }

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
const isBooleanLiteral = node => node.type === _experimentalUtils.AST_NODE_TYPES.Literal && typeof node.value === 'boolean';
const isBooleanLiteral = node => node.type === _utils.AST_NODE_TYPES.Literal && typeof node.value === 'boolean';

@@ -27,3 +27,3 @@ /**

*/
const isBooleanEqualityMatcher = matcher => (0, _utils.isParsedEqualityMatcherCall)(matcher) && isBooleanLiteral((0, _utils.followTypeAssertionChain)(matcher.arguments[0]));
const isBooleanEqualityMatcher = matcher => (0, _utils2.isParsedEqualityMatcherCall)(matcher) && isBooleanLiteral((0, _utils2.followTypeAssertionChain)(matcher.arguments[0]));

@@ -38,6 +38,6 @@ /**

*/
const isFixableIncludesCallExpression = node => node.type === _experimentalUtils.AST_NODE_TYPES.CallExpression && node.callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression && (0, _utils.isSupportedAccessor)(node.callee.property, 'includes') && (0, _utils.hasOnlyOneArgument)(node); // expect(array.includes(<value>)[not.]{toBe,toEqual}(<boolean>)
const isFixableIncludesCallExpression = node => node.type === _utils.AST_NODE_TYPES.CallExpression && node.callee.type === _utils.AST_NODE_TYPES.MemberExpression && (0, _utils2.isSupportedAccessor)(node.callee.property, 'includes') && (0, _utils2.hasOnlyOneArgument)(node); // expect(array.includes(<value>)[not.]{toBe,toEqual}(<boolean>)
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -62,3 +62,3 @@ meta: {

CallExpression(node) {
if (!(0, _utils.isExpectCall)(node)) {
if (!(0, _utils2.isExpectCall)(node)) {
return;

@@ -74,5 +74,5 @@ }

modifier
} = (0, _utils.parseExpectCall)(node);
} = (0, _utils2.parseExpectCall)(node);
if (!matcher || !includesCall || modifier && modifier.name !== _utils.ModifierName.not || !isBooleanEqualityMatcher(matcher) || !isFixableIncludesCallExpression(includesCall)) {
if (!matcher || !includesCall || modifier && modifier.name !== _utils2.ModifierName.not || !isBooleanEqualityMatcher(matcher) || !isFixableIncludesCallExpression(includesCall)) {
return;

@@ -86,6 +86,6 @@ }

const addNotModifier = (0, _utils.followTypeAssertionChain)(matcher.arguments[0]).value === !!modifier;
const addNotModifier = (0, _utils2.followTypeAssertionChain)(matcher.arguments[0]).value === !!modifier;
return [// remove the "includes" call entirely
fixer.removeRange([includesCall.callee.property.range[0] - 1, includesCall.range[1]]), // replace the current matcher with "toContain", adding "not" if needed
fixer.replaceTextRange([expectCallEnd, matcher.node.range[1]], addNotModifier ? `.${_utils.ModifierName.not}.toContain` : '.toContain'), // replace the matcher argument with the value from the "includes"
fixer.replaceTextRange([expectCallEnd, matcher.node.range[1]], addNotModifier ? `.${_utils2.ModifierName.not}.toContain` : '.toContain'), // replace the matcher argument with the value from the "includes"
fixer.replaceText(matcher.arguments[0], sourceCode.getText(includesCall.arguments[0]))];

@@ -92,0 +92,0 @@ },

@@ -8,7 +8,7 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -33,3 +33,3 @@ meta: {

CallExpression(node) {
if (!(0, _utils.isExpectCall)(node)) {
if (!(0, _utils2.isExpectCall)(node)) {
return;

@@ -43,5 +43,5 @@ }

matcher
} = (0, _utils.parseExpectCall)(node);
} = (0, _utils2.parseExpectCall)(node);
if (!matcher || !(0, _utils.isParsedEqualityMatcherCall)(matcher) || (argument === null || argument === void 0 ? void 0 : argument.type) !== _experimentalUtils.AST_NODE_TYPES.MemberExpression || !(0, _utils.isSupportedAccessor)(argument.property, 'length')) {
if (!matcher || !(0, _utils2.isParsedEqualityMatcherCall)(matcher) || (argument === null || argument === void 0 ? void 0 : argument.type) !== _utils.AST_NODE_TYPES.MemberExpression || !(0, _utils2.isSupportedAccessor)(argument.property, 'length')) {
return;

@@ -48,0 +48,0 @@ }

@@ -8,22 +8,22 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
function isEmptyFunction(node) {
if (!(0, _utils.isFunction)(node)) {
if (!(0, _utils2.isFunction)(node)) {
return false;
}
return node.body.type === _experimentalUtils.AST_NODE_TYPES.BlockStatement && !node.body.body.length;
return node.body.type === _utils.AST_NODE_TYPES.BlockStatement && !node.body.body.length;
}
function createTodoFixer(node, fixer) {
const testName = (0, _utils.getNodeName)(node).split('.').shift();
const testName = (0, _utils2.getNodeName)(node).split('.').shift();
return fixer.replaceText(node.callee, `${testName}.todo`);
}
const isTargetedTestCase = node => (0, _utils.isTestCaseCall)(node) && [_utils.TestCaseName.it, _utils.TestCaseName.test, 'it.skip', 'test.skip'].includes((0, _utils.getNodeName)(node));
const isTargetedTestCase = node => (0, _utils2.isTestCaseCall)(node) && [_utils2.TestCaseName.it, _utils2.TestCaseName.test, 'it.skip', 'test.skip'].includes((0, _utils2.getNodeName)(node));
var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -51,3 +51,3 @@ meta: {

if (!title || !isTargetedTestCase(node) || !(0, _utils.isStringNode)(title)) {
if (!title || !isTargetedTestCase(node) || !(0, _utils2.isStringNode)(title)) {
return;

@@ -64,3 +64,3 @@ }

if ((0, _utils.hasOnlyOneArgument)(node)) {
if ((0, _utils2.hasOnlyOneArgument)(node)) {
context.report({

@@ -67,0 +67,0 @@ messageId: 'unimplementedTest',

@@ -8,5 +8,5 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");

@@ -16,11 +16,11 @@ const isJestFnCall = node => {

if ((0, _utils.isDescribeCall)(node) || (0, _utils.isTestCaseCall)(node) || (0, _utils.isHook)(node)) {
if ((0, _utils2.isDescribeCall)(node) || (0, _utils2.isTestCaseCall)(node) || (0, _utils2.isHook)(node)) {
return true;
}
return !!((_getNodeName = (0, _utils.getNodeName)(node)) !== null && _getNodeName !== void 0 && _getNodeName.startsWith('jest.'));
return !!((_getNodeName = (0, _utils2.getNodeName)(node)) !== null && _getNodeName !== void 0 && _getNodeName.startsWith('jest.'));
};
const isNullOrUndefined = node => {
return node.type === _experimentalUtils.AST_NODE_TYPES.Literal && node.value === null || (0, _utils.isIdentifier)(node, 'undefined');
return node.type === _utils.AST_NODE_TYPES.Literal && node.value === null || (0, _utils2.isIdentifier)(node, 'undefined');
};

@@ -30,9 +30,9 @@

switch (node.type) {
case _experimentalUtils.AST_NODE_TYPES.ExpressionStatement:
case _utils.AST_NODE_TYPES.ExpressionStatement:
return shouldBeInHook(node.expression, allowedFunctionCalls);
case _experimentalUtils.AST_NODE_TYPES.CallExpression:
return !(isJestFnCall(node) || allowedFunctionCalls.includes((0, _utils.getNodeName)(node)));
case _utils.AST_NODE_TYPES.CallExpression:
return !(isJestFnCall(node) || allowedFunctionCalls.includes((0, _utils2.getNodeName)(node)));
case _experimentalUtils.AST_NODE_TYPES.VariableDeclaration:
case _utils.AST_NODE_TYPES.VariableDeclaration:
{

@@ -53,3 +53,3 @@ if (node.kind === 'const') {

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -107,3 +107,3 @@ meta: {

CallExpression(node) {
if (!(0, _utils.isDescribeCall)(node) || node.arguments.length < 2) {
if (!(0, _utils2.isDescribeCall)(node) || node.arguments.length < 2) {
return;

@@ -114,3 +114,3 @@ }

if (!(0, _utils.isFunction)(testFn) || testFn.body.type !== _experimentalUtils.AST_NODE_TYPES.BlockStatement) {
if (!(0, _utils2.isFunction)(testFn) || testFn.body.type !== _utils.AST_NODE_TYPES.BlockStatement) {
return;

@@ -117,0 +117,0 @@ }

@@ -12,3 +12,3 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");

@@ -19,3 +19,3 @@ var _package = require("../../package.json");

const createRule = _experimentalUtils.ESLintUtils.RuleCreator(name => {
const createRule = _utils.ESLintUtils.RuleCreator(name => {
const ruleName = (0, _path.parse)(name).name;

@@ -27,3 +27,3 @@ return `${REPO_URL}/blob/v${_package.version}/docs/rules/${ruleName}.md`;

const isTypeCastExpression = node => node.type === _experimentalUtils.AST_NODE_TYPES.TSAsExpression || node.type === _experimentalUtils.AST_NODE_TYPES.TSTypeAssertion;
const isTypeCastExpression = node => node.type === _utils.AST_NODE_TYPES.TSAsExpression || node.type === _utils.AST_NODE_TYPES.TSTypeAssertion;

@@ -51,3 +51,3 @@ const followTypeAssertionChain = expression => isTypeCastExpression(expression) ? followTypeAssertionChain(expression.expression) : expression;

*/
const isStringLiteral = (node, value) => node.type === _experimentalUtils.AST_NODE_TYPES.Literal && typeof node.value === 'string' && (value === undefined || node.value === value);
const isStringLiteral = (node, value) => node.type === _utils.AST_NODE_TYPES.Literal && typeof node.value === 'string' && (value === undefined || node.value === value);

@@ -69,3 +69,3 @@ /**

*/
const isTemplateLiteral = (node, value) => node.type === _experimentalUtils.AST_NODE_TYPES.TemplateLiteral && node.quasis.length === 1 && ( // bail out if not simple
const isTemplateLiteral = (node, value) => node.type === _utils.AST_NODE_TYPES.TemplateLiteral && node.quasis.length === 1 && ( // bail out if not simple
value === undefined || node.quasis[0].value.raw === value);

@@ -136,3 +136,3 @@

*/
const isIdentifier = (node, name) => node.type === _experimentalUtils.AST_NODE_TYPES.Identifier && (name === undefined || node.name === name);
const isIdentifier = (node, name) => node.type === _utils.AST_NODE_TYPES.Identifier && (name === undefined || node.name === name);
/**

@@ -179,3 +179,3 @@ * Checks if the given `node` is a "supported accessor".

const getAccessorValue = accessor => accessor.type === _experimentalUtils.AST_NODE_TYPES.Identifier ? accessor.name : getStringValue(accessor);
const getAccessorValue = accessor => accessor.type === _utils.AST_NODE_TYPES.Identifier ? accessor.name : getStringValue(accessor);

@@ -196,7 +196,7 @@ exports.getAccessorValue = getAccessorValue;

*/
const isExpectCall = node => node.type === _experimentalUtils.AST_NODE_TYPES.CallExpression && isSupportedAccessor(node.callee, 'expect') && node.parent !== undefined;
const isExpectCall = node => node.type === _utils.AST_NODE_TYPES.CallExpression && isSupportedAccessor(node.callee, 'expect') && node.parent !== undefined;
exports.isExpectCall = isExpectCall;
const isExpectMember = (node, name) => node.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression && isSupportedAccessor(node.property, name);
const isExpectMember = (node, name) => node.type === _utils.AST_NODE_TYPES.MemberExpression && isSupportedAccessor(node.property, name);
/**

@@ -246,3 +246,3 @@ * Represents all the jest matchers.

*/
arguments: parsedMember.node.parent.type === _experimentalUtils.AST_NODE_TYPES.CallExpression ? parsedMember.node.parent.arguments : null
arguments: parsedMember.node.parent.type === _utils.AST_NODE_TYPES.CallExpression ? parsedMember.node.parent.arguments : null
});

@@ -378,10 +378,10 @@ /**

switch (node.type) {
case _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression:
case _utils.AST_NODE_TYPES.TaggedTemplateExpression:
return getNodeName(node.tag);
case _experimentalUtils.AST_NODE_TYPES.MemberExpression:
case _utils.AST_NODE_TYPES.MemberExpression:
return joinNames(getNodeName(node.object), getNodeName(node.property));
case _experimentalUtils.AST_NODE_TYPES.NewExpression:
case _experimentalUtils.AST_NODE_TYPES.CallExpression:
case _utils.AST_NODE_TYPES.NewExpression:
case _utils.AST_NODE_TYPES.CallExpression:
return getNodeName(node.callee);

@@ -393,7 +393,7 @@ }

const isFunction = node => node.type === _experimentalUtils.AST_NODE_TYPES.FunctionExpression || node.type === _experimentalUtils.AST_NODE_TYPES.ArrowFunctionExpression;
const isFunction = node => node.type === _utils.AST_NODE_TYPES.FunctionExpression || node.type === _utils.AST_NODE_TYPES.ArrowFunctionExpression;
exports.isFunction = isFunction;
const isHook = node => node.callee.type === _experimentalUtils.AST_NODE_TYPES.Identifier && HookName.hasOwnProperty(node.callee.name);
const isHook = node => node.callee.type === _utils.AST_NODE_TYPES.Identifier && HookName.hasOwnProperty(node.callee.name);

@@ -407,3 +407,3 @@ exports.isHook = isHook;

identifier
}) => identifier.parent).filter(node => !!node && node.type === _experimentalUtils.AST_NODE_TYPES.CallExpression && isTestCaseCall(node))), []);
}) => identifier.parent).filter(node => !!node && node.type === _utils.AST_NODE_TYPES.CallExpression && isTestCaseCall(node))), []);
};

@@ -413,3 +413,3 @@

const isTestCaseName = node => node.type === _experimentalUtils.AST_NODE_TYPES.Identifier && TestCaseName.hasOwnProperty(node.name);
const isTestCaseName = node => node.type === _utils.AST_NODE_TYPES.Identifier && TestCaseName.hasOwnProperty(node.name);

@@ -435,11 +435,11 @@ const isTestCaseProperty = node => isSupportedAccessor(node) && TestCaseProperty.hasOwnProperty(getAccessorValue(node));

const callee = node.callee.type === _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression ? node.callee.tag : node.callee.type === _experimentalUtils.AST_NODE_TYPES.CallExpression ? node.callee.callee : node.callee;
const callee = node.callee.type === _utils.AST_NODE_TYPES.TaggedTemplateExpression ? node.callee.tag : node.callee.type === _utils.AST_NODE_TYPES.CallExpression ? node.callee.callee : node.callee;
if (callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression && isTestCaseProperty(callee.property)) {
if (callee.type === _utils.AST_NODE_TYPES.MemberExpression && isTestCaseProperty(callee.property)) {
// if we're an `each()`, ensure we're the outer CallExpression (i.e `.each()()`)
if (getAccessorValue(callee.property) === 'each' && node.callee.type !== _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression && node.callee.type !== _experimentalUtils.AST_NODE_TYPES.CallExpression) {
if (getAccessorValue(callee.property) === 'each' && node.callee.type !== _utils.AST_NODE_TYPES.TaggedTemplateExpression && node.callee.type !== _utils.AST_NODE_TYPES.CallExpression) {
return false;
}
return callee.object.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression ? isTestCaseName(callee.object.object) : isTestCaseName(callee.object);
return callee.object.type === _utils.AST_NODE_TYPES.MemberExpression ? isTestCaseName(callee.object.object) : isTestCaseName(callee.object);
}

@@ -452,3 +452,3 @@

const isDescribeAlias = node => node.type === _experimentalUtils.AST_NODE_TYPES.Identifier && DescribeAlias.hasOwnProperty(node.name);
const isDescribeAlias = node => node.type === _utils.AST_NODE_TYPES.Identifier && DescribeAlias.hasOwnProperty(node.name);

@@ -474,11 +474,11 @@ const isDescribeProperty = node => isSupportedAccessor(node) && DescribeProperty.hasOwnProperty(getAccessorValue(node));

const callee = node.callee.type === _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression ? node.callee.tag : node.callee.type === _experimentalUtils.AST_NODE_TYPES.CallExpression ? node.callee.callee : node.callee;
const callee = node.callee.type === _utils.AST_NODE_TYPES.TaggedTemplateExpression ? node.callee.tag : node.callee.type === _utils.AST_NODE_TYPES.CallExpression ? node.callee.callee : node.callee;
if (callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression && isDescribeProperty(callee.property)) {
if (callee.type === _utils.AST_NODE_TYPES.MemberExpression && isDescribeProperty(callee.property)) {
// if we're an `each()`, ensure we're the outer CallExpression (i.e `.each()()`)
if (getAccessorValue(callee.property) === 'each' && node.callee.type !== _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression && node.callee.type !== _experimentalUtils.AST_NODE_TYPES.CallExpression) {
if (getAccessorValue(callee.property) === 'each' && node.callee.type !== _utils.AST_NODE_TYPES.TaggedTemplateExpression && node.callee.type !== _utils.AST_NODE_TYPES.CallExpression) {
return false;
}
return callee.object.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression ? isDescribeAlias(callee.object.object) : isDescribeAlias(callee.object);
return callee.object.type === _utils.AST_NODE_TYPES.MemberExpression ? isDescribeAlias(callee.object.object) : isDescribeAlias(callee.object);
}

@@ -485,0 +485,0 @@

@@ -8,5 +8,5 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");

@@ -22,3 +22,3 @@ const paramsLocation = params => {

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -46,3 +46,3 @@ meta: {

CallExpression(node) {
if (!(0, _utils.isDescribeCall)(node)) {
if (!(0, _utils2.isDescribeCall)(node)) {
return;

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

if (!(0, _utils.isFunction)(callback)) {
if (!(0, _utils2.isFunction)(callback)) {
context.report({

@@ -84,3 +84,3 @@ messageId: 'secondArgumentMustBeFunction',

if (!(0, _utils.getNodeName)(node).endsWith('each') && callback.params.length) {
if (!(0, _utils2.getNodeName)(node).endsWith('each') && callback.params.length) {
context.report({

@@ -92,3 +92,3 @@ messageId: 'unexpectedDescribeArgument',

if (callback.body.type === _experimentalUtils.AST_NODE_TYPES.CallExpression) {
if (callback.body.type === _utils.AST_NODE_TYPES.CallExpression) {
context.report({

@@ -100,5 +100,5 @@ messageId: 'unexpectedReturnInDescribe',

if (callback.body.type === _experimentalUtils.AST_NODE_TYPES.BlockStatement) {
if (callback.body.type === _utils.AST_NODE_TYPES.BlockStatement) {
callback.body.body.forEach(node => {
if (node.type === _experimentalUtils.AST_NODE_TYPES.ReturnStatement) {
if (node.type === _utils.AST_NODE_TYPES.ReturnStatement) {
context.report({

@@ -105,0 +105,0 @@ messageId: 'unexpectedReturnInDescribe',

@@ -8,8 +8,8 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");
const isPromiseChainCall = node => {
if (node.type === _experimentalUtils.AST_NODE_TYPES.CallExpression && node.callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression && (0, _utils.isSupportedAccessor)(node.callee.property)) {
if (node.type === _utils.AST_NODE_TYPES.CallExpression && node.callee.type === _utils.AST_NODE_TYPES.MemberExpression && (0, _utils2.isSupportedAccessor)(node.callee.property)) {
// promise methods should have at least 1 argument

@@ -20,3 +20,3 @@ if (node.arguments.length === 0) {

switch ((0, _utils.getAccessorValue)(node.callee.property)) {
switch ((0, _utils2.getAccessorValue)(node.callee.property)) {
case 'then':

@@ -41,3 +41,3 @@ return node.arguments.length < 3;

while (parent) {
if (parent.type === _experimentalUtils.AST_NODE_TYPES.CallExpression) {
if (parent.type === _utils.AST_NODE_TYPES.CallExpression) {
topMostCallExpression = parent;

@@ -48,3 +48,3 @@ parent = parent.parent;

if (parent.type !== _experimentalUtils.AST_NODE_TYPES.MemberExpression) {
if (parent.type !== _utils.AST_NODE_TYPES.MemberExpression) {
break;

@@ -60,9 +60,9 @@ }

const isTestCaseCallWithCallbackArg = node => {
if (!(0, _utils.isTestCaseCall)(node)) {
if (!(0, _utils2.isTestCaseCall)(node)) {
return false;
}
const isJestEach = (0, _utils.getNodeName)(node).endsWith('.each');
const isJestEach = (0, _utils2.getNodeName)(node).endsWith('.each');
if (isJestEach && node.callee.type !== _experimentalUtils.AST_NODE_TYPES.TaggedTemplateExpression) {
if (isJestEach && node.callee.type !== _utils.AST_NODE_TYPES.TaggedTemplateExpression) {
// isJestEach but not a TaggedTemplateExpression, so this must be

@@ -78,3 +78,3 @@ // the `jest.each([])()` syntax which this rule doesn't support due

const callbackArgIndex = Number(isJestEach);
return callback && (0, _utils.isFunction)(callback) && callback.params.length === 1 + callbackArgIndex;
return callback && (0, _utils2.isFunction)(callback) && callback.params.length === 1 + callbackArgIndex;
}

@@ -94,4 +94,4 @@

if (node.argument.type === _experimentalUtils.AST_NODE_TYPES.CallExpression && node.argument.arguments.length > 0) {
const nodeName = (0, _utils.getNodeName)(node.argument);
if (node.argument.type === _utils.AST_NODE_TYPES.CallExpression && node.argument.arguments.length > 0) {
const nodeName = (0, _utils2.getNodeName)(node.argument);

@@ -101,3 +101,3 @@ if (['Promise.all', 'Promise.allSettled'].includes(nodeName)) {

if (firstArg.type === _experimentalUtils.AST_NODE_TYPES.ArrayExpression && firstArg.elements.some(nod => (0, _utils.isIdentifier)(nod, name))) {
if (firstArg.type === _utils.AST_NODE_TYPES.ArrayExpression && firstArg.elements.some(nod => (0, _utils2.isIdentifier)(nod, name))) {
return true;

@@ -108,7 +108,7 @@ }

if (['Promise.resolve', 'Promise.reject'].includes(nodeName) && node.argument.arguments.length === 1) {
return (0, _utils.isIdentifier)(node.argument.arguments[0], name);
return (0, _utils2.isIdentifier)(node.argument.arguments[0], name);
}
}
return (0, _utils.isIdentifier)(node.argument, name);
return (0, _utils2.isIdentifier)(node.argument, name);
};

@@ -123,7 +123,7 @@ /**

for (const element of elements) {
if (element.type === _experimentalUtils.AST_NODE_TYPES.AwaitExpression && (0, _utils.isIdentifier)(element.argument, name)) {
if (element.type === _utils.AST_NODE_TYPES.AwaitExpression && (0, _utils2.isIdentifier)(element.argument, name)) {
return true;
}
if (element.type === _experimentalUtils.AST_NODE_TYPES.ArrayExpression && isValueAwaitedInElements(name, element.elements)) {
if (element.type === _utils.AST_NODE_TYPES.ArrayExpression && isValueAwaitedInElements(name, element.elements)) {
return true;

@@ -145,3 +145,3 @@ }

while (node) {
if (node.type === _experimentalUtils.AST_NODE_TYPES.CallExpression) {
if (node.type === _utils.AST_NODE_TYPES.CallExpression) {
if (isValueAwaitedInElements(name, node.arguments)) {

@@ -154,3 +154,3 @@ return true;

if (node.type !== _experimentalUtils.AST_NODE_TYPES.MemberExpression) {
if (node.type !== _utils.AST_NODE_TYPES.MemberExpression) {
break;

@@ -170,3 +170,3 @@ }

while (node) {
if (node.type === _experimentalUtils.AST_NODE_TYPES.CallExpression) {
if (node.type === _utils.AST_NODE_TYPES.CallExpression) {
leftMostCallExpression = node;

@@ -176,3 +176,3 @@ node = node.callee;

if (node.type !== _experimentalUtils.AST_NODE_TYPES.MemberExpression) {
if (node.type !== _utils.AST_NODE_TYPES.MemberExpression) {
break;

@@ -204,9 +204,9 @@ }

if (node.type === _experimentalUtils.AST_NODE_TYPES.ReturnStatement) {
if (node.type === _utils.AST_NODE_TYPES.ReturnStatement) {
return isPromiseMethodThatUsesValue(node, identifier);
}
if (node.type === _experimentalUtils.AST_NODE_TYPES.ExpressionStatement) {
if (node.type === _utils.AST_NODE_TYPES.ExpressionStatement) {
// it's possible that we're awaiting the value as an argument
if (node.expression.type === _experimentalUtils.AST_NODE_TYPES.CallExpression) {
if (node.expression.type === _utils.AST_NODE_TYPES.CallExpression) {
if (isValueAwaitedInArguments(name, node.expression)) {

@@ -218,8 +218,8 @@ return true;

if ((0, _utils.isExpectCall)(leftMostCall) && leftMostCall.arguments.length > 0 && (0, _utils.isIdentifier)(leftMostCall.arguments[0], name)) {
if ((0, _utils2.isExpectCall)(leftMostCall) && leftMostCall.arguments.length > 0 && (0, _utils2.isIdentifier)(leftMostCall.arguments[0], name)) {
const {
modifier
} = (0, _utils.parseExpectCall)(leftMostCall);
} = (0, _utils2.parseExpectCall)(leftMostCall);
if ((modifier === null || modifier === void 0 ? void 0 : modifier.name) === _utils.ModifierName.resolves || (modifier === null || modifier === void 0 ? void 0 : modifier.name) === _utils.ModifierName.rejects) {
if ((modifier === null || modifier === void 0 ? void 0 : modifier.name) === _utils2.ModifierName.resolves || (modifier === null || modifier === void 0 ? void 0 : modifier.name) === _utils2.ModifierName.rejects) {
return true;

@@ -230,3 +230,3 @@ }

if (node.expression.type === _experimentalUtils.AST_NODE_TYPES.AwaitExpression && isPromiseMethodThatUsesValue(node.expression, identifier)) {
if (node.expression.type === _utils.AST_NODE_TYPES.AwaitExpression && isPromiseMethodThatUsesValue(node.expression, identifier)) {
return true;

@@ -237,3 +237,3 @@ } // (re)assignment changes the runtime value, so if we've not found an

if (node.expression.type === _experimentalUtils.AST_NODE_TYPES.AssignmentExpression) {
if (node.expression.type === _utils.AST_NODE_TYPES.AssignmentExpression) {
var _getNodeName;

@@ -243,3 +243,3 @@

// we might be chaining off the existing promise value
if ((0, _utils.isIdentifier)(node.expression.left, name) && (_getNodeName = (0, _utils.getNodeName)(node.expression.right)) !== null && _getNodeName !== void 0 && _getNodeName.startsWith(`${name}.`) && isPromiseChainCall(node.expression.right)) {
if ((0, _utils2.isIdentifier)(node.expression.left, name) && (_getNodeName = (0, _utils2.getNodeName)(node.expression.right)) !== null && _getNodeName !== void 0 && _getNodeName.startsWith(`${name}.`) && isPromiseChainCall(node.expression.right)) {
continue;

@@ -252,3 +252,3 @@ }

if (node.type === _experimentalUtils.AST_NODE_TYPES.BlockStatement && isValueAwaitedOrReturned(identifier, node.body)) {
if (node.type === _utils.AST_NODE_TYPES.BlockStatement && isValueAwaitedOrReturned(identifier, node.body)) {
return true;

@@ -265,3 +265,3 @@ }

while (parent) {
if (parent.type === _experimentalUtils.AST_NODE_TYPES.BlockStatement) {
if (parent.type === _utils.AST_NODE_TYPES.BlockStatement) {
return parent.body;

@@ -282,7 +282,7 @@ }

while (parent) {
if ((0, _utils.isFunction)(parent)) {
if ((0, _utils2.isFunction)(parent)) {
var _parent;
parent = parent.parent;
return !!(((_parent = parent) === null || _parent === void 0 ? void 0 : _parent.type) === _experimentalUtils.AST_NODE_TYPES.CallExpression && (0, _utils.isTestCaseCall)(parent));
return !!(((_parent = parent) === null || _parent === void 0 ? void 0 : _parent.type) === _utils.AST_NODE_TYPES.CallExpression && (0, _utils2.isTestCaseCall)(parent));
}

@@ -300,3 +300,3 @@

if (!(0, _utils.isIdentifier)(variable.id)) {
if (!(0, _utils2.isIdentifier)(variable.id)) {
return true;

@@ -308,3 +308,3 @@ }

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -353,3 +353,3 @@ meta: {

if (chains.length > 0 && (0, _utils.isExpectCall)(node)) {
if (chains.length > 0 && (0, _utils2.isExpectCall)(node)) {
chains[0] = true;

@@ -364,3 +364,3 @@ }

if (inTestCaseWithDoneCallback) {
if ((0, _utils.isTestCaseCall)(node)) {
if ((0, _utils2.isTestCaseCall)(node)) {
inTestCaseWithDoneCallback = false;

@@ -397,3 +397,3 @@ }

switch (parent.type) {
case _experimentalUtils.AST_NODE_TYPES.VariableDeclarator:
case _utils.AST_NODE_TYPES.VariableDeclarator:
{

@@ -407,5 +407,5 @@ if (isVariableAwaitedOrReturned(parent)) {

case _experimentalUtils.AST_NODE_TYPES.AssignmentExpression:
case _utils.AST_NODE_TYPES.AssignmentExpression:
{
if (parent.left.type === _experimentalUtils.AST_NODE_TYPES.Identifier && isValueAwaitedOrReturned(parent.left, findFirstBlockBodyUp(parent))) {
if (parent.left.type === _utils.AST_NODE_TYPES.Identifier && isValueAwaitedOrReturned(parent.left, findFirstBlockBodyUp(parent))) {
return;

@@ -417,7 +417,7 @@ }

case _experimentalUtils.AST_NODE_TYPES.ExpressionStatement:
case _utils.AST_NODE_TYPES.ExpressionStatement:
break;
case _experimentalUtils.AST_NODE_TYPES.ReturnStatement:
case _experimentalUtils.AST_NODE_TYPES.AwaitExpression:
case _utils.AST_NODE_TYPES.ReturnStatement:
case _utils.AST_NODE_TYPES.AwaitExpression:
default:

@@ -424,0 +424,0 @@ return;

@@ -8,5 +8,5 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");

@@ -26,7 +26,7 @@ /*

const getPromiseCallExpressionNode = node => {
if (node.type === _experimentalUtils.AST_NODE_TYPES.ArrayExpression && node.parent && node.parent.type === _experimentalUtils.AST_NODE_TYPES.CallExpression) {
if (node.type === _utils.AST_NODE_TYPES.ArrayExpression && node.parent && node.parent.type === _utils.AST_NODE_TYPES.CallExpression) {
node = node.parent;
}
if (node.type === _experimentalUtils.AST_NODE_TYPES.CallExpression && node.callee.type === _experimentalUtils.AST_NODE_TYPES.MemberExpression && (0, _utils.isSupportedAccessor)(node.callee.object) && (0, _utils.getAccessorValue)(node.callee.object) === 'Promise' && node.parent) {
if (node.type === _utils.AST_NODE_TYPES.CallExpression && node.callee.type === _utils.AST_NODE_TYPES.MemberExpression && (0, _utils2.isSupportedAccessor)(node.callee.object) && (0, _utils2.getAccessorValue)(node.callee.object) === 'Promise' && node.parent) {
return node;

@@ -41,3 +41,3 @@ }

return (_node$parent = node.parent) !== null && _node$parent !== void 0 && _node$parent.parent && [_experimentalUtils.AST_NODE_TYPES.CallExpression, _experimentalUtils.AST_NODE_TYPES.ArrayExpression].includes(node.parent.type) ? getPromiseCallExpressionNode(node.parent) : null;
return (_node$parent = node.parent) !== null && _node$parent !== void 0 && _node$parent.parent && [_utils.AST_NODE_TYPES.CallExpression, _utils.AST_NODE_TYPES.ArrayExpression].includes(node.parent.type) ? getPromiseCallExpressionNode(node.parent) : null;
};

@@ -50,3 +50,3 @@

if (grandParentNode && grandParentNode.type === _experimentalUtils.AST_NODE_TYPES.CallExpression && (0, _utils.isExpectMember)(grandParentNode.callee) && ['then', 'catch'].includes((0, _utils.getAccessorValue)(grandParentNode.callee.property)) && grandParentNode.parent) {
if (grandParentNode && grandParentNode.type === _utils.AST_NODE_TYPES.CallExpression && (0, _utils2.isExpectMember)(grandParentNode.callee) && ['then', 'catch'].includes((0, _utils2.getAccessorValue)(grandParentNode.callee.property)) && grandParentNode.parent) {
// Just in case `then`s are chained look one above.

@@ -60,14 +60,14 @@ return getParentIfThenified(grandParentNode);

const isAcceptableReturnNode = (node, allowReturn) => {
if (allowReturn && node.type === _experimentalUtils.AST_NODE_TYPES.ReturnStatement) {
if (allowReturn && node.type === _utils.AST_NODE_TYPES.ReturnStatement) {
return true;
}
if (node.type === _experimentalUtils.AST_NODE_TYPES.ConditionalExpression && node.parent) {
if (node.type === _utils.AST_NODE_TYPES.ConditionalExpression && node.parent) {
return isAcceptableReturnNode(node.parent, allowReturn);
}
return [_experimentalUtils.AST_NODE_TYPES.ArrowFunctionExpression, _experimentalUtils.AST_NODE_TYPES.AwaitExpression].includes(node.type);
return [_utils.AST_NODE_TYPES.ArrowFunctionExpression, _utils.AST_NODE_TYPES.AwaitExpression].includes(node.type);
};
const isNoAssertionsParentNode = node => node.type === _experimentalUtils.AST_NODE_TYPES.ExpressionStatement || node.type === _experimentalUtils.AST_NODE_TYPES.AwaitExpression && node.parent !== undefined && node.parent.type === _experimentalUtils.AST_NODE_TYPES.ExpressionStatement;
const isNoAssertionsParentNode = node => node.type === _utils.AST_NODE_TYPES.ExpressionStatement || node.type === _utils.AST_NODE_TYPES.AwaitExpression && node.parent !== undefined && node.parent.type === _utils.AST_NODE_TYPES.ExpressionStatement;

@@ -81,3 +81,3 @@ const promiseArrayExceptionKey = ({

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -155,3 +155,3 @@ meta: {

CallExpression(node) {
if (!(0, _utils.isExpectCall)(node)) {
if (!(0, _utils2.isExpectCall)(node)) {
return;

@@ -164,6 +164,6 @@ }

matcher
} = (0, _utils.parseExpectCall)(node);
} = (0, _utils2.parseExpectCall)(node);
if (expect.arguments.length < minArgs) {
const expectLength = (0, _utils.getAccessorValue)(expect.callee).length;
const expectLength = (0, _utils2.getAccessorValue)(expect.callee).length;
const loc = {

@@ -227,3 +227,3 @@ start: {

if ((0, _utils.isExpectMember)(matcher.node.parent)) {
if ((0, _utils2.isExpectMember)(matcher.node.parent)) {
context.report({

@@ -247,3 +247,3 @@ messageId: 'modifierUnknown',

const parentNode = matcher.node.parent;
const shouldBeAwaited = modifier && modifier.name !== _utils.ModifierName.not || asyncMatchers.includes(matcher.name);
const shouldBeAwaited = modifier && modifier.name !== _utils2.ModifierName.not || asyncMatchers.includes(matcher.name);

@@ -259,3 +259,3 @@ if (!parentNode.parent || !shouldBeAwaited) {

const isParentArrayExpression = parentNode.parent.type === _experimentalUtils.AST_NODE_TYPES.ArrayExpression;
const isParentArrayExpression = parentNode.parent.type === _utils.AST_NODE_TYPES.ArrayExpression;
const orReturned = alwaysAwait ? '' : ' or returned';

@@ -291,3 +291,3 @@ /**

'CallExpression:exit'(node) {
if ((0, _utils.isExpectCall)(node) && isNoAssertionsParentNode(node.parent)) {
if ((0, _utils2.isExpectCall)(node) && isNoAssertionsParentNode(node.parent)) {
context.report({

@@ -294,0 +294,0 @@ messageId: 'matcherNotFound',

@@ -8,5 +8,5 @@ "use strict";

var _experimentalUtils = require("@typescript-eslint/experimental-utils");
var _utils = require("@typescript-eslint/utils");
var _utils = require("./utils");
var _utils2 = require("./utils");

@@ -16,14 +16,14 @@ const trimFXprefix = word => ['f', 'x'].includes(word.charAt(0)) ? word.substr(1) : word;

const doesBinaryExpressionContainStringNode = binaryExp => {
if ((0, _utils.isStringNode)(binaryExp.right)) {
if ((0, _utils2.isStringNode)(binaryExp.right)) {
return true;
}
if (binaryExp.left.type === _experimentalUtils.AST_NODE_TYPES.BinaryExpression) {
if (binaryExp.left.type === _utils.AST_NODE_TYPES.BinaryExpression) {
return doesBinaryExpressionContainStringNode(binaryExp.left);
}
return (0, _utils.isStringNode)(binaryExp.left);
return (0, _utils2.isStringNode)(binaryExp.left);
};
const quoteStringValue = node => node.type === _experimentalUtils.AST_NODE_TYPES.TemplateLiteral ? `\`${node.quasis[0].value.raw}\`` : node.raw;
const quoteStringValue = node => node.type === _utils.AST_NODE_TYPES.TemplateLiteral ? `\`${node.quasis[0].value.raw}\`` : node.raw;

@@ -62,3 +62,3 @@ const compileMatcherPattern = matcherMaybeWithMessage => {

var _default = (0, _utils.createRule)({
var _default = (0, _utils2.createRule)({
name: __filename,

@@ -136,3 +136,3 @@ meta: {

if (!(0, _utils.isDescribeCall)(node) && !(0, _utils.isTestCaseCall)(node)) {
if (!(0, _utils2.isDescribeCall)(node) && !(0, _utils2.isTestCaseCall)(node)) {
return;

@@ -147,8 +147,8 @@ }

if (!(0, _utils.isStringNode)(argument)) {
if (argument.type === _experimentalUtils.AST_NODE_TYPES.BinaryExpression && doesBinaryExpressionContainStringNode(argument)) {
if (!(0, _utils2.isStringNode)(argument)) {
if (argument.type === _utils.AST_NODE_TYPES.BinaryExpression && doesBinaryExpressionContainStringNode(argument)) {
return;
}
if (argument.type !== _experimentalUtils.AST_NODE_TYPES.TemplateLiteral && !(ignoreTypeOfDescribeName && (0, _utils.isDescribeCall)(node))) {
if (argument.type !== _utils.AST_NODE_TYPES.TemplateLiteral && !(ignoreTypeOfDescribeName && (0, _utils2.isDescribeCall)(node))) {
context.report({

@@ -163,3 +163,3 @@ messageId: 'titleMustBeString',

const title = (0, _utils.getStringValue)(argument);
const title = (0, _utils2.getStringValue)(argument);

@@ -170,3 +170,3 @@ if (!title) {

data: {
jestFunctionName: (0, _utils.isDescribeCall)(node) ? _utils.DescribeAlias.describe : _utils.TestCaseName.test
jestFunctionName: (0, _utils2.isDescribeCall)(node) ? _utils2.DescribeAlias.describe : _utils2.TestCaseName.test
},

@@ -201,3 +201,3 @@ node

const nodeName = trimFXprefix((0, _utils.getNodeName)(node));
const nodeName = trimFXprefix((0, _utils2.getNodeName)(node));
const [firstWord] = title.split(' ');

@@ -204,0 +204,0 @@

{
"name": "eslint-plugin-jest",
"version": "25.7.0",
"version": "26.0.0",
"description": "Eslint rules for Jest",

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

"dependencies": {
"@typescript-eslint/experimental-utils": "^5.0.0"
"@typescript-eslint/utils": "^5.10.0"
},

@@ -131,3 +131,3 @@ "devDependencies": {

"peerDependencies": {
"@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0",
"@typescript-eslint/eslint-plugin": "^5.0.0",
"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"

@@ -134,0 +134,0 @@ },

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