@egy186/eslint-config 3.5.0 → 3.6.1

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/base.d.ts CHANGED
@@ -155,7 +155,7 @@ declare const config: {
155
155
  rules: import("@stylistic/eslint-plugin").Rules;
156
156
  configs: import("eslint").ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
157
157
  };
158
- readonly import: import("eslint").ESLint.Plugin & {
158
+ readonly import: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
159
159
  meta: {
160
160
  name: string;
161
161
  version: string;
@@ -184,10 +184,10 @@ declare const config: {
184
184
  [key: string]: import("eslint").Rule.RuleModule;
185
185
  };
186
186
  };
187
- readonly jsdoc: import("eslint").ESLint.Plugin & {
187
+ readonly jsdoc: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
188
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
- readonly n: import("eslint").ESLint.Plugin & {
190
+ readonly n: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
191
191
  configs: nPlugin.Configs;
192
192
  };
193
193
  };
@@ -450,6 +450,10 @@ declare const config: {
450
450
  readonly 'jsdoc/text-escaping': ["error", {
451
451
  readonly escapeHTML: true;
452
452
  }];
453
+ readonly 'jsdoc/ts-method-signature-style': "error";
454
+ readonly 'jsdoc/ts-no-empty-object-type': "error";
455
+ readonly 'jsdoc/ts-no-unnecessary-template-expression': "error";
456
+ readonly 'jsdoc/ts-prefer-function-type': "error";
453
457
  readonly 'jsdoc/type-formatting': "error";
454
458
  readonly 'jsdoc/valid-types': "error";
455
459
  readonly 'import/consistent-type-specifier-style': "error";
package/dist/browser.d.ts CHANGED
@@ -1490,6 +1490,10 @@ declare const config: {
1490
1490
  readonly 'jsdoc/text-escaping': ["error", {
1491
1491
  readonly escapeHTML: true;
1492
1492
  }];
1493
+ readonly 'jsdoc/ts-method-signature-style': "error";
1494
+ readonly 'jsdoc/ts-no-empty-object-type': "error";
1495
+ readonly 'jsdoc/ts-no-unnecessary-template-expression': "error";
1496
+ readonly 'jsdoc/ts-prefer-function-type': "error";
1493
1497
  readonly 'jsdoc/type-formatting': "error";
1494
1498
  readonly 'jsdoc/valid-types': "error";
1495
1499
  readonly 'import/consistent-type-specifier-style': "error";
@@ -1771,7 +1775,7 @@ declare const config: {
1771
1775
  rules: import("@stylistic/eslint-plugin").Rules;
1772
1776
  configs: import("eslint").ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
1773
1777
  };
1774
- readonly import: import("eslint").ESLint.Plugin & {
1778
+ readonly import: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
1775
1779
  meta: {
1776
1780
  name: string;
1777
1781
  version: string;
@@ -1800,10 +1804,10 @@ declare const config: {
1800
1804
  [key: string]: import("eslint").Rule.RuleModule;
1801
1805
  };
1802
1806
  };
1803
- readonly jsdoc: import("eslint").ESLint.Plugin & {
1807
+ readonly jsdoc: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
1804
1808
  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[]>;
1805
1809
  };
1806
- readonly n: import("eslint").ESLint.Plugin & {
1810
+ readonly n: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
1807
1811
  configs: import("eslint-plugin-n").Configs;
1808
1812
  };
1809
1813
  };
@@ -404,6 +404,10 @@ declare const config: {
404
404
  readonly 'jsdoc/text-escaping': ["error", {
405
405
  readonly escapeHTML: true;
406
406
  }];
407
+ readonly 'jsdoc/ts-method-signature-style': "error";
408
+ readonly 'jsdoc/ts-no-empty-object-type': "error";
409
+ readonly 'jsdoc/ts-no-unnecessary-template-expression': "error";
410
+ readonly 'jsdoc/ts-prefer-function-type': "error";
407
411
  readonly 'jsdoc/type-formatting': "error";
408
412
  readonly 'jsdoc/valid-types': "error";
409
413
  readonly 'import/consistent-type-specifier-style': "error";
@@ -685,7 +689,7 @@ declare const config: {
685
689
  rules: import("@stylistic/eslint-plugin").Rules;
686
690
  configs: import("eslint").ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
687
691
  };
688
- readonly import: import("eslint").ESLint.Plugin & {
692
+ readonly import: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
689
693
  meta: {
690
694
  name: string;
691
695
  version: string;
@@ -714,10 +718,10 @@ declare const config: {
714
718
  [key: string]: import("eslint").Rule.RuleModule;
715
719
  };
716
720
  };
717
- readonly jsdoc: import("eslint").ESLint.Plugin & {
721
+ readonly jsdoc: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
718
722
  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[]>;
719
723
  };
720
- readonly n: import("eslint").ESLint.Plugin & {
724
+ readonly n: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
721
725
  configs: import("eslint-plugin-n").Configs;
722
726
  };
723
727
  };
package/dist/jest.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import type { Linter } from 'eslint';
2
+ /**
3
+ * @deprecated Use `@egy186/eslint-config/vitest` instead.
4
+ */
2
5
  declare const config: {
3
6
  readonly files: ["**/*.{spec,test}.{js,jsx,mjs,cjs}", "**/*.{spec,test}.{ts,tsx,mts,cts}"];
4
7
  readonly languageOptions: {
package/dist/jest.js CHANGED
@@ -1,5 +1,9 @@
1
1
  import globals from 'globals';
2
2
  import jest from 'eslint-plugin-jest';
3
+ process.emitWarning('`@egy186/eslint-config/jest` is deprecated. Use `@egy186/eslint-config/vitest` instead.', { type: 'DeprecationWarning' });
4
+ /**
5
+ * @deprecated Use `@egy186/eslint-config/vitest` instead.
6
+ */
3
7
  const config = {
4
8
  files: ['**/*.{spec,test}.{js,jsx,mjs,cjs}', '**/*.{spec,test}.{ts,tsx,mts,cts}'],
5
9
  languageOptions: {
@@ -76,5 +80,7 @@ const config = {
76
80
  'max-statements': 'off'
77
81
  }
78
82
  };
83
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
79
84
  export { config as jest };
85
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
80
86
  export default config;
package/dist/react.d.ts CHANGED
@@ -1,5 +1,5 @@
1
+ import type { ESLint } from 'eslint';
1
2
  import react from 'eslint-plugin-react';
2
- import reactHooksPlugin from 'eslint-plugin-react-hooks';
3
3
  declare const config: {
4
4
  readonly files: ["**/*.{jsx,tsx}"];
5
5
  readonly languageOptions: {
@@ -282,7 +282,7 @@ declare const config: {
282
282
  flat: Record<string, react.ReactFlatConfig>;
283
283
  };
284
284
  };
285
- readonly 'react-hooks': typeof reactHooksPlugin;
285
+ readonly 'react-hooks': ESLint.Plugin;
286
286
  };
287
287
  readonly rules: {
288
288
  readonly 'react-hooks/automatic-effect-dependencies': "off";
@@ -313,6 +313,7 @@ declare const config: {
313
313
  readonly 'react-hooks/todo': "off";
314
314
  readonly 'react-hooks/unsupported-syntax': "error";
315
315
  readonly 'react-hooks/use-memo': "error";
316
+ readonly 'react-hooks/void-use-memo': "error";
316
317
  readonly 'react/boolean-prop-naming': "error";
317
318
  readonly 'react/button-has-type': "error";
318
319
  readonly 'react/checked-requires-onchange-or-readonly': "error";
package/dist/react.js CHANGED
@@ -41,6 +41,7 @@ const config = {
41
41
  'react-hooks/todo': 'off',
42
42
  'react-hooks/unsupported-syntax': 'error',
43
43
  'react-hooks/use-memo': 'error',
44
+ 'react-hooks/void-use-memo': 'error',
44
45
  'react/boolean-prop-naming': 'error',
45
46
  'react/button-has-type': 'error',
46
47
  'react/checked-requires-onchange-or-readonly': 'error',
@@ -73,6 +73,10 @@ declare const rules: {
73
73
  readonly 'jsdoc/text-escaping': ["error", {
74
74
  readonly escapeHTML: true;
75
75
  }];
76
+ readonly 'jsdoc/ts-method-signature-style': "error";
77
+ readonly 'jsdoc/ts-no-empty-object-type': "error";
78
+ readonly 'jsdoc/ts-no-unnecessary-template-expression': "error";
79
+ readonly 'jsdoc/ts-prefer-function-type': "error";
76
80
  readonly 'jsdoc/type-formatting': "error";
77
81
  readonly 'jsdoc/valid-types': "error";
78
82
  };
@@ -71,6 +71,10 @@ const rules = {
71
71
  { startLines: 1 }
72
72
  ],
73
73
  'jsdoc/text-escaping': ['error', { escapeHTML: true }],
74
+ 'jsdoc/ts-method-signature-style': 'error',
75
+ 'jsdoc/ts-no-empty-object-type': 'error',
76
+ 'jsdoc/ts-no-unnecessary-template-expression': 'error',
77
+ 'jsdoc/ts-prefer-function-type': 'error',
74
78
  'jsdoc/type-formatting': 'error',
75
79
  'jsdoc/valid-types': 'error'
76
80
  };
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.5.0",
4
+ "version": "3.6.1",
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.8.0",
12
+ "eslint-plugin-jsdoc": "~61.1.4",
13
13
  "eslint-plugin-n": "~17.23.1",
14
14
  "globals": "^16.4.0"
15
15
  },
16
16
  "devDependencies": {
17
- "@eslint/js": "~9.37.0",
18
- "@types/node": "^24.6.2",
19
- "@vitest/eslint-plugin": "~1.3.15",
20
- "eslint": "~9.37.0",
17
+ "@eslint/js": "~9.38.0",
18
+ "@types/node": "^24.8.1",
19
+ "@vitest/eslint-plugin": "~1.3.23",
20
+ "eslint": "~9.38.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": "~6.1.1",
24
+ "eslint-plugin-react-hooks": "~7.0.0",
25
25
  "husky": "^9.1.7",
26
26
  "jiti": "^2.6.1",
27
27
  "typescript": "~5.9.3",
28
- "typescript-eslint": "~8.45.0"
28
+ "typescript-eslint": "~8.46.1"
29
29
  },
30
30
  "engines": {
31
31
  "node": ">=20.19.2"
@@ -71,7 +71,7 @@
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": "^6.1.1",
74
+ "eslint-plugin-react-hooks": "^7.0.0",
75
75
  "typescript": "^5.0.4",
76
76
  "typescript-eslint": "^8.32.0"
77
77
  },