@cherepanov.pavel/shareable-config 1.0.13 → 1.0.15

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 (50) hide show
  1. package/.editorconfig-get.js +12 -6
  2. package/.get-all.js +18 -12
  3. package/.gitattributes-get.js +12 -6
  4. package/.gitignore-get.js +28 -14
  5. package/.vscode/.code-snippets-get.js +28 -14
  6. package/.vscode/all-files.code-snippets +3 -1
  7. package/.vscode/extensions.json-get.js +26 -12
  8. package/.vscode/settings.json-get.js +26 -12
  9. package/.vscode/vue.code-snippets +1 -1
  10. package/env.json5.set.js +6 -2
  11. package/jsconfig.json +3 -1
  12. package/package.json +3 -3
  13. package/tools/eslint-config/configs/global.js +15 -9
  14. package/tools/eslint-config/configs/javascript.js +13 -7
  15. package/tools/eslint-config/configs/json.js +115 -57
  16. package/tools/eslint-config/configs/typescript.js +17 -9
  17. package/tools/eslint-config/configs/vue.js +41 -17
  18. package/tools/eslint-config/index.js +15 -5
  19. package/tools/eslint-config/rules/constants.js +1 -1
  20. package/tools/eslint-config/rules/javascript/index.js +6 -2
  21. package/tools/eslint-config/rules/javascript/possible-problems.js +193 -75
  22. package/tools/eslint-config/rules/javascript/suggestions.js +450 -225
  23. package/tools/eslint-config/rules/severity.js +3 -3
  24. package/tools/eslint-config/rules/stylistic/index.js +6 -2
  25. package/tools/eslint-config/rules/stylistic/jsFormatting.js +230 -148
  26. package/tools/eslint-config/rules/stylistic/tsFormatting.js +15 -5
  27. package/tools/eslint-config/rules/typescript/common.js +107 -103
  28. package/tools/eslint-config/rules/typescript/compatibility.js +23 -21
  29. package/tools/eslint-config/rules/typescript/extension.js +52 -46
  30. package/tools/eslint-config/rules/typescript/index.js +9 -3
  31. package/tools/eslint-config/rules/vue/base.js +9 -3
  32. package/tools/eslint-config/rules/vue/extension.js +60 -45
  33. package/tools/eslint-config/rules/vue/formatting.js +63 -35
  34. package/tools/eslint-config/rules/vue/index.js +15 -5
  35. package/tools/eslint-config/rules/vue/possibleProblems.js +272 -124
  36. package/tools/eslint-config/rules/vue/suggestions.js +228 -78
  37. package/tools/stylelint-config/config.js +17 -11
  38. package/tools/stylelint-config/rules/base.js +21 -19
  39. package/tools/stylelint-config/rules/conflicts.js +2 -2
  40. package/tools/stylelint-config/rules/order.js +25 -19
  41. package/tools/stylelint-config/rules/property-groups.js +339 -337
  42. package/tools/stylelint-config/rules/scss.js +6 -4
  43. package/tools/stylelint-config/rules/stylistic.js +84 -82
  44. package/utils/communication.js +3 -3
  45. package/utils/copy-with-override.js +31 -12
  46. package/utils/env.js +10 -6
  47. package/utils/file-header.js +10 -8
  48. package/utils/file.js +22 -14
  49. package/utils/lint.js +11 -3
  50. package/utils/merge.js +14 -12
@@ -1,79 +1,133 @@
1
- import { defineConfig } from 'eslint/config';
2
- import jsonc from 'eslint-plugin-jsonc';
3
- import { ERROR } from '../rules/severity.js';
4
- import { jsFormatting } from '../rules/stylistic/index.js';
5
- import { possibleProblemRules } from '../rules/javascript/possible-problems.js';
6
- import { suggestionRules } from '../rules/javascript/suggestions.js';
7
- import stylisticPlugin from '@stylistic/eslint-plugin';
1
+ import {
2
+ defineConfig,
3
+ } from "eslint/config";
4
+ import jsonc from "eslint-plugin-jsonc";
5
+ import {
6
+ ERROR,
7
+ } from "../rules/severity.js";
8
+ import {
9
+ jsFormatting,
10
+ } from "../rules/stylistic/index.js";
11
+ import {
12
+ possibleProblemRules,
13
+ } from "../rules/javascript/possible-problems.js";
14
+ import {
15
+ suggestionRules,
16
+ } from "../rules/javascript/suggestions.js";
17
+ import stylisticPlugin from "@stylistic/eslint-plugin";
8
18
 
9
19
  const JSON_BUT_JSONC_FILES = [
10
- '**/.vscode/*.json',
11
- '**/.vscode/*.code-snippets',
12
- '**/tsconfig*.json',
20
+ "**/.vscode/*.json",
21
+ "**/.vscode/*.code-snippets",
22
+ "**/tsconfig*.json",
13
23
  ];
14
24
  const COMMON_RULES = {
15
- '@stylistic/eol-last': jsFormatting['@stylistic/eol-last'],
16
- 'jsonc/no-bigint-literals': ERROR,
17
- 'jsonc/no-binary-expression': ERROR,
18
- 'jsonc/no-binary-numeric-literals': ERROR,
19
- 'jsonc/no-escape-sequence-in-identifier': ERROR,
20
- 'jsonc/no-hexadecimal-numeric-literals': ERROR,
21
- 'jsonc/no-nan': ERROR,
22
- 'jsonc/no-number-props': ERROR,
23
- 'jsonc/no-numeric-separators': ERROR,
24
- 'jsonc/no-octal-numeric-literals': ERROR,
25
- 'jsonc/no-parenthesized': ERROR,
26
- 'jsonc/no-plus-sign': ERROR,
27
- 'jsonc/no-regexp-literals': ERROR,
28
- 'jsonc/no-template-literals': ERROR,
29
- 'jsonc/no-undefined-value': ERROR,
30
- 'jsonc/no-unicode-codepoint-escapes': ERROR,
31
- 'jsonc/array-bracket-newline': jsFormatting['@stylistic/array-bracket-newline'],
32
- 'jsonc/array-bracket-spacing': jsFormatting['@stylistic/array-bracket-spacing'],
33
- 'jsonc/array-element-newline': jsFormatting['@stylistic/array-element-newline'],
34
- 'jsonc/comma-dangle': jsFormatting['@stylistic/comma-dangle'],
35
- 'jsonc/comma-style': jsFormatting['@stylistic/comma-style'],
36
- 'jsonc/indent': [
37
- jsFormatting['@stylistic/indent'][0],
38
- jsFormatting['@stylistic/indent'][1],
25
+ "@stylistic/eol-last": jsFormatting["@stylistic/eol-last"],
26
+ "jsonc/no-bigint-literals": ERROR,
27
+ "jsonc/no-binary-expression": ERROR,
28
+ "jsonc/no-binary-numeric-literals": ERROR,
29
+ "jsonc/no-escape-sequence-in-identifier": ERROR,
30
+ "jsonc/no-hexadecimal-numeric-literals": ERROR,
31
+ "jsonc/no-nan": ERROR,
32
+ "jsonc/no-number-props": ERROR,
33
+ "jsonc/no-numeric-separators": ERROR,
34
+ "jsonc/no-octal-numeric-literals": ERROR,
35
+ "jsonc/no-parenthesized": ERROR,
36
+ "jsonc/no-plus-sign": ERROR,
37
+ "jsonc/no-regexp-literals": ERROR,
38
+ "jsonc/no-template-literals": ERROR,
39
+ "jsonc/no-undefined-value": ERROR,
40
+ "jsonc/no-unicode-codepoint-escapes": ERROR,
41
+ "jsonc/array-bracket-newline": jsFormatting["@stylistic/array-bracket-newline"],
42
+ "jsonc/array-bracket-spacing": jsFormatting["@stylistic/array-bracket-spacing"],
43
+ "jsonc/array-element-newline": jsFormatting["@stylistic/array-element-newline"],
44
+ "jsonc/comma-dangle": jsFormatting["@stylistic/comma-dangle"],
45
+ "jsonc/comma-style": jsFormatting["@stylistic/comma-style"],
46
+ "jsonc/indent": [
47
+ jsFormatting["@stylistic/indent"][0],
48
+ jsFormatting["@stylistic/indent"][1],
39
49
  ],
40
- 'jsonc/key-spacing': jsFormatting['@stylistic/key-spacing'],
41
- 'jsonc/no-dupe-keys': possibleProblemRules['no-dupe-keys'],
42
- 'jsonc/no-floating-decimal': jsFormatting['@stylistic/no-floating-decimal'],
43
- 'jsonc/no-irregular-whitespace': possibleProblemRules['no-irregular-whitespace'],
44
- 'jsonc/no-octal-escape': suggestionRules['no-octal-escape'],
45
- 'jsonc/no-octal': suggestionRules['no-octal'],
46
- 'jsonc/no-sparse-arrays': ERROR,
47
- 'jsonc/no-useless-escape': suggestionRules['no-useless-escape'],
50
+ "jsonc/key-spacing": jsFormatting["@stylistic/key-spacing"],
51
+ "jsonc/no-dupe-keys": possibleProblemRules["no-dupe-keys"],
52
+ "jsonc/no-floating-decimal": jsFormatting["@stylistic/no-floating-decimal"],
53
+ "jsonc/no-irregular-whitespace": possibleProblemRules["no-irregular-whitespace"],
54
+ "jsonc/no-octal-escape": suggestionRules["no-octal-escape"],
55
+ "jsonc/no-octal": suggestionRules["no-octal"],
56
+ "jsonc/no-sparse-arrays": ERROR,
57
+ "jsonc/no-useless-escape": suggestionRules["no-useless-escape"],
58
+ "jsonc/object-curly-newline": [
59
+ jsFormatting["@stylistic/object-curly-newline"][0],
60
+ {
61
+ "ObjectExpression": {
62
+ multiline: false,
63
+ minProperties: 1,
64
+ },
65
+ "ObjectPattern": {
66
+ multiline: false,
67
+ minProperties: 1,
68
+ },
69
+ "ImportDeclaration": {
70
+ multiline: false,
71
+ minProperties: 1,
72
+ },
73
+ "ExportDeclaration": {
74
+ multiline: false,
75
+ minProperties: 1,
76
+ },
77
+ },
78
+ // Object.fromEntries(
79
+ // [
80
+ // "ObjectExpression",
81
+ // "ObjectPattern",
82
+ // "ImportDeclaration",
83
+ // "ExportDeclaration"
84
+ // ].map(key => [key, ["@stylistic/object-curly-newline"][1][key]])
85
+ // )
86
+ ],
87
+ "jsonc/object-curly-spacing": [
88
+ jsFormatting["@stylistic/object-curly-spacing"][0],
89
+ jsFormatting["@stylistic/object-curly-spacing"][1],
90
+ {
91
+ "arraysInObjects": true,
92
+ "objectsInObjects": true,
93
+ "emptyObjects": jsFormatting["@stylistic/object-curly-spacing"][1],
94
+ },
95
+ ],
96
+ "jsonc/object-property-newline": jsFormatting["@stylistic/object-property-newline"],
97
+ "jsonc/quote-props": ERROR,
98
+ "jsonc/quotes": jsFormatting["@stylistic/quotes"],
99
+ "jsonc/space-unary-ops": ERROR,
48
100
  };
49
101
  const JSON_RULES = {
50
- 'jsonc/no-comments': ERROR,
51
- 'jsonc/comma-dangle': [
102
+ "jsonc/no-comments": ERROR,
103
+ "jsonc/comma-dangle": [
52
104
  ERROR,
53
- 'never',
105
+ "never",
54
106
  ],
55
107
  };
56
108
  const JSON_JSONC_RULES = {
57
- 'jsonc/no-infinity': ERROR,
58
- 'jsonc/no-multi-str': suggestionRules['no-multi-str'],
109
+ "jsonc/no-infinity": ERROR,
110
+ "jsonc/no-multi-str": suggestionRules["no-multi-str"],
59
111
  };
60
112
 
61
113
 
62
114
  export default defineConfig([
63
115
  {
64
116
  plugins: {
65
- '@stylistic': stylisticPlugin,
117
+ "@stylistic": stylisticPlugin,
66
118
  jsonc,
67
119
  },
68
120
  },
69
121
 
70
122
  {
71
- files: ['**/*.json'],
123
+ files: [
124
+ "**/*.json",
125
+ ],
72
126
  ignores: [
73
127
  ...JSON_BUT_JSONC_FILES,
74
- 'package-lock.json',
128
+ "package-lock.json",
75
129
  ],
76
- language: 'jsonc/json',
130
+ language: "jsonc/json",
77
131
  rules: {
78
132
  ...COMMON_RULES,
79
133
  ...JSON_JSONC_RULES,
@@ -83,10 +137,10 @@ export default defineConfig([
83
137
 
84
138
  {
85
139
  files: [
86
- '**/*.jsonc',
140
+ "**/*.jsonc",
87
141
  ...JSON_BUT_JSONC_FILES,
88
142
  ],
89
- language: 'jsonc/jsonc',
143
+ language: "jsonc/jsonc",
90
144
  rules: {
91
145
  ...COMMON_RULES,
92
146
  ...JSON_JSONC_RULES,
@@ -94,16 +148,20 @@ export default defineConfig([
94
148
  },
95
149
 
96
150
  {
97
- files: ['**/*.json5'],
98
- language: 'jsonc/json5',
151
+ files: [
152
+ "**/*.json5",
153
+ ],
154
+ language: "jsonc/json5",
99
155
  rules: {
100
156
  ...COMMON_RULES,
101
157
  },
102
158
  },
103
159
  {
104
- files: ['**/*.vue'],
160
+ files: [
161
+ "**/*.vue",
162
+ ],
105
163
  rules: {
106
- 'jsonc/vue-custom-block/no-parsing-error': ERROR,
164
+ "jsonc/vue-custom-block/no-parsing-error": ERROR,
107
165
  },
108
166
  },
109
167
  ]);
@@ -1,17 +1,25 @@
1
- import tsPlugin from '@typescript-eslint/eslint-plugin';
2
- import stylisticPlugin from '@stylistic/eslint-plugin';
1
+ import tsPlugin from "@typescript-eslint/eslint-plugin";
2
+ import stylisticPlugin from "@stylistic/eslint-plugin";
3
3
 
4
- import { tsRules } from '../rules/typescript/index.js';
5
- import { jsFormatting, tsFormatting } from '../rules/stylistic/index.js';
4
+ import {
5
+ tsRules,
6
+ } from "../rules/typescript/index.js";
7
+ import {
8
+ jsFormatting, tsFormatting,
9
+ } from "../rules/stylistic/index.js";
6
10
 
7
- import tsParser from '@typescript-eslint/parser';
8
- import { jsRules } from '../rules/javascript/index.js';
11
+ import tsParser from "@typescript-eslint/parser";
12
+ import {
13
+ jsRules,
14
+ } from "../rules/javascript/index.js";
9
15
 
10
16
  export default {
11
- files: ['**/*.{ts,mts,cts}'],
17
+ files: [
18
+ "**/*.{ts,mts,cts}",
19
+ ],
12
20
  plugins: {
13
- '@typescript-eslint': tsPlugin,
14
- '@stylistic': stylisticPlugin,
21
+ "@typescript-eslint": tsPlugin,
22
+ "@stylistic": stylisticPlugin,
15
23
  },
16
24
  languageOptions: {
17
25
  parser: tsParser,
@@ -1,16 +1,26 @@
1
- import { vueRules } from '../rules/vue/index.js';
2
- import { jsRules } from '../rules/javascript/index.js';
3
- import { tsRules } from '../rules/typescript/index.js';
1
+ import {
2
+ vueRules,
3
+ } from "../rules/vue/index.js";
4
+ import {
5
+ jsRules,
6
+ } from "../rules/javascript/index.js";
7
+ import {
8
+ tsRules,
9
+ } from "../rules/typescript/index.js";
4
10
 
5
- import { jsFormatting, tsFormatting } from '../rules/stylistic/index.js';
11
+ import {
12
+ jsFormatting, tsFormatting,
13
+ } from "../rules/stylistic/index.js";
6
14
 
7
- import vuePlugin from 'eslint-plugin-vue';
8
- import tsPlugin from '@typescript-eslint/eslint-plugin';
9
- import stylisticPlugin from '@stylistic/eslint-plugin';
15
+ import vuePlugin from "eslint-plugin-vue";
16
+ import tsPlugin from "@typescript-eslint/eslint-plugin";
17
+ import stylisticPlugin from "@stylistic/eslint-plugin";
10
18
 
11
- import vueParser from 'vue-eslint-parser';
12
- import tsParser from '@typescript-eslint/parser';
13
- import { getEnvs } from '../../../utils/env.js';
19
+ import vueParser from "vue-eslint-parser";
20
+ import tsParser from "@typescript-eslint/parser";
21
+ import {
22
+ getEnvs,
23
+ } from "../../../utils/env.js";
14
24
 
15
25
  // https://github.com/sveltejs/eslint-plugin-svelte/issues/152#issuecomment-1150803175
16
26
  const {
@@ -18,19 +28,33 @@ const {
18
28
  } = await getEnvs();
19
29
 
20
30
  export default {
21
- files: ['**/*.vue'],
31
+ files: [
32
+ "**/*.vue",
33
+ ],
22
34
  plugins: {
23
- 'vue': vuePlugin,
24
- '@stylistic': stylisticPlugin,
35
+ "vue": vuePlugin,
36
+ "@stylistic": stylisticPlugin,
25
37
 
26
- ...(isTs ? { '@typescript-eslint': tsPlugin } : {}),
38
+ ...(
39
+ isTs
40
+ ? {
41
+ "@typescript-eslint": tsPlugin,
42
+ }
43
+ : {}),
27
44
  },
28
45
  languageOptions: {
29
46
  parser: vueParser,
30
47
  parserOptions: {
31
- parser: isTs ? tsParser : 'espree',
32
- ...(isTs ? { projectService: true } : {}),
33
- extraFileExtensions: ['.vue'],
48
+ parser: isTs ? tsParser : "espree",
49
+ ...(
50
+ isTs
51
+ ? {
52
+ projectService: true,
53
+ }
54
+ : {}),
55
+ extraFileExtensions: [
56
+ ".vue",
57
+ ],
34
58
  },
35
59
  },
36
60
  rules: {
@@ -1,5 +1,15 @@
1
- export { default as globalConfig } from './configs/global.js';
2
- export { default as jsonConfig } from './configs/json.js';
3
- export { default as vueConfig } from './configs/vue.js';
4
- export { default as jsConfig } from './configs/javascript.js';
5
- export { default as tsConfig } from './configs/typescript.js';
1
+ export {
2
+ default as globalConfig,
3
+ } from "./configs/global.js";
4
+ export {
5
+ default as jsonConfig,
6
+ } from "./configs/json.js";
7
+ export {
8
+ default as vueConfig,
9
+ } from "./configs/vue.js";
10
+ export {
11
+ default as jsConfig,
12
+ } from "./configs/javascript.js";
13
+ export {
14
+ default as tsConfig,
15
+ } from "./configs/typescript.js";
@@ -1,4 +1,4 @@
1
- export const INDENT_SIZE = 'tab';
1
+ export const INDENT_SIZE = "tab";
2
2
  export const TAB_WIDTH = 2;
3
3
  export const STR_LENGTH = 100;
4
4
 
@@ -1,5 +1,9 @@
1
- import { possibleProblemRules } from './possible-problems.js';
2
- import { suggestionRules } from './suggestions.js';
1
+ import {
2
+ possibleProblemRules,
3
+ } from "./possible-problems.js";
4
+ import {
5
+ suggestionRules,
6
+ } from "./suggestions.js";
3
7
 
4
8
  export const jsRules = {
5
9
  ...possibleProblemRules,
@@ -1,80 +1,198 @@
1
- import { ERROR, WARN } from '../severity.js';
1
+ import {
2
+ ERROR, WARN,
3
+ } from "../severity.js";
2
4
 
3
5
  export const possibleProblemRules = {
4
- 'array-callback-return': [
6
+ "array-callback-return": [
5
7
  WARN,
6
- { checkForEach: true },
7
- ],
8
- 'constructor-super': [ERROR],
9
- 'for-direction': [ERROR],
10
- 'getter-return': [
11
- ERROR,
12
- { allowImplicit: true },
13
- ],
14
- 'no-async-promise-executor': [ERROR],
15
- 'no-await-in-loop': [ERROR],
16
- 'no-class-assign': [ERROR],
17
- 'no-compare-neg-zero': [ERROR],
18
- 'no-cond-assign': [
19
- ERROR,
20
- 'always',
21
- ],
22
- 'no-const-assign': [ERROR],
23
- 'no-constant-binary-expression': [ERROR],
24
- 'no-constant-condition': [ERROR],
25
- 'no-constructor-return': [ERROR],
26
- 'no-control-regex': [ERROR],
27
- 'no-debugger': [ERROR],
28
- 'no-dupe-args': [ERROR],
29
- 'no-dupe-class-members': [ERROR],
30
- 'no-dupe-else-if': [ERROR],
31
- 'no-dupe-keys': [WARN],
32
- 'no-duplicate-case': [ERROR],
33
- 'no-duplicate-imports': [ERROR],
34
- 'no-empty-character-class': [ERROR],
35
- 'no-empty-pattern': [ERROR],
36
- 'no-ex-assign': [ERROR],
37
- 'no-fallthrough': [ERROR],
38
- 'no-func-assign': [ERROR],
39
- 'no-import-assign': [ERROR],
40
- 'no-inner-declarations': [ERROR],
41
- 'no-invalid-regexp': [ERROR],
42
- 'no-irregular-whitespace': [ERROR],
43
- 'no-loss-of-precision': [ERROR],
44
- 'no-misleading-character-class': [ERROR],
45
- 'no-new-native-nonconstructor': [ERROR],
46
- 'no-new-symbol': [ERROR],
47
- 'no-obj-calls': [ERROR],
48
- 'no-promise-executor-return': [ERROR],
49
- 'no-prototype-builtins': [ERROR],
50
- 'no-self-assign': [ERROR],
51
- 'no-self-compare': [ERROR],
52
- 'no-setter-return': [ERROR],
53
- 'no-sparse-arrays': [ERROR],
54
- 'no-template-curly-in-string': [ERROR],
55
- 'no-this-before-super': [ERROR],
56
- 'no-undef': [ERROR],
57
- 'no-unexpected-multiline': [ERROR],
58
- 'no-unmodified-loop-condition': [ERROR],
59
- 'no-unreachable': [ERROR],
60
- 'no-unreachable-loop': [ERROR],
61
- 'no-unsafe-finally': [ERROR],
62
- 'no-unsafe-negation': [ERROR],
63
- 'no-unsafe-optional-chaining': [
64
- ERROR,
65
- { disallowArithmeticOperators: true },
66
- ],
67
- 'no-unused-private-class-members': [ERROR],
68
- 'no-unused-vars': [WARN],
69
- 'no-use-before-define': [
70
- ERROR,
71
- { classes: true, functions: false, variables: true },
72
- ],
73
- 'no-useless-backreference': [ERROR],
74
- 'require-atomic-updates': [ERROR],
75
- 'use-isnan': [ERROR],
76
- 'valid-typeof': [
77
- ERROR,
78
- { requireStringLiterals: true },
8
+ {
9
+ checkForEach: true,
10
+ },
11
+ ],
12
+ "constructor-super": [
13
+ ERROR,
14
+ ],
15
+ "for-direction": [
16
+ ERROR,
17
+ ],
18
+ "getter-return": [
19
+ ERROR,
20
+ {
21
+ allowImplicit: true,
22
+ },
23
+ ],
24
+ "no-async-promise-executor": [
25
+ ERROR,
26
+ ],
27
+ "no-await-in-loop": [
28
+ ERROR,
29
+ ],
30
+ "no-class-assign": [
31
+ ERROR,
32
+ ],
33
+ "no-compare-neg-zero": [
34
+ ERROR,
35
+ ],
36
+ "no-cond-assign": [
37
+ ERROR,
38
+ "always",
39
+ ],
40
+ "no-const-assign": [
41
+ ERROR,
42
+ ],
43
+ "no-constant-binary-expression": [
44
+ ERROR,
45
+ ],
46
+ "no-constant-condition": [
47
+ ERROR,
48
+ ],
49
+ "no-constructor-return": [
50
+ ERROR,
51
+ ],
52
+ "no-control-regex": [
53
+ ERROR,
54
+ ],
55
+ "no-debugger": [
56
+ ERROR,
57
+ ],
58
+ "no-dupe-args": [
59
+ ERROR,
60
+ ],
61
+ "no-dupe-class-members": [
62
+ ERROR,
63
+ ],
64
+ "no-dupe-else-if": [
65
+ ERROR,
66
+ ],
67
+ "no-dupe-keys": [
68
+ WARN,
69
+ ],
70
+ "no-duplicate-case": [
71
+ ERROR,
72
+ ],
73
+ "no-duplicate-imports": [
74
+ ERROR,
75
+ ],
76
+ "no-empty-character-class": [
77
+ ERROR,
78
+ ],
79
+ "no-empty-pattern": [
80
+ ERROR,
81
+ ],
82
+ "no-ex-assign": [
83
+ ERROR,
84
+ ],
85
+ "no-fallthrough": [
86
+ ERROR,
87
+ ],
88
+ "no-func-assign": [
89
+ ERROR,
90
+ ],
91
+ "no-import-assign": [
92
+ ERROR,
93
+ ],
94
+ "no-inner-declarations": [
95
+ ERROR,
96
+ ],
97
+ "no-invalid-regexp": [
98
+ ERROR,
99
+ ],
100
+ "no-irregular-whitespace": [
101
+ ERROR,
102
+ ],
103
+ "no-loss-of-precision": [
104
+ ERROR,
105
+ ],
106
+ "no-misleading-character-class": [
107
+ ERROR,
108
+ ],
109
+ "no-new-native-nonconstructor": [
110
+ ERROR,
111
+ ],
112
+ "no-new-symbol": [
113
+ ERROR,
114
+ ],
115
+ "no-obj-calls": [
116
+ ERROR,
117
+ ],
118
+ "no-promise-executor-return": [
119
+ ERROR,
120
+ ],
121
+ "no-prototype-builtins": [
122
+ ERROR,
123
+ ],
124
+ "no-self-assign": [
125
+ ERROR,
126
+ ],
127
+ "no-self-compare": [
128
+ ERROR,
129
+ ],
130
+ "no-setter-return": [
131
+ ERROR,
132
+ ],
133
+ "no-sparse-arrays": [
134
+ ERROR,
135
+ ],
136
+ "no-template-curly-in-string": [
137
+ ERROR,
138
+ ],
139
+ "no-this-before-super": [
140
+ ERROR,
141
+ ],
142
+ "no-undef": [
143
+ ERROR,
144
+ ],
145
+ "no-unexpected-multiline": [
146
+ ERROR,
147
+ ],
148
+ "no-unmodified-loop-condition": [
149
+ ERROR,
150
+ ],
151
+ "no-unreachable": [
152
+ ERROR,
153
+ ],
154
+ "no-unreachable-loop": [
155
+ ERROR,
156
+ ],
157
+ "no-unsafe-finally": [
158
+ ERROR,
159
+ ],
160
+ "no-unsafe-negation": [
161
+ ERROR,
162
+ ],
163
+ "no-unsafe-optional-chaining": [
164
+ ERROR,
165
+ {
166
+ disallowArithmeticOperators: true,
167
+ },
168
+ ],
169
+ "no-unused-private-class-members": [
170
+ ERROR,
171
+ ],
172
+ "no-unused-vars": [
173
+ WARN,
174
+ ],
175
+ "no-use-before-define": [
176
+ ERROR,
177
+ {
178
+ classes: true,
179
+ functions: false,
180
+ variables: true,
181
+ },
182
+ ],
183
+ "no-useless-backreference": [
184
+ ERROR,
185
+ ],
186
+ "require-atomic-updates": [
187
+ ERROR,
188
+ ],
189
+ "use-isnan": [
190
+ ERROR,
191
+ ],
192
+ "valid-typeof": [
193
+ ERROR,
194
+ {
195
+ requireStringLiterals: true,
196
+ },
79
197
  ],
80
198
  };