@perfective/eslint-config 0.28.0 → 0.29.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.
Files changed (56) hide show
  1. package/README.adoc +29 -31
  2. package/README.md +24 -4
  3. package/config/plugin.d.ts +0 -3
  4. package/config/plugin.js +0 -24
  5. package/config.d.ts +1 -1
  6. package/config.js +1 -4
  7. package/cypress.d.ts +1 -0
  8. package/cypress.js +58 -0
  9. package/index.d.ts +1734 -0
  10. package/index.js +2 -35
  11. package/jest-dom.d.ts +1 -0
  12. package/jest-dom.js +11 -0
  13. package/jest.d.ts +1 -0
  14. package/jest.js +24 -0
  15. package/package.json +49 -17
  16. package/rules/array-func/index.d.ts +14 -0
  17. package/rules/cypress/index.d.ts +21 -0
  18. package/rules/cypress/index.js +4 -1
  19. package/rules/eslint/index.d.ts +339 -0
  20. package/rules/eslint/layout-formatting.d.ts +64 -0
  21. package/rules/eslint/possible-problems.d.ts +96 -0
  22. package/rules/eslint/possible-problems.js +10 -2
  23. package/rules/eslint/suggestions.d.ts +181 -0
  24. package/rules/eslint/suggestions.js +3 -1
  25. package/rules/eslint-comments/best-practices.d.ts +8 -0
  26. package/rules/eslint-comments/index.d.ts +21 -0
  27. package/rules/eslint-comments/stylistic-issues.d.ts +9 -0
  28. package/rules/import/helpful-warnings.d.ts +10 -0
  29. package/rules/import/index.d.ts +78 -0
  30. package/rules/import/module-systems.d.ts +10 -0
  31. package/rules/import/static-analysis.d.ts +26 -0
  32. package/rules/import/style-guide.d.ts +33 -0
  33. package/rules/jest/index.d.ts +124 -0
  34. package/rules/jest/typescript-eslint.d.ts +5 -0
  35. package/rules/jest-dom/index.d.ts +32 -0
  36. package/rules/jsdoc/index.d.ts +134 -0
  37. package/rules/n/index.d.ts +66 -0
  38. package/rules/prefer-arrow/index.d.ts +14 -0
  39. package/rules/promise/index.d.ts +35 -0
  40. package/rules/rxjs/index.d.ts +60 -0
  41. package/rules/rxjs/index.js +41 -42
  42. package/rules/security/index.d.ts +22 -0
  43. package/rules/simple-import-sort/index.d.ts +10 -0
  44. package/rules/stylistic/js/index.d.ts +197 -0
  45. package/rules/stylistic/jsx/index.d.ts +81 -0
  46. package/rules/stylistic/plus/index.d.ts +14 -0
  47. package/rules/stylistic/ts/index.d.ts +135 -0
  48. package/rules/testing-library/index.d.ts +62 -0
  49. package/rules/typescript-eslint/extension-rules.d.ts +113 -0
  50. package/rules/typescript-eslint/index.d.ts +369 -0
  51. package/rules/typescript-eslint/supported-rules.d.ts +253 -0
  52. package/rules/unicorn/index.d.ts +178 -0
  53. package/rxjs.d.ts +1 -0
  54. package/rxjs.js +58 -0
  55. package/testing-library.d.ts +1 -0
  56. package/testing-library.js +11 -0
package/index.js CHANGED
@@ -35,27 +35,21 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const tsEslint = __importStar(require("typescript-eslint"));
37
37
  const babelParser = __importStar(require("@babel/eslint-parser"));
38
- const plugin_1 = require("./config/plugin");
39
38
  const array_func_1 = require("./rules/array-func");
40
- const cypress_1 = require("./rules/cypress");
41
39
  const eslint_1 = require("./rules/eslint");
42
40
  const eslint_comments_1 = require("./rules/eslint-comments");
43
41
  const import_1 = require("./rules/import");
44
42
  const no_extraneous_dependencies_1 = require("./rules/import/rules/no-extraneous-dependencies");
45
- const jest_1 = require("./rules/jest");
46
- const jest_dom_1 = require("./rules/jest-dom");
47
43
  const jsdoc_1 = require("./rules/jsdoc");
48
44
  const n_1 = require("./rules/n");
49
45
  const prefer_arrow_1 = require("./rules/prefer-arrow");
50
46
  const promise_1 = require("./rules/promise");
51
- const rxjs_1 = require("./rules/rxjs");
52
47
  const security_1 = require("./rules/security");
53
48
  const simple_import_sort_1 = require("./rules/simple-import-sort");
54
49
  const js_1 = require("./rules/stylistic/js");
55
50
  const jsx_1 = require("./rules/stylistic/jsx");
56
51
  const plus_1 = require("./rules/stylistic/plus");
57
52
  const ts_1 = require("./rules/stylistic/ts");
58
- const testing_library_1 = require("./rules/testing-library");
59
53
  const typescript_eslint_1 = require("./rules/typescript-eslint");
60
54
  const unicorn_1 = require("./rules/unicorn");
61
55
  exports.default = [
@@ -128,7 +122,7 @@ exports.default = [
128
122
  warnOnUnsupportedTypeScriptVersion: true,
129
123
  },
130
124
  },
131
- plugins: Object.assign(Object.assign(Object.assign({}, typescript_eslint_1.typescriptEslintConfig.plugins), ts_1.stylisticTsConfig.plugins), (0, plugin_1.hasEslintPlugin)('rxjs') ? rxjs_1.rxjsConfig.plugins : {}),
125
+ plugins: Object.assign(Object.assign({}, typescript_eslint_1.typescriptEslintConfig.plugins), ts_1.stylisticTsConfig.plugins),
132
126
  settings: {
133
127
  'import/parsers': {
134
128
  '@typescript-eslint/parser': [
@@ -143,38 +137,11 @@ exports.default = [
143
137
  },
144
138
  },
145
139
  },
146
- rules: Object.assign(Object.assign(Object.assign({}, typescript_eslint_1.typescriptEslintConfig.rules), ts_1.stylisticTsConfig.rules), (0, plugin_1.hasEslintPlugin)('rxjs') ? rxjs_1.rxjsConfig.rules : {}),
140
+ rules: Object.assign(Object.assign({}, typescript_eslint_1.typescriptEslintConfig.rules), ts_1.stylisticTsConfig.rules),
147
141
  },
148
142
  {
149
143
  files: ['**/*.js?(x)'],
150
144
  plugins: Object.assign({}, jsx_1.stylisticJsxConfig.plugins),
151
145
  rules: Object.assign({}, jsx_1.stylisticJsxConfig.rules),
152
146
  },
153
- (0, plugin_1.hasEslintPlugin)('jest') ? {
154
- files: ['**/*.@(spec|test).[jt]s?(x)'],
155
- plugins: Object.assign(Object.assign(Object.assign({}, jest_1.jestConfig.plugins), (0, plugin_1.hasEslintPlugin)('jest-dom') ? jest_dom_1.jestDomConfig.plugins : {}), (0, plugin_1.hasEslintPlugin)('testing-library') ? testing_library_1.testingLibraryConfig.plugins : {}),
156
- rules: Object.assign(Object.assign(Object.assign(Object.assign({}, jest_1.jestConfig.rules), (0, plugin_1.hasEslintPlugin)('jest-dom') ? jest_dom_1.jestDomConfig.rules : {}), (0, plugin_1.hasEslintPlugin)('testing-library') ? testing_library_1.testingLibraryConfig.rules : {}), { '@typescript-eslint/ban-ts-comment': ['error', {
157
- 'ts-expect-error': 'allow-with-description',
158
- 'ts-ignore': true,
159
- 'ts-nocheck': true,
160
- 'ts-check': false,
161
- }], '@typescript-eslint/init-declarations': 'off', '@typescript-eslint/unbound-method': 'off', 'import/no-extraneous-dependencies': ['error', (0, no_extraneous_dependencies_1.jestImportNoExtraneousDependencies)()], 'import/no-unassigned-import': ['error', {
162
- allow: [
163
- '@testing-library/jest-dom',
164
- '@testing-library/jest-dom/extend-expect',
165
- ],
166
- }], 'max-nested-callbacks': ['error', 6], 'n/no-unpublished-import': ['error', {
167
- allowModules: ['@jest/globals'],
168
- }], 'prefer-arrow/prefer-arrow-functions': 'off', 'promise/always-return': 'off', 'rxjs/no-topromise': 'off' }),
169
- } : null,
170
- (0, plugin_1.hasEslintPlugin)('cypress') ? {
171
- files: ['cypress/**/*.[jt]s'],
172
- env: {
173
- 'cypress/globals': true,
174
- },
175
- plugins: Object.assign({}, cypress_1.cypressOptionalConfig.plugins),
176
- rules: Object.assign(Object.assign({}, cypress_1.cypressOptionalConfig.rules), { 'init-declarations': 'off', '@typescript-eslint/init-declarations': 'off', 'import/no-extraneous-dependencies': ['error', (0, no_extraneous_dependencies_1.cypressImportNoExtraneousDependencies)()], 'max-nested-callbacks': ['error', 4], 'new-cap': ['error', {
177
- capIsNewExceptions: ['Given', 'When', 'Then', 'And', 'But', 'Before', 'After'],
178
- }] }),
179
- } : null,
180
147
  ].filter(Boolean);
package/jest-dom.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function jestDomConfig(files?: string[]): Record<string, unknown>;
package/jest-dom.js ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jestDomConfig = jestDomConfig;
4
+ const jest_dom_1 = require("./rules/jest-dom");
5
+ function jestDomConfig(files = ['**/*.@(spec|test).[jt]s?(x)']) {
6
+ return {
7
+ files,
8
+ plugins: jest_dom_1.jestDomConfig.plugins,
9
+ rules: jest_dom_1.jestDomConfig.rules,
10
+ };
11
+ }
package/jest.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function jestConfig(files?: string[]): Record<string, unknown>;
package/jest.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jestConfig = jestConfig;
4
+ const no_extraneous_dependencies_1 = require("./rules/import/rules/no-extraneous-dependencies");
5
+ const jest_1 = require("./rules/jest");
6
+ function jestConfig(files = ['**/*.@(spec|test).[jt]s?(x)']) {
7
+ return {
8
+ files,
9
+ plugins: jest_1.jestConfig.plugins,
10
+ rules: Object.assign(Object.assign({}, jest_1.jestConfig.rules), { '@typescript-eslint/ban-ts-comment': ['error', {
11
+ 'ts-expect-error': 'allow-with-description',
12
+ 'ts-ignore': true,
13
+ 'ts-nocheck': true,
14
+ 'ts-check': false,
15
+ }], '@typescript-eslint/init-declarations': 'off', '@typescript-eslint/unbound-method': 'off', 'import/no-extraneous-dependencies': ['error', (0, no_extraneous_dependencies_1.jestImportNoExtraneousDependencies)()], 'import/no-unassigned-import': ['error', {
16
+ allow: [
17
+ '@testing-library/jest-dom',
18
+ '@testing-library/jest-dom/extend-expect',
19
+ ],
20
+ }], 'max-nested-callbacks': ['error', 6], 'n/no-unpublished-import': ['error', {
21
+ allowModules: ['@jest/globals'],
22
+ }], 'prefer-arrow/prefer-arrow-functions': 'off', 'promise/always-return': 'off', '@smarttools/rxjs/no-topromise': 'off' }),
23
+ };
24
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perfective/eslint-config",
3
- "version": "0.28.0",
3
+ "version": "0.29.1",
4
4
  "description": "ESLint shareable rules configuration",
5
5
  "keywords": ["code quality", "code standard", "code style", "eslint", "eslint config", "lint", "perfective", "tslint", "tslint config", "typescript"],
6
6
  "author": "Andrey Mikheychik <a.mikheychik@gmail.com>",
@@ -12,29 +12,30 @@
12
12
  "license": "MIT",
13
13
  "peerDependencies": {
14
14
  "@babel/eslint-parser": "^7.25.9",
15
- "@stylistic/eslint-plugin": "^2.11.0",
16
- "@stylistic/eslint-plugin-js": "^2.11.0",
17
- "@stylistic/eslint-plugin-jsx": "^2.11.0",
18
- "@stylistic/eslint-plugin-plus": "^2.11.0",
19
- "@stylistic/eslint-plugin-ts": "^2.11.0",
20
- "eslint": "^8.57.1",
21
- "eslint-import-resolver-typescript": "^3.6.3",
15
+ "@smarttools/eslint-plugin-rxjs": "^1.0.11",
16
+ "@stylistic/eslint-plugin": "^2.12.1",
17
+ "@stylistic/eslint-plugin-js": "^2.12.1",
18
+ "@stylistic/eslint-plugin-jsx": "^2.12.1",
19
+ "@stylistic/eslint-plugin-plus": "^2.12.1",
20
+ "@stylistic/eslint-plugin-ts": "^2.12.1",
21
+ "@typescript-eslint/utils": "^8.19.0",
22
+ "eslint": "^9.17.0",
23
+ "eslint-import-resolver-typescript": "^3.7.0",
22
24
  "eslint-plugin-array-func": "^4.0.0",
23
- "eslint-plugin-cypress": "^3.6.0",
25
+ "eslint-plugin-cypress": "^4.1.0",
24
26
  "eslint-plugin-eslint-comments": "^3.2.0",
25
27
  "eslint-plugin-import": "^2.31.0",
26
- "eslint-plugin-jest": "^28.9.0",
28
+ "eslint-plugin-jest": "^28.10.0",
27
29
  "eslint-plugin-jest-dom": "^5.5.0",
28
- "eslint-plugin-jsdoc": "^50.6.0",
29
- "eslint-plugin-n": "^17.14.0",
30
+ "eslint-plugin-jsdoc": "^50.6.1",
31
+ "eslint-plugin-n": "^17.15.1",
30
32
  "eslint-plugin-prefer-arrow": "^1.2.3",
31
33
  "eslint-plugin-promise": "^7.2.1",
32
- "eslint-plugin-rxjs": "^5.0.3",
33
34
  "eslint-plugin-security": "^3.0.1",
34
35
  "eslint-plugin-simple-import-sort": "^12.1.1",
35
- "eslint-plugin-testing-library": "^7.0.0",
36
+ "eslint-plugin-testing-library": "^7.1.1",
36
37
  "eslint-plugin-unicorn": "^56.0.1",
37
- "typescript-eslint": "^8.16.0"
38
+ "typescript-eslint": "^8.19.0"
38
39
  },
39
40
  "peerDependenciesMeta": {
40
41
  "eslint-plugin-cypress": {
@@ -54,21 +55,52 @@
54
55
  }
55
56
  },
56
57
  "main": "./index.js",
58
+ "module": "./index.js",
59
+ "types": "./index.d.ts",
57
60
  "directories": {
58
61
  "lib": "./"
59
62
  },
60
- "files": ["**/*.js", "config.d.ts", "config/**/*.d.ts", "rules.d.ts", "rules/**/rules/*.d.ts"],
63
+ "files": ["**/*.js", "**/*.d.ts"],
61
64
  "exports": {
62
65
  ".": {
63
- "require": "./index.js"
66
+ "import": "./index.js",
67
+ "require": "./index.js",
68
+ "types": "./index.d.ts"
64
69
  },
65
70
  "./config": {
71
+ "import": "./config.js",
66
72
  "require": "./config.js",
67
73
  "types": "./config.d.ts"
68
74
  },
69
75
  "./rules": {
76
+ "import": "./rules.js",
70
77
  "require": "./rules.js",
71
78
  "types": "./rules.d.ts"
79
+ },
80
+ "./cypress": {
81
+ "import": "./cypress.js",
82
+ "require": "./cypress.js",
83
+ "types": "./cypress.d.ts"
84
+ },
85
+ "./jest": {
86
+ "import": "./jest.js",
87
+ "require": "./jest.js",
88
+ "types": "./jest.d.ts"
89
+ },
90
+ "./jest-dom": {
91
+ "import": "./jest-dom.js",
92
+ "require": "./jest-dom.js",
93
+ "types": "./jest-dom.d.ts"
94
+ },
95
+ "./rxjs": {
96
+ "import": "./rxjs.js",
97
+ "require": "./rxjs.js",
98
+ "types": "./rxjs.d.ts"
99
+ },
100
+ "./testing-library": {
101
+ "import": "./testing-library.js",
102
+ "require": "./testing-library.js",
103
+ "types": "./testing-library.d.ts"
72
104
  }
73
105
  },
74
106
  "scripts": {}
@@ -0,0 +1,14 @@
1
+ import * as eslintPluginArrayFunc from 'eslint-plugin-array-func';
2
+ export declare const arrayFuncConfig: {
3
+ plugins: {
4
+ 'array-func': typeof eslintPluginArrayFunc;
5
+ };
6
+ rules: {
7
+ 'array-func/from-map': string;
8
+ 'array-func/no-unnecessary-this-arg': string;
9
+ 'array-func/prefer-array-from': string;
10
+ 'array-func/avoid-reverse': string;
11
+ 'array-func/prefer-flat-map': string;
12
+ 'array-func/prefer-flat': string;
13
+ };
14
+ };
@@ -0,0 +1,21 @@
1
+ import * as eslintPluginCypress from 'eslint-plugin-cypress/flat';
2
+ export declare const cypressOptionalConfig: {
3
+ plugins: {
4
+ cypress: typeof eslintPluginCypress;
5
+ };
6
+ languageOptions: {
7
+ globals: Record<string, unknown>;
8
+ };
9
+ rules: {
10
+ 'cypress/assertion-before-screenshot': string;
11
+ 'cypress/no-assigning-return-values': string;
12
+ 'cypress/no-async-before': string;
13
+ 'cypress/no-async-tests': string;
14
+ 'cypress/no-debug': string;
15
+ 'cypress/no-force': string;
16
+ 'cypress/no-pause': string;
17
+ 'cypress/no-unnecessary-waiting': string;
18
+ 'cypress/require-data-selectors': string;
19
+ 'cypress/unsafe-to-chain-command': string;
20
+ };
21
+ };
@@ -34,11 +34,14 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.cypressOptionalConfig = void 0;
37
- const eslintPluginCypress = __importStar(require("eslint-plugin-cypress"));
37
+ const eslintPluginCypress = __importStar(require("eslint-plugin-cypress/flat"));
38
38
  exports.cypressOptionalConfig = {
39
39
  plugins: {
40
40
  cypress: eslintPluginCypress,
41
41
  },
42
+ languageOptions: {
43
+ globals: eslintPluginCypress.configs.globals.languageOptions.globals,
44
+ },
42
45
  rules: {
43
46
  'cypress/assertion-before-screenshot': 'error',
44
47
  'cypress/no-assigning-return-values': 'error',
@@ -0,0 +1,339 @@
1
+ export declare const eslintConfig: {
2
+ rules: {
3
+ 'array-bracket-newline': string;
4
+ 'array-bracket-spacing': string;
5
+ 'array-element-newline': string;
6
+ 'arrow-parens': string;
7
+ 'arrow-spacing': string;
8
+ 'block-spacing': string;
9
+ 'brace-style': string;
10
+ 'comma-dangle': string;
11
+ 'comma-spacing': string;
12
+ 'comma-style': string;
13
+ 'computed-property-spacing': string;
14
+ 'dot-location': string;
15
+ 'eol-last': string;
16
+ 'func-call-spacing': string;
17
+ 'function-call-argument-newline': string;
18
+ 'function-paren-newline': string;
19
+ 'generator-star-spacing': string;
20
+ 'implicit-arrow-linebreak': string;
21
+ indent: string;
22
+ 'jsx-quotes': string;
23
+ 'key-spacing': string;
24
+ 'keyword-spacing': string;
25
+ 'line-comment-position': string;
26
+ 'linebreak-style': string;
27
+ 'lines-around-comment': string;
28
+ 'lines-between-class-members': string;
29
+ 'max-len': string;
30
+ 'max-statements-per-line': string;
31
+ 'multiline-ternary': string;
32
+ 'new-parens': string;
33
+ 'newline-per-chained-call': string;
34
+ 'no-extra-parens': string;
35
+ 'no-mixed-spaces-and-tabs': string;
36
+ 'no-multi-spaces': string;
37
+ 'no-multiple-empty-lines': string;
38
+ 'no-tabs': string;
39
+ 'no-trailing-spaces': string;
40
+ 'no-whitespace-before-property': string;
41
+ 'nonblock-statement-body-position': string;
42
+ 'object-curly-newline': string;
43
+ 'object-curly-spacing': string;
44
+ 'object-property-newline': string;
45
+ 'operator-linebreak': string;
46
+ 'padded-blocks': string;
47
+ 'padding-line-between-statements': string;
48
+ quotes: string;
49
+ 'rest-spread-spacing': string;
50
+ semi: string;
51
+ 'semi-spacing': string;
52
+ 'semi-style': string;
53
+ 'space-before-blocks': string;
54
+ 'space-before-function-paren': string;
55
+ 'space-in-parens': string;
56
+ 'space-infix-ops': string;
57
+ 'space-unary-ops': string;
58
+ 'switch-colon-spacing': string;
59
+ 'template-curly-spacing': string;
60
+ 'template-tag-spacing': string;
61
+ 'unicode-bom': string[];
62
+ 'wrap-iife': string;
63
+ 'wrap-regex': string;
64
+ 'yield-star-spacing': string;
65
+ 'accessor-pairs': string;
66
+ 'arrow-body-style': string[];
67
+ 'block-scoped-var': string;
68
+ camelcase: string;
69
+ 'capitalized-comments': (string | {
70
+ ignorePattern: string;
71
+ ignoreConsecutiveComments: boolean;
72
+ })[];
73
+ 'class-methods-use-this': string;
74
+ complexity: (string | number)[];
75
+ 'consistent-return': string;
76
+ 'consistent-this': string[];
77
+ curly: string[];
78
+ 'default-case': string;
79
+ 'default-case-last': string;
80
+ 'default-param-last': string;
81
+ 'dot-notation': (string | {
82
+ allowKeywords: boolean;
83
+ })[];
84
+ eqeqeq: string[];
85
+ 'func-name-matching': string[];
86
+ 'func-names': string[];
87
+ 'func-style': string[];
88
+ 'grouped-accessor-pairs': string[];
89
+ 'guard-for-in': string;
90
+ 'id-denylist': string[];
91
+ 'id-length': string;
92
+ 'id-match': string;
93
+ 'init-declarations': string[];
94
+ 'logical-assignment-operators': (string | {
95
+ enforceForIfStatements: boolean;
96
+ })[];
97
+ 'max-classes-per-file': (string | number)[];
98
+ 'max-depth': (string | number)[];
99
+ 'max-lines': string;
100
+ 'max-lines-per-function': string;
101
+ 'max-nested-callbacks': (string | number)[];
102
+ 'max-params': (string | {
103
+ max: number;
104
+ })[];
105
+ 'max-statements': (string | {
106
+ max: number;
107
+ })[];
108
+ 'multiline-comment-style': string;
109
+ 'new-cap': (string | {
110
+ newIsCap: boolean;
111
+ capIsNew: boolean;
112
+ properties: boolean;
113
+ })[];
114
+ 'no-alert': string;
115
+ 'no-array-constructor': string;
116
+ 'no-bitwise': string;
117
+ 'no-caller': string;
118
+ 'no-case-declarations': string;
119
+ 'no-confusing-arrow': string;
120
+ 'no-console': string;
121
+ 'no-continue': string;
122
+ 'no-delete-var': string;
123
+ 'no-div-regex': string;
124
+ 'no-else-return': (string | {
125
+ allowElseIf: boolean;
126
+ })[];
127
+ 'no-empty': string;
128
+ 'no-empty-function': string;
129
+ 'no-empty-static-block': string;
130
+ 'no-eq-null': string;
131
+ 'no-eval': string;
132
+ 'no-extend-native': string;
133
+ 'no-extra-bind': string;
134
+ 'no-extra-boolean-cast': (string | {
135
+ enforceForInnerExpressions: boolean;
136
+ })[];
137
+ 'no-extra-label': string;
138
+ 'no-extra-semi': string;
139
+ 'no-floating-decimal': string;
140
+ 'no-global-assign': string;
141
+ 'no-implicit-coercion': string;
142
+ 'no-implicit-globals': string;
143
+ 'no-implied-eval': string;
144
+ 'no-inline-comments': (string | {
145
+ ignorePattern: string;
146
+ })[];
147
+ 'no-invalid-this': string;
148
+ 'no-iterator': string;
149
+ 'no-label-var': string;
150
+ 'no-labels': string;
151
+ 'no-lone-blocks': string;
152
+ 'no-lonely-if': string;
153
+ 'no-loop-func': string;
154
+ 'no-magic-numbers': string;
155
+ 'no-mixed-operators': string;
156
+ 'no-multi-assign': string;
157
+ 'no-multi-str': string;
158
+ 'no-negated-condition': string;
159
+ 'no-nested-ternary': string;
160
+ 'no-new': string;
161
+ 'no-new-func': string;
162
+ 'no-new-object': string;
163
+ 'no-new-wrappers': string;
164
+ 'no-nonoctal-decimal-escape': string;
165
+ 'no-object-constructor': string;
166
+ 'no-octal': string;
167
+ 'no-octal-escape': string;
168
+ 'no-param-reassign': string;
169
+ 'no-plusplus': (string | {
170
+ allowForLoopAfterthoughts: boolean;
171
+ })[];
172
+ 'no-proto': string;
173
+ 'no-redeclare': string;
174
+ 'no-regex-spaces': string;
175
+ 'no-restricted-exports': string;
176
+ 'no-restricted-globals': string;
177
+ 'no-restricted-imports': string;
178
+ 'no-restricted-properties': string;
179
+ 'no-restricted-syntax': string[];
180
+ 'no-return-assign': string;
181
+ 'no-script-url': string;
182
+ 'no-sequences': (string | {
183
+ allowInParentheses: boolean;
184
+ })[];
185
+ 'no-shadow': string;
186
+ 'no-shadow-restricted-names': string;
187
+ 'no-ternary': string;
188
+ 'no-throw-literal': string;
189
+ 'no-undef-init': string;
190
+ 'no-undefined': string;
191
+ 'no-underscore-dangle': (string | {
192
+ allowAfterSuper: boolean;
193
+ allowAfterThis: boolean;
194
+ allowAfterThisConstructor: boolean;
195
+ allowFunctionParams: boolean;
196
+ enforceInMethodNames: boolean;
197
+ enforceInClassFields: boolean;
198
+ })[];
199
+ 'no-unneeded-ternary': string;
200
+ 'no-unused-expressions': string;
201
+ 'no-unused-labels': string;
202
+ 'no-useless-call': string;
203
+ 'no-useless-catch': string;
204
+ 'no-useless-computed-key': string;
205
+ 'no-useless-concat': string;
206
+ 'no-useless-constructor': string;
207
+ 'no-useless-escape': string;
208
+ 'no-useless-rename': string;
209
+ 'no-useless-return': string;
210
+ 'no-var': string;
211
+ 'no-void': string;
212
+ 'no-warning-comments': string;
213
+ 'no-with': string;
214
+ 'object-shorthand': string[];
215
+ 'one-var': string[];
216
+ 'one-var-declaration-per-line': string;
217
+ 'operator-assignment': string[];
218
+ 'prefer-arrow-callback': string;
219
+ 'prefer-const': string;
220
+ 'prefer-destructuring': string;
221
+ 'prefer-exponentiation-operator': string;
222
+ 'prefer-named-capture-group': string;
223
+ 'prefer-numeric-literals': string;
224
+ 'prefer-object-has-own': string;
225
+ 'prefer-object-spread': string;
226
+ 'prefer-promise-reject-errors': string;
227
+ 'prefer-regex-literals': string;
228
+ 'prefer-rest-params': string;
229
+ 'prefer-spread': string;
230
+ 'prefer-template': string;
231
+ 'quote-props': string;
232
+ radix: string;
233
+ 'require-await': string;
234
+ 'require-unicode-regexp': string;
235
+ 'require-yield': string;
236
+ 'sort-imports': string;
237
+ 'sort-keys': string;
238
+ 'sort-vars': string;
239
+ 'spaced-comment': string;
240
+ strict: string;
241
+ 'symbol-description': string;
242
+ 'vars-on-top': string;
243
+ yoda: string[];
244
+ 'array-callback-return': (string | {
245
+ allowImplicit: boolean;
246
+ checkForEach: boolean;
247
+ allowVoid: boolean;
248
+ })[];
249
+ 'constructor-super': string;
250
+ 'for-direction': string;
251
+ 'getter-return': string;
252
+ 'no-async-promise-executor': string;
253
+ 'no-await-in-loop': string;
254
+ 'no-class-assign': string;
255
+ 'no-compare-neg-zero': string;
256
+ 'no-cond-assign': string[];
257
+ 'no-const-assign': string;
258
+ 'no-constant-binary-expression': string;
259
+ 'no-constant-condition': string;
260
+ 'no-constructor-return': string;
261
+ 'no-control-regex': string;
262
+ 'no-debugger': string;
263
+ 'no-dupe-args': string;
264
+ 'no-dupe-class-members': string;
265
+ 'no-dupe-else-if': string;
266
+ 'no-dupe-keys': string;
267
+ 'no-duplicate-case': string;
268
+ 'no-duplicate-imports': (string | {
269
+ includeExports: boolean;
270
+ })[];
271
+ 'no-empty-character-class': string;
272
+ 'no-empty-pattern': string;
273
+ 'no-ex-assign': string;
274
+ 'no-fallthrough': (string | {
275
+ allowEmptyCase: boolean;
276
+ reportUnusedFallthroughComment: boolean;
277
+ })[];
278
+ 'no-func-assign': string;
279
+ 'no-import-assign': string;
280
+ 'no-inner-declarations': string;
281
+ 'no-invalid-regexp': string;
282
+ 'no-irregular-whitespace': (string | {
283
+ skipStrings: boolean;
284
+ skipComments: boolean;
285
+ skipRegExps: boolean;
286
+ skipTemplates: boolean;
287
+ skipJSXText: boolean;
288
+ })[];
289
+ 'no-loss-of-precision': string;
290
+ 'no-misleading-character-class': (string | {
291
+ allowEscape: boolean;
292
+ })[];
293
+ 'no-new-native-nonconstructor': string;
294
+ 'no-new-symbol': string;
295
+ 'no-obj-calls': string;
296
+ 'no-promise-executor-return': string;
297
+ 'no-prototype-builtins': string;
298
+ 'no-self-assign': string;
299
+ 'no-self-compare': string;
300
+ 'no-setter-return': string;
301
+ 'no-sparse-arrays': string;
302
+ 'no-template-curly-in-string': string;
303
+ 'no-this-before-super': string;
304
+ 'no-undef': string;
305
+ 'no-unexpected-multiline': string;
306
+ 'no-unmodified-loop-condition': string;
307
+ 'no-unreachable': string;
308
+ 'no-unreachable-loop': string;
309
+ 'no-unsafe-finally': string;
310
+ 'no-unsafe-negation': string;
311
+ 'no-unsafe-optional-chaining': string;
312
+ 'no-unused-private-class-members': string;
313
+ 'no-unused-vars': (string | {
314
+ args: string;
315
+ argsIgnorePattern: string;
316
+ caughtErrors: string;
317
+ destructuredArrayIgnorePattern: string;
318
+ ignoreClassWithStaticInitBlock: boolean;
319
+ ignoreRestSiblings: boolean;
320
+ reportUsedIgnorePattern: boolean;
321
+ vars: string;
322
+ })[];
323
+ 'no-use-before-define': (string | {
324
+ functions: boolean;
325
+ classes: boolean;
326
+ variables: boolean;
327
+ allowNamedExports: boolean;
328
+ })[];
329
+ 'no-useless-backreference': string;
330
+ 'no-useless-assignment': string;
331
+ 'require-atomic-updates': (string | {
332
+ allowProperties: boolean;
333
+ })[];
334
+ 'use-isnan': string;
335
+ 'valid-typeof': (string | {
336
+ requireStringLiterals: boolean;
337
+ })[];
338
+ };
339
+ };