Sync from oss-experimental, not oss-stable (#26401)

## Overview

To test useEffectEvent, we need the experimental build of the lint
plugin.

DiffTrain build for [21f6dba6a7](https://github.com/facebook/react/commit/21f6dba6a71f16b56a96182233c897468324cf99)
This commit is contained in:
rickhanlonii
2023-03-16 01:06:05 +00:00
parent 923bb20d2e
commit 976efdb202
2 changed files with 15 additions and 11 deletions
+1 -1
View File
@@ -1 +1 @@
99aa082be0a2a62fef8ed747348ddf85c5641902
21f6dba6a71f16b56a96182233c897468324cf99
@@ -91,8 +91,9 @@ function _createForOfIteratorHelper(o, allowArrayLike) {
/* global BigInt */
function isHookName(s) {
return /^use[A-Z0-9]/.test(s);
{
return s === 'use' || /^use[A-Z0-9]/.test(s);
}
}
/**
* We consider hooks to be a hook name identifier or a member expression
@@ -164,13 +165,15 @@ function isInsideComponentOrHook(node) {
}
function isUseEffectEventIdentifier$1(node) {
return false;
{
return node.type === 'Identifier' && node.name === 'useEffectEvent';
}
}
function isUseIdentifier(node) {
return false;
{
return node.type === 'Identifier' && node.name === 'use';
}
}
var RulesOfHooks = {
@@ -707,7 +710,7 @@ var RulesOfHooks = {
// another useEffectEvent
if (node.callee.type === 'Identifier' && (node.callee.name === 'useEffect' || isUseEffectEventIdentifier$1()) && node.arguments.length > 0) {
if (node.callee.type === 'Identifier' && (node.callee.name === 'useEffect' || isUseEffectEventIdentifier$1(node.callee)) && node.arguments.length > 0) {
// Denote that we have traversed into a useEffect call, and stash the CallExpr for
// comparison later when we exit
lastEffect = node;
@@ -995,7 +998,7 @@ var ExhaustiveDeps = {
if (name === 'useRef' && id.type === 'Identifier') {
// useRef() return value is stable.
return true;
} else if (isUseEffectEventIdentifier() && id.type === 'Identifier') {
} else if (isUseEffectEventIdentifier(callee) && id.type === 'Identifier') {
var _iterator = _createForOfIteratorHelper(resolved.references),
_step;
@@ -2558,8 +2561,9 @@ function isAncestorNodeOf(a, b) {
}
function isUseEffectEventIdentifier(node) {
return false;
{
return node.type === 'Identifier' && node.name === 'useEffectEvent';
}
}
var configs = {