@eslint-react/core 5.28.2 → 5.28.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +37 -37
- package/dist/index.js +32 -32
- package/package.json +8 -8
package/dist/index.d.ts
CHANGED
|
@@ -707,17 +707,17 @@ export declare const FunctionComponentDetectionHint: {
|
|
|
707
707
|
/** Exclude anonymous functions defined as arbitrary call expression callbacks from component detection. */
|
|
708
708
|
readonly DoNotIncludeFunctionDefinedAsArbitraryCallExpressionCallback: bigint;
|
|
709
709
|
readonly None: 0n;
|
|
710
|
-
readonly
|
|
711
|
-
readonly
|
|
712
|
-
readonly
|
|
713
|
-
readonly
|
|
714
|
-
readonly
|
|
715
|
-
readonly
|
|
716
|
-
readonly
|
|
717
|
-
readonly
|
|
718
|
-
readonly
|
|
719
|
-
readonly
|
|
720
|
-
readonly
|
|
710
|
+
readonly DoNotIncludeJSXWithNullValue: bigint;
|
|
711
|
+
readonly DoNotIncludeJSXWithNumberValue: bigint;
|
|
712
|
+
readonly DoNotIncludeJSXWithBigIntValue: bigint;
|
|
713
|
+
readonly DoNotIncludeJSXWithStringValue: bigint;
|
|
714
|
+
readonly DoNotIncludeJSXWithBooleanValue: bigint;
|
|
715
|
+
readonly DoNotIncludeJSXWithUndefinedValue: bigint;
|
|
716
|
+
readonly DoNotIncludeJSXWithEmptyArrayValue: bigint;
|
|
717
|
+
readonly DoNotIncludeJSXWithCreateElementValue: bigint;
|
|
718
|
+
readonly RequireAllArrayElementsToBeJSX: bigint;
|
|
719
|
+
readonly RequireBothSidesOfLogicalExpressionToBeJSX: bigint;
|
|
720
|
+
readonly RequireBothBranchesOfConditionalExpressionToBeJSX: bigint;
|
|
721
721
|
};
|
|
722
722
|
/**
|
|
723
723
|
* Default component detection hint.
|
|
@@ -777,38 +777,38 @@ export declare function getHookCollector(context: RuleContext): getHookCollector
|
|
|
777
777
|
/**
|
|
778
778
|
* BitFlags for configuring JSX detection behavior.
|
|
779
779
|
*
|
|
780
|
-
* Used by `
|
|
780
|
+
* Used by `isJSXLike` to control which AST node kinds are considered
|
|
781
781
|
* "JSX-like". Combine flags with the `|` operator.
|
|
782
782
|
*/
|
|
783
|
-
export type
|
|
783
|
+
export type JSXDetectionHint = bigint;
|
|
784
784
|
/**
|
|
785
785
|
* Hints for JSX detection.
|
|
786
786
|
*/
|
|
787
|
-
export declare const
|
|
787
|
+
export declare const JSXDetectionHint: {
|
|
788
788
|
/** No hints set. */
|
|
789
789
|
readonly None: 0n;
|
|
790
790
|
/** Do not treat `null` values as JSX-like. */
|
|
791
|
-
readonly
|
|
791
|
+
readonly DoNotIncludeJSXWithNullValue: bigint;
|
|
792
792
|
/** Do not treat number values as JSX-like. */
|
|
793
|
-
readonly
|
|
793
|
+
readonly DoNotIncludeJSXWithNumberValue: bigint;
|
|
794
794
|
/** Do not treat bigint values as JSX-like. */
|
|
795
|
-
readonly
|
|
795
|
+
readonly DoNotIncludeJSXWithBigIntValue: bigint;
|
|
796
796
|
/** Do not treat string values as JSX-like. */
|
|
797
|
-
readonly
|
|
797
|
+
readonly DoNotIncludeJSXWithStringValue: bigint;
|
|
798
798
|
/** Do not treat boolean values as JSX-like. */
|
|
799
|
-
readonly
|
|
799
|
+
readonly DoNotIncludeJSXWithBooleanValue: bigint;
|
|
800
800
|
/** Do not treat undefined values as JSX-like. */
|
|
801
|
-
readonly
|
|
801
|
+
readonly DoNotIncludeJSXWithUndefinedValue: bigint;
|
|
802
802
|
/** Do not treat empty array values as JSX-like. */
|
|
803
|
-
readonly
|
|
803
|
+
readonly DoNotIncludeJSXWithEmptyArrayValue: bigint;
|
|
804
804
|
/** Do not treat `createElement` calls as JSX-like. */
|
|
805
|
-
readonly
|
|
805
|
+
readonly DoNotIncludeJSXWithCreateElementValue: bigint;
|
|
806
806
|
/** Require all array elements to be JSX-like for the array to be JSX-like. */
|
|
807
|
-
readonly
|
|
807
|
+
readonly RequireAllArrayElementsToBeJSX: bigint;
|
|
808
808
|
/** Require both sides of a logical expression to be JSX-like. */
|
|
809
|
-
readonly
|
|
809
|
+
readonly RequireBothSidesOfLogicalExpressionToBeJSX: bigint;
|
|
810
810
|
/** Require both branches of a conditional expression to be JSX-like. */
|
|
811
|
-
readonly
|
|
811
|
+
readonly RequireBothBranchesOfConditionalExpressionToBeJSX: bigint;
|
|
812
812
|
};
|
|
813
813
|
/**
|
|
814
814
|
* Default JSX detection hint.
|
|
@@ -820,11 +820,11 @@ export declare const JsxDetectionHint: {
|
|
|
820
820
|
* they are unrenderable (strings and numbers are renderable since
|
|
821
821
|
* React 16).
|
|
822
822
|
*/
|
|
823
|
-
export declare const DEFAULT_JSX_DETECTION_HINT:
|
|
823
|
+
export declare const DEFAULT_JSX_DETECTION_HINT: JSXDetectionHint;
|
|
824
824
|
/**
|
|
825
825
|
* Check if the node represents JSX-like content based on heuristics.
|
|
826
826
|
*
|
|
827
|
-
* The detection behavior is configurable through {@link
|
|
827
|
+
* The detection behavior is configurable through {@link JSXDetectionHint}
|
|
828
828
|
* bit-flags so that callers can opt individual value kinds in or out.
|
|
829
829
|
*
|
|
830
830
|
* Identifiers are resolved to their definitions via scope analysis;
|
|
@@ -838,21 +838,21 @@ export declare const DEFAULT_JSX_DETECTION_HINT: JsxDetectionHint;
|
|
|
838
838
|
*
|
|
839
839
|
* @example
|
|
840
840
|
* ```ts
|
|
841
|
-
* import {
|
|
841
|
+
* import { isJSXLike } from "@eslint-react/core";
|
|
842
842
|
*
|
|
843
|
-
* if (
|
|
843
|
+
* if (isJSXLike(context, node)) {
|
|
844
844
|
* // node looks like it evaluates to a React element
|
|
845
845
|
* }
|
|
846
846
|
* ```
|
|
847
847
|
*/
|
|
848
|
-
export declare function
|
|
848
|
+
export declare function isJSXLike(context: RuleContext, node: TSESTree.Node | null, hint?: JSXDetectionHint): boolean;
|
|
849
849
|
//#endregion
|
|
850
850
|
//#region src/jsx-config.d.ts
|
|
851
851
|
/**
|
|
852
852
|
* Resolved JSX configuration derived from compiler options and / or pragma
|
|
853
853
|
* annotations found in the source file.
|
|
854
854
|
*/
|
|
855
|
-
export interface
|
|
855
|
+
export interface JSXConfig {
|
|
856
856
|
/** The JSX emit mode. */
|
|
857
857
|
jsx?: ts.JsxEmit;
|
|
858
858
|
/** The JSX factory function (ex: `React.createElement`). */
|
|
@@ -870,9 +870,9 @@ export interface JsxConfig {
|
|
|
870
870
|
* available (e.g. when the file is parsed without type information).
|
|
871
871
|
*
|
|
872
872
|
* @param context The ESLint rule context.
|
|
873
|
-
* @returns Fully‑populated `
|
|
873
|
+
* @returns Fully‑populated `JSXConfig` derived from compiler options.
|
|
874
874
|
*/
|
|
875
|
-
export declare function
|
|
875
|
+
export declare function getJSXConfigFromCompilerOptions(context: RuleContext): Required<JSXConfig>;
|
|
876
876
|
/**
|
|
877
877
|
* Extract JSX configuration from `@jsx`, `@jsxFrag`, `@jsxRuntime` and
|
|
878
878
|
* `@jsxImportSource` pragma comments in the source file.
|
|
@@ -881,9 +881,9 @@ export declare function getJsxConfigFromCompilerOptions(context: RuleContext): R
|
|
|
881
881
|
* repeated calls from different rules analysing the same file are free.
|
|
882
882
|
*
|
|
883
883
|
* @param context The ESLint rule context.
|
|
884
|
-
* @returns Partial `
|
|
884
|
+
* @returns Partial `JSXConfig` containing only the values found in pragmas.
|
|
885
885
|
*/
|
|
886
|
-
export declare function
|
|
886
|
+
export declare function getJSXConfigFromAnnotation(context: RuleContext): JSXConfig;
|
|
887
887
|
/**
|
|
888
888
|
* Get the fully‑merged JSX configuration for the current file.
|
|
889
889
|
*
|
|
@@ -893,9 +893,9 @@ export declare function getJsxConfigFromAnnotation(context: RuleContext): JsxCon
|
|
|
893
893
|
* This is the main entry‑point most consumers should use.
|
|
894
894
|
*
|
|
895
895
|
* @param context The ESLint rule context.
|
|
896
|
-
* @returns Fully‑populated, merged `
|
|
896
|
+
* @returns Fully‑populated, merged `JSXConfig`.
|
|
897
897
|
*/
|
|
898
|
-
export declare function
|
|
898
|
+
export declare function getJSXConfig(context: RuleContext): Required<JSXConfig>;
|
|
899
899
|
//#endregion
|
|
900
900
|
//#region src/type-is.d.ts
|
|
901
901
|
/**
|
package/dist/index.js
CHANGED
|
@@ -441,22 +441,22 @@ const SEL_FUNCTION_DISPLAY_NAME_ASSIGNMENT = [
|
|
|
441
441
|
].join("");
|
|
442
442
|
//#endregion
|
|
443
443
|
//#region src/jsx.ts
|
|
444
|
-
const
|
|
444
|
+
const JSXDetectionHint = {
|
|
445
445
|
None: 0n,
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
446
|
+
DoNotIncludeJSXWithNullValue: 1n << 0n,
|
|
447
|
+
DoNotIncludeJSXWithNumberValue: 1n << 1n,
|
|
448
|
+
DoNotIncludeJSXWithBigIntValue: 1n << 2n,
|
|
449
|
+
DoNotIncludeJSXWithStringValue: 1n << 3n,
|
|
450
|
+
DoNotIncludeJSXWithBooleanValue: 1n << 4n,
|
|
451
|
+
DoNotIncludeJSXWithUndefinedValue: 1n << 5n,
|
|
452
|
+
DoNotIncludeJSXWithEmptyArrayValue: 1n << 6n,
|
|
453
|
+
DoNotIncludeJSXWithCreateElementValue: 1n << 7n,
|
|
454
|
+
RequireAllArrayElementsToBeJSX: 1n << 8n,
|
|
455
|
+
RequireBothSidesOfLogicalExpressionToBeJSX: 1n << 9n,
|
|
456
|
+
RequireBothBranchesOfConditionalExpressionToBeJSX: 1n << 10n
|
|
457
457
|
};
|
|
458
|
-
const DEFAULT_JSX_DETECTION_HINT = 0n |
|
|
459
|
-
function
|
|
458
|
+
const DEFAULT_JSX_DETECTION_HINT = 0n | JSXDetectionHint.DoNotIncludeJSXWithNumberValue | JSXDetectionHint.DoNotIncludeJSXWithBigIntValue | JSXDetectionHint.DoNotIncludeJSXWithBooleanValue | JSXDetectionHint.DoNotIncludeJSXWithStringValue | JSXDetectionHint.DoNotIncludeJSXWithUndefinedValue;
|
|
459
|
+
function isJSXLike(context, node, hint = DEFAULT_JSX_DETECTION_HINT) {
|
|
460
460
|
const seen = /* @__PURE__ */ new Set();
|
|
461
461
|
function visit(node) {
|
|
462
462
|
if (node == null) return false;
|
|
@@ -467,23 +467,23 @@ function isJsxLike(context, node, hint = DEFAULT_JSX_DETECTION_HINT) {
|
|
|
467
467
|
case AST_NODE_TYPES.TSTypeAssertion:
|
|
468
468
|
case AST_NODE_TYPES.TSNonNullExpression: return visit(node.expression);
|
|
469
469
|
case AST_NODE_TYPES.AwaitExpression: return visit(node.argument);
|
|
470
|
-
case AST_NODE_TYPES.Literal: return match(node.value).with(P.nullish, () => !(hint &
|
|
471
|
-
case AST_NODE_TYPES.TemplateLiteral: return !(hint &
|
|
470
|
+
case AST_NODE_TYPES.Literal: return match(node.value).with(P.nullish, () => !(hint & JSXDetectionHint.DoNotIncludeJSXWithNullValue)).with(P.boolean, () => !(hint & JSXDetectionHint.DoNotIncludeJSXWithBooleanValue)).with(P.string, () => !(hint & JSXDetectionHint.DoNotIncludeJSXWithStringValue)).with(P.number, () => !(hint & JSXDetectionHint.DoNotIncludeJSXWithNumberValue)).with(P.bigint, () => !(hint & JSXDetectionHint.DoNotIncludeJSXWithBigIntValue)).with(P.instanceOf(RegExp), () => false).exhaustive();
|
|
471
|
+
case AST_NODE_TYPES.TemplateLiteral: return !(hint & JSXDetectionHint.DoNotIncludeJSXWithStringValue);
|
|
472
472
|
case AST_NODE_TYPES.ArrayExpression:
|
|
473
|
-
if (node.elements.length === 0) return !(hint &
|
|
474
|
-
return hint &
|
|
473
|
+
if (node.elements.length === 0) return !(hint & JSXDetectionHint.DoNotIncludeJSXWithEmptyArrayValue);
|
|
474
|
+
return hint & JSXDetectionHint.RequireAllArrayElementsToBeJSX ? node.elements.every(visit) : node.elements.some(visit);
|
|
475
475
|
case AST_NODE_TYPES.LogicalExpression:
|
|
476
|
-
if (hint &
|
|
476
|
+
if (hint & JSXDetectionHint.RequireBothSidesOfLogicalExpressionToBeJSX) return visit(node.left) && visit(node.right);
|
|
477
477
|
return visit(node.left) || visit(node.right);
|
|
478
478
|
case AST_NODE_TYPES.ConditionalExpression:
|
|
479
|
-
if (hint &
|
|
479
|
+
if (hint & JSXDetectionHint.RequireBothBranchesOfConditionalExpressionToBeJSX) return visit(node.consequent) && visit(node.alternate);
|
|
480
480
|
return visit(node.consequent) || visit(node.alternate);
|
|
481
481
|
case AST_NODE_TYPES.SequenceExpression: return visit(node.expressions.at(-1) ?? null);
|
|
482
482
|
case AST_NODE_TYPES.CallExpression:
|
|
483
|
-
if (hint &
|
|
483
|
+
if (hint & JSXDetectionHint.DoNotIncludeJSXWithCreateElementValue) return false;
|
|
484
484
|
return isCreateElementCall(context, node);
|
|
485
485
|
case AST_NODE_TYPES.Identifier: {
|
|
486
|
-
if (node.name === "undefined" && findVariable(context.sourceCode.getScope(node), node) == null) return !(hint &
|
|
486
|
+
if (node.name === "undefined" && findVariable(context.sourceCode.getScope(node), node) == null) return !(hint & JSXDetectionHint.DoNotIncludeJSXWithUndefinedValue);
|
|
487
487
|
if (seen.has(node)) return false;
|
|
488
488
|
seen.add(node);
|
|
489
489
|
const result = visit(resolve(context, node));
|
|
@@ -551,7 +551,7 @@ function isFunctionWithLooseComponentName(context, fn, allowNone = false) {
|
|
|
551
551
|
return false;
|
|
552
552
|
}
|
|
553
553
|
const FunctionComponentDetectionHint = {
|
|
554
|
-
...
|
|
554
|
+
...JSXDetectionHint,
|
|
555
555
|
DoNotIncludeFunctionDefinedAsClassMethod: 1n << 11n,
|
|
556
556
|
DoNotIncludeFunctionDefinedAsClassProperty: 1n << 12n,
|
|
557
557
|
DoNotIncludeFunctionDefinedAsObjectMethod: 1n << 13n,
|
|
@@ -561,7 +561,7 @@ const FunctionComponentDetectionHint = {
|
|
|
561
561
|
DoNotIncludeFunctionDefinedAsArrayMapCallback: 1n << 17n,
|
|
562
562
|
DoNotIncludeFunctionDefinedAsArbitraryCallExpressionCallback: 1n << 18n
|
|
563
563
|
};
|
|
564
|
-
const DEFAULT_COMPONENT_DETECTION_HINT = 0n | FunctionComponentDetectionHint.
|
|
564
|
+
const DEFAULT_COMPONENT_DETECTION_HINT = 0n | FunctionComponentDetectionHint.DoNotIncludeJSXWithBigIntValue | FunctionComponentDetectionHint.DoNotIncludeJSXWithBooleanValue | FunctionComponentDetectionHint.DoNotIncludeJSXWithNumberValue | FunctionComponentDetectionHint.DoNotIncludeJSXWithStringValue | FunctionComponentDetectionHint.DoNotIncludeJSXWithUndefinedValue | FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArbitraryCallExpressionCallback | FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArrayExpressionElement | FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArrayFlatMapCallback | FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArrayMapCallback | FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsArrayPatternElement | FunctionComponentDetectionHint.RequireAllArrayElementsToBeJSX | FunctionComponentDetectionHint.RequireBothBranchesOfConditionalExpressionToBeJSX | FunctionComponentDetectionHint.RequireBothSidesOfLogicalExpressionToBeJSX;
|
|
565
565
|
function isFunctionComponentDefinition(context, node, hint) {
|
|
566
566
|
if (!isFunctionWithLooseComponentName(context, node, true)) return false;
|
|
567
567
|
let parent = node.parent;
|
|
@@ -729,7 +729,7 @@ function getFunctionComponentCollector(context, options = {}) {
|
|
|
729
729
|
if (body.type === AST_NODE_TYPES.BlockStatement) return;
|
|
730
730
|
entry.rets.push(body);
|
|
731
731
|
if (!entry.isFunctionComponentDefinition) return;
|
|
732
|
-
if (!components.has(entry.key) && !
|
|
732
|
+
if (!components.has(entry.key) && !isJSXLike(context, body, hint)) return;
|
|
733
733
|
components.set(entry.key, entry);
|
|
734
734
|
},
|
|
735
735
|
...collectDisplayName ? { [SEL_FUNCTION_DISPLAY_NAME_ASSIGNMENT](node) {
|
|
@@ -753,7 +753,7 @@ function getFunctionComponentCollector(context, options = {}) {
|
|
|
753
753
|
entry.rets.push(node.argument);
|
|
754
754
|
if (!entry.isFunctionComponentDefinition) return;
|
|
755
755
|
const { argument } = node;
|
|
756
|
-
if (!components.has(entry.key) && !
|
|
756
|
+
if (!components.has(entry.key) && !isJSXLike(context, argument, hint)) return;
|
|
757
757
|
components.set(entry.key, entry);
|
|
758
758
|
},
|
|
759
759
|
TaggedTemplateExpression(node) {
|
|
@@ -835,7 +835,7 @@ function getHookCollector(context) {
|
|
|
835
835
|
//#region src/jsx-config.ts
|
|
836
836
|
const annotationCache = /* @__PURE__ */ new WeakMap();
|
|
837
837
|
const mergedCache = /* @__PURE__ */ new WeakMap();
|
|
838
|
-
function
|
|
838
|
+
function getJSXConfigFromCompilerOptions(context) {
|
|
839
839
|
const options = context.sourceCode.parserServices?.program?.getCompilerOptions() ?? {};
|
|
840
840
|
return {
|
|
841
841
|
jsx: options.jsx ?? ts.JsxEmit.ReactJSX,
|
|
@@ -844,7 +844,7 @@ function getJsxConfigFromCompilerOptions(context) {
|
|
|
844
844
|
jsxImportSource: options.jsxImportSource ?? "react"
|
|
845
845
|
};
|
|
846
846
|
}
|
|
847
|
-
function
|
|
847
|
+
function getJSXConfigFromAnnotation(context) {
|
|
848
848
|
const cached = annotationCache.get(context.sourceCode);
|
|
849
849
|
if (cached != null) return cached;
|
|
850
850
|
const options = {};
|
|
@@ -868,12 +868,12 @@ function getJsxConfigFromAnnotation(context) {
|
|
|
868
868
|
annotationCache.set(context.sourceCode, options);
|
|
869
869
|
return options;
|
|
870
870
|
}
|
|
871
|
-
function
|
|
871
|
+
function getJSXConfig(context) {
|
|
872
872
|
const cached = mergedCache.get(context.sourceCode);
|
|
873
873
|
if (cached != null) return cached;
|
|
874
874
|
const merged = {
|
|
875
|
-
...
|
|
876
|
-
...
|
|
875
|
+
...getJSXConfigFromCompilerOptions(context),
|
|
876
|
+
...getJSXConfigFromAnnotation(context)
|
|
877
877
|
};
|
|
878
878
|
mergedCache.set(context.sourceCode, merged);
|
|
879
879
|
return merged;
|
|
@@ -989,4 +989,4 @@ function getTypeVariants(types) {
|
|
|
989
989
|
return variants;
|
|
990
990
|
}
|
|
991
991
|
//#endregion
|
|
992
|
-
export { DEFAULT_COMPONENT_DETECTION_HINT, DEFAULT_JSX_DETECTION_HINT, FunctionComponentDetectionHint, FunctionComponentFlag,
|
|
992
|
+
export { DEFAULT_COMPONENT_DETECTION_HINT, DEFAULT_JSX_DETECTION_HINT, FunctionComponentDetectionHint, FunctionComponentFlag, JSXDetectionHint, SEL_FUNCTION_DISPLAY_NAME_ASSIGNMENT, getClassComponentCollector, getClassId, getCreateElementChildrenArguments, getCreateElementProp, getCreateElementPropsObject, getCreateElementTypeArgument, getFullyQualifiedNameEx, getFunctionComponentCollector, getFunctionComponentFlagFromInitPath, getFunctionComponentId, getFunctionDirectives, getFunctionId, getFunctionInitPath, getHookCollector, getJSXConfig, getJSXConfigFromAnnotation, getJSXConfigFromCompilerOptions, getTypeVariants, isAPI, isAPICall, isAnyType, isBigIntType, isBooleanLiteralType, isBooleanType, isCaptureOwnerStack, isCaptureOwnerStackCall, isChildrenCount, isChildrenCountCall, isChildrenForEach, isChildrenForEachCall, isChildrenMap, isChildrenMapCall, isChildrenOnly, isChildrenOnlyCall, isChildrenToArray, isChildrenToArrayCall, isClassComponent, isCloneElement, isCloneElementCall, isComponentDidCatch, isComponentDidMount, isComponentDidUpdate, isComponentWillMount, isComponentWillReceiveProps, isComponentWillUnmount, isComponentWillUpdate, isCreateContext, isCreateContextCall, isCreateElement, isCreateElementCall, isCreateElementChildrenArgument, isCreateRef, isCreateRefCall, isEnumType, isFalseLiteralType, isFalsyBigIntType, isFalsyNumberType, isFalsyStringType, isForwardRef, isForwardRefCall, isFunctionComponentDefinition, isFunctionComponentName, isFunctionComponentNameLoose, isFunctionComponentWrapperCall, isFunctionComponentWrapperCallback, isFunctionEmpty, isFunctionHasCallInInitPath, isFunctionHasDirective, isFunctionWithLooseComponentName, isGetChildContext, isGetDefaultProps, isGetDerivedStateFromError, isGetDerivedStateFromProps, isGetInitialState, isGetSnapshotBeforeUpdate, isHookCall, isHookDefinition, isHookId, isHookName, isHookTag, isInsideCreateElementProps, isJSXLike, isLazy, isLazyCall, isMemo, isMemoCall, isNeverType, isNullishType, isNumberType, isObjectType, isPureComponent, isRender, isRenderMethodCallback, isRenderMethodLike, isShouldComponentUpdate, isStringType, isThisSetStateCall, isTrueLiteralType, isTruthyBigIntType, isTruthyNumberType, isTruthyStringType, isUnknownType, isUnsafeComponentWillMount, isUnsafeComponentWillReceiveProps, isUnsafeComponentWillUpdate, isUse, isUseActionState, isUseActionStateCall, isUseCall, isUseCallback, isUseCallbackCall, isUseContext, isUseContextCall, isUseDebugValue, isUseDebugValueCall, isUseDeferredValue, isUseDeferredValueCall, isUseEffect, isUseEffectCall, isUseEffectCleanupCallback, isUseEffectLikeCall, isUseEffectSetupCallback, isUseFormStatus, isUseFormStatusCall, isUseId, isUseIdCall, isUseImperativeHandle, isUseImperativeHandleCall, isUseInsertionEffect, isUseInsertionEffectCall, isUseLayoutEffect, isUseLayoutEffectCall, isUseMemo, isUseMemoCall, isUseOptimistic, isUseOptimisticCall, isUseReducer, isUseReducerCall, isUseRef, isUseRefCall, isUseRefLikeCall, isUseState, isUseStateCall, isUseStateLikeCall, isUseSyncExternalStore, isUseSyncExternalStoreCall, isUseTransition, isUseTransitionCall };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eslint-react/core",
|
|
3
|
-
"version": "5.28.
|
|
3
|
+
"version": "5.28.4",
|
|
4
4
|
"description": "ESLint React's ESLint utility module for static analysis of React core APIs and patterns.",
|
|
5
5
|
"homepage": "https://github.com/Rel1cx/eslint-react",
|
|
6
6
|
"bugs": {
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
"dist"
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@eslint-react/ast": "5.28.
|
|
33
|
-
"@eslint-react/eslint": "5.28.
|
|
34
|
-
"@eslint-react/shared": "5.28.
|
|
35
|
-
"@eslint-react/var": "5.28.
|
|
36
|
-
"@typescript-eslint/types": "^8.
|
|
37
|
-
"@typescript-eslint/utils": "^8.
|
|
32
|
+
"@eslint-react/ast": "5.28.4",
|
|
33
|
+
"@eslint-react/eslint": "5.28.4",
|
|
34
|
+
"@eslint-react/shared": "5.28.4",
|
|
35
|
+
"@eslint-react/var": "5.28.4",
|
|
36
|
+
"@typescript-eslint/types": "^8.72.0",
|
|
37
|
+
"@typescript-eslint/utils": "^8.72.0",
|
|
38
38
|
"ts-pattern": "^5.9.2"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@local/testkit": "0.0.0",
|
|
44
44
|
"@tsconfig/node20": "^20.1.10",
|
|
45
45
|
"@types/node": "^20.19.43",
|
|
46
|
-
"@typescript-eslint/typescript-estree": "^8.
|
|
46
|
+
"@typescript-eslint/typescript-estree": "^8.72.0",
|
|
47
47
|
"dedent": "^1.7.2",
|
|
48
48
|
"eslint": "^10.13.0",
|
|
49
49
|
"tsdown": "^0.23.1",
|