@robot-inventor/eslint-config 3.0.1 → 4.0.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.
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Config.js").FlatConfig.ConfigArray;
2
+ export default _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const typescript_eslint_1 = require("typescript-eslint");
4
+ const index_js_1 = require("./src/index.js");
5
+ const overrides = {
6
+ rules: {
7
+ "sort-keys": "off"
8
+ }
9
+ };
10
+ exports.default = (0, typescript_eslint_1.config)(...index_js_1.eslintConfig, overrides);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robot-inventor/eslint-config",
3
- "version": "3.0.1",
3
+ "version": "4.0.1",
4
4
  "description": "My ESLint config preset",
5
5
  "type": "commonjs",
6
6
  "files": [
@@ -8,6 +8,7 @@
8
8
  ],
9
9
  "scripts": {
10
10
  "build": "tsc -p . && tsc -p ./tsconfig.cjs.json && tsconfig-to-dual-package",
11
+ "lint": "npx eslint --flag unstable_ts_config ./src/**/*.ts",
11
12
  "ci:version": "changeset version",
12
13
  "ci:publish": "npm run build && changeset publish"
13
14
  },
@@ -29,17 +30,29 @@
29
30
  "provenance": true
30
31
  },
31
32
  "dependencies": {
33
+ "@eslint/eslintrc": "^3.1.0",
32
34
  "@eslint/js": "^9.0.0",
33
35
  "@types/eslint__js": "^8.42.3",
34
36
  "@types/eslint-config-prettier": "^6.11.3",
37
+ "@typescript-eslint/parser": "^8.0.1",
35
38
  "eslint-config-prettier": "^9.1.0",
39
+ "eslint-import-resolver-typescript": "^3.6.1",
40
+ "eslint-plugin-import-x": "^3.1.0",
36
41
  "eslint-plugin-jsdoc": "^50.0.0",
37
42
  "typescript-eslint": "^8.0.0"
38
43
  },
39
44
  "devDependencies": {
40
45
  "@changesets/changelog-github": "^0.5.0",
41
46
  "@changesets/cli": "^2.27.1",
47
+ "@eslint-types/jsdoc": "^48.2.2",
48
+ "@eslint-types/typescript-eslint": "^7.5.0",
49
+ "@types/eslint__eslintrc": "^2.1.2",
50
+ "eslint": "^9.9.0",
51
+ "jiti": "^1.21.6",
42
52
  "tsconfig-to-dual-package": "^1.2.0",
43
53
  "typescript": "^5.4.4"
54
+ },
55
+ "overrides": {
56
+ "eslint": "^9.9.0"
44
57
  }
45
58
  }
@@ -0,0 +1,3 @@
1
+ declare const eslintConfigNoJSDoc: import("@typescript-eslint/utils/dist/ts-eslint").FlatConfig.ConfigArray;
2
+ declare const eslintConfig: import("@typescript-eslint/utils/dist/ts-eslint").FlatConfig.ConfigArray;
3
+ export { eslintConfigNoJSDoc, eslintConfig };
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.eslintConfig = exports.eslintConfigNoJSDoc = void 0;
7
+ const typescript_eslint_1 = require("typescript-eslint");
8
+ const eslintrc_1 = require("@eslint/eslintrc");
9
+ const js_1 = __importDefault(require("@eslint/js"));
10
+ const eslint_config_prettier_1 = __importDefault(require("eslint-config-prettier"));
11
+ const eslint_plugin_import_x_1 = __importDefault(require("eslint-plugin-import-x"));
12
+ const eslint_plugin_jsdoc_1 = __importDefault(require("eslint-plugin-jsdoc"));
13
+ const compat = new eslintrc_1.FlatCompat();
14
+ const eslintRules = {
15
+ "array-element-newline": ["error", "consistent"],
16
+ curly: ["error", "multi-line"],
17
+ "function-call-argument-newline": ["error", "consistent"],
18
+ "lines-between-class-members": [
19
+ "error",
20
+ "always",
21
+ {
22
+ exceptAfterSingleLine: true
23
+ }
24
+ ],
25
+ "max-len": [
26
+ "error",
27
+ {
28
+ code: 120
29
+ }
30
+ ],
31
+ "multiline-ternary": ["error", "always-multiline"],
32
+ "no-magic-numbers": [
33
+ "error",
34
+ {
35
+ ignoreArrayIndexes: true
36
+ }
37
+ ],
38
+ "no-ternary": "off",
39
+ "no-void": [
40
+ "error",
41
+ // @ts-expect-error Type definitions are incorrect
42
+ {
43
+ allowAsStatement: true
44
+ }
45
+ ],
46
+ "object-curly-spacing": ["error", "always"],
47
+ "one-var": ["error", "never"],
48
+ "padded-blocks": ["error", "never"],
49
+ "space-before-function-paren": [
50
+ "error",
51
+ {
52
+ anonymous: "always",
53
+ asyncArrow: "always",
54
+ named: "never"
55
+ }
56
+ ],
57
+ "no-plusplus": "off",
58
+ "no-extra-parens": [
59
+ "error",
60
+ "all",
61
+ {
62
+ nestedBinaryExpressions: false
63
+ }
64
+ ],
65
+ "no-new": "off"
66
+ };
67
+ const tseslintRules = {
68
+ "@typescript-eslint/explicit-function-return-type": "error",
69
+ "@typescript-eslint/explicit-member-accessibility": "error",
70
+ "@typescript-eslint/consistent-type-imports": "error",
71
+ "@typescript-eslint/no-import-type-side-effects": "error",
72
+ "@typescript-eslint/consistent-type-exports": "error",
73
+ "@typescript-eslint/strict-boolean-expressions": "error",
74
+ "@typescript-eslint/switch-exhaustiveness-check": "error",
75
+ "@typescript-eslint/array-type": [
76
+ "error",
77
+ {
78
+ default: "array-simple"
79
+ }
80
+ ]
81
+ };
82
+ const importXRules = {
83
+ "import-x/no-deprecated": "error",
84
+ "import-x/no-extraneous-dependencies": "error",
85
+ "import-x/no-absolute-path": "error",
86
+ "import-x/no-cycle": "error",
87
+ "import-x/no-self-import": "error",
88
+ "import-x/no-useless-path-segments": "error",
89
+ "import-x/exports-last": "error",
90
+ "import-x/first": "error",
91
+ "import-x/group-exports": "error",
92
+ "import-x/max-dependencies": "error",
93
+ "import-x/newline-after-import": "error",
94
+ "import-x/no-unassigned-import": "error"
95
+ };
96
+ const jsdocRules = {
97
+ "jsdoc/require-jsdoc": [
98
+ "error",
99
+ {
100
+ require: {
101
+ ArrowFunctionExpression: true,
102
+ ClassDeclaration: true,
103
+ ClassExpression: true,
104
+ FunctionDeclaration: true,
105
+ FunctionExpression: true,
106
+ MethodDefinition: true
107
+ }
108
+ }
109
+ ]
110
+ };
111
+ const eslintConfigNoJSDoc = (0, typescript_eslint_1.config)(js_1.default.configs.all, eslint_plugin_jsdoc_1.default.configs["flat/recommended-typescript-error"], eslint_config_prettier_1.default, ...typescript_eslint_1.configs.strictTypeChecked, ...typescript_eslint_1.configs.stylisticTypeChecked, ...compat.config(eslint_plugin_import_x_1.default.configs.recommended), eslint_plugin_import_x_1.default.configs.typescript, {
112
+ languageOptions: {
113
+ parserOptions: {
114
+ projectService: true
115
+ }
116
+ },
117
+ plugins: {
118
+ jsdoc: eslint_plugin_jsdoc_1.default
119
+ },
120
+ linterOptions: {
121
+ reportUnusedDisableDirectives: "error"
122
+ },
123
+ settings: {
124
+ "import-x/resolver": {
125
+ typescript: true,
126
+ node: true
127
+ }
128
+ },
129
+ rules: {
130
+ ...eslintRules,
131
+ ...tseslintRules,
132
+ ...importXRules
133
+ }
134
+ });
135
+ exports.eslintConfigNoJSDoc = eslintConfigNoJSDoc;
136
+ const JSDocRule = (0, typescript_eslint_1.config)({
137
+ rules: {
138
+ ...jsdocRules
139
+ }
140
+ });
141
+ const eslintConfig = (0, typescript_eslint_1.config)(...eslintConfigNoJSDoc, ...JSDocRule);
142
+ exports.eslintConfig = eslintConfig;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@typescript-eslint/utils/ts-eslint").FlatConfig.ConfigArray;
2
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import { config } from "typescript-eslint";
2
+ import { eslintConfig } from "./src/index.js";
3
+ const overrides = {
4
+ rules: {
5
+ "sort-keys": "off"
6
+ }
7
+ };
8
+ export default config(...eslintConfig, overrides);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robot-inventor/eslint-config",
3
- "version": "3.0.1",
3
+ "version": "4.0.1",
4
4
  "description": "My ESLint config preset",
5
5
  "type": "module",
6
6
  "files": [
@@ -8,6 +8,7 @@
8
8
  ],
9
9
  "scripts": {
10
10
  "build": "tsc -p . && tsc -p ./tsconfig.cjs.json && tsconfig-to-dual-package",
11
+ "lint": "npx eslint --flag unstable_ts_config ./src/**/*.ts",
11
12
  "ci:version": "changeset version",
12
13
  "ci:publish": "npm run build && changeset publish"
13
14
  },
@@ -29,17 +30,29 @@
29
30
  "provenance": true
30
31
  },
31
32
  "dependencies": {
33
+ "@eslint/eslintrc": "^3.1.0",
32
34
  "@eslint/js": "^9.0.0",
33
35
  "@types/eslint__js": "^8.42.3",
34
36
  "@types/eslint-config-prettier": "^6.11.3",
37
+ "@typescript-eslint/parser": "^8.0.1",
35
38
  "eslint-config-prettier": "^9.1.0",
39
+ "eslint-import-resolver-typescript": "^3.6.1",
40
+ "eslint-plugin-import-x": "^3.1.0",
36
41
  "eslint-plugin-jsdoc": "^50.0.0",
37
42
  "typescript-eslint": "^8.0.0"
38
43
  },
39
44
  "devDependencies": {
40
45
  "@changesets/changelog-github": "^0.5.0",
41
46
  "@changesets/cli": "^2.27.1",
47
+ "@eslint-types/jsdoc": "^48.2.2",
48
+ "@eslint-types/typescript-eslint": "^7.5.0",
49
+ "@types/eslint__eslintrc": "^2.1.2",
50
+ "eslint": "^9.9.0",
51
+ "jiti": "^1.21.6",
42
52
  "tsconfig-to-dual-package": "^1.2.0",
43
53
  "typescript": "^5.4.4"
54
+ },
55
+ "overrides": {
56
+ "eslint": "^9.9.0"
44
57
  }
45
58
  }
@@ -0,0 +1,3 @@
1
+ declare const eslintConfigNoJSDoc: import("@typescript-eslint/utils/ts-eslint").FlatConfig.ConfigArray;
2
+ declare const eslintConfig: import("@typescript-eslint/utils/ts-eslint").FlatConfig.ConfigArray;
3
+ export { eslintConfigNoJSDoc, eslintConfig };
@@ -0,0 +1,135 @@
1
+ import { config, configs as tseslintConfigs } from "typescript-eslint";
2
+ import { FlatCompat } from "@eslint/eslintrc";
3
+ import eslint from "@eslint/js";
4
+ import eslintConfigPrettier from "eslint-config-prettier";
5
+ import importX from "eslint-plugin-import-x";
6
+ import jsdoc from "eslint-plugin-jsdoc";
7
+ const compat = new FlatCompat();
8
+ const eslintRules = {
9
+ "array-element-newline": ["error", "consistent"],
10
+ curly: ["error", "multi-line"],
11
+ "function-call-argument-newline": ["error", "consistent"],
12
+ "lines-between-class-members": [
13
+ "error",
14
+ "always",
15
+ {
16
+ exceptAfterSingleLine: true
17
+ }
18
+ ],
19
+ "max-len": [
20
+ "error",
21
+ {
22
+ code: 120
23
+ }
24
+ ],
25
+ "multiline-ternary": ["error", "always-multiline"],
26
+ "no-magic-numbers": [
27
+ "error",
28
+ {
29
+ ignoreArrayIndexes: true
30
+ }
31
+ ],
32
+ "no-ternary": "off",
33
+ "no-void": [
34
+ "error",
35
+ // @ts-expect-error Type definitions are incorrect
36
+ {
37
+ allowAsStatement: true
38
+ }
39
+ ],
40
+ "object-curly-spacing": ["error", "always"],
41
+ "one-var": ["error", "never"],
42
+ "padded-blocks": ["error", "never"],
43
+ "space-before-function-paren": [
44
+ "error",
45
+ {
46
+ anonymous: "always",
47
+ asyncArrow: "always",
48
+ named: "never"
49
+ }
50
+ ],
51
+ "no-plusplus": "off",
52
+ "no-extra-parens": [
53
+ "error",
54
+ "all",
55
+ {
56
+ nestedBinaryExpressions: false
57
+ }
58
+ ],
59
+ "no-new": "off"
60
+ };
61
+ const tseslintRules = {
62
+ "@typescript-eslint/explicit-function-return-type": "error",
63
+ "@typescript-eslint/explicit-member-accessibility": "error",
64
+ "@typescript-eslint/consistent-type-imports": "error",
65
+ "@typescript-eslint/no-import-type-side-effects": "error",
66
+ "@typescript-eslint/consistent-type-exports": "error",
67
+ "@typescript-eslint/strict-boolean-expressions": "error",
68
+ "@typescript-eslint/switch-exhaustiveness-check": "error",
69
+ "@typescript-eslint/array-type": [
70
+ "error",
71
+ {
72
+ default: "array-simple"
73
+ }
74
+ ]
75
+ };
76
+ const importXRules = {
77
+ "import-x/no-deprecated": "error",
78
+ "import-x/no-extraneous-dependencies": "error",
79
+ "import-x/no-absolute-path": "error",
80
+ "import-x/no-cycle": "error",
81
+ "import-x/no-self-import": "error",
82
+ "import-x/no-useless-path-segments": "error",
83
+ "import-x/exports-last": "error",
84
+ "import-x/first": "error",
85
+ "import-x/group-exports": "error",
86
+ "import-x/max-dependencies": "error",
87
+ "import-x/newline-after-import": "error",
88
+ "import-x/no-unassigned-import": "error"
89
+ };
90
+ const jsdocRules = {
91
+ "jsdoc/require-jsdoc": [
92
+ "error",
93
+ {
94
+ require: {
95
+ ArrowFunctionExpression: true,
96
+ ClassDeclaration: true,
97
+ ClassExpression: true,
98
+ FunctionDeclaration: true,
99
+ FunctionExpression: true,
100
+ MethodDefinition: true
101
+ }
102
+ }
103
+ ]
104
+ };
105
+ const eslintConfigNoJSDoc = config(eslint.configs.all, jsdoc.configs["flat/recommended-typescript-error"], eslintConfigPrettier, ...tseslintConfigs.strictTypeChecked, ...tseslintConfigs.stylisticTypeChecked, ...compat.config(importX.configs.recommended), importX.configs.typescript, {
106
+ languageOptions: {
107
+ parserOptions: {
108
+ projectService: true
109
+ }
110
+ },
111
+ plugins: {
112
+ jsdoc
113
+ },
114
+ linterOptions: {
115
+ reportUnusedDisableDirectives: "error"
116
+ },
117
+ settings: {
118
+ "import-x/resolver": {
119
+ typescript: true,
120
+ node: true
121
+ }
122
+ },
123
+ rules: {
124
+ ...eslintRules,
125
+ ...tseslintRules,
126
+ ...importXRules
127
+ }
128
+ });
129
+ const JSDocRule = config({
130
+ rules: {
131
+ ...jsdocRules
132
+ }
133
+ });
134
+ const eslintConfig = config(...eslintConfigNoJSDoc, ...JSDocRule);
135
+ export { eslintConfigNoJSDoc, eslintConfig };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robot-inventor/eslint-config",
3
- "version": "3.0.1",
3
+ "version": "4.0.1",
4
4
  "description": "My ESLint config preset",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -19,6 +19,7 @@
19
19
  },
20
20
  "scripts": {
21
21
  "build": "tsc -p . && tsc -p ./tsconfig.cjs.json && tsconfig-to-dual-package",
22
+ "lint": "npx eslint --flag unstable_ts_config ./src/**/*.ts",
22
23
  "ci:version": "changeset version",
23
24
  "ci:publish": "npm run build && changeset publish"
24
25
  },
@@ -40,17 +41,29 @@
40
41
  "provenance": true
41
42
  },
42
43
  "dependencies": {
44
+ "@eslint/eslintrc": "^3.1.0",
43
45
  "@eslint/js": "^9.0.0",
44
46
  "@types/eslint__js": "^8.42.3",
45
47
  "@types/eslint-config-prettier": "^6.11.3",
48
+ "@typescript-eslint/parser": "^8.0.1",
46
49
  "eslint-config-prettier": "^9.1.0",
50
+ "eslint-import-resolver-typescript": "^3.6.1",
51
+ "eslint-plugin-import-x": "^3.1.0",
47
52
  "eslint-plugin-jsdoc": "^50.0.0",
48
53
  "typescript-eslint": "^8.0.0"
49
54
  },
50
55
  "devDependencies": {
51
56
  "@changesets/changelog-github": "^0.5.0",
52
57
  "@changesets/cli": "^2.27.1",
58
+ "@eslint-types/jsdoc": "^48.2.2",
59
+ "@eslint-types/typescript-eslint": "^7.5.0",
60
+ "@types/eslint__eslintrc": "^2.1.2",
61
+ "eslint": "^9.9.0",
62
+ "jiti": "^1.21.6",
53
63
  "tsconfig-to-dual-package": "^1.2.0",
54
64
  "typescript": "^5.4.4"
65
+ },
66
+ "overrides": {
67
+ "eslint": "^9.9.0"
55
68
  }
56
69
  }
@@ -1,4 +0,0 @@
1
- import tseslint from "typescript-eslint";
2
- declare const eslintConfigNoJSDoc: ReturnType<typeof tseslint.config>;
3
- declare const eslintConfig: ReturnType<typeof tseslint.config>;
4
- export { eslintConfigNoJSDoc, eslintConfig };
package/dist/cjs/index.js DELETED
@@ -1,100 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.eslintConfig = exports.eslintConfigNoJSDoc = void 0;
7
- const js_1 = __importDefault(require("@eslint/js"));
8
- const typescript_eslint_1 = __importDefault(require("typescript-eslint"));
9
- const eslint_plugin_jsdoc_1 = __importDefault(require("eslint-plugin-jsdoc"));
10
- const eslint_config_prettier_1 = __importDefault(require("eslint-config-prettier"));
11
- const eslintConfigNoJSDoc = typescript_eslint_1.default.config(js_1.default.configs.all, eslint_plugin_jsdoc_1.default.configs["flat/recommended-typescript-error"], eslint_config_prettier_1.default, ...typescript_eslint_1.default.configs.strictTypeChecked, {
12
- languageOptions: {
13
- parserOptions: {
14
- projectService: true
15
- }
16
- },
17
- plugins: {
18
- jsdoc: eslint_plugin_jsdoc_1.default
19
- },
20
- linterOptions: {
21
- reportUnusedDisableDirectives: "error"
22
- },
23
- rules: {
24
- "array-element-newline": ["error", "consistent"],
25
- curly: ["error", "multi-line"],
26
- "function-call-argument-newline": ["error", "consistent"],
27
- "lines-between-class-members": [
28
- "error",
29
- "always",
30
- {
31
- exceptAfterSingleLine: true
32
- }
33
- ],
34
- "max-len": [
35
- "error",
36
- {
37
- code: 120
38
- }
39
- ],
40
- "multiline-ternary": ["error", "always-multiline"],
41
- "no-magic-numbers": [
42
- "error",
43
- {
44
- ignoreArrayIndexes: true
45
- }
46
- ],
47
- "no-ternary": "off",
48
- "no-void": [
49
- "error",
50
- {
51
- allowAsStatement: true
52
- }
53
- ],
54
- "object-curly-spacing": ["error", "always"],
55
- "one-var": ["error", "never"],
56
- "padded-blocks": ["error", "never"],
57
- "quote-props": ["error", "consistent-as-needed"],
58
- "space-before-function-paren": [
59
- "error",
60
- {
61
- anonymous: "always",
62
- asyncArrow: "always",
63
- named: "never"
64
- }
65
- ],
66
- "no-plusplus": "off",
67
- "no-extra-parens": [
68
- "error",
69
- "all",
70
- {
71
- nestedBinaryExpressions: false
72
- }
73
- ],
74
- "no-new": "off",
75
- "@typescript-eslint/explicit-function-return-type": "error",
76
- "@typescript-eslint/explicit-member-accessibility": "error",
77
- "@typescript-eslint/consistent-type-imports": "error",
78
- "@typescript-eslint/no-import-type-side-effects": "error"
79
- }
80
- });
81
- exports.eslintConfigNoJSDoc = eslintConfigNoJSDoc;
82
- const JSDocRule = typescript_eslint_1.default.config({
83
- rules: {
84
- "jsdoc/require-jsdoc": [
85
- "error",
86
- {
87
- require: {
88
- ArrowFunctionExpression: true,
89
- ClassDeclaration: true,
90
- ClassExpression: true,
91
- FunctionDeclaration: true,
92
- FunctionExpression: true,
93
- MethodDefinition: true
94
- }
95
- }
96
- ]
97
- }
98
- });
99
- const eslintConfig = typescript_eslint_1.default.config(...eslintConfigNoJSDoc, ...JSDocRule);
100
- exports.eslintConfig = eslintConfig;
@@ -1,4 +0,0 @@
1
- import tseslint from "typescript-eslint";
2
- declare const eslintConfigNoJSDoc: ReturnType<typeof tseslint.config>;
3
- declare const eslintConfig: ReturnType<typeof tseslint.config>;
4
- export { eslintConfigNoJSDoc, eslintConfig };
package/dist/esm/index.js DELETED
@@ -1,93 +0,0 @@
1
- import eslint from "@eslint/js";
2
- import tseslint from "typescript-eslint";
3
- import jsdoc from "eslint-plugin-jsdoc";
4
- import eslintConfigPrettier from "eslint-config-prettier";
5
- const eslintConfigNoJSDoc = tseslint.config(eslint.configs.all, jsdoc.configs["flat/recommended-typescript-error"], eslintConfigPrettier, ...tseslint.configs.strictTypeChecked, {
6
- languageOptions: {
7
- parserOptions: {
8
- projectService: true
9
- }
10
- },
11
- plugins: {
12
- jsdoc
13
- },
14
- linterOptions: {
15
- reportUnusedDisableDirectives: "error"
16
- },
17
- rules: {
18
- "array-element-newline": ["error", "consistent"],
19
- curly: ["error", "multi-line"],
20
- "function-call-argument-newline": ["error", "consistent"],
21
- "lines-between-class-members": [
22
- "error",
23
- "always",
24
- {
25
- exceptAfterSingleLine: true
26
- }
27
- ],
28
- "max-len": [
29
- "error",
30
- {
31
- code: 120
32
- }
33
- ],
34
- "multiline-ternary": ["error", "always-multiline"],
35
- "no-magic-numbers": [
36
- "error",
37
- {
38
- ignoreArrayIndexes: true
39
- }
40
- ],
41
- "no-ternary": "off",
42
- "no-void": [
43
- "error",
44
- {
45
- allowAsStatement: true
46
- }
47
- ],
48
- "object-curly-spacing": ["error", "always"],
49
- "one-var": ["error", "never"],
50
- "padded-blocks": ["error", "never"],
51
- "quote-props": ["error", "consistent-as-needed"],
52
- "space-before-function-paren": [
53
- "error",
54
- {
55
- anonymous: "always",
56
- asyncArrow: "always",
57
- named: "never"
58
- }
59
- ],
60
- "no-plusplus": "off",
61
- "no-extra-parens": [
62
- "error",
63
- "all",
64
- {
65
- nestedBinaryExpressions: false
66
- }
67
- ],
68
- "no-new": "off",
69
- "@typescript-eslint/explicit-function-return-type": "error",
70
- "@typescript-eslint/explicit-member-accessibility": "error",
71
- "@typescript-eslint/consistent-type-imports": "error",
72
- "@typescript-eslint/no-import-type-side-effects": "error"
73
- }
74
- });
75
- const JSDocRule = tseslint.config({
76
- rules: {
77
- "jsdoc/require-jsdoc": [
78
- "error",
79
- {
80
- require: {
81
- ArrowFunctionExpression: true,
82
- ClassDeclaration: true,
83
- ClassExpression: true,
84
- FunctionDeclaration: true,
85
- FunctionExpression: true,
86
- MethodDefinition: true
87
- }
88
- }
89
- ]
90
- }
91
- });
92
- const eslintConfig = tseslint.config(...eslintConfigNoJSDoc, ...JSDocRule);
93
- export { eslintConfigNoJSDoc, eslintConfig };