eslint-plugin-react-hooks-extra 1.5.11-next.8 → 1.5.11
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.js +9 -14
- package/dist/index.mjs +10 -15
- package/package.json +10 -9
package/dist/index.js
CHANGED
|
@@ -4,8 +4,8 @@ var core = require('@eslint-react/core');
|
|
|
4
4
|
require('string-ts');
|
|
5
5
|
var shared = require('@eslint-react/shared');
|
|
6
6
|
var ast = require('@eslint-react/ast');
|
|
7
|
-
var jsx = require('@eslint-react/jsx');
|
|
8
7
|
var _var = require('@eslint-react/var');
|
|
8
|
+
var valibot = require('valibot');
|
|
9
9
|
|
|
10
10
|
var __defProp = Object.defineProperty;
|
|
11
11
|
var __export = (target, all2) => {
|
|
@@ -15,7 +15,7 @@ var __export = (target, all2) => {
|
|
|
15
15
|
|
|
16
16
|
// package.json
|
|
17
17
|
var name = "eslint-plugin-react-hooks-extra";
|
|
18
|
-
var version = "1.5.11
|
|
18
|
+
var version = "1.5.11";
|
|
19
19
|
var createRule = shared.createRuleForPlugin("hooks-extra");
|
|
20
20
|
|
|
21
21
|
// src/rules/ensure-custom-hooks-using-other-hooks.ts
|
|
@@ -1298,8 +1298,6 @@ var z = class _z {
|
|
|
1298
1298
|
return this;
|
|
1299
1299
|
}
|
|
1300
1300
|
};
|
|
1301
|
-
|
|
1302
|
-
// src/rules/ensure-use-callback-has-non-empty-deps.ts
|
|
1303
1301
|
var RULE_NAME2 = "ensure-use-callback-has-non-empty-deps";
|
|
1304
1302
|
var ensure_use_callback_has_non_empty_deps_default = createRule({
|
|
1305
1303
|
meta: {
|
|
@@ -1315,14 +1313,13 @@ var ensure_use_callback_has_non_empty_deps_default = createRule({
|
|
|
1315
1313
|
},
|
|
1316
1314
|
name: RULE_NAME2,
|
|
1317
1315
|
create(context) {
|
|
1318
|
-
const alias =
|
|
1319
|
-
const pragma = jsx.getPragmaFromContext(context);
|
|
1316
|
+
const alias = valibot.parse(shared.ESLintSettingsSchema, context.settings).reactOptions?.additionalHooks?.useCallback ?? [];
|
|
1320
1317
|
return {
|
|
1321
1318
|
CallExpression(node) {
|
|
1322
1319
|
const initialScope = context.sourceCode.getScope(node);
|
|
1323
1320
|
if (!core.isReactHookCall(node))
|
|
1324
1321
|
return;
|
|
1325
|
-
if (!core.isUseCallbackCall(node, context
|
|
1322
|
+
if (!core.isUseCallbackCall(node, context) && !alias.some(Function_exports.flip(core.isReactHookCallWithNameLoose)(node))) {
|
|
1326
1323
|
return;
|
|
1327
1324
|
}
|
|
1328
1325
|
const [_2, deps] = node.arguments;
|
|
@@ -1368,14 +1365,13 @@ var ensure_use_memo_has_non_empty_deps_default = createRule({
|
|
|
1368
1365
|
},
|
|
1369
1366
|
name: RULE_NAME3,
|
|
1370
1367
|
create(context) {
|
|
1371
|
-
const alias =
|
|
1372
|
-
const pragma = jsx.getPragmaFromContext(context);
|
|
1368
|
+
const alias = valibot.parse(shared.ESLintSettingsSchema, context.settings).reactOptions?.additionalHooks?.useMemo ?? [];
|
|
1373
1369
|
return {
|
|
1374
1370
|
CallExpression(node) {
|
|
1375
1371
|
const initialScope = context.sourceCode.getScope(node);
|
|
1376
1372
|
if (!core.isReactHookCall(node))
|
|
1377
1373
|
return;
|
|
1378
|
-
if (!core.isUseMemoCall(node, context
|
|
1374
|
+
if (!core.isUseMemoCall(node, context) && !alias.some(Function_exports.flip(core.isReactHookCallWithNameLoose)(node)))
|
|
1379
1375
|
return;
|
|
1380
1376
|
const [_2, deps] = node.arguments;
|
|
1381
1377
|
if (!deps) {
|
|
@@ -1406,7 +1402,7 @@ var ensure_use_memo_has_non_empty_deps_default = createRule({
|
|
|
1406
1402
|
defaultOptions: []
|
|
1407
1403
|
});
|
|
1408
1404
|
var RULE_NAME4 = "prefer-use-state-lazy-initialization";
|
|
1409
|
-
var ALLOW_LIST =
|
|
1405
|
+
var ALLOW_LIST = ["Boolean", "String", "Number"];
|
|
1410
1406
|
var prefer_use_state_lazy_initialization_default = createRule({
|
|
1411
1407
|
meta: {
|
|
1412
1408
|
type: "problem",
|
|
@@ -1421,13 +1417,12 @@ var prefer_use_state_lazy_initialization_default = createRule({
|
|
|
1421
1417
|
},
|
|
1422
1418
|
name: RULE_NAME4,
|
|
1423
1419
|
create(context) {
|
|
1424
|
-
const alias =
|
|
1425
|
-
const pragma = jsx.getPragmaFromContext(context);
|
|
1420
|
+
const alias = valibot.parse(shared.ESLintSettingsSchema, context.settings).reactOptions?.additionalHooks?.useState ?? [];
|
|
1426
1421
|
return {
|
|
1427
1422
|
CallExpression(node) {
|
|
1428
1423
|
if (!core.isReactHookCall(node))
|
|
1429
1424
|
return;
|
|
1430
|
-
if (!core.isUseStateCall(node, context
|
|
1425
|
+
if (!core.isUseStateCall(node, context) && !alias.some(Function_exports.flip(core.isReactHookCallWithNameLoose)(node)))
|
|
1431
1426
|
return;
|
|
1432
1427
|
const [useStateInput] = node.arguments;
|
|
1433
1428
|
if (!useStateInput)
|
package/dist/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useHookCollector, isReactHookCall, isUseCallbackCall, isReactHookCallWithNameLoose, isUseMemoCall, isUseStateCall } from '@eslint-react/core';
|
|
2
2
|
import 'string-ts';
|
|
3
|
-
import { createRuleForPlugin,
|
|
3
|
+
import { createRuleForPlugin, ESLintSettingsSchema } from '@eslint-react/shared';
|
|
4
4
|
import { NodeType, is, getNestedCallExpressions } from '@eslint-react/ast';
|
|
5
|
-
import { getPragmaFromContext } from '@eslint-react/jsx';
|
|
6
5
|
import { findVariable, getVariableInit } from '@eslint-react/var';
|
|
6
|
+
import { parse } from 'valibot';
|
|
7
7
|
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
9
9
|
var __export = (target, all2) => {
|
|
@@ -13,7 +13,7 @@ var __export = (target, all2) => {
|
|
|
13
13
|
|
|
14
14
|
// package.json
|
|
15
15
|
var name = "eslint-plugin-react-hooks-extra";
|
|
16
|
-
var version = "1.5.11
|
|
16
|
+
var version = "1.5.11";
|
|
17
17
|
var createRule = createRuleForPlugin("hooks-extra");
|
|
18
18
|
|
|
19
19
|
// src/rules/ensure-custom-hooks-using-other-hooks.ts
|
|
@@ -1296,8 +1296,6 @@ var z = class _z {
|
|
|
1296
1296
|
return this;
|
|
1297
1297
|
}
|
|
1298
1298
|
};
|
|
1299
|
-
|
|
1300
|
-
// src/rules/ensure-use-callback-has-non-empty-deps.ts
|
|
1301
1299
|
var RULE_NAME2 = "ensure-use-callback-has-non-empty-deps";
|
|
1302
1300
|
var ensure_use_callback_has_non_empty_deps_default = createRule({
|
|
1303
1301
|
meta: {
|
|
@@ -1313,14 +1311,13 @@ var ensure_use_callback_has_non_empty_deps_default = createRule({
|
|
|
1313
1311
|
},
|
|
1314
1312
|
name: RULE_NAME2,
|
|
1315
1313
|
create(context) {
|
|
1316
|
-
const alias =
|
|
1317
|
-
const pragma = getPragmaFromContext(context);
|
|
1314
|
+
const alias = parse(ESLintSettingsSchema, context.settings).reactOptions?.additionalHooks?.useCallback ?? [];
|
|
1318
1315
|
return {
|
|
1319
1316
|
CallExpression(node) {
|
|
1320
1317
|
const initialScope = context.sourceCode.getScope(node);
|
|
1321
1318
|
if (!isReactHookCall(node))
|
|
1322
1319
|
return;
|
|
1323
|
-
if (!isUseCallbackCall(node, context
|
|
1320
|
+
if (!isUseCallbackCall(node, context) && !alias.some(Function_exports.flip(isReactHookCallWithNameLoose)(node))) {
|
|
1324
1321
|
return;
|
|
1325
1322
|
}
|
|
1326
1323
|
const [_2, deps] = node.arguments;
|
|
@@ -1366,14 +1363,13 @@ var ensure_use_memo_has_non_empty_deps_default = createRule({
|
|
|
1366
1363
|
},
|
|
1367
1364
|
name: RULE_NAME3,
|
|
1368
1365
|
create(context) {
|
|
1369
|
-
const alias =
|
|
1370
|
-
const pragma = getPragmaFromContext(context);
|
|
1366
|
+
const alias = parse(ESLintSettingsSchema, context.settings).reactOptions?.additionalHooks?.useMemo ?? [];
|
|
1371
1367
|
return {
|
|
1372
1368
|
CallExpression(node) {
|
|
1373
1369
|
const initialScope = context.sourceCode.getScope(node);
|
|
1374
1370
|
if (!isReactHookCall(node))
|
|
1375
1371
|
return;
|
|
1376
|
-
if (!isUseMemoCall(node, context
|
|
1372
|
+
if (!isUseMemoCall(node, context) && !alias.some(Function_exports.flip(isReactHookCallWithNameLoose)(node)))
|
|
1377
1373
|
return;
|
|
1378
1374
|
const [_2, deps] = node.arguments;
|
|
1379
1375
|
if (!deps) {
|
|
@@ -1404,7 +1400,7 @@ var ensure_use_memo_has_non_empty_deps_default = createRule({
|
|
|
1404
1400
|
defaultOptions: []
|
|
1405
1401
|
});
|
|
1406
1402
|
var RULE_NAME4 = "prefer-use-state-lazy-initialization";
|
|
1407
|
-
var ALLOW_LIST =
|
|
1403
|
+
var ALLOW_LIST = ["Boolean", "String", "Number"];
|
|
1408
1404
|
var prefer_use_state_lazy_initialization_default = createRule({
|
|
1409
1405
|
meta: {
|
|
1410
1406
|
type: "problem",
|
|
@@ -1419,13 +1415,12 @@ var prefer_use_state_lazy_initialization_default = createRule({
|
|
|
1419
1415
|
},
|
|
1420
1416
|
name: RULE_NAME4,
|
|
1421
1417
|
create(context) {
|
|
1422
|
-
const alias =
|
|
1423
|
-
const pragma = getPragmaFromContext(context);
|
|
1418
|
+
const alias = parse(ESLintSettingsSchema, context.settings).reactOptions?.additionalHooks?.useState ?? [];
|
|
1424
1419
|
return {
|
|
1425
1420
|
CallExpression(node) {
|
|
1426
1421
|
if (!isReactHookCall(node))
|
|
1427
1422
|
return;
|
|
1428
|
-
if (!isUseStateCall(node, context
|
|
1423
|
+
if (!isUseStateCall(node, context) && !alias.some(Function_exports.flip(isReactHookCallWithNameLoose)(node)))
|
|
1429
1424
|
return;
|
|
1430
1425
|
const [useStateInput] = node.arguments;
|
|
1431
1426
|
if (!useStateInput)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-react-hooks-extra",
|
|
3
|
-
"version": "1.5.11
|
|
3
|
+
"version": "1.5.11",
|
|
4
4
|
"description": "ESLint React's ESLint plugin for React Hooks related rules.",
|
|
5
5
|
"homepage": "https://github.com/rel1cx/eslint-react",
|
|
6
6
|
"bugs": {
|
|
@@ -41,20 +41,21 @@
|
|
|
41
41
|
"@typescript-eslint/types": "^7.8.0",
|
|
42
42
|
"@typescript-eslint/utils": "^7.8.0",
|
|
43
43
|
"string-ts": "2.1.1",
|
|
44
|
-
"
|
|
45
|
-
"@eslint-react/core": "1.5.11
|
|
46
|
-
"@eslint-react/
|
|
47
|
-
"@eslint-react/
|
|
48
|
-
"@eslint-react/
|
|
49
|
-
"@eslint-react/
|
|
50
|
-
"@eslint-react/types": "1.5.11
|
|
44
|
+
"valibot": "0.30.0",
|
|
45
|
+
"@eslint-react/core": "1.5.11",
|
|
46
|
+
"@eslint-react/ast": "1.5.11",
|
|
47
|
+
"@eslint-react/jsx": "1.5.11",
|
|
48
|
+
"@eslint-react/shared": "1.5.11",
|
|
49
|
+
"@eslint-react/tools": "1.5.11",
|
|
50
|
+
"@eslint-react/types": "1.5.11",
|
|
51
|
+
"@eslint-react/var": "1.5.11"
|
|
51
52
|
},
|
|
52
53
|
"devDependencies": {
|
|
53
54
|
"effect": "3.1.2"
|
|
54
55
|
},
|
|
55
56
|
"peerDependencies": {
|
|
56
57
|
"@typescript-eslint/parser": "^7.5.0",
|
|
57
|
-
"eslint": "^
|
|
58
|
+
"eslint": "^8.57.0",
|
|
58
59
|
"typescript": "^5.3.3"
|
|
59
60
|
},
|
|
60
61
|
"engines": {
|