@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
20 lines • 1.42 kB
TypeScript
import { ESLintUtils } from '@typescript-eslint/utils';
import type { PerformanceBudget } from './utils/types.js';
type MessageIds = 'missingDependencies' | 'missingDependency' | 'unnecessaryDependencies' | 'unnecessaryDependency' | 'duplicateDependencies' | 'duplicateDependency' | 'unknownDependencies' | 'asyncEffect' | 'missingEffectCallback' | 'staleAssignmentDependency' | 'staleAssignmentLiteral' | 'staleAssignmentExpression' | 'staleAssignmentUnstable' | 'spreadElementInDependencyArray' | 'useEffectEventInDependencyArray' | 'addAllDependencies' | 'addSingleDependency' | 'removeDependencyArray' | 'addDependencies' | 'removeDependency' | 'removeSingleDependency' | 'removeAllDuplicates' | 'removeAllUnnecessaryDependencies' | 'removeThisDuplicate' | 'dependencyWithoutSignal' | 'notArrayLiteral' | 'moveInsideEffect';
type Severity = {
[key in MessageIds]?: 'error' | 'warn' | 'off';
};
type Option = {
additionalHooks?: string | undefined;
unsafeAutofix?: boolean;
experimental_autoDependenciesHooks?: Array<string>;
requireExplicitEffectDeps?: boolean;
enableAutoFixForMemoAndCallback?: boolean;
performance?: PerformanceBudget;
severity?: Severity;
suffix?: string;
};
type Options = [Option?];
export declare const exhaustiveDepsRule: ESLintUtils.RuleModule<MessageIds, Options, unknown, ESLintUtils.RuleListener>;
export {};
//# sourceMappingURL=exhaustive-deps.d.ts.map