UNPKG

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