eslint-plugin-react-hooks-extra 1.11.0-beta.4 → 1.11.0-beta.7

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 CHANGED
@@ -11,7 +11,7 @@ var tsPattern = require('ts-pattern');
11
11
 
12
12
  // package.json
13
13
  var name = "eslint-plugin-react-hooks-extra";
14
- var version = "1.11.0-beta.4";
14
+ var version = "1.11.0-beta.7";
15
15
  var createRule = shared.createRuleForPlugin("hooks-extra");
16
16
  function isFromHookCall(name2, context, settings, predicate = tools.F.constTrue) {
17
17
  const hookAlias = settings.additionalHooks?.[name2] ?? [];
@@ -294,7 +294,7 @@ var no_direct_set_state_in_use_effect_default = createRule({
294
294
  description: "disallow direct calls to the 'set' function of 'useState' in 'useEffect'"
295
295
  },
296
296
  messages: {
297
- noDirectSetStateInUseEffect: "Do not call the 'set' function of 'useState' directly in 'useEffect'."
297
+ noDirectSetStateInUseEffect: "Do not call the 'set' function '{{name}}' of 'useState' directly in 'useEffect'."
298
298
  },
299
299
  schema: []
300
300
  },
@@ -363,7 +363,8 @@ var no_direct_set_state_in_use_effect_default = createRule({
363
363
  }
364
364
  context.report({
365
365
  messageId: "noDirectSetStateInUseEffect",
366
- node
366
+ node,
367
+ data: { name: context.sourceCode.getText(node.callee) }
367
368
  });
368
369
  }).with("useEffect", () => {
369
370
  const [firstArg] = node.arguments;
@@ -438,7 +439,9 @@ var no_direct_set_state_in_use_effect_default = createRule({
438
439
  context.report({
439
440
  messageId: "noDirectSetStateInUseEffect",
440
441
  node: setStateCall,
441
- data: { name: name2 }
442
+ data: {
443
+ name: ast.toReadableNodeName(setStateCall, (n) => context.sourceCode.getText(n))
444
+ }
442
445
  });
443
446
  }
444
447
  }
@@ -448,7 +451,9 @@ var no_direct_set_state_in_use_effect_default = createRule({
448
451
  context.report({
449
452
  messageId: "noDirectSetStateInUseEffect",
450
453
  node: setStateCall,
451
- data: { name: id.name }
454
+ data: {
455
+ name: ast.toReadableNodeName(setStateCall, (n) => context.sourceCode.getText(n))
456
+ }
452
457
  });
453
458
  }
454
459
  }
@@ -465,7 +470,7 @@ var no_direct_set_state_in_use_layout_effect_default = createRule({
465
470
  description: "disallow direct calls to the 'set' function of 'useState' in 'useLayoutEffect'"
466
471
  },
467
472
  messages: {
468
- noDirectSetStateInUseLayoutEffect: "Do not call the 'set' function of 'useState' directly in 'useLayoutEffect'."
473
+ noDirectSetStateInUseLayoutEffect: "Do not call the 'set' function '{{name}}' of 'useState' directly in 'useLayoutEffect'."
469
474
  },
470
475
  schema: []
471
476
  },
@@ -538,7 +543,10 @@ var no_direct_set_state_in_use_layout_effect_default = createRule({
538
543
  }
539
544
  context.report({
540
545
  messageId: "noDirectSetStateInUseLayoutEffect",
541
- node
546
+ node,
547
+ data: {
548
+ name: context.sourceCode.getText(node.callee)
549
+ }
542
550
  });
543
551
  }).with("useLayoutEffect", () => {
544
552
  const [firstArg] = node.arguments;
@@ -613,7 +621,9 @@ var no_direct_set_state_in_use_layout_effect_default = createRule({
613
621
  context.report({
614
622
  messageId: "noDirectSetStateInUseLayoutEffect",
615
623
  node: setStateCall,
616
- data: { name: name2 }
624
+ data: {
625
+ name: ast.toReadableNodeName(setStateCall, (n) => context.sourceCode.getText(n))
626
+ }
617
627
  });
618
628
  }
619
629
  }
@@ -623,7 +633,9 @@ var no_direct_set_state_in_use_layout_effect_default = createRule({
623
633
  context.report({
624
634
  messageId: "noDirectSetStateInUseLayoutEffect",
625
635
  node: setStateCall,
626
- data: { name: id.name }
636
+ data: {
637
+ name: ast.toReadableNodeName(setStateCall, (n) => context.sourceCode.getText(n))
638
+ }
627
639
  });
628
640
  }
629
641
  }
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { useHookCollector, isReactHookCall, isUseCallbackCall, isReactHookCallWithNameLoose, isUseMemoCall, isReactHookCallWithNameAlias, isUseStateCall, isReactHookName } from '@eslint-react/core';
2
2
  import { createRuleForPlugin, decodeSettings } from '@eslint-react/shared';
3
- import { isFunction, is, traverseUpGuard, getNestedIdentifiers, getNestedCallExpressions, isFunctionOfImmediatelyInvoked } from '@eslint-react/ast';
3
+ import { isFunction, is, traverseUpGuard, getNestedIdentifiers, toReadableNodeName, getNestedCallExpressions, isFunctionOfImmediatelyInvoked } from '@eslint-react/ast';
4
4
  import { F, O, MutRef } from '@eslint-react/tools';
5
5
  import { findVariable, getVariableNode } from '@eslint-react/var';
6
6
  import { AST_NODE_TYPES } from '@typescript-eslint/types';
@@ -9,7 +9,7 @@ import { match, isMatching } from 'ts-pattern';
9
9
 
10
10
  // package.json
11
11
  var name = "eslint-plugin-react-hooks-extra";
12
- var version = "1.11.0-beta.4";
12
+ var version = "1.11.0-beta.7";
13
13
  var createRule = createRuleForPlugin("hooks-extra");
14
14
  function isFromHookCall(name2, context, settings, predicate = F.constTrue) {
15
15
  const hookAlias = settings.additionalHooks?.[name2] ?? [];
@@ -292,7 +292,7 @@ var no_direct_set_state_in_use_effect_default = createRule({
292
292
  description: "disallow direct calls to the 'set' function of 'useState' in 'useEffect'"
293
293
  },
294
294
  messages: {
295
- noDirectSetStateInUseEffect: "Do not call the 'set' function of 'useState' directly in 'useEffect'."
295
+ noDirectSetStateInUseEffect: "Do not call the 'set' function '{{name}}' of 'useState' directly in 'useEffect'."
296
296
  },
297
297
  schema: []
298
298
  },
@@ -361,7 +361,8 @@ var no_direct_set_state_in_use_effect_default = createRule({
361
361
  }
362
362
  context.report({
363
363
  messageId: "noDirectSetStateInUseEffect",
364
- node
364
+ node,
365
+ data: { name: context.sourceCode.getText(node.callee) }
365
366
  });
366
367
  }).with("useEffect", () => {
367
368
  const [firstArg] = node.arguments;
@@ -436,7 +437,9 @@ var no_direct_set_state_in_use_effect_default = createRule({
436
437
  context.report({
437
438
  messageId: "noDirectSetStateInUseEffect",
438
439
  node: setStateCall,
439
- data: { name: name2 }
440
+ data: {
441
+ name: toReadableNodeName(setStateCall, (n) => context.sourceCode.getText(n))
442
+ }
440
443
  });
441
444
  }
442
445
  }
@@ -446,7 +449,9 @@ var no_direct_set_state_in_use_effect_default = createRule({
446
449
  context.report({
447
450
  messageId: "noDirectSetStateInUseEffect",
448
451
  node: setStateCall,
449
- data: { name: id.name }
452
+ data: {
453
+ name: toReadableNodeName(setStateCall, (n) => context.sourceCode.getText(n))
454
+ }
450
455
  });
451
456
  }
452
457
  }
@@ -463,7 +468,7 @@ var no_direct_set_state_in_use_layout_effect_default = createRule({
463
468
  description: "disallow direct calls to the 'set' function of 'useState' in 'useLayoutEffect'"
464
469
  },
465
470
  messages: {
466
- noDirectSetStateInUseLayoutEffect: "Do not call the 'set' function of 'useState' directly in 'useLayoutEffect'."
471
+ noDirectSetStateInUseLayoutEffect: "Do not call the 'set' function '{{name}}' of 'useState' directly in 'useLayoutEffect'."
467
472
  },
468
473
  schema: []
469
474
  },
@@ -536,7 +541,10 @@ var no_direct_set_state_in_use_layout_effect_default = createRule({
536
541
  }
537
542
  context.report({
538
543
  messageId: "noDirectSetStateInUseLayoutEffect",
539
- node
544
+ node,
545
+ data: {
546
+ name: context.sourceCode.getText(node.callee)
547
+ }
540
548
  });
541
549
  }).with("useLayoutEffect", () => {
542
550
  const [firstArg] = node.arguments;
@@ -611,7 +619,9 @@ var no_direct_set_state_in_use_layout_effect_default = createRule({
611
619
  context.report({
612
620
  messageId: "noDirectSetStateInUseLayoutEffect",
613
621
  node: setStateCall,
614
- data: { name: name2 }
622
+ data: {
623
+ name: toReadableNodeName(setStateCall, (n) => context.sourceCode.getText(n))
624
+ }
615
625
  });
616
626
  }
617
627
  }
@@ -621,7 +631,9 @@ var no_direct_set_state_in_use_layout_effect_default = createRule({
621
631
  context.report({
622
632
  messageId: "noDirectSetStateInUseLayoutEffect",
623
633
  node: setStateCall,
624
- data: { name: id.name }
634
+ data: {
635
+ name: toReadableNodeName(setStateCall, (n) => context.sourceCode.getText(n))
636
+ }
625
637
  });
626
638
  }
627
639
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-react-hooks-extra",
3
- "version": "1.11.0-beta.4",
3
+ "version": "1.11.0-beta.7",
4
4
  "description": "ESLint React's ESLint plugin for React Hooks related rules.",
5
5
  "keywords": [
6
6
  "eslint",
@@ -41,18 +41,18 @@
41
41
  "./package.json"
42
42
  ],
43
43
  "dependencies": {
44
- "@typescript-eslint/scope-manager": "^8.1.0",
45
- "@typescript-eslint/type-utils": "^8.1.0",
46
- "@typescript-eslint/types": "^8.1.0",
47
- "@typescript-eslint/utils": "^8.1.0",
44
+ "@typescript-eslint/scope-manager": "^8.2.0",
45
+ "@typescript-eslint/type-utils": "^8.2.0",
46
+ "@typescript-eslint/types": "^8.2.0",
47
+ "@typescript-eslint/utils": "^8.2.0",
48
48
  "ts-pattern": "^5.3.1",
49
- "@eslint-react/ast": "1.11.0-beta.4",
50
- "@eslint-react/jsx": "1.11.0-beta.4",
51
- "@eslint-react/core": "1.11.0-beta.4",
52
- "@eslint-react/tools": "1.11.0-beta.4",
53
- "@eslint-react/var": "1.11.0-beta.4",
54
- "@eslint-react/types": "1.11.0-beta.4",
55
- "@eslint-react/shared": "1.11.0-beta.4"
49
+ "@eslint-react/ast": "1.11.0-beta.7",
50
+ "@eslint-react/core": "1.11.0-beta.7",
51
+ "@eslint-react/jsx": "1.11.0-beta.7",
52
+ "@eslint-react/shared": "1.11.0-beta.7",
53
+ "@eslint-react/tools": "1.11.0-beta.7",
54
+ "@eslint-react/types": "1.11.0-beta.7",
55
+ "@eslint-react/var": "1.11.0-beta.7"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@types/react": "^18.3.3",