@eslint-react/kit 4.2.5-beta.0 → 5.0.0-next.0

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/README.md CHANGED
@@ -252,10 +252,10 @@ General hook predicates:
252
252
 
253
253
  Factory functions (context pre-bound):
254
254
 
255
- | Predicate | Signature | Description |
256
- | -------------- | -------------------------------- | ---------------------------------------------------------------------------- |
257
- | `reactAPI` | `(apiName) -> (node) -> boolean` | Factory: creates a predicate for a React API identifier. (context pre-bound) |
258
- | `reactAPICall` | `(apiName) -> (node) -> boolean` | Factory: creates a predicate for a React API call. (context pre-bound) |
255
+ | Predicate | Signature | Description |
256
+ | --------- | -------------------------------- | ---------------------------------------------------------------------------- |
257
+ | `API` | `(apiName) -> (node) -> boolean` | Factory: creates a predicate for a React API identifier. (context pre-bound) |
258
+ | `APICall` | `(apiName) -> (node) -> boolean` | Factory: creates a predicate for a React API call. (context pre-bound) |
259
259
 
260
260
  Pre-built identifier predicates (context pre-bound):
261
261
 
package/dist/index.d.ts CHANGED
@@ -2352,14 +2352,16 @@ interface RuleToolkit {
2352
2352
  hooks(context: RuleContext): CollectorWithContext<core.HookSemanticNode>;
2353
2353
  };
2354
2354
  flag: {
2355
- component: typeof core.ComponentFlag;
2355
+ component: typeof core.FunctionComponentFlag;
2356
2356
  };
2357
2357
  hint: {
2358
- component: typeof core.ComponentDetectionHint & {
2358
+ component: typeof core.FunctionComponentDetectionHint & {
2359
2359
  Default: bigint;
2360
2360
  };
2361
2361
  };
2362
2362
  is: {
2363
+ API: (api: string) => (node: null | Node) => boolean;
2364
+ APICall: (api: string) => (node: null | Node) => node is CallExpression;
2363
2365
  captureOwnerStack: (node: null | Node) => boolean;
2364
2366
  captureOwnerStackCall: (node: null | Node) => node is CallExpression;
2365
2367
  childrenCount: (node: null | Node) => boolean;
@@ -2375,11 +2377,10 @@ interface RuleToolkit {
2375
2377
  cloneElement: (node: null | Node) => boolean;
2376
2378
  cloneElementCall: (node: null | Node) => node is CallExpression;
2377
2379
  componentDecl: (node: TSESTreeFunction, hint: bigint) => boolean;
2378
- componentName: typeof core.isComponentName;
2379
- componentNameLoose: typeof core.isComponentNameLoose;
2380
+ componentName: typeof core.isFunctionComponentName;
2381
+ componentNameLoose: typeof core.isFunctionComponentNameLoose;
2380
2382
  componentWrapperCall: (node: Node) => boolean;
2381
2383
  componentWrapperCallback: (node: Node) => boolean;
2382
- componentWrapperCallLoose: (node: Node) => boolean;
2383
2384
  createContext: (node: null | Node) => boolean;
2384
2385
  createContextCall: (node: null | Node) => node is CallExpression;
2385
2386
  createElement: (node: null | Node) => boolean;
@@ -2391,37 +2392,35 @@ interface RuleToolkit {
2391
2392
  hookCall: typeof core.isHookCall;
2392
2393
  hookDecl: typeof core.isHookDefinition;
2393
2394
  hookName: typeof core.isHookName;
2394
- initializedFromReact: typeof core.isInitializedFromReact;
2395
- initializedFromReactNative: typeof core.isInitializedFromReactNative;
2395
+ initializedFromReact: typeof core.isAPIFromReact;
2396
+ initializedFromReactNative: typeof core.isAPIFromReactNative;
2396
2397
  lazy: (node: null | Node) => boolean;
2397
2398
  lazyCall: (node: null | Node) => node is CallExpression;
2398
2399
  memo: (node: null | Node) => boolean;
2399
2400
  memoCall: (node: null | Node) => node is CallExpression;
2400
- reactAPI: (api: string) => (node: null | Node) => boolean;
2401
- reactAPICall: (api: string) => (node: null | Node) => node is CallExpression;
2402
- useActionStateCall: typeof core.isUseActionStateCall;
2403
- useCall: typeof core.isUseCall;
2404
- useCallbackCall: typeof core.isUseCallbackCall;
2405
- useContextCall: typeof core.isUseContextCall;
2406
- useDebugValueCall: typeof core.isUseDebugValueCall;
2407
- useDeferredValueCall: typeof core.isUseDeferredValueCall;
2408
- useEffectCall: typeof core.isUseEffectCall;
2401
+ useActionStateCall: (node: null | Node) => node is CallExpression;
2402
+ useCall: (node: null | Node) => node is CallExpression;
2403
+ useCallbackCall: (node: null | Node) => node is CallExpression;
2404
+ useContextCall: (node: null | Node) => node is CallExpression;
2405
+ useDebugValueCall: (node: null | Node) => node is CallExpression;
2406
+ useDeferredValueCall: (node: null | Node) => node is CallExpression;
2407
+ useEffectCall: (node: null | Node) => node is CallExpression;
2409
2408
  useEffectCleanupCallback: typeof core.isUseEffectCleanupCallback;
2410
2409
  useEffectLikeCall: typeof core.isUseEffectLikeCall;
2411
2410
  useEffectSetupCallback: typeof core.isUseEffectSetupCallback;
2412
- useFormStatusCall: typeof core.isUseFormStatusCall;
2413
- useIdCall: typeof core.isUseIdCall;
2414
- useImperativeHandleCall: typeof core.isUseImperativeHandleCall;
2415
- useInsertionEffectCall: typeof core.isUseInsertionEffectCall;
2416
- useLayoutEffectCall: typeof core.isUseLayoutEffectCall;
2417
- useMemoCall: typeof core.isUseMemoCall;
2418
- useOptimisticCall: typeof core.isUseOptimisticCall;
2419
- useReducerCall: typeof core.isUseReducerCall;
2420
- useRefCall: typeof core.isUseRefCall;
2421
- useStateCall: typeof core.isUseStateCall;
2411
+ useFormStatusCall: (node: null | Node) => node is CallExpression;
2412
+ useIdCall: (node: null | Node) => node is CallExpression;
2413
+ useImperativeHandleCall: (node: null | Node) => node is CallExpression;
2414
+ useInsertionEffectCall: (node: null | Node) => node is CallExpression;
2415
+ useLayoutEffectCall: (node: null | Node) => node is CallExpression;
2416
+ useMemoCall: (node: null | Node) => node is CallExpression;
2417
+ useOptimisticCall: (node: null | Node) => node is CallExpression;
2418
+ useReducerCall: (node: null | Node) => node is CallExpression;
2419
+ useRefCall: (node: null | Node) => node is CallExpression;
2420
+ useStateCall: (node: null | Node) => node is CallExpression;
2422
2421
  useStateLikeCall: typeof core.isUseStateLikeCall;
2423
- useSyncExternalStoreCall: typeof core.isUseSyncExternalStoreCall;
2424
- useTransitionCall: typeof core.isUseTransitionCall;
2422
+ useSyncExternalStoreCall: (node: null | Node) => node is CallExpression;
2423
+ useTransitionCall: (node: null | Node) => node is CallExpression;
2425
2424
  };
2426
2425
  settings: ESLintReactSettingsNormalized;
2427
2426
  }
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import { kebabCase } from "string-ts";
4
4
 
5
5
  //#region package.json
6
6
  var name = "@eslint-react/kit";
7
- var version = "4.2.5-beta.0";
7
+ var version = "5.0.0-next.0";
8
8
 
9
9
  //#endregion
10
10
  //#region src/index.ts
@@ -12,7 +12,7 @@ function makeRuleToolkit(context) {
12
12
  return {
13
13
  collect: {
14
14
  components(context, options) {
15
- const { api, visitor } = core.getComponentCollector(context, options);
15
+ const { api, visitor } = core.getFunctionComponentCollector(context, options);
16
16
  return {
17
17
  query: { all(program) {
18
18
  return api.getAllComponents(program);
@@ -30,12 +30,14 @@ function makeRuleToolkit(context) {
30
30
  };
31
31
  }
32
32
  },
33
- flag: { component: core.ComponentFlag },
33
+ flag: { component: core.FunctionComponentFlag },
34
34
  hint: { component: {
35
- ...core.ComponentDetectionHint,
35
+ ...core.FunctionComponentDetectionHint,
36
36
  Default: core.DEFAULT_COMPONENT_DETECTION_HINT
37
37
  } },
38
38
  is: {
39
+ API: (api) => core.isAPI(api)(context),
40
+ APICall: (api) => core.isAPICall(api)(context),
39
41
  captureOwnerStack: core.isCaptureOwnerStack(context),
40
42
  captureOwnerStackCall: core.isCaptureOwnerStackCall(context),
41
43
  childrenCount: core.isChildrenCount(context),
@@ -50,12 +52,11 @@ function makeRuleToolkit(context) {
50
52
  childrenToArrayCall: core.isChildrenToArrayCall(context),
51
53
  cloneElement: core.isCloneElement(context),
52
54
  cloneElementCall: core.isCloneElementCall(context),
53
- componentDecl: (node, hint) => core.isComponentDefinition(context, node, hint),
54
- componentName: core.isComponentName,
55
- componentNameLoose: core.isComponentNameLoose,
56
- componentWrapperCall: (node) => core.isComponentWrapperCall(context, node),
57
- componentWrapperCallback: (node) => core.isComponentWrapperCallback(context, node),
58
- componentWrapperCallLoose: (node) => core.isComponentWrapperCallLoose(context, node),
55
+ componentDecl: (node, hint) => core.isFunctionComponentDefinition(context, node, hint),
56
+ componentName: core.isFunctionComponentName,
57
+ componentNameLoose: core.isFunctionComponentNameLoose,
58
+ componentWrapperCall: (node) => core.isFunctionComponentWrapperCall(context, node),
59
+ componentWrapperCallback: (node) => core.isFunctionComponentWrapperCallback(context, node),
59
60
  createContext: core.isCreateContext(context),
60
61
  createContextCall: core.isCreateContextCall(context),
61
62
  createElement: core.isCreateElement(context),
@@ -67,37 +68,35 @@ function makeRuleToolkit(context) {
67
68
  hookCall: core.isHookCall,
68
69
  hookDecl: core.isHookDefinition,
69
70
  hookName: core.isHookName,
70
- initializedFromReact: core.isInitializedFromReact,
71
- initializedFromReactNative: core.isInitializedFromReactNative,
71
+ initializedFromReact: core.isAPIFromReact,
72
+ initializedFromReactNative: core.isAPIFromReactNative,
72
73
  lazy: core.isLazy(context),
73
74
  lazyCall: core.isLazyCall(context),
74
75
  memo: core.isMemo(context),
75
76
  memoCall: core.isMemoCall(context),
76
- reactAPI: (api) => core.isReactAPI(api)(context),
77
- reactAPICall: (api) => core.isReactAPICall(api)(context),
78
- useActionStateCall: core.isUseActionStateCall,
79
- useCall: core.isUseCall,
80
- useCallbackCall: core.isUseCallbackCall,
81
- useContextCall: core.isUseContextCall,
82
- useDebugValueCall: core.isUseDebugValueCall,
83
- useDeferredValueCall: core.isUseDeferredValueCall,
84
- useEffectCall: core.isUseEffectCall,
77
+ useActionStateCall: core.isUseActionStateCall(context),
78
+ useCall: core.isUseCall(context),
79
+ useCallbackCall: core.isUseCallbackCall(context),
80
+ useContextCall: core.isUseContextCall(context),
81
+ useDebugValueCall: core.isUseDebugValueCall(context),
82
+ useDeferredValueCall: core.isUseDeferredValueCall(context),
83
+ useEffectCall: core.isUseEffectCall(context),
85
84
  useEffectCleanupCallback: core.isUseEffectCleanupCallback,
86
85
  useEffectLikeCall: core.isUseEffectLikeCall,
87
86
  useEffectSetupCallback: core.isUseEffectSetupCallback,
88
- useFormStatusCall: core.isUseFormStatusCall,
89
- useIdCall: core.isUseIdCall,
90
- useImperativeHandleCall: core.isUseImperativeHandleCall,
91
- useInsertionEffectCall: core.isUseInsertionEffectCall,
92
- useLayoutEffectCall: core.isUseLayoutEffectCall,
93
- useMemoCall: core.isUseMemoCall,
94
- useOptimisticCall: core.isUseOptimisticCall,
95
- useReducerCall: core.isUseReducerCall,
96
- useRefCall: core.isUseRefCall,
97
- useStateCall: core.isUseStateCall,
87
+ useFormStatusCall: core.isUseFormStatusCall(context),
88
+ useIdCall: core.isUseIdCall(context),
89
+ useImperativeHandleCall: core.isUseImperativeHandleCall(context),
90
+ useInsertionEffectCall: core.isUseInsertionEffectCall(context),
91
+ useLayoutEffectCall: core.isUseLayoutEffectCall(context),
92
+ useMemoCall: core.isUseMemoCall(context),
93
+ useOptimisticCall: core.isUseOptimisticCall(context),
94
+ useReducerCall: core.isUseReducerCall(context),
95
+ useRefCall: core.isUseRefCall(context),
96
+ useStateCall: core.isUseStateCall(context),
98
97
  useStateLikeCall: core.isUseStateLikeCall,
99
- useSyncExternalStoreCall: core.isUseSyncExternalStoreCall,
100
- useTransitionCall: core.isUseTransitionCall
98
+ useSyncExternalStoreCall: core.isUseSyncExternalStoreCall(context),
99
+ useTransitionCall: core.isUseTransitionCall(context)
101
100
  },
102
101
  settings: getSettingsFromContext(context)
103
102
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eslint-react/kit",
3
- "version": "4.2.5-beta.0",
3
+ "version": "5.0.0-next.0",
4
4
  "description": "ESLint React's utility module for building custom React rules with JavasSript functions.",
5
5
  "keywords": [
6
6
  "react",
@@ -38,12 +38,12 @@
38
38
  "dependencies": {
39
39
  "@typescript-eslint/utils": "^8.58.0",
40
40
  "string-ts": "^2.3.1",
41
- "@eslint-react/core": "4.2.5-beta.0",
42
- "@eslint-react/ast": "4.2.5-beta.0",
43
- "@eslint-react/shared": "4.2.5-beta.0"
41
+ "@eslint-react/ast": "5.0.0-next.0",
42
+ "@eslint-react/shared": "5.0.0-next.0",
43
+ "@eslint-react/core": "5.0.0-next.0"
44
44
  },
45
45
  "devDependencies": {
46
- "eslint": "^10.1.0",
46
+ "eslint": "^10.2.0",
47
47
  "tsdown": "^0.21.7",
48
48
  "@local/configs": "0.0.0",
49
49
  "@local/eff": "3.0.0-beta.72"