Skip to content

Commit fb4b320

Browse files
authored
refactor: improve settings handling (#1080)
1 parent 6308d51 commit fb4b320

File tree

10 files changed

+237
-249
lines changed

10 files changed

+237
-249
lines changed

packages/core/src/hook/hook-is.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ import type { RuleContext } from "@eslint-react/kit";
33
import type { TSESTree } from "@typescript-eslint/types";
44
import * as AST from "@eslint-react/ast";
55
import { constFalse, flip } from "@eslint-react/eff";
6-
import { coerceSettings } from "@eslint-react/shared";
6+
import { coerceSettings, DEFAULT_ESLINT_REACT_SETTINGS } from "@eslint-react/shared";
77
import { AST_NODE_TYPES as T } from "@typescript-eslint/types";
88

9-
import { DEFAULT_ESLINT_REACT_SETTINGS } from "../../../shared/src/schemas";
109
import { isInitializedFromReact } from "../utils";
1110
import { isReactHookName } from "./hook-name";
1211

packages/plugins/eslint-plugin-react-dom/src/utils/create-jsx-element-resolver.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,11 @@ import * as ER from "@eslint-react/core";
55
import { getSettingsFromContext } from "@eslint-react/shared";
66

77
export function createJsxElementResolver(context: RuleContext) {
8-
const {
9-
additionalComponents,
10-
polymorphicPropName,
11-
} = getSettingsFromContext(context);
8+
const { components, polymorphicPropName } = getSettingsFromContext(context);
129
return {
1310
resolve(node: TSESTree.JSXElement) {
1411
const name = ER.getElementType(context, node);
15-
const component = additionalComponents
12+
const component = components
1613
.findLast((c) => c.name === name || c.re.test(name));
1714
const result = {
1815
attributes: component?.attributes ?? [],

packages/plugins/eslint-plugin-react-hooks-extra/src/hooks/use-no-direct-set-state-in-use-effect.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ export function useNoDirectSetStateInUseEffect<Ctx extends RuleContext>(
4646
): useNoDirectSetStateInUseEffect.ReturnType {
4747
const { onViolation, useEffectKind } = options;
4848
const settings = getSettingsFromContext(context);
49-
const additionalHooks = settings.additionalHooks;
49+
const hooks = settings.additionalHooks;
5050
const getText = (n: TSESTree.Node) => context.sourceCode.getText(n);
51-
const isUseEffectLikeCall = ER.isReactHookCallWithNameAlias(context, useEffectKind, additionalHooks[useEffectKind]);
52-
const isUseStateCall = ER.isReactHookCallWithNameAlias(context, "useState", additionalHooks.useState);
53-
const isUseMemoCall = ER.isReactHookCallWithNameAlias(context, "useMemo", additionalHooks.useMemo);
54-
const isUseCallbackCall = ER.isReactHookCallWithNameAlias(context, "useCallback", additionalHooks.useCallback);
51+
const isUseEffectLikeCall = ER.isReactHookCallWithNameAlias(context, useEffectKind, hooks[useEffectKind]);
52+
const isUseStateCall = ER.isReactHookCallWithNameAlias(context, "useState", hooks.useState);
53+
const isUseMemoCall = ER.isReactHookCallWithNameAlias(context, "useMemo", hooks.useMemo);
54+
const isUseCallbackCall = ER.isReactHookCallWithNameAlias(context, "useCallback", hooks.useCallback);
5555
const isSetStateCall = isSetFunctionCall(context, settings);
5656
const isIdFromUseStateCall = isFromUseStateCall(context, settings);
5757

packages/shared/docs/functions/getReactVersion.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
### fallback
1414

15-
`string` = `"19.0.0"`
15+
`string`
1616

1717
## Returns
1818

packages/shared/docs/functions/normalizeSettings.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,6 @@
128128

129129
`object`
130130

131-
### additionalComponents
132-
133-
> `readonly` **additionalComponents**: `object`[]
134-
135131
### additionalHooks
136132

137133
> **additionalHooks**: `object`
@@ -212,6 +208,10 @@
212208

213209
> `optional` **useTransition**: `string`[]
214210
211+
### components
212+
213+
> `readonly` **components**: `object`[]
214+
215215
### importSource
216216

217217
> **importSource**: `string`

packages/shared/docs/interfaces/ESLintReactSettingsNormalized.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@
88

99
## Properties
1010

11-
### additionalComponents
12-
13-
> **additionalComponents**: [`CustomComponentNormalized`](CustomComponentNormalized.md)[]
14-
15-
***
16-
1711
### additionalHooks
1812

1913
> **additionalHooks**: `object`
@@ -96,6 +90,12 @@
9690
9791
***
9892

93+
### components
94+
95+
> **components**: [`CustomComponentNormalized`](CustomComponentNormalized.md)[]
96+
97+
***
98+
9999
### importSource
100100

101101
> **importSource**: `string`

packages/shared/src/get-react-version.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { match, P } from "ts-pattern";
55

66
const _require = module.createRequire(import.meta.url);
77

8-
export function getReactVersion(fallback = "19.0.0"): string {
8+
export function getReactVersion(fallback: string): string {
99
try {
1010
return match(_require("react"))
1111
.with({ version: P.select(P.string) }, identity)

packages/shared/src/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@ export * from "./constants";
22
export * from "./get-doc-url";
33
export * from "./get-id";
44
export * from "./get-react-version";
5-
export * from "./schemas";
65
export * from "./settings";

packages/shared/src/schemas.ts

Lines changed: 0 additions & 196 deletions
This file was deleted.

0 commit comments

Comments
 (0)