@egy186/eslint-config 3.3.0 → 3.5.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 CHANGED
@@ -5,7 +5,7 @@
5
5
  ## Install
6
6
 
7
7
  ```sh
8
- npm install @egy186/eslint-config
8
+ npm install -D eslint @egy186/eslint-config
9
9
  ```
10
10
 
11
11
  ## `eslint.config.js`
@@ -24,6 +24,10 @@ export { commonjs as default } from '@egy186/eslint-config';
24
24
 
25
25
  Browser, React:
26
26
 
27
+ ```sh
28
+ npm install -D eslint-plugin-react eslint-plugin-react-hooks
29
+ ```
30
+
27
31
  ```js
28
32
  import { browser } from '@egy186/eslint-config';
29
33
  import { react } from '@egy186/eslint-config/react';
@@ -33,6 +37,10 @@ export default [browser, react];
33
37
 
34
38
  TypeScript:
35
39
 
40
+ ```sh
41
+ npm install -D typescript-eslint eslint-import-resolver-typescript
42
+ ```
43
+
36
44
  ```js
37
45
  import { base } from '@egy186/eslint-config';
38
46
  import { typescript } from '@egy186/eslint-config/typescript';
@@ -42,6 +50,10 @@ export default [base, typescript];
42
50
 
43
51
  TypeScript, tsconfig:
44
52
 
53
+ ```sh
54
+ npm install -D typescript-eslint eslint-import-resolver-typescript
55
+ ```
56
+
45
57
  ```js
46
58
  import { base } from '@egy186/eslint-config';
47
59
  import { typescriptConfig } from '@egy186/eslint-config/typescript';
@@ -51,6 +63,10 @@ export default [base, typescriptConfig({ projectService: { allowDefaultProject:
51
63
 
52
64
  Jest:
53
65
 
66
+ ```sh
67
+ npm install -D eslint-plugin-jest
68
+ ```
69
+
54
70
  ```js
55
71
  import { base } from '@egy186/eslint-config';
56
72
  import { jest } from '@egy186/eslint-config/jest';
@@ -60,6 +76,10 @@ export default [base, jest];
60
76
 
61
77
  Vitest:
62
78
 
79
+ ```sh
80
+ npm install -D @vitest/eslint-plugin
81
+ ```
82
+
63
83
  ```js
64
84
  import { base } from '@egy186/eslint-config';
65
85
  import { vitest } from '@egy186/eslint-config/vitest';
package/dist/base.d.ts CHANGED
@@ -185,7 +185,7 @@ declare const config: {
185
185
  };
186
186
  };
187
187
  readonly jsdoc: import("eslint").ESLint.Plugin & {
188
- configs: Record<`flat/${import("eslint-plugin-jsdoc").ConfigGroups}${import("eslint-plugin-jsdoc").ConfigVariants}${import("eslint-plugin-jsdoc").ErrorLevelVariants}`, import("eslint").Linter.Config> & Record<"examples" | "default-expressions" | "examples-and-default-expressions", import("eslint").Linter.Config[]>;
188
+ configs: Record<`flat/${import("eslint-plugin-jsdoc").ConfigGroups}${import("eslint-plugin-jsdoc").ConfigVariants}${import("eslint-plugin-jsdoc").ErrorLevelVariants}`, import("eslint").Linter.Config> & Record<"examples" | "default-expressions" | "examples-and-default-expressions", import("eslint").Linter.Config[]> & Record<"flat/recommended-mixed", import("eslint").Linter.Config[]>;
189
189
  };
190
190
  readonly n: import("eslint").ESLint.Plugin & {
191
191
  configs: nPlugin.Configs;
@@ -390,6 +390,7 @@ declare const config: {
390
390
  readonly 'jsdoc/check-values': "error";
391
391
  readonly 'jsdoc/convert-to-jsdoc-comments': "off";
392
392
  readonly 'jsdoc/empty-tags': "error";
393
+ readonly 'jsdoc/escape-inline-tags': "error";
393
394
  readonly 'jsdoc/implements-on-classes': "error";
394
395
  readonly 'jsdoc/imports-as-dependencies': "error";
395
396
  readonly 'jsdoc/informative-docs': "error";
@@ -434,6 +435,7 @@ declare const config: {
434
435
  readonly 'jsdoc/require-returns-type': "error";
435
436
  readonly 'jsdoc/require-tags': "off";
436
437
  readonly 'jsdoc/require-template': "error";
438
+ readonly 'jsdoc/require-template-description': "error";
437
439
  readonly 'jsdoc/require-throws': "error";
438
440
  readonly 'jsdoc/require-throws-description': "off";
439
441
  readonly 'jsdoc/require-throws-type': "error";
package/dist/browser.d.ts CHANGED
@@ -1430,6 +1430,7 @@ declare const config: {
1430
1430
  readonly 'jsdoc/check-values': "error";
1431
1431
  readonly 'jsdoc/convert-to-jsdoc-comments': "off";
1432
1432
  readonly 'jsdoc/empty-tags': "error";
1433
+ readonly 'jsdoc/escape-inline-tags': "error";
1433
1434
  readonly 'jsdoc/implements-on-classes': "error";
1434
1435
  readonly 'jsdoc/imports-as-dependencies': "error";
1435
1436
  readonly 'jsdoc/informative-docs': "error";
@@ -1474,6 +1475,7 @@ declare const config: {
1474
1475
  readonly 'jsdoc/require-returns-type': "error";
1475
1476
  readonly 'jsdoc/require-tags': "off";
1476
1477
  readonly 'jsdoc/require-template': "error";
1478
+ readonly 'jsdoc/require-template-description': "error";
1477
1479
  readonly 'jsdoc/require-throws': "error";
1478
1480
  readonly 'jsdoc/require-throws-description': "off";
1479
1481
  readonly 'jsdoc/require-throws-type': "error";
@@ -1799,7 +1801,7 @@ declare const config: {
1799
1801
  };
1800
1802
  };
1801
1803
  readonly jsdoc: import("eslint").ESLint.Plugin & {
1802
- configs: Record<`flat/${import("eslint-plugin-jsdoc").ConfigGroups}${import("eslint-plugin-jsdoc").ConfigVariants}${import("eslint-plugin-jsdoc").ErrorLevelVariants}`, import("eslint").Linter.Config> & Record<"examples" | "default-expressions" | "examples-and-default-expressions", import("eslint").Linter.Config[]>;
1804
+ configs: Record<`flat/${import("eslint-plugin-jsdoc").ConfigGroups}${import("eslint-plugin-jsdoc").ConfigVariants}${import("eslint-plugin-jsdoc").ErrorLevelVariants}`, import("eslint").Linter.Config> & Record<"examples" | "default-expressions" | "examples-and-default-expressions", import("eslint").Linter.Config[]> & Record<"flat/recommended-mixed", import("eslint").Linter.Config[]>;
1803
1805
  };
1804
1806
  readonly n: import("eslint").ESLint.Plugin & {
1805
1807
  configs: import("eslint-plugin-n").Configs;
@@ -344,6 +344,7 @@ declare const config: {
344
344
  readonly 'jsdoc/check-values': "error";
345
345
  readonly 'jsdoc/convert-to-jsdoc-comments': "off";
346
346
  readonly 'jsdoc/empty-tags': "error";
347
+ readonly 'jsdoc/escape-inline-tags': "error";
347
348
  readonly 'jsdoc/implements-on-classes': "error";
348
349
  readonly 'jsdoc/imports-as-dependencies': "error";
349
350
  readonly 'jsdoc/informative-docs': "error";
@@ -388,6 +389,7 @@ declare const config: {
388
389
  readonly 'jsdoc/require-returns-type': "error";
389
390
  readonly 'jsdoc/require-tags': "off";
390
391
  readonly 'jsdoc/require-template': "error";
392
+ readonly 'jsdoc/require-template-description': "error";
391
393
  readonly 'jsdoc/require-throws': "error";
392
394
  readonly 'jsdoc/require-throws-description': "off";
393
395
  readonly 'jsdoc/require-throws-type': "error";
@@ -713,7 +715,7 @@ declare const config: {
713
715
  };
714
716
  };
715
717
  readonly jsdoc: import("eslint").ESLint.Plugin & {
716
- configs: Record<`flat/${import("eslint-plugin-jsdoc").ConfigGroups}${import("eslint-plugin-jsdoc").ConfigVariants}${import("eslint-plugin-jsdoc").ErrorLevelVariants}`, import("eslint").Linter.Config> & Record<"examples" | "default-expressions" | "examples-and-default-expressions", import("eslint").Linter.Config[]>;
718
+ configs: Record<`flat/${import("eslint-plugin-jsdoc").ConfigGroups}${import("eslint-plugin-jsdoc").ConfigVariants}${import("eslint-plugin-jsdoc").ErrorLevelVariants}`, import("eslint").Linter.Config> & Record<"examples" | "default-expressions" | "examples-and-default-expressions", import("eslint").Linter.Config[]> & Record<"flat/recommended-mixed", import("eslint").Linter.Config[]>;
717
719
  };
718
720
  readonly n: import("eslint").ESLint.Plugin & {
719
721
  configs: import("eslint-plugin-n").Configs;
package/dist/react.d.ts CHANGED
@@ -285,8 +285,34 @@ declare const config: {
285
285
  readonly 'react-hooks': typeof reactHooksPlugin;
286
286
  };
287
287
  readonly rules: {
288
+ readonly 'react-hooks/automatic-effect-dependencies': "off";
289
+ readonly 'react-hooks/capitalized-calls': "off";
290
+ readonly 'react-hooks/component-hook-factories': "error";
291
+ readonly 'react-hooks/config': "error";
292
+ readonly 'react-hooks/error-boundaries': "error";
288
293
  readonly 'react-hooks/exhaustive-deps': "error";
294
+ readonly 'react-hooks/fbt': "off";
295
+ readonly 'react-hooks/fire': "off";
296
+ readonly 'react-hooks/gating': "error";
297
+ readonly 'react-hooks/globals': "error";
298
+ readonly 'react-hooks/hooks': "off";
299
+ readonly 'react-hooks/immutability': "error";
300
+ readonly 'react-hooks/incompatible-library': "error";
301
+ readonly 'react-hooks/invariant': "off";
302
+ readonly 'react-hooks/memoized-effect-dependencies': "off";
303
+ readonly 'react-hooks/no-deriving-state-in-effects': "off";
304
+ readonly 'react-hooks/preserve-manual-memoization': "error";
305
+ readonly 'react-hooks/purity': "error";
306
+ readonly 'react-hooks/refs': "error";
307
+ readonly 'react-hooks/rule-suppression': "off";
289
308
  readonly 'react-hooks/rules-of-hooks': "error";
309
+ readonly 'react-hooks/set-state-in-effect': "error";
310
+ readonly 'react-hooks/set-state-in-render': "error";
311
+ readonly 'react-hooks/static-components': "error";
312
+ readonly 'react-hooks/syntax': "off";
313
+ readonly 'react-hooks/todo': "off";
314
+ readonly 'react-hooks/unsupported-syntax': "error";
315
+ readonly 'react-hooks/use-memo': "error";
290
316
  readonly 'react/boolean-prop-naming': "error";
291
317
  readonly 'react/button-has-type': "error";
292
318
  readonly 'react/checked-requires-onchange-or-readonly': "error";
package/dist/react.js CHANGED
@@ -13,8 +13,34 @@ const config = {
13
13
  'react-hooks': reactHooksPlugin
14
14
  },
15
15
  rules: {
16
+ 'react-hooks/automatic-effect-dependencies': 'off',
17
+ 'react-hooks/capitalized-calls': 'off',
18
+ 'react-hooks/component-hook-factories': 'error',
19
+ 'react-hooks/config': 'error',
20
+ 'react-hooks/error-boundaries': 'error',
16
21
  'react-hooks/exhaustive-deps': 'error',
22
+ 'react-hooks/fbt': 'off',
23
+ 'react-hooks/fire': 'off',
24
+ 'react-hooks/gating': 'error',
25
+ 'react-hooks/globals': 'error',
26
+ 'react-hooks/hooks': 'off',
27
+ 'react-hooks/immutability': 'error',
28
+ 'react-hooks/incompatible-library': 'error',
29
+ 'react-hooks/invariant': 'off',
30
+ 'react-hooks/memoized-effect-dependencies': 'off',
31
+ 'react-hooks/no-deriving-state-in-effects': 'off',
32
+ 'react-hooks/preserve-manual-memoization': 'error',
33
+ 'react-hooks/purity': 'error',
34
+ 'react-hooks/refs': 'error',
35
+ 'react-hooks/rule-suppression': 'off',
17
36
  'react-hooks/rules-of-hooks': 'error',
37
+ 'react-hooks/set-state-in-effect': 'error',
38
+ 'react-hooks/set-state-in-render': 'error',
39
+ 'react-hooks/static-components': 'error',
40
+ 'react-hooks/syntax': 'off',
41
+ 'react-hooks/todo': 'off',
42
+ 'react-hooks/unsupported-syntax': 'error',
43
+ 'react-hooks/use-memo': 'error',
18
44
  'react/boolean-prop-naming': 'error',
19
45
  'react/button-has-type': 'error',
20
46
  'react/checked-requires-onchange-or-readonly': 'error',
@@ -13,6 +13,7 @@ declare const rules: {
13
13
  readonly 'jsdoc/check-values': "error";
14
14
  readonly 'jsdoc/convert-to-jsdoc-comments': "off";
15
15
  readonly 'jsdoc/empty-tags': "error";
16
+ readonly 'jsdoc/escape-inline-tags': "error";
16
17
  readonly 'jsdoc/implements-on-classes': "error";
17
18
  readonly 'jsdoc/imports-as-dependencies': "error";
18
19
  readonly 'jsdoc/informative-docs': "error";
@@ -57,6 +58,7 @@ declare const rules: {
57
58
  readonly 'jsdoc/require-returns-type': "error";
58
59
  readonly 'jsdoc/require-tags': "off";
59
60
  readonly 'jsdoc/require-template': "error";
61
+ readonly 'jsdoc/require-template-description': "error";
60
62
  readonly 'jsdoc/require-throws': "error";
61
63
  readonly 'jsdoc/require-throws-description': "off";
62
64
  readonly 'jsdoc/require-throws-type': "error";
@@ -13,6 +13,7 @@ const rules = {
13
13
  'jsdoc/check-values': 'error',
14
14
  'jsdoc/convert-to-jsdoc-comments': 'off',
15
15
  'jsdoc/empty-tags': 'error',
16
+ 'jsdoc/escape-inline-tags': 'error',
16
17
  'jsdoc/implements-on-classes': 'error',
17
18
  'jsdoc/imports-as-dependencies': 'error',
18
19
  'jsdoc/informative-docs': 'error',
@@ -55,6 +56,7 @@ const rules = {
55
56
  'jsdoc/require-returns-type': 'error',
56
57
  'jsdoc/require-tags': 'off',
57
58
  'jsdoc/require-template': 'error',
59
+ 'jsdoc/require-template-description': 'error',
58
60
  'jsdoc/require-throws': 'error',
59
61
  'jsdoc/require-throws-description': 'off',
60
62
  'jsdoc/require-throws-type': 'error',
package/dist/vitest.d.ts CHANGED
@@ -45,6 +45,7 @@ declare const config: {
45
45
  readonly 'vitest/padding-around-describe-blocks': "error";
46
46
  readonly 'vitest/padding-around-expect-groups': "error";
47
47
  readonly 'vitest/padding-around-test-blocks': "error";
48
+ readonly 'vitest/prefer-called-exactly-once-with': "error";
48
49
  readonly 'vitest/prefer-called-once': "error";
49
50
  readonly 'vitest/prefer-called-times': "off";
50
51
  readonly 'vitest/prefer-called-with': "error";
@@ -59,6 +60,7 @@ declare const config: {
59
60
  readonly 'vitest/prefer-expect-type-of': "error";
60
61
  readonly 'vitest/prefer-hooks-in-order': "error";
61
62
  readonly 'vitest/prefer-hooks-on-top': "error";
63
+ readonly 'vitest/prefer-import-in-mock': "error";
62
64
  readonly 'vitest/prefer-importing-vitest-globals': "error";
63
65
  readonly 'vitest/prefer-lowercase-title': "error";
64
66
  readonly 'vitest/prefer-mock-promise-shorthand': "error";
package/dist/vitest.js CHANGED
@@ -46,6 +46,7 @@ const config = {
46
46
  'vitest/padding-around-describe-blocks': 'error',
47
47
  'vitest/padding-around-expect-groups': 'error',
48
48
  'vitest/padding-around-test-blocks': 'error',
49
+ 'vitest/prefer-called-exactly-once-with': 'error',
49
50
  'vitest/prefer-called-once': 'error',
50
51
  'vitest/prefer-called-times': 'off',
51
52
  'vitest/prefer-called-with': 'error',
@@ -58,6 +59,7 @@ const config = {
58
59
  'vitest/prefer-expect-type-of': 'error',
59
60
  'vitest/prefer-hooks-in-order': 'error',
60
61
  'vitest/prefer-hooks-on-top': 'error',
62
+ 'vitest/prefer-import-in-mock': 'error',
61
63
  'vitest/prefer-importing-vitest-globals': 'error',
62
64
  'vitest/prefer-lowercase-title': 'error',
63
65
  'vitest/prefer-mock-promise-shorthand': 'error',
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@egy186/eslint-config",
3
3
  "description": "Eslint shareable config",
4
- "version": "3.3.0",
4
+ "version": "3.5.0",
5
5
  "author": "egy186",
6
6
  "bugs": {
7
7
  "url": "https://github.com/egy186/eslint-config/issues"
@@ -9,23 +9,23 @@
9
9
  "dependencies": {
10
10
  "@stylistic/eslint-plugin": "~5.4.0",
11
11
  "eslint-plugin-import": "~2.32.0",
12
- "eslint-plugin-jsdoc": "~60.3.0",
12
+ "eslint-plugin-jsdoc": "~60.8.0",
13
13
  "eslint-plugin-n": "~17.23.1",
14
14
  "globals": "^16.4.0"
15
15
  },
16
16
  "devDependencies": {
17
- "@eslint/js": "~9.36.0",
18
- "@types/node": "^24.5.2",
19
- "@vitest/eslint-plugin": "~1.3.12",
20
- "eslint": "~9.36.0",
17
+ "@eslint/js": "~9.37.0",
18
+ "@types/node": "^24.6.2",
19
+ "@vitest/eslint-plugin": "~1.3.15",
20
+ "eslint": "~9.37.0",
21
21
  "eslint-import-resolver-typescript": "~4.4.4",
22
22
  "eslint-plugin-jest": "~29.0.1",
23
23
  "eslint-plugin-react": "~7.37.5",
24
- "eslint-plugin-react-hooks": "~5.2.0",
24
+ "eslint-plugin-react-hooks": "~6.1.1",
25
25
  "husky": "^9.1.7",
26
- "jiti": "^2.6.0",
27
- "typescript": "~5.9.2",
28
- "typescript-eslint": "~8.44.1"
26
+ "jiti": "^2.6.1",
27
+ "typescript": "~5.9.3",
28
+ "typescript-eslint": "~8.45.0"
29
29
  },
30
30
  "engines": {
31
31
  "node": ">=20.19.2"
@@ -66,12 +66,12 @@
66
66
  "license": "MIT",
67
67
  "main": "./dist/index.js",
68
68
  "peerDependencies": {
69
- "@vitest/eslint-plugin": "^1.3.9",
69
+ "@vitest/eslint-plugin": "^1.3.15",
70
70
  "eslint": "^9.35.0",
71
71
  "eslint-import-resolver-typescript": "^4.2.2",
72
72
  "eslint-plugin-jest": "^29.0.1",
73
73
  "eslint-plugin-react": "^7.36.1",
74
- "eslint-plugin-react-hooks": "^5.0.0",
74
+ "eslint-plugin-react-hooks": "^6.1.1",
75
75
  "typescript": "^5.0.4",
76
76
  "typescript-eslint": "^8.32.0"
77
77
  },