@exadev/eslint-config 2.10.6 → 2.11.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/dist/index.cjs CHANGED
@@ -24,6 +24,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  enumerable: true
25
25
  }) : target, mod));
26
26
  //#endregion
27
+ let eslint_plugin_jsdoc = require("eslint-plugin-jsdoc");
28
+ eslint_plugin_jsdoc = __toESM(eslint_plugin_jsdoc, 1);
29
+ let eslint_plugin_tsdoc = require("eslint-plugin-tsdoc");
30
+ eslint_plugin_tsdoc = __toESM(eslint_plugin_tsdoc, 1);
27
31
  let node_module = require("node:module");
28
32
  let _eslint_js = require("@eslint/js");
29
33
  _eslint_js = __toESM(_eslint_js, 1);
@@ -34,6 +38,39 @@ let _typescript_eslint_utils = require("@typescript-eslint/utils");
34
38
  let typescript = require("typescript");
35
39
  typescript = __toESM(typescript, 1);
36
40
  let ts_api_utils = require("ts-api-utils");
41
+ //#region src/jsdoc.ts
42
+ const jsdocConfig = eslint_plugin_jsdoc.default.configs["flat/recommended-tsdoc-error"];
43
+ const REQUIREMENTS_TIER_RULES = [
44
+ "jsdoc/require-example",
45
+ "jsdoc/require-jsdoc",
46
+ "jsdoc/require-next-type",
47
+ "jsdoc/require-param",
48
+ "jsdoc/require-param-description",
49
+ "jsdoc/require-param-name",
50
+ "jsdoc/require-param-type",
51
+ "jsdoc/require-property",
52
+ "jsdoc/require-property-description",
53
+ "jsdoc/require-property-name",
54
+ "jsdoc/require-property-type",
55
+ "jsdoc/require-returns",
56
+ "jsdoc/require-returns-description",
57
+ "jsdoc/require-returns-type",
58
+ "jsdoc/require-template",
59
+ "jsdoc/require-throws-type",
60
+ "jsdoc/require-yields",
61
+ "jsdoc/require-yields-type"
62
+ ];
63
+ const jsdocAndTsdoc = [{
64
+ ...jsdocConfig,
65
+ rules: {
66
+ ...jsdocConfig.rules,
67
+ ...Object.fromEntries(REQUIREMENTS_TIER_RULES.map((rule) => [rule, "off"]))
68
+ }
69
+ }, {
70
+ plugins: { tsdoc: eslint_plugin_tsdoc.default },
71
+ rules: { "tsdoc/syntax": "error" }
72
+ }];
73
+ //#endregion
37
74
  //#region src/optional-plugin.ts
38
75
  const nodeRequire = (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href);
39
76
  function tryRequire(specifier, requireFn = nodeRequire) {
@@ -119,7 +156,7 @@ function buildReactConfig(options = {}) {
119
156
  }
120
157
  //#endregion
121
158
  //#region package.json
122
- var version = "2.10.6";
159
+ var version = "2.11.0";
123
160
  //#endregion
124
161
  //#region src/rules/barrel-helpers.ts
125
162
  const INDEX_BASENAME$1 = /^index\.[cm]?[tj]sx?$/;
@@ -1430,6 +1467,7 @@ function toPublicConfigArray(built) {
1430
1467
  function exadevConfig(options = {}, ...userConfigs) {
1431
1468
  return toPublicConfigArray([
1432
1469
  ...recommendedTypeChecked,
1470
+ ...jsdocAndTsdoc,
1433
1471
  ...buildReactConfig({ enabled: options.react }),
1434
1472
  ...buildNextjsConfig({ enabled: options.nextjs }),
1435
1473
  ...userConfigs
package/dist/index.js CHANGED
@@ -1,3 +1,5 @@
1
+ import jsdoc from "eslint-plugin-jsdoc";
2
+ import tsdoc from "eslint-plugin-tsdoc";
1
3
  import { createRequire } from "node:module";
2
4
  import js from "@eslint/js";
3
5
  import tseslint from "typescript-eslint";
@@ -5,6 +7,39 @@ import { posix } from "node:path";
5
7
  import { AST_NODE_TYPES, ESLintUtils, TSESLint } from "@typescript-eslint/utils";
6
8
  import * as ts from "typescript";
7
9
  import { isPropertyReadonlyInType, isTypeReference } from "ts-api-utils";
10
+ //#region src/jsdoc.ts
11
+ const jsdocConfig = jsdoc.configs["flat/recommended-tsdoc-error"];
12
+ const REQUIREMENTS_TIER_RULES = [
13
+ "jsdoc/require-example",
14
+ "jsdoc/require-jsdoc",
15
+ "jsdoc/require-next-type",
16
+ "jsdoc/require-param",
17
+ "jsdoc/require-param-description",
18
+ "jsdoc/require-param-name",
19
+ "jsdoc/require-param-type",
20
+ "jsdoc/require-property",
21
+ "jsdoc/require-property-description",
22
+ "jsdoc/require-property-name",
23
+ "jsdoc/require-property-type",
24
+ "jsdoc/require-returns",
25
+ "jsdoc/require-returns-description",
26
+ "jsdoc/require-returns-type",
27
+ "jsdoc/require-template",
28
+ "jsdoc/require-throws-type",
29
+ "jsdoc/require-yields",
30
+ "jsdoc/require-yields-type"
31
+ ];
32
+ const jsdocAndTsdoc = [{
33
+ ...jsdocConfig,
34
+ rules: {
35
+ ...jsdocConfig.rules,
36
+ ...Object.fromEntries(REQUIREMENTS_TIER_RULES.map((rule) => [rule, "off"]))
37
+ }
38
+ }, {
39
+ plugins: { tsdoc },
40
+ rules: { "tsdoc/syntax": "error" }
41
+ }];
42
+ //#endregion
8
43
  //#region src/optional-plugin.ts
9
44
  const nodeRequire = createRequire(import.meta.url);
10
45
  function tryRequire(specifier, requireFn = nodeRequire) {
@@ -90,7 +125,7 @@ function buildReactConfig(options = {}) {
90
125
  }
91
126
  //#endregion
92
127
  //#region package.json
93
- var version = "2.10.6";
128
+ var version = "2.11.0";
94
129
  //#endregion
95
130
  //#region src/rules/barrel-helpers.ts
96
131
  const INDEX_BASENAME$1 = /^index\.[cm]?[tj]sx?$/;
@@ -1401,6 +1436,7 @@ function toPublicConfigArray(built) {
1401
1436
  function exadevConfig(options = {}, ...userConfigs) {
1402
1437
  return toPublicConfigArray([
1403
1438
  ...recommendedTypeChecked,
1439
+ ...jsdocAndTsdoc,
1404
1440
  ...buildReactConfig({ enabled: options.react }),
1405
1441
  ...buildNextjsConfig({ enabled: options.nextjs }),
1406
1442
  ...userConfigs
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exadev/eslint-config",
3
- "version": "2.10.6",
3
+ "version": "2.11.0",
4
4
  "description": "Shared custom ESLint rules and plugin for ExaDev projects",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -100,6 +100,8 @@
100
100
  "dependencies": {
101
101
  "@eslint/js": "^10.0.1",
102
102
  "@typescript-eslint/utils": "^8.67.0",
103
+ "eslint-plugin-jsdoc": "^64.3.9",
104
+ "eslint-plugin-tsdoc": "^0.5.2",
103
105
  "ts-api-utils": "^2.5.0"
104
106
  }
105
107
  }