eslint-plugin-react-hooks-extra 1.26.3-beta.13 → 1.26.3-beta.16
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/dist/index.d.mts +33 -6
- package/dist/index.d.ts +33 -6
- package/dist/index.js +56 -14
- package/dist/index.mjs +56 -14
- package/package.json +13 -13
package/dist/index.d.mts
CHANGED
|
@@ -1,24 +1,51 @@
|
|
|
1
1
|
import * as _typescript_eslint_utils_ts_eslint from '@typescript-eslint/utils/ts-eslint';
|
|
2
|
+
import { RulePreset } from '@eslint-react/shared';
|
|
2
3
|
|
|
3
4
|
declare const _default: {
|
|
4
|
-
|
|
5
|
+
configs: {
|
|
6
|
+
recommended: {
|
|
7
|
+
plugins: {
|
|
8
|
+
"react-x": {
|
|
9
|
+
readonly meta: {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly version: string;
|
|
12
|
+
};
|
|
13
|
+
readonly rules: {
|
|
14
|
+
readonly "no-direct-set-state-in-use-effect": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectSetStateInUseEffect", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
15
|
+
readonly "no-direct-set-state-in-use-layout-effect": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectSetStateInUseLayoutEffect", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
16
|
+
readonly "no-unnecessary-use-callback": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseCallback", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
17
|
+
readonly "no-unnecessary-use-memo": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseMemo", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
18
|
+
readonly "no-useless-custom-hooks": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
19
|
+
readonly "prefer-use-state-lazy-initialization": _typescript_eslint_utils_ts_eslint.RuleModule<"preferUseStateLazyInitialization", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
20
|
+
readonly "ensure-custom-hooks-using-other-hooks": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
21
|
+
readonly "ensure-use-callback-has-non-empty-deps": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseCallback", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
22
|
+
readonly "ensure-use-memo-has-non-empty-deps": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseMemo", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
23
|
+
readonly "no-redundant-custom-hook": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
name: string;
|
|
28
|
+
rules: RulePreset;
|
|
29
|
+
};
|
|
30
|
+
"recommended-legacy": {
|
|
31
|
+
plugins: string[];
|
|
32
|
+
rules: RulePreset;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
meta: {
|
|
5
36
|
readonly name: string;
|
|
6
37
|
readonly version: string;
|
|
7
38
|
};
|
|
8
|
-
|
|
39
|
+
rules: {
|
|
9
40
|
readonly "no-direct-set-state-in-use-effect": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectSetStateInUseEffect", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
10
41
|
readonly "no-direct-set-state-in-use-layout-effect": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectSetStateInUseLayoutEffect", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
11
42
|
readonly "no-unnecessary-use-callback": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseCallback", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
12
43
|
readonly "no-unnecessary-use-memo": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseMemo", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
13
44
|
readonly "no-useless-custom-hooks": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
14
45
|
readonly "prefer-use-state-lazy-initialization": _typescript_eslint_utils_ts_eslint.RuleModule<"preferUseStateLazyInitialization", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
15
|
-
/** @deprecated Use `no-useless-custom-hooks` instead */
|
|
16
46
|
readonly "ensure-custom-hooks-using-other-hooks": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
17
|
-
/** @deprecated Use `no-unnecessary-use-callback` instead */
|
|
18
47
|
readonly "ensure-use-callback-has-non-empty-deps": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseCallback", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
19
|
-
/** @deprecated Use `no-unnecessary-use-memo` instead */
|
|
20
48
|
readonly "ensure-use-memo-has-non-empty-deps": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseMemo", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
21
|
-
/** @deprecated Use `no-useless-custom-hooks` instead */
|
|
22
49
|
readonly "no-redundant-custom-hook": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
23
50
|
};
|
|
24
51
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,24 +1,51 @@
|
|
|
1
1
|
import * as _typescript_eslint_utils_ts_eslint from '@typescript-eslint/utils/ts-eslint';
|
|
2
|
+
import { RulePreset } from '@eslint-react/shared';
|
|
2
3
|
|
|
3
4
|
declare const _default: {
|
|
4
|
-
|
|
5
|
+
configs: {
|
|
6
|
+
recommended: {
|
|
7
|
+
plugins: {
|
|
8
|
+
"react-x": {
|
|
9
|
+
readonly meta: {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly version: string;
|
|
12
|
+
};
|
|
13
|
+
readonly rules: {
|
|
14
|
+
readonly "no-direct-set-state-in-use-effect": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectSetStateInUseEffect", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
15
|
+
readonly "no-direct-set-state-in-use-layout-effect": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectSetStateInUseLayoutEffect", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
16
|
+
readonly "no-unnecessary-use-callback": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseCallback", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
17
|
+
readonly "no-unnecessary-use-memo": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseMemo", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
18
|
+
readonly "no-useless-custom-hooks": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
19
|
+
readonly "prefer-use-state-lazy-initialization": _typescript_eslint_utils_ts_eslint.RuleModule<"preferUseStateLazyInitialization", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
20
|
+
readonly "ensure-custom-hooks-using-other-hooks": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
21
|
+
readonly "ensure-use-callback-has-non-empty-deps": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseCallback", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
22
|
+
readonly "ensure-use-memo-has-non-empty-deps": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseMemo", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
23
|
+
readonly "no-redundant-custom-hook": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
name: string;
|
|
28
|
+
rules: RulePreset;
|
|
29
|
+
};
|
|
30
|
+
"recommended-legacy": {
|
|
31
|
+
plugins: string[];
|
|
32
|
+
rules: RulePreset;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
meta: {
|
|
5
36
|
readonly name: string;
|
|
6
37
|
readonly version: string;
|
|
7
38
|
};
|
|
8
|
-
|
|
39
|
+
rules: {
|
|
9
40
|
readonly "no-direct-set-state-in-use-effect": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectSetStateInUseEffect", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
10
41
|
readonly "no-direct-set-state-in-use-layout-effect": _typescript_eslint_utils_ts_eslint.RuleModule<"noDirectSetStateInUseLayoutEffect", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
11
42
|
readonly "no-unnecessary-use-callback": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseCallback", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
12
43
|
readonly "no-unnecessary-use-memo": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseMemo", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
13
44
|
readonly "no-useless-custom-hooks": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
14
45
|
readonly "prefer-use-state-lazy-initialization": _typescript_eslint_utils_ts_eslint.RuleModule<"preferUseStateLazyInitialization", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
15
|
-
/** @deprecated Use `no-useless-custom-hooks` instead */
|
|
16
46
|
readonly "ensure-custom-hooks-using-other-hooks": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
17
|
-
/** @deprecated Use `no-unnecessary-use-callback` instead */
|
|
18
47
|
readonly "ensure-use-callback-has-non-empty-deps": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseCallback", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
19
|
-
/** @deprecated Use `no-unnecessary-use-memo` instead */
|
|
20
48
|
readonly "ensure-use-memo-has-non-empty-deps": _typescript_eslint_utils_ts_eslint.RuleModule<"noUnnecessaryUseMemo", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
21
|
-
/** @deprecated Use `no-useless-custom-hooks` instead */
|
|
22
49
|
readonly "no-redundant-custom-hook": _typescript_eslint_utils_ts_eslint.RuleModule<"noUselessCustomHooks", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
|
|
23
50
|
};
|
|
24
51
|
};
|
package/dist/index.js
CHANGED
|
@@ -29,18 +29,37 @@ function _interopNamespace(e) {
|
|
|
29
29
|
var AST__namespace = /*#__PURE__*/_interopNamespace(AST);
|
|
30
30
|
var VAR5__namespace = /*#__PURE__*/_interopNamespace(VAR5);
|
|
31
31
|
|
|
32
|
+
var __defProp = Object.defineProperty;
|
|
33
|
+
var __export = (target, all) => {
|
|
34
|
+
for (var name3 in all)
|
|
35
|
+
__defProp(target, name3, { get: all[name3], enumerable: true });
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
// src/configs/recommended.ts
|
|
39
|
+
var recommended_exports = {};
|
|
40
|
+
__export(recommended_exports, {
|
|
41
|
+
name: () => name,
|
|
42
|
+
rules: () => rules
|
|
43
|
+
});
|
|
44
|
+
var name = "react-hooks-extra/recommended";
|
|
45
|
+
var rules = {
|
|
46
|
+
"react-hooks-extra/no-direct-set-state-in-use-effect": "warn",
|
|
47
|
+
"react-hooks-extra/no-useless-custom-hooks": "warn",
|
|
48
|
+
"react-hooks-extra/prefer-use-state-lazy-initialization": "warn"
|
|
49
|
+
};
|
|
50
|
+
|
|
32
51
|
// package.json
|
|
33
|
-
var
|
|
34
|
-
var version = "1.26.3-beta.
|
|
52
|
+
var name2 = "eslint-plugin-react-hooks-extra";
|
|
53
|
+
var version = "1.26.3-beta.16";
|
|
35
54
|
var createRule = shared.createRuleForPlugin("hooks-extra");
|
|
36
|
-
function isFromHookCall(
|
|
37
|
-
const hookAlias = settings.additionalHooks[
|
|
55
|
+
function isFromHookCall(name3, context, settings, predicate = eff.constTrue) {
|
|
56
|
+
const hookAlias = settings.additionalHooks[name3] ?? [];
|
|
38
57
|
return (topLevelId) => {
|
|
39
58
|
const variable = VAR5__namespace.findVariable(topLevelId, context.sourceCode.getScope(topLevelId));
|
|
40
59
|
const variableNode = VAR5__namespace.getVariableNode(variable, 0);
|
|
41
60
|
if (variableNode == null) return false;
|
|
42
61
|
if (variableNode.type !== types.AST_NODE_TYPES.CallExpression) return false;
|
|
43
|
-
if (!core.isReactHookCallWithNameAlias(
|
|
62
|
+
if (!core.isReactHookCallWithNameAlias(name3, context, hookAlias)(variableNode)) return false;
|
|
44
63
|
return predicate(topLevelId, variableNode);
|
|
45
64
|
};
|
|
46
65
|
}
|
|
@@ -297,8 +316,8 @@ var no_direct_set_state_in_use_effect_default = createRule({
|
|
|
297
316
|
if (!("name" in callee)) {
|
|
298
317
|
continue;
|
|
299
318
|
}
|
|
300
|
-
const { name:
|
|
301
|
-
const setStateCalls = getSetStateCalls(
|
|
319
|
+
const { name: name3 } = callee;
|
|
320
|
+
const setStateCalls = getSetStateCalls(name3, context.sourceCode.getScope(callee));
|
|
302
321
|
for (const setStateCall of setStateCalls) {
|
|
303
322
|
context.report({
|
|
304
323
|
messageId: "noDirectSetStateInUseEffect",
|
|
@@ -496,8 +515,8 @@ var no_direct_set_state_in_use_layout_effect_default = createRule({
|
|
|
496
515
|
if (!("name" in callee)) {
|
|
497
516
|
continue;
|
|
498
517
|
}
|
|
499
|
-
const { name:
|
|
500
|
-
const setStateCalls = getSetStateCalls(
|
|
518
|
+
const { name: name3 } = callee;
|
|
519
|
+
const setStateCalls = getSetStateCalls(name3, context.sourceCode.getScope(callee));
|
|
501
520
|
for (const setStateCall of setStateCalls) {
|
|
502
521
|
context.report({
|
|
503
522
|
messageId: "noDirectSetStateInUseLayoutEffect",
|
|
@@ -713,7 +732,7 @@ var no_useless_custom_hooks_default = createRule({
|
|
|
713
732
|
...listeners,
|
|
714
733
|
"Program:exit"(node) {
|
|
715
734
|
const allHooks = ctx.getAllHooks(node);
|
|
716
|
-
for (const { name:
|
|
735
|
+
for (const { name: name3, node: node2, hookCalls } of allHooks.values()) {
|
|
717
736
|
if (AST__namespace.isEmptyFunction(node2)) {
|
|
718
737
|
continue;
|
|
719
738
|
}
|
|
@@ -727,7 +746,7 @@ var no_useless_custom_hooks_default = createRule({
|
|
|
727
746
|
messageId: "noUselessCustomHooks",
|
|
728
747
|
node: node2,
|
|
729
748
|
data: {
|
|
730
|
-
name:
|
|
749
|
+
name: name3
|
|
731
750
|
}
|
|
732
751
|
});
|
|
733
752
|
}
|
|
@@ -791,10 +810,10 @@ var prefer_use_state_lazy_initialization_default = createRule({
|
|
|
791
810
|
defaultOptions: []
|
|
792
811
|
});
|
|
793
812
|
|
|
794
|
-
// src/
|
|
795
|
-
var
|
|
813
|
+
// src/plugin.ts
|
|
814
|
+
var plugin = {
|
|
796
815
|
meta: {
|
|
797
|
-
name,
|
|
816
|
+
name: name2,
|
|
798
817
|
version
|
|
799
818
|
},
|
|
800
819
|
rules: {
|
|
@@ -816,4 +835,27 @@ var index_default = {
|
|
|
816
835
|
}
|
|
817
836
|
};
|
|
818
837
|
|
|
838
|
+
// src/index.ts
|
|
839
|
+
function makeConfig(config) {
|
|
840
|
+
return {
|
|
841
|
+
...config,
|
|
842
|
+
plugins: {
|
|
843
|
+
"react-x": plugin
|
|
844
|
+
}
|
|
845
|
+
};
|
|
846
|
+
}
|
|
847
|
+
function makeLegacyConfig(config) {
|
|
848
|
+
return {
|
|
849
|
+
plugins: ["react-x"],
|
|
850
|
+
rules: config.rules
|
|
851
|
+
};
|
|
852
|
+
}
|
|
853
|
+
var index_default = {
|
|
854
|
+
...plugin,
|
|
855
|
+
configs: {
|
|
856
|
+
["recommended"]: makeConfig(recommended_exports),
|
|
857
|
+
["recommended-legacy"]: makeLegacyConfig(recommended_exports)
|
|
858
|
+
}
|
|
859
|
+
};
|
|
860
|
+
|
|
819
861
|
module.exports = index_default;
|
package/dist/index.mjs
CHANGED
|
@@ -6,18 +6,37 @@ import * as VAR5 from '@eslint-react/var';
|
|
|
6
6
|
import { AST_NODE_TYPES } from '@typescript-eslint/types';
|
|
7
7
|
import { match } from 'ts-pattern';
|
|
8
8
|
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __export = (target, all) => {
|
|
11
|
+
for (var name3 in all)
|
|
12
|
+
__defProp(target, name3, { get: all[name3], enumerable: true });
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
// src/configs/recommended.ts
|
|
16
|
+
var recommended_exports = {};
|
|
17
|
+
__export(recommended_exports, {
|
|
18
|
+
name: () => name,
|
|
19
|
+
rules: () => rules
|
|
20
|
+
});
|
|
21
|
+
var name = "react-hooks-extra/recommended";
|
|
22
|
+
var rules = {
|
|
23
|
+
"react-hooks-extra/no-direct-set-state-in-use-effect": "warn",
|
|
24
|
+
"react-hooks-extra/no-useless-custom-hooks": "warn",
|
|
25
|
+
"react-hooks-extra/prefer-use-state-lazy-initialization": "warn"
|
|
26
|
+
};
|
|
27
|
+
|
|
9
28
|
// package.json
|
|
10
|
-
var
|
|
11
|
-
var version = "1.26.3-beta.
|
|
29
|
+
var name2 = "eslint-plugin-react-hooks-extra";
|
|
30
|
+
var version = "1.26.3-beta.16";
|
|
12
31
|
var createRule = createRuleForPlugin("hooks-extra");
|
|
13
|
-
function isFromHookCall(
|
|
14
|
-
const hookAlias = settings.additionalHooks[
|
|
32
|
+
function isFromHookCall(name3, context, settings, predicate = constTrue) {
|
|
33
|
+
const hookAlias = settings.additionalHooks[name3] ?? [];
|
|
15
34
|
return (topLevelId) => {
|
|
16
35
|
const variable = VAR5.findVariable(topLevelId, context.sourceCode.getScope(topLevelId));
|
|
17
36
|
const variableNode = VAR5.getVariableNode(variable, 0);
|
|
18
37
|
if (variableNode == null) return false;
|
|
19
38
|
if (variableNode.type !== AST_NODE_TYPES.CallExpression) return false;
|
|
20
|
-
if (!isReactHookCallWithNameAlias(
|
|
39
|
+
if (!isReactHookCallWithNameAlias(name3, context, hookAlias)(variableNode)) return false;
|
|
21
40
|
return predicate(topLevelId, variableNode);
|
|
22
41
|
};
|
|
23
42
|
}
|
|
@@ -274,8 +293,8 @@ var no_direct_set_state_in_use_effect_default = createRule({
|
|
|
274
293
|
if (!("name" in callee)) {
|
|
275
294
|
continue;
|
|
276
295
|
}
|
|
277
|
-
const { name:
|
|
278
|
-
const setStateCalls = getSetStateCalls(
|
|
296
|
+
const { name: name3 } = callee;
|
|
297
|
+
const setStateCalls = getSetStateCalls(name3, context.sourceCode.getScope(callee));
|
|
279
298
|
for (const setStateCall of setStateCalls) {
|
|
280
299
|
context.report({
|
|
281
300
|
messageId: "noDirectSetStateInUseEffect",
|
|
@@ -473,8 +492,8 @@ var no_direct_set_state_in_use_layout_effect_default = createRule({
|
|
|
473
492
|
if (!("name" in callee)) {
|
|
474
493
|
continue;
|
|
475
494
|
}
|
|
476
|
-
const { name:
|
|
477
|
-
const setStateCalls = getSetStateCalls(
|
|
495
|
+
const { name: name3 } = callee;
|
|
496
|
+
const setStateCalls = getSetStateCalls(name3, context.sourceCode.getScope(callee));
|
|
478
497
|
for (const setStateCall of setStateCalls) {
|
|
479
498
|
context.report({
|
|
480
499
|
messageId: "noDirectSetStateInUseLayoutEffect",
|
|
@@ -690,7 +709,7 @@ var no_useless_custom_hooks_default = createRule({
|
|
|
690
709
|
...listeners,
|
|
691
710
|
"Program:exit"(node) {
|
|
692
711
|
const allHooks = ctx.getAllHooks(node);
|
|
693
|
-
for (const { name:
|
|
712
|
+
for (const { name: name3, node: node2, hookCalls } of allHooks.values()) {
|
|
694
713
|
if (AST.isEmptyFunction(node2)) {
|
|
695
714
|
continue;
|
|
696
715
|
}
|
|
@@ -704,7 +723,7 @@ var no_useless_custom_hooks_default = createRule({
|
|
|
704
723
|
messageId: "noUselessCustomHooks",
|
|
705
724
|
node: node2,
|
|
706
725
|
data: {
|
|
707
|
-
name:
|
|
726
|
+
name: name3
|
|
708
727
|
}
|
|
709
728
|
});
|
|
710
729
|
}
|
|
@@ -768,10 +787,10 @@ var prefer_use_state_lazy_initialization_default = createRule({
|
|
|
768
787
|
defaultOptions: []
|
|
769
788
|
});
|
|
770
789
|
|
|
771
|
-
// src/
|
|
772
|
-
var
|
|
790
|
+
// src/plugin.ts
|
|
791
|
+
var plugin = {
|
|
773
792
|
meta: {
|
|
774
|
-
name,
|
|
793
|
+
name: name2,
|
|
775
794
|
version
|
|
776
795
|
},
|
|
777
796
|
rules: {
|
|
@@ -793,4 +812,27 @@ var index_default = {
|
|
|
793
812
|
}
|
|
794
813
|
};
|
|
795
814
|
|
|
815
|
+
// src/index.ts
|
|
816
|
+
function makeConfig(config) {
|
|
817
|
+
return {
|
|
818
|
+
...config,
|
|
819
|
+
plugins: {
|
|
820
|
+
"react-x": plugin
|
|
821
|
+
}
|
|
822
|
+
};
|
|
823
|
+
}
|
|
824
|
+
function makeLegacyConfig(config) {
|
|
825
|
+
return {
|
|
826
|
+
plugins: ["react-x"],
|
|
827
|
+
rules: config.rules
|
|
828
|
+
};
|
|
829
|
+
}
|
|
830
|
+
var index_default = {
|
|
831
|
+
...plugin,
|
|
832
|
+
configs: {
|
|
833
|
+
["recommended"]: makeConfig(recommended_exports),
|
|
834
|
+
["recommended-legacy"]: makeLegacyConfig(recommended_exports)
|
|
835
|
+
}
|
|
836
|
+
};
|
|
837
|
+
|
|
796
838
|
export { index_default as default };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-react-hooks-extra",
|
|
3
|
-
"version": "1.26.3-beta.
|
|
3
|
+
"version": "1.26.3-beta.16",
|
|
4
4
|
"description": "ESLint React's ESLint plugin for React Hooks related rules.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -44,22 +44,22 @@
|
|
|
44
44
|
"./package.json"
|
|
45
45
|
],
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@typescript-eslint/scope-manager": "^8.24.
|
|
48
|
-
"@typescript-eslint/type-utils": "^8.24.
|
|
49
|
-
"@typescript-eslint/types": "^8.24.
|
|
50
|
-
"@typescript-eslint/utils": "^8.24.
|
|
47
|
+
"@typescript-eslint/scope-manager": "^8.24.1",
|
|
48
|
+
"@typescript-eslint/type-utils": "^8.24.1",
|
|
49
|
+
"@typescript-eslint/types": "^8.24.1",
|
|
50
|
+
"@typescript-eslint/utils": "^8.24.1",
|
|
51
51
|
"string-ts": "^2.2.1",
|
|
52
52
|
"ts-pattern": "^5.6.2",
|
|
53
|
-
"@eslint-react/ast": "1.26.3-beta.
|
|
54
|
-
"@eslint-react/core": "1.26.3-beta.
|
|
55
|
-
"@eslint-react/eff": "1.26.3-beta.
|
|
56
|
-
"@eslint-react/jsx": "1.26.3-beta.
|
|
57
|
-
"@eslint-react/shared": "1.26.3-beta.
|
|
58
|
-
"@eslint-react/var": "1.26.3-beta.
|
|
53
|
+
"@eslint-react/ast": "1.26.3-beta.16",
|
|
54
|
+
"@eslint-react/core": "1.26.3-beta.16",
|
|
55
|
+
"@eslint-react/eff": "1.26.3-beta.16",
|
|
56
|
+
"@eslint-react/jsx": "1.26.3-beta.16",
|
|
57
|
+
"@eslint-react/shared": "1.26.3-beta.16",
|
|
58
|
+
"@eslint-react/var": "1.26.3-beta.16"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@types/react": "^19.0.
|
|
62
|
-
"@types/react-dom": "^19.0.
|
|
61
|
+
"@types/react": "^19.0.10",
|
|
62
|
+
"@types/react-dom": "^19.0.4",
|
|
63
63
|
"tsup": "^8.3.6",
|
|
64
64
|
"@local/configs": "0.0.0"
|
|
65
65
|
},
|