@bfra.me/eslint-config 0.47.7 → 0.47.9

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/lib/index.d.ts CHANGED
@@ -4535,12 +4535,12 @@ interface Rules {
4535
4535
  */
4536
4536
  'radix'?: Linter.RuleEntry<Radix>
4537
4537
  /**
4538
- * Disallows 'dangerouslySetInnerHTML'.
4538
+ * Disallows DOM elements from using 'dangerouslySetInnerHTML'.
4539
4539
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
4540
4540
  */
4541
4541
  'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
4542
4542
  /**
4543
- * Disallows 'dangerouslySetInnerHTML' and 'children' at the same time.
4543
+ * Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time.
4544
4544
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
4545
4545
  */
4546
4546
  'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
@@ -4555,17 +4555,17 @@ interface Rules {
4555
4555
  */
4556
4556
  'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>
4557
4557
  /**
4558
- * Replaces usage of 'ReactDom.hydrate()' with 'hydrateRoot()'.
4558
+ * Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
4559
4559
  * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
4560
4560
  */
4561
4561
  'react-dom/no-hydrate'?: Linter.RuleEntry<[]>
4562
4562
  /**
4563
- * Enforces explicit 'type' attribute for 'button' elements.
4563
+ * Enforces an explicit 'type' attribute for 'button' elements.
4564
4564
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
4565
4565
  */
4566
4566
  'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>
4567
4567
  /**
4568
- * Enforces explicit 'sandbox' attribute for 'iframe' elements.
4568
+ * Enforces an explicit 'sandbox' attribute for 'iframe' elements.
4569
4569
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
4570
4570
  */
4571
4571
  'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
@@ -4575,7 +4575,7 @@ interface Rules {
4575
4575
  */
4576
4576
  'react-dom/no-namespace'?: Linter.RuleEntry<[]>
4577
4577
  /**
4578
- * Replaces usage of 'ReactDom.render()' with 'createRoot(node).render()'.
4578
+ * Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'.
4579
4579
  * @see https://eslint-react.xyz/docs/rules/dom-no-render
4580
4580
  */
4581
4581
  'react-dom/no-render'?: Linter.RuleEntry<[]>
@@ -4595,7 +4595,7 @@ interface Rules {
4595
4595
  */
4596
4596
  'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>
4597
4597
  /**
4598
- * Disallows unknown 'DOM' property.
4598
+ * Disallows unknown 'DOM' properties.
4599
4599
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
4600
4600
  */
4601
4601
  'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>
@@ -4620,12 +4620,12 @@ interface Rules {
4620
4620
  */
4621
4621
  'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
4622
4622
  /**
4623
- * Enforces React DOM is imported via a namespace import.
4623
+ * Enforces importing React DOM via a namespace import.
4624
4624
  * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
4625
4625
  */
4626
4626
  'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>
4627
4627
  /**
4628
- * Disallows **direct** calls to the 'set' function of 'useState' in 'useEffect'.
4628
+ * Disallows direct calls to the ['set' function](https://react.dev/reference/react/useState#setstate) of 'useState' in 'useEffect'.
4629
4629
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
4630
4630
  */
4631
4631
  'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
@@ -4758,7 +4758,7 @@ interface Rules {
4758
4758
  */
4759
4759
  'react-naming-convention/context-name'?: Linter.RuleEntry<[]>
4760
4760
  /**
4761
- * Enforces consistent file naming conventions.
4761
+ * Enforces consistent file-naming conventions.
4762
4762
  * @see https://eslint-react.xyz/docs/rules/naming-convention-filename
4763
4763
  */
4764
4764
  'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>
@@ -4768,7 +4768,7 @@ interface Rules {
4768
4768
  */
4769
4769
  'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>
4770
4770
  /**
4771
- * Enforces that variables assigned from useRef calls have names ending with 'Ref'.
4771
+ * Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
4772
4772
  * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
4773
4773
  */
4774
4774
  'react-naming-convention/ref-name'?: Linter.RuleEntry<[]>
@@ -4804,7 +4804,7 @@ interface Rules {
4804
4804
  */
4805
4805
  'react/jsx-dollar'?: Linter.RuleEntry<[]>
4806
4806
  /**
4807
- * Enforces that the 'key' prop is placed before the spread prop in JSX elements.
4807
+ * Enforces that the 'key' prop is placed before the spread prop in JSX elements when using the new JSX transform.
4808
4808
  * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
4809
4809
  */
4810
4810
  'react/jsx-key-before-spread'?: Linter.RuleEntry<[]>
@@ -6565,7 +6565,7 @@ interface Rules {
6565
6565
  * disallow conditional expects
6566
6566
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
6567
6567
  */
6568
- 'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>
6568
+ 'vitest/no-conditional-expect'?: Linter.RuleEntry<VitestNoConditionalExpect>
6569
6569
  /**
6570
6570
  * disallow conditional tests
6571
6571
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
@@ -6877,6 +6877,11 @@ interface Rules {
6877
6877
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-mock-type-parameters.md
6878
6878
  */
6879
6879
  'vitest/require-mock-type-parameters'?: Linter.RuleEntry<VitestRequireMockTypeParameters>
6880
+ /**
6881
+ * require tests to declare a timeout
6882
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-test-timeout.md
6883
+ */
6884
+ 'vitest/require-test-timeout'?: Linter.RuleEntry<[]>
6880
6885
  /**
6881
6886
  * require toThrow() to be called with an error message
6882
6887
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
@@ -10717,6 +10722,8 @@ type JsdocRequireHyphenBeforeParamDescription = []|[("always" | "never")]|[("alw
10717
10722
  // ----- jsdoc/require-jsdoc -----
10718
10723
  type JsdocRequireJsdoc = []|[{
10719
10724
 
10725
+ checkAllFunctionExpressions?: boolean
10726
+
10720
10727
  checkConstructors?: boolean
10721
10728
 
10722
10729
  checkGetters?: (boolean | "no-setter")
@@ -16829,6 +16836,11 @@ type VitestMaxExpects = []|[{
16829
16836
  type VitestMaxNestedDescribe = []|[{
16830
16837
  max?: number
16831
16838
  }]
16839
+ // ----- vitest/no-conditional-expect -----
16840
+ type VitestNoConditionalExpect = []|[{
16841
+
16842
+ expectAssertions?: boolean
16843
+ }]
16832
16844
  // ----- vitest/no-focused-tests -----
16833
16845
  type VitestNoFocusedTests = []|[{
16834
16846
  fixable?: boolean
package/lib/index.js CHANGED
@@ -147,7 +147,7 @@ var GLOB_EXCLUDE = [
147
147
  import { fileURLToPath } from "url";
148
148
 
149
149
  // package.json
150
- var version = "0.47.7";
150
+ var version = "0.47.9";
151
151
 
152
152
  // src/parsers/any-parser.ts
153
153
  var lineBreakPattern = /\r\n|[\n\r\u2028\u2029]/u;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bfra.me/eslint-config",
3
- "version": "0.47.7",
3
+ "version": "0.47.9",
4
4
  "description": "Shared ESLint configuration for bfra.me",
5
5
  "keywords": [
6
6
  "bfra.me",
@@ -45,8 +45,8 @@
45
45
  "eslint-merge-processors": "2.0.0",
46
46
  "eslint-plugin-command": "3.4.0",
47
47
  "eslint-plugin-import-x": "4.16.1",
48
- "eslint-plugin-jsdoc": "61.5.0",
49
- "eslint-plugin-json-schema-validator": "5.5.0",
48
+ "eslint-plugin-jsdoc": "61.7.1",
49
+ "eslint-plugin-json-schema-validator": "5.5.1",
50
50
  "eslint-plugin-jsonc": "2.21.0",
51
51
  "eslint-plugin-n": "17.23.1",
52
52
  "eslint-plugin-perfectionist": "4.15.1",
@@ -60,18 +60,18 @@
60
60
  "local-pkg": "1.1.2",
61
61
  "package-manager-detector": "1.6.0",
62
62
  "sort-package-json": "3.6.0",
63
- "typescript-eslint": "8.51.0",
63
+ "typescript-eslint": "8.52.0",
64
64
  "@bfra.me/es": "0.1.0"
65
65
  },
66
66
  "devDependencies": {
67
- "@eslint-react/eslint-plugin": "2.5.0",
67
+ "@eslint-react/eslint-plugin": "2.5.5",
68
68
  "@eslint/config-inspector": "1.4.2",
69
- "@eslint/core": "1.0.0",
69
+ "@eslint/core": "1.0.1",
70
70
  "@next/eslint-plugin-next": "16.1.1",
71
71
  "@types/eslint-config-prettier": "6.11.3",
72
72
  "@types/eslint-plugin-jsx-a11y": "6.10.1",
73
- "@typescript-eslint/types": "8.51.0",
74
- "@vitest/eslint-plugin": "1.6.4",
73
+ "@typescript-eslint/types": "8.52.0",
74
+ "@vitest/eslint-plugin": "1.6.6",
75
75
  "astro-eslint-parser": "1.2.2",
76
76
  "eslint": "9.39.2",
77
77
  "eslint-config-prettier": "10.1.8",
package/src/rules.d.ts CHANGED
@@ -4526,12 +4526,12 @@ export interface Rules {
4526
4526
  */
4527
4527
  'radix'?: Linter.RuleEntry<Radix>
4528
4528
  /**
4529
- * Disallows 'dangerouslySetInnerHTML'.
4529
+ * Disallows DOM elements from using 'dangerouslySetInnerHTML'.
4530
4530
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
4531
4531
  */
4532
4532
  'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
4533
4533
  /**
4534
- * Disallows 'dangerouslySetInnerHTML' and 'children' at the same time.
4534
+ * Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time.
4535
4535
  * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
4536
4536
  */
4537
4537
  'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
@@ -4546,17 +4546,17 @@ export interface Rules {
4546
4546
  */
4547
4547
  'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>
4548
4548
  /**
4549
- * Replaces usage of 'ReactDom.hydrate()' with 'hydrateRoot()'.
4549
+ * Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
4550
4550
  * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
4551
4551
  */
4552
4552
  'react-dom/no-hydrate'?: Linter.RuleEntry<[]>
4553
4553
  /**
4554
- * Enforces explicit 'type' attribute for 'button' elements.
4554
+ * Enforces an explicit 'type' attribute for 'button' elements.
4555
4555
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
4556
4556
  */
4557
4557
  'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>
4558
4558
  /**
4559
- * Enforces explicit 'sandbox' attribute for 'iframe' elements.
4559
+ * Enforces an explicit 'sandbox' attribute for 'iframe' elements.
4560
4560
  * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
4561
4561
  */
4562
4562
  'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
@@ -4566,7 +4566,7 @@ export interface Rules {
4566
4566
  */
4567
4567
  'react-dom/no-namespace'?: Linter.RuleEntry<[]>
4568
4568
  /**
4569
- * Replaces usage of 'ReactDom.render()' with 'createRoot(node).render()'.
4569
+ * Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'.
4570
4570
  * @see https://eslint-react.xyz/docs/rules/dom-no-render
4571
4571
  */
4572
4572
  'react-dom/no-render'?: Linter.RuleEntry<[]>
@@ -4586,7 +4586,7 @@ export interface Rules {
4586
4586
  */
4587
4587
  'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>
4588
4588
  /**
4589
- * Disallows unknown 'DOM' property.
4589
+ * Disallows unknown 'DOM' properties.
4590
4590
  * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
4591
4591
  */
4592
4592
  'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>
@@ -4611,12 +4611,12 @@ export interface Rules {
4611
4611
  */
4612
4612
  'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
4613
4613
  /**
4614
- * Enforces React DOM is imported via a namespace import.
4614
+ * Enforces importing React DOM via a namespace import.
4615
4615
  * @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
4616
4616
  */
4617
4617
  'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>
4618
4618
  /**
4619
- * Disallows **direct** calls to the 'set' function of 'useState' in 'useEffect'.
4619
+ * Disallows direct calls to the ['set' function](https://react.dev/reference/react/useState#setstate) of 'useState' in 'useEffect'.
4620
4620
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
4621
4621
  */
4622
4622
  'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
@@ -4749,7 +4749,7 @@ export interface Rules {
4749
4749
  */
4750
4750
  'react-naming-convention/context-name'?: Linter.RuleEntry<[]>
4751
4751
  /**
4752
- * Enforces consistent file naming conventions.
4752
+ * Enforces consistent file-naming conventions.
4753
4753
  * @see https://eslint-react.xyz/docs/rules/naming-convention-filename
4754
4754
  */
4755
4755
  'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>
@@ -4759,7 +4759,7 @@ export interface Rules {
4759
4759
  */
4760
4760
  'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>
4761
4761
  /**
4762
- * Enforces that variables assigned from useRef calls have names ending with 'Ref'.
4762
+ * Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
4763
4763
  * @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
4764
4764
  */
4765
4765
  'react-naming-convention/ref-name'?: Linter.RuleEntry<[]>
@@ -4795,7 +4795,7 @@ export interface Rules {
4795
4795
  */
4796
4796
  'react/jsx-dollar'?: Linter.RuleEntry<[]>
4797
4797
  /**
4798
- * Enforces that the 'key' prop is placed before the spread prop in JSX elements.
4798
+ * Enforces that the 'key' prop is placed before the spread prop in JSX elements when using the new JSX transform.
4799
4799
  * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
4800
4800
  */
4801
4801
  'react/jsx-key-before-spread'?: Linter.RuleEntry<[]>
@@ -6556,7 +6556,7 @@ export interface Rules {
6556
6556
  * disallow conditional expects
6557
6557
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
6558
6558
  */
6559
- 'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>
6559
+ 'vitest/no-conditional-expect'?: Linter.RuleEntry<VitestNoConditionalExpect>
6560
6560
  /**
6561
6561
  * disallow conditional tests
6562
6562
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
@@ -6868,6 +6868,11 @@ export interface Rules {
6868
6868
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-mock-type-parameters.md
6869
6869
  */
6870
6870
  'vitest/require-mock-type-parameters'?: Linter.RuleEntry<VitestRequireMockTypeParameters>
6871
+ /**
6872
+ * require tests to declare a timeout
6873
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-test-timeout.md
6874
+ */
6875
+ 'vitest/require-test-timeout'?: Linter.RuleEntry<[]>
6871
6876
  /**
6872
6877
  * require toThrow() to be called with an error message
6873
6878
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
@@ -10708,6 +10713,8 @@ type JsdocRequireHyphenBeforeParamDescription = []|[("always" | "never")]|[("alw
10708
10713
  // ----- jsdoc/require-jsdoc -----
10709
10714
  type JsdocRequireJsdoc = []|[{
10710
10715
 
10716
+ checkAllFunctionExpressions?: boolean
10717
+
10711
10718
  checkConstructors?: boolean
10712
10719
 
10713
10720
  checkGetters?: (boolean | "no-setter")
@@ -16820,6 +16827,11 @@ type VitestMaxExpects = []|[{
16820
16827
  type VitestMaxNestedDescribe = []|[{
16821
16828
  max?: number
16822
16829
  }]
16830
+ // ----- vitest/no-conditional-expect -----
16831
+ type VitestNoConditionalExpect = []|[{
16832
+
16833
+ expectAssertions?: boolean
16834
+ }]
16823
16835
  // ----- vitest/no-focused-tests -----
16824
16836
  type VitestNoFocusedTests = []|[{
16825
16837
  fixable?: boolean