@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 +4 -4
- package/dist/index.d.ts +27 -28
- package/dist/index.js +32 -33
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -252,10 +252,10 @@ General hook predicates:
|
|
|
252
252
|
|
|
253
253
|
Factory functions (context pre-bound):
|
|
254
254
|
|
|
255
|
-
| Predicate
|
|
256
|
-
|
|
|
257
|
-
| `
|
|
258
|
-
| `
|
|
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.
|
|
2355
|
+
component: typeof core.FunctionComponentFlag;
|
|
2356
2356
|
};
|
|
2357
2357
|
hint: {
|
|
2358
|
-
component: typeof core.
|
|
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.
|
|
2379
|
-
componentNameLoose: typeof core.
|
|
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.
|
|
2395
|
-
initializedFromReactNative: typeof core.
|
|
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
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
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:
|
|
2413
|
-
useIdCall:
|
|
2414
|
-
useImperativeHandleCall:
|
|
2415
|
-
useInsertionEffectCall:
|
|
2416
|
-
useLayoutEffectCall:
|
|
2417
|
-
useMemoCall:
|
|
2418
|
-
useOptimisticCall:
|
|
2419
|
-
useReducerCall:
|
|
2420
|
-
useRefCall:
|
|
2421
|
-
useStateCall:
|
|
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:
|
|
2424
|
-
useTransitionCall:
|
|
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 = "
|
|
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.
|
|
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.
|
|
33
|
+
flag: { component: core.FunctionComponentFlag },
|
|
34
34
|
hint: { component: {
|
|
35
|
-
...core.
|
|
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.
|
|
54
|
-
componentName: core.
|
|
55
|
-
componentNameLoose: core.
|
|
56
|
-
componentWrapperCall: (node) => core.
|
|
57
|
-
componentWrapperCallback: (node) => core.
|
|
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.
|
|
71
|
-
initializedFromReactNative: core.
|
|
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
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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": "
|
|
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/
|
|
42
|
-
"@eslint-react/
|
|
43
|
-
"@eslint-react/
|
|
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.
|
|
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"
|