eslint-plugin-testing-library
Advanced tools
Comparing version 3.0.3 to 3.0.4
@@ -31,14 +31,22 @@ 'use strict'; | ||
const testingLibraryQueryUsage = []; | ||
const isQueryUsage = node => | ||
!isAwaited(node.parent.parent) && | ||
!isPromiseResolved(node) && | ||
!hasClosestExpectResolvesRejects(node); | ||
return { | ||
[`CallExpression > Identifier[name=${ASYNC_QUERIES_REGEXP}]`](node) { | ||
if ( | ||
!isAwaited(node.parent.parent) && | ||
!isPromiseResolved(node) && | ||
!hasClosestExpectResolvesRejects(node) | ||
) { | ||
testingLibraryQueryUsage.push(node); | ||
if (isQueryUsage(node)) { | ||
testingLibraryQueryUsage.push({ node, queryName: node.name }); | ||
} | ||
}, | ||
[`MemberExpression > Identifier[name=${ASYNC_QUERIES_REGEXP}]`](node) { | ||
// Perform checks in parent MemberExpression insted of current identifier | ||
const parent = node.parent; | ||
if (isQueryUsage(parent)) { | ||
testingLibraryQueryUsage.push({ node: parent, queryName: node.name }); | ||
} | ||
}, | ||
'Program:exit'() { | ||
testingLibraryQueryUsage.forEach(node => { | ||
testingLibraryQueryUsage.forEach(({ node, queryName }) => { | ||
const variableDeclaratorParent = node.parent.parent; | ||
@@ -53,8 +61,3 @@ | ||
if ( | ||
references && | ||
references.length === 0 && | ||
!isAwaited(node.parent.parent) && | ||
!isPromiseResolved(node) | ||
) { | ||
if (references && references.length === 0) { | ||
context.report({ | ||
@@ -64,3 +67,3 @@ node, | ||
data: { | ||
name: node.name, | ||
name: queryName, | ||
}, | ||
@@ -79,3 +82,3 @@ }); | ||
data: { | ||
name: node.name, | ||
name: queryName, | ||
}, | ||
@@ -82,0 +85,0 @@ }); |
@@ -24,16 +24,15 @@ 'use strict'; | ||
create: function(context) { | ||
const reportError = node => | ||
context.report({ | ||
node, | ||
messageId: 'noAwaitSyncQuery', | ||
data: { | ||
name: node.name, | ||
}, | ||
}); | ||
return { | ||
[`AwaitExpression > CallExpression > Identifier[name=${SYNC_QUERIES_REGEXP}]`]( | ||
node | ||
) { | ||
context.report({ | ||
node, | ||
messageId: 'noAwaitSyncQuery', | ||
data: { | ||
name: node.name, | ||
}, | ||
}); | ||
}, | ||
[`AwaitExpression > CallExpression > Identifier[name=${SYNC_QUERIES_REGEXP}]`]: reportError, | ||
[`AwaitExpression > CallExpression > MemberExpression > Identifier[name=${SYNC_QUERIES_REGEXP}]`]: reportError, | ||
}; | ||
}, | ||
}; |
{ | ||
"name": "eslint-plugin-testing-library", | ||
"version": "3.0.3", | ||
"version": "3.0.4", | ||
"description": "ESLint rules for Testing Library", | ||
@@ -33,2 +33,3 @@ "keywords": [ | ||
"test:ci": "jest --coverage", | ||
"test:update": "npm run test:local -- --u", | ||
"test:watch": "npm run test:local -- --watch", | ||
@@ -35,0 +36,0 @@ "test": "is-ci test:ci test:local", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
57318
1187