@perfective/eslint-config 0.27.1 → 0.29.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.
Files changed (49) hide show
  1. package/README.adoc +45 -48
  2. package/README.md +43 -26
  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.js +58 -0
  8. package/index.js +120 -123
  9. package/jest-dom.js +11 -0
  10. package/jest.js +24 -0
  11. package/package.json +39 -20
  12. package/rules/array-func/index.js +40 -4
  13. package/rules/cypress/index.js +55 -12
  14. package/rules/eslint/index.js +7 -6
  15. package/rules/eslint/layout-formatting.js +65 -65
  16. package/rules/eslint/possible-problems.js +97 -89
  17. package/rules/eslint/suggestions.js +180 -178
  18. package/rules/eslint-comments/best-practices.js +9 -9
  19. package/rules/eslint-comments/index.js +43 -8
  20. package/rules/eslint-comments/stylistic-issues.js +16 -16
  21. package/rules/import/helpful-warnings.js +11 -11
  22. package/rules/import/index.js +12 -10
  23. package/rules/import/module-systems.js +11 -11
  24. package/rules/import/static-analysis.js +27 -27
  25. package/rules/import/style-guide.js +34 -34
  26. package/rules/jest/index.js +53 -78
  27. package/rules/jest/typescript-eslint.js +6 -6
  28. package/rules/jest-dom/index.js +40 -4
  29. package/rules/jsdoc/index.js +42 -4
  30. package/rules/n/index.js +40 -4
  31. package/rules/prefer-arrow/index.js +40 -4
  32. package/rules/promise/index.js +54 -7
  33. package/rules/rxjs/index.js +79 -44
  34. package/rules/security/index.js +40 -4
  35. package/rules/simple-import-sort/index.js +41 -4
  36. package/rules/stylistic/js/index.js +40 -4
  37. package/rules/stylistic/jsx/index.js +41 -5
  38. package/rules/stylistic/plus/index.js +40 -4
  39. package/rules/stylistic/ts/index.js +40 -4
  40. package/rules/testing-library/index.js +40 -4
  41. package/rules/typescript-eslint/extension-rules.js +114 -114
  42. package/rules/typescript-eslint/index.js +43 -8
  43. package/rules/typescript-eslint/supported-rules.js +315 -314
  44. package/rules/unicorn/index.js +40 -4
  45. package/rxjs.js +58 -0
  46. package/testing-library.js +11 -0
  47. package/rules/sonarjs/bug-detection.js +0 -15
  48. package/rules/sonarjs/code-smell-detection.js +0 -27
  49. package/rules/sonarjs/index.js +0 -10
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.27.1",
3
+ "version": "0.29.0",
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,31 +12,30 @@
12
12
  "license": "MIT",
13
13
  "peerDependencies": {
14
14
  "@babel/eslint-parser": "^7.25.9",
15
- "@stylistic/eslint-plugin": "^2.10.1",
16
- "@stylistic/eslint-plugin-js": "^2.10.1",
17
- "@stylistic/eslint-plugin-jsx": "^2.10.1",
18
- "@stylistic/eslint-plugin-plus": "^2.10.1",
19
- "@stylistic/eslint-plugin-ts": "^2.10.1",
20
- "@typescript-eslint/eslint-plugin": "^8.14.0",
21
- "@typescript-eslint/parser": "^8.14.0",
22
- "eslint": "^8.57.1",
23
- "eslint-import-resolver-typescript": "^3.6.3",
15
+ "@smarttools/eslint-plugin-rxjs": "1.0.9",
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.18.2",
22
+ "eslint": "^9.17.0",
23
+ "eslint-import-resolver-typescript": "^3.7.0",
24
24
  "eslint-plugin-array-func": "^4.0.0",
25
- "eslint-plugin-cypress": "^3.6.0",
25
+ "eslint-plugin-cypress": "^4.1.0",
26
26
  "eslint-plugin-eslint-comments": "^3.2.0",
27
27
  "eslint-plugin-import": "^2.31.0",
28
- "eslint-plugin-jest": "^28.9.0",
29
- "eslint-plugin-jest-dom": "^5.4.0",
30
- "eslint-plugin-jsdoc": "^50.5.0",
31
- "eslint-plugin-n": "^17.13.1",
28
+ "eslint-plugin-jest": "^28.10.0",
29
+ "eslint-plugin-jest-dom": "^5.5.0",
30
+ "eslint-plugin-jsdoc": "^50.6.1",
31
+ "eslint-plugin-n": "^17.15.1",
32
32
  "eslint-plugin-prefer-arrow": "^1.2.3",
33
- "eslint-plugin-promise": "^7.1.0",
34
- "eslint-plugin-rxjs": "^5.0.3",
33
+ "eslint-plugin-promise": "^7.2.1",
35
34
  "eslint-plugin-security": "^3.0.1",
36
35
  "eslint-plugin-simple-import-sort": "^12.1.1",
37
- "eslint-plugin-sonarjs": "^1.0.4",
38
- "eslint-plugin-testing-library": "^6.4.0",
39
- "eslint-plugin-unicorn": "^56.0.0"
36
+ "eslint-plugin-testing-library": "^7.1.1",
37
+ "eslint-plugin-unicorn": "^56.0.1",
38
+ "typescript-eslint": "^8.18.2"
40
39
  },
41
40
  "peerDependenciesMeta": {
42
41
  "eslint-plugin-cypress": {
@@ -71,6 +70,26 @@
71
70
  "./rules": {
72
71
  "require": "./rules.js",
73
72
  "types": "./rules.d.ts"
73
+ },
74
+ "./cypress": {
75
+ "require": "./cypress.js",
76
+ "types": "./cypress.d.ts"
77
+ },
78
+ "./jest": {
79
+ "require": "./jest.js",
80
+ "types": "./jest.d.ts"
81
+ },
82
+ "./jest-dom": {
83
+ "require": "./jest-dom.js",
84
+ "types": "./jest-dom.d.ts"
85
+ },
86
+ "./rxjs": {
87
+ "require": "./rxjs.js",
88
+ "types": "./rxjs.d.ts"
89
+ },
90
+ "./testing-library": {
91
+ "require": "./testing-library.js",
92
+ "types": "./testing-library.d.ts"
74
93
  }
75
94
  },
76
95
  "scripts": {}
@@ -1,8 +1,44 @@
1
1
  "use strict";
2
- module.exports = {
3
- plugins: [
4
- 'array-func',
5
- ],
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.arrayFuncConfig = void 0;
37
+ const eslintPluginArrayFunc = __importStar(require("eslint-plugin-array-func"));
38
+ exports.arrayFuncConfig = {
39
+ plugins: {
40
+ 'array-func': eslintPluginArrayFunc,
41
+ },
6
42
  rules: {
7
43
  'array-func/from-map': 'warn',
8
44
  'array-func/no-unnecessary-this-arg': 'error',
@@ -1,14 +1,57 @@
1
1
  "use strict";
2
- const plugin_1 = require("../../config/plugin");
3
- module.exports = (0, plugin_1.optionalConfig)('cypress', {
4
- 'cypress/assertion-before-screenshot': 'error',
5
- 'cypress/no-assigning-return-values': 'error',
6
- 'cypress/no-async-before': 'error',
7
- 'cypress/no-async-tests': 'error',
8
- 'cypress/no-debug': 'error',
9
- 'cypress/no-force': 'error',
10
- 'cypress/no-pause': 'error',
11
- 'cypress/no-unnecessary-waiting': 'error',
12
- 'cypress/require-data-selectors': 'error',
13
- 'cypress/unsafe-to-chain-command': 'error',
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
14
17
  });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.cypressOptionalConfig = void 0;
37
+ const eslintPluginCypress = __importStar(require("eslint-plugin-cypress/flat"));
38
+ exports.cypressOptionalConfig = {
39
+ plugins: {
40
+ cypress: eslintPluginCypress,
41
+ },
42
+ languageOptions: {
43
+ globals: eslintPluginCypress.configs.globals.languageOptions.globals,
44
+ },
45
+ rules: {
46
+ 'cypress/assertion-before-screenshot': 'error',
47
+ 'cypress/no-assigning-return-values': 'error',
48
+ 'cypress/no-async-before': 'error',
49
+ 'cypress/no-async-tests': 'error',
50
+ 'cypress/no-debug': 'error',
51
+ 'cypress/no-force': 'error',
52
+ 'cypress/no-pause': 'error',
53
+ 'cypress/no-unnecessary-waiting': 'error',
54
+ 'cypress/require-data-selectors': 'error',
55
+ 'cypress/unsafe-to-chain-command': 'error',
56
+ },
57
+ };
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
- module.exports = {
3
- extends: [
4
- './possible-problems',
5
- './suggestions',
6
- './layout-formatting',
7
- ],
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.eslintConfig = void 0;
4
+ const layout_formatting_1 = require("./layout-formatting");
5
+ const possible_problems_1 = require("./possible-problems");
6
+ const suggestions_1 = require("./suggestions");
7
+ exports.eslintConfig = {
8
+ rules: Object.assign(Object.assign(Object.assign({}, possible_problems_1.eslintPossibleProblemsRules), suggestions_1.eslintSuggestionsRules), layout_formatting_1.eslintLayoutFormattingRules),
8
9
  };
@@ -1,67 +1,67 @@
1
1
  "use strict";
2
- module.exports = {
3
- rules: {
4
- 'array-bracket-newline': 'off',
5
- 'array-bracket-spacing': 'off',
6
- 'array-element-newline': 'off',
7
- 'arrow-parens': 'off',
8
- 'arrow-spacing': 'off',
9
- 'block-spacing': 'off',
10
- 'brace-style': 'off',
11
- 'comma-dangle': 'off',
12
- 'comma-spacing': 'off',
13
- 'comma-style': 'off',
14
- 'computed-property-spacing': 'off',
15
- 'dot-location': 'off',
16
- 'eol-last': 'off',
17
- 'func-call-spacing': 'off',
18
- 'function-call-argument-newline': 'off',
19
- 'function-paren-newline': 'off',
20
- 'generator-star-spacing': 'off',
21
- 'implicit-arrow-linebreak': 'off',
22
- 'indent': 'off',
23
- 'jsx-quotes': 'off',
24
- 'key-spacing': 'off',
25
- 'keyword-spacing': 'off',
26
- 'line-comment-position': 'off',
27
- 'linebreak-style': 'off',
28
- 'lines-around-comment': 'off',
29
- 'lines-between-class-members': 'off',
30
- 'max-len': 'off',
31
- 'max-statements-per-line': 'off',
32
- 'multiline-ternary': 'off',
33
- 'new-parens': 'off',
34
- 'newline-per-chained-call': 'off',
35
- 'no-extra-parens': 'off',
36
- 'no-mixed-spaces-and-tabs': 'off',
37
- 'no-multi-spaces': 'off',
38
- 'no-multiple-empty-lines': 'off',
39
- 'no-tabs': 'off',
40
- 'no-trailing-spaces': 'off',
41
- 'no-whitespace-before-property': 'off',
42
- 'nonblock-statement-body-position': 'off',
43
- 'object-curly-newline': 'off',
44
- 'object-curly-spacing': 'off',
45
- 'object-property-newline': 'off',
46
- 'operator-linebreak': 'off',
47
- 'padded-blocks': 'off',
48
- 'padding-line-between-statements': 'off',
49
- 'quotes': 'off',
50
- 'rest-spread-spacing': 'off',
51
- 'semi': 'off',
52
- 'semi-spacing': 'off',
53
- 'semi-style': 'off',
54
- 'space-before-blocks': 'off',
55
- 'space-before-function-paren': 'off',
56
- 'space-in-parens': 'off',
57
- 'space-infix-ops': 'off',
58
- 'space-unary-ops': 'off',
59
- 'switch-colon-spacing': 'off',
60
- 'template-curly-spacing': 'off',
61
- 'template-tag-spacing': 'off',
62
- 'unicode-bom': ['warn', 'never'],
63
- 'wrap-iife': 'off',
64
- 'wrap-regex': 'off',
65
- 'yield-star-spacing': 'off',
66
- },
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.eslintLayoutFormattingRules = void 0;
4
+ exports.eslintLayoutFormattingRules = {
5
+ 'array-bracket-newline': 'off',
6
+ 'array-bracket-spacing': 'off',
7
+ 'array-element-newline': 'off',
8
+ 'arrow-parens': 'off',
9
+ 'arrow-spacing': 'off',
10
+ 'block-spacing': 'off',
11
+ 'brace-style': 'off',
12
+ 'comma-dangle': 'off',
13
+ 'comma-spacing': 'off',
14
+ 'comma-style': 'off',
15
+ 'computed-property-spacing': 'off',
16
+ 'dot-location': 'off',
17
+ 'eol-last': 'off',
18
+ 'func-call-spacing': 'off',
19
+ 'function-call-argument-newline': 'off',
20
+ 'function-paren-newline': 'off',
21
+ 'generator-star-spacing': 'off',
22
+ 'implicit-arrow-linebreak': 'off',
23
+ 'indent': 'off',
24
+ 'jsx-quotes': 'off',
25
+ 'key-spacing': 'off',
26
+ 'keyword-spacing': 'off',
27
+ 'line-comment-position': 'off',
28
+ 'linebreak-style': 'off',
29
+ 'lines-around-comment': 'off',
30
+ 'lines-between-class-members': 'off',
31
+ 'max-len': 'off',
32
+ 'max-statements-per-line': 'off',
33
+ 'multiline-ternary': 'off',
34
+ 'new-parens': 'off',
35
+ 'newline-per-chained-call': 'off',
36
+ 'no-extra-parens': 'off',
37
+ 'no-mixed-spaces-and-tabs': 'off',
38
+ 'no-multi-spaces': 'off',
39
+ 'no-multiple-empty-lines': 'off',
40
+ 'no-tabs': 'off',
41
+ 'no-trailing-spaces': 'off',
42
+ 'no-whitespace-before-property': 'off',
43
+ 'nonblock-statement-body-position': 'off',
44
+ 'object-curly-newline': 'off',
45
+ 'object-curly-spacing': 'off',
46
+ 'object-property-newline': 'off',
47
+ 'operator-linebreak': 'off',
48
+ 'padded-blocks': 'off',
49
+ 'padding-line-between-statements': 'off',
50
+ 'quotes': 'off',
51
+ 'rest-spread-spacing': 'off',
52
+ 'semi': 'off',
53
+ 'semi-spacing': 'off',
54
+ 'semi-style': 'off',
55
+ 'space-before-blocks': 'off',
56
+ 'space-before-function-paren': 'off',
57
+ 'space-in-parens': 'off',
58
+ 'space-infix-ops': 'off',
59
+ 'space-unary-ops': 'off',
60
+ 'switch-colon-spacing': 'off',
61
+ 'template-curly-spacing': 'off',
62
+ 'template-tag-spacing': 'off',
63
+ 'unicode-bom': ['warn', 'never'],
64
+ 'wrap-iife': 'off',
65
+ 'wrap-regex': 'off',
66
+ 'yield-star-spacing': 'off',
67
67
  };
@@ -1,91 +1,99 @@
1
1
  "use strict";
2
- module.exports = {
3
- rules: {
4
- 'array-callback-return': ['error', {
5
- allowImplicit: true,
6
- checkForEach: false,
7
- allowVoid: false,
8
- }],
9
- 'constructor-super': 'error',
10
- 'for-direction': 'error',
11
- 'getter-return': 'error',
12
- 'no-async-promise-executor': 'error',
13
- 'no-await-in-loop': 'error',
14
- 'no-class-assign': 'error',
15
- 'no-compare-neg-zero': 'error',
16
- 'no-cond-assign': ['error', 'always'],
17
- 'no-const-assign': 'error',
18
- 'no-constant-binary-expression': 'error',
19
- 'no-constant-condition': 'error',
20
- 'no-constructor-return': 'error',
21
- 'no-control-regex': 'error',
22
- 'no-debugger': 'error',
23
- 'no-dupe-args': 'error',
24
- 'no-dupe-class-members': 'error',
25
- 'no-dupe-else-if': 'error',
26
- 'no-dupe-keys': 'error',
27
- 'no-duplicate-case': 'error',
28
- 'no-duplicate-imports': ['off', {
29
- includeExports: true,
30
- }],
31
- 'no-empty-character-class': 'error',
32
- 'no-empty-pattern': 'error',
33
- 'no-ex-assign': 'error',
34
- 'no-fallthrough': 'error',
35
- 'no-func-assign': 'error',
36
- 'no-import-assign': 'error',
37
- 'no-inner-declarations': 'error',
38
- 'no-invalid-regexp': 'error',
39
- 'no-irregular-whitespace': ['error', {
40
- skipStrings: false,
41
- skipComments: false,
42
- skipRegExps: false,
43
- skipTemplates: false,
44
- skipJSXText: false,
45
- }],
46
- 'no-loss-of-precision': 'error',
47
- 'no-misleading-character-class': 'error',
48
- 'no-new-native-nonconstructor': 'error',
49
- 'no-new-symbol': 'error',
50
- 'no-obj-calls': 'error',
51
- 'no-promise-executor-return': 'error',
52
- 'no-prototype-builtins': 'error',
53
- 'no-self-assign': 'error',
54
- 'no-self-compare': 'error',
55
- 'no-setter-return': 'error',
56
- 'no-sparse-arrays': 'error',
57
- 'no-template-curly-in-string': 'error',
58
- 'no-this-before-super': 'error',
59
- 'no-undef': 'off',
60
- 'no-unexpected-multiline': 'error',
61
- 'no-unmodified-loop-condition': 'error',
62
- 'no-unreachable': 'error',
63
- 'no-unreachable-loop': 'error',
64
- 'no-unsafe-finally': 'error',
65
- 'no-unsafe-negation': 'error',
66
- 'no-unsafe-optional-chaining': 'error',
67
- 'no-unused-private-class-members': 'error',
68
- 'no-unused-vars': ['error', {
69
- args: 'after-used',
70
- argsIgnorePattern: '^_',
71
- caughtErrors: 'all',
72
- destructuredArrayIgnorePattern: '^_',
73
- ignoreRestSiblings: false,
74
- vars: 'all',
75
- }],
76
- 'no-use-before-define': ['error', {
77
- functions: false,
78
- classes: false,
79
- variables: false,
80
- allowNamedExports: false,
81
- }],
82
- 'no-useless-backreference': 'error',
83
- 'require-atomic-updates': ['error', {
84
- allowProperties: false,
85
- }],
86
- 'use-isnan': 'error',
87
- 'valid-typeof': ['error', {
88
- requireStringLiterals: true,
89
- }],
90
- },
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.eslintPossibleProblemsRules = void 0;
4
+ exports.eslintPossibleProblemsRules = {
5
+ 'array-callback-return': ['error', {
6
+ allowImplicit: true,
7
+ checkForEach: false,
8
+ allowVoid: false,
9
+ }],
10
+ 'constructor-super': 'error',
11
+ 'for-direction': 'error',
12
+ 'getter-return': 'error',
13
+ 'no-async-promise-executor': 'error',
14
+ 'no-await-in-loop': 'error',
15
+ 'no-class-assign': 'error',
16
+ 'no-compare-neg-zero': 'error',
17
+ 'no-cond-assign': ['error', 'always'],
18
+ 'no-const-assign': 'error',
19
+ 'no-constant-binary-expression': 'error',
20
+ 'no-constant-condition': 'error',
21
+ 'no-constructor-return': 'error',
22
+ 'no-control-regex': 'error',
23
+ 'no-debugger': 'error',
24
+ 'no-dupe-args': 'error',
25
+ 'no-dupe-class-members': 'error',
26
+ 'no-dupe-else-if': 'error',
27
+ 'no-dupe-keys': 'error',
28
+ 'no-duplicate-case': 'error',
29
+ 'no-duplicate-imports': ['off', {
30
+ includeExports: true,
31
+ }],
32
+ 'no-empty-character-class': 'error',
33
+ 'no-empty-pattern': 'error',
34
+ 'no-ex-assign': 'error',
35
+ 'no-fallthrough': ['error', {
36
+ allowEmptyCase: false,
37
+ reportUnusedFallthroughComment: true,
38
+ }],
39
+ 'no-func-assign': 'error',
40
+ 'no-import-assign': 'error',
41
+ 'no-inner-declarations': 'error',
42
+ 'no-invalid-regexp': 'error',
43
+ 'no-irregular-whitespace': ['error', {
44
+ skipStrings: false,
45
+ skipComments: false,
46
+ skipRegExps: false,
47
+ skipTemplates: false,
48
+ skipJSXText: false,
49
+ }],
50
+ 'no-loss-of-precision': 'error',
51
+ 'no-misleading-character-class': ['error', {
52
+ allowEscape: false,
53
+ }],
54
+ 'no-new-native-nonconstructor': 'error',
55
+ 'no-new-symbol': 'error',
56
+ 'no-obj-calls': 'error',
57
+ 'no-promise-executor-return': 'error',
58
+ 'no-prototype-builtins': 'error',
59
+ 'no-self-assign': 'error',
60
+ 'no-self-compare': 'error',
61
+ 'no-setter-return': 'error',
62
+ 'no-sparse-arrays': 'error',
63
+ 'no-template-curly-in-string': 'error',
64
+ 'no-this-before-super': 'error',
65
+ 'no-undef': 'off',
66
+ 'no-unexpected-multiline': 'error',
67
+ 'no-unmodified-loop-condition': 'error',
68
+ 'no-unreachable': 'error',
69
+ 'no-unreachable-loop': 'error',
70
+ 'no-unsafe-finally': 'error',
71
+ 'no-unsafe-negation': 'error',
72
+ 'no-unsafe-optional-chaining': 'error',
73
+ 'no-unused-private-class-members': 'error',
74
+ 'no-unused-vars': ['error', {
75
+ args: 'after-used',
76
+ argsIgnorePattern: '^_',
77
+ caughtErrors: 'all',
78
+ destructuredArrayIgnorePattern: '^_',
79
+ ignoreClassWithStaticInitBlock: false,
80
+ ignoreRestSiblings: false,
81
+ reportUsedIgnorePattern: false,
82
+ vars: 'all',
83
+ }],
84
+ 'no-use-before-define': ['error', {
85
+ functions: false,
86
+ classes: false,
87
+ variables: false,
88
+ allowNamedExports: false,
89
+ }],
90
+ 'no-useless-backreference': 'error',
91
+ 'no-useless-assignment': 'error',
92
+ 'require-atomic-updates': ['error', {
93
+ allowProperties: false,
94
+ }],
95
+ 'use-isnan': 'error',
96
+ 'valid-typeof': ['error', {
97
+ requireStringLiterals: true,
98
+ }],
91
99
  };