Socket
Socket
Sign inDemoInstall

eslint-plugin-testing-library

Package Overview
Dependencies
Maintainers
2
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 3.0.3 to 3.0.4

33

lib/rules/await-async-query.js

@@ -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",

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