@ospm/eslint-plugin-react-signals-hooks
Version:
ESLint plugin for React Signals hooks - enforces best practices, performance optimizations, and integration patterns for @preact/signals-react usage in React projects
85 lines • 4.1 kB
text/typescript
import type { AST_NODE_TYPES } from "@typescript-eslint/types";
export declare const PerformanceOperations: PerformanceOperation;
type NodeTypeProcessing = {
[K in keyof typeof AST_NODE_TYPES as `${K}Processing`]: `${K}Processing`;
};
type ImportCheckNodeType = {
[K in keyof typeof AST_NODE_TYPES as `importCheck${K}`]: `importCheck${K}`;
};
export type PerformanceOperation = {
"hook:useEffect": "hook:useEffect";
"hook:useLayoutEffect": "hook:useLayoutEffect";
"hook:useCallback": "hook:useCallback";
"hook:useMemo": "hook:useMemo";
"hook:useImperativeHandle": "hook:useImperativeHandle";
"hook:effect": "hook:effect";
"hook:computed": "hook:computed";
"signalImport:signal": "signalImport:signal";
"signalImport:useSignal": "signalImport:useSignal";
"signalHookFound:useSignal": "signalHookFound:useSignal";
"signalHookFound:useComputed": "signalHookFound:useComputed";
"signalHookFound:useSignalEffect": "signalHookFound:useSignalEffect";
"signalHookFound:useSignalState": "signalHookFound:useSignalState";
"signalHookFound:useSignalRef": "signalHookFound:useSignalRef";
reactComponentFunctionDeclarationProcessing: "reactComponentFunctionDeclarationProcessing";
reactComponentArrowFunctionDeclarationProcessing: "reactComponentArrowFunctionDeclarationProcessing";
reactComponentFunctionExpressionProcessing: "reactComponentFunctionExpressionProcessing";
reactComponentArrowFunctionExpressionProcessing: "reactComponentArrowFunctionExpressionProcessing";
enteredHookContextProcessing: "enteredHookContextProcessing";
signalFunctionCallProcessing: "signalFunctionCallProcessing";
fileAnalysis: "fileAnalysis";
assignmentAnalysis: "assignmentAnalysis";
preImportAnalysis: "preImportAnalysis";
"assignmentType:computedMemberAssignment": "assignmentType:computedMemberAssignment";
"assignmentType:memberAssignment": "assignmentType:memberAssignment";
"assignmentType:identifierAssignment": "assignmentType:identifierAssignment";
"assignmentType:otherAssignment": "assignmentType:otherAssignment";
isSignalCreation: "isSignalCreation";
signalCreationFound: "signalCreationFound";
signalAssignmentFound: "signalAssignmentFound";
signalsImportFound: "signalsImportFound";
variableCheck: "variableCheck";
ignoredByPattern: "ignoredByPattern";
validSignalFound: "validSignalFound";
hasTypeAnnotation: "hasTypeAnnotation";
reportingIssue: "reportingIssue";
parameterCheck: "parameterCheck";
propertyCheck: "propertyCheck";
mutationCheckStart: "mutationCheckStart";
importCheckStart: "importCheckStart";
functionExit: "functionExit";
checkAssignment: "checkAssignment";
checkUpdate: "checkUpdate";
signalUpdateFound: "signalUpdateFound";
batchMutation: "batchMutation";
nodeProcessingExpression: "nodeProcessingExpression";
reportGeneration: "reportGeneration";
signalAccess: "signalAccess";
signalUpdate: "signalUpdate";
signalCheck: "signalCheck";
signalCreation: "signalCreation";
nestedPropertyCheck: "nestedPropertyCheck";
identifierResolution: "identifierResolution";
scopeLookup: "scopeLookup";
typeCheck: "typeCheck";
componentCheck: "componentCheck";
hookCheck: "hookCheck";
effectCheck: "effectCheck";
batchAnalysis: "batchAnalysis";
nodeProcessing: "nodeProcessing";
dependencyCheck: "dependencyCheck";
skipProcessing: "skipProcessing";
ruleInit: "ruleInit";
ruleExecution: "ruleExecution";
analyzePropertyChainFailed: "analyzePropertyChainFailed";
getDependencyFailed: "getDependencyFailed";
importCheck: "importCheck";
conditionalAnalysis: "conditionalAnalysis";
complexityAnalysis: "complexityAnalysis";
callExpressionCheck: "callExpressionCheck";
markNodeFailed: "markNodeFailed";
nodeBudgetExceeded: "nodeBudgetExceeded";
} & NodeTypeProcessing & ImportCheckNodeType;
export type PerformanceOperationKeys = keyof PerformanceOperation;
export {};
//# sourceMappingURL=performance-constants.d.ts.map