@egy186/eslint-config 4.4.0 → 4.4.2

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.
@@ -1,183 +1,184 @@
1
1
  declare const config: {
2
- rules: {
3
- '@typescript-eslint/naming-convention': (string | {
4
- format: string[];
5
- selector: string;
6
- leadingUnderscore?: never;
7
- modifiers?: never;
8
- types?: never;
9
- } | {
10
- format: string[];
11
- leadingUnderscore: string;
12
- selector: string;
13
- modifiers?: never;
14
- types?: never;
15
- } | {
16
- format: string[];
17
- leadingUnderscore: string;
18
- modifiers: string[];
19
- selector: string;
20
- types?: never;
21
- } | {
22
- format: string[];
23
- selector: string[];
24
- types: string[];
25
- leadingUnderscore?: never;
26
- modifiers?: never;
27
- })[];
28
- 'max-lines-per-function': ["warn", 100];
29
- 'react-hooks/automatic-effect-dependencies': "off";
30
- 'react-hooks/capitalized-calls': "off";
31
- 'react-hooks/component-hook-factories': "error";
32
- 'react-hooks/config': "error";
33
- 'react-hooks/error-boundaries': "error";
34
- 'react-hooks/exhaustive-deps': "error";
35
- 'react-hooks/fbt': "off";
36
- 'react-hooks/fire': "off";
37
- 'react-hooks/gating': "error";
38
- 'react-hooks/globals': "error";
39
- 'react-hooks/hooks': "off";
40
- 'react-hooks/immutability': "error";
41
- 'react-hooks/incompatible-library': "error";
42
- 'react-hooks/invariant': "off";
43
- 'react-hooks/memoized-effect-dependencies': "off";
44
- 'react-hooks/no-deriving-state-in-effects': "off";
45
- 'react-hooks/preserve-manual-memoization': "error";
46
- 'react-hooks/purity': "error";
47
- 'react-hooks/refs': "error";
48
- 'react-hooks/rule-suppression': "off";
49
- 'react-hooks/rules-of-hooks': "error";
50
- 'react-hooks/set-state-in-effect': "error";
51
- 'react-hooks/set-state-in-render': "error";
52
- 'react-hooks/static-components': "error";
53
- 'react-hooks/syntax': "off";
54
- 'react-hooks/todo': "off";
55
- 'react-hooks/unsupported-syntax': "error";
56
- 'react-hooks/use-memo': "error";
57
- 'react-hooks/void-use-memo': "error";
58
- 'react/boolean-prop-naming': "error";
59
- 'react/button-has-type': "error";
60
- 'react/checked-requires-onchange-or-readonly': "error";
61
- 'react/default-props-match-prop-types': "error";
62
- 'react/destructuring-assignment': ["error", "always"];
63
- 'react/display-name': "error";
64
- 'react/forbid-component-props': "error";
65
- 'react/forbid-dom-props': "off";
66
- 'react/forbid-elements': "off";
67
- 'react/forbid-foreign-prop-types': "error";
68
- 'react/forbid-prop-types': "error";
69
- 'react/forward-ref-uses-ref': "error";
70
- 'react/function-component-definition': ["error", {
2
+ readonly rules: {
3
+ readonly '@typescript-eslint/naming-convention': ["error", {
4
+ readonly format: readonly ["camelCase"];
5
+ readonly selector: "default";
6
+ }, {
7
+ readonly format: readonly ["camelCase", "PascalCase"];
8
+ readonly selector: "import";
9
+ }, {
10
+ readonly format: readonly ["camelCase", "UPPER_CASE"];
11
+ readonly selector: "variable";
12
+ }, {
13
+ readonly format: readonly ["camelCase"];
14
+ readonly leadingUnderscore: "allow";
15
+ readonly selector: "parameter";
16
+ }, {
17
+ readonly format: readonly ["camelCase"];
18
+ readonly leadingUnderscore: "require";
19
+ readonly modifiers: readonly ["private"];
20
+ readonly selector: "memberLike";
21
+ }, {
22
+ readonly format: readonly ["PascalCase"];
23
+ readonly selector: "typeLike";
24
+ }, {
25
+ readonly format: readonly ["PascalCase", "camelCase"];
26
+ readonly selector: readonly ["variable"];
27
+ readonly types: readonly ["function"];
28
+ }];
29
+ readonly 'max-lines-per-function': ["warn", 100];
30
+ readonly 'react-hooks/automatic-effect-dependencies': "off";
31
+ readonly 'react-hooks/capitalized-calls': "off";
32
+ readonly 'react-hooks/component-hook-factories': "error";
33
+ readonly 'react-hooks/config': "error";
34
+ readonly 'react-hooks/error-boundaries': "error";
35
+ readonly 'react-hooks/exhaustive-deps': "error";
36
+ readonly 'react-hooks/fbt': "off";
37
+ readonly 'react-hooks/fire': "off";
38
+ readonly 'react-hooks/gating': "error";
39
+ readonly 'react-hooks/globals': "error";
40
+ readonly 'react-hooks/hooks': "off";
41
+ readonly 'react-hooks/immutability': "error";
42
+ readonly 'react-hooks/incompatible-library': "error";
43
+ readonly 'react-hooks/invariant': "off";
44
+ readonly 'react-hooks/memoized-effect-dependencies': "off";
45
+ readonly 'react-hooks/no-deriving-state-in-effects': "off";
46
+ readonly 'react-hooks/preserve-manual-memoization': "error";
47
+ readonly 'react-hooks/purity': "error";
48
+ readonly 'react-hooks/refs': "error";
49
+ readonly 'react-hooks/rule-suppression': "off";
50
+ readonly 'react-hooks/rules-of-hooks': "error";
51
+ readonly 'react-hooks/set-state-in-effect': "error";
52
+ readonly 'react-hooks/set-state-in-render': "error";
53
+ readonly 'react-hooks/static-components': "error";
54
+ readonly 'react-hooks/syntax': "off";
55
+ readonly 'react-hooks/todo': "off";
56
+ readonly 'react-hooks/unsupported-syntax': "error";
57
+ readonly 'react-hooks/use-memo': "error";
58
+ readonly 'react-hooks/void-use-memo': "error";
59
+ readonly 'react/boolean-prop-naming': "error";
60
+ readonly 'react/button-has-type': "error";
61
+ readonly 'react/checked-requires-onchange-or-readonly': "error";
62
+ readonly 'react/default-props-match-prop-types': "error";
63
+ readonly 'react/destructuring-assignment': ["error", "always"];
64
+ readonly 'react/display-name': "error";
65
+ readonly 'react/forbid-component-props': "error";
66
+ readonly 'react/forbid-dom-props': "off";
67
+ readonly 'react/forbid-elements': "off";
68
+ readonly 'react/forbid-foreign-prop-types': "error";
69
+ readonly 'react/forbid-prop-types': "error";
70
+ readonly 'react/forward-ref-uses-ref': "error";
71
+ readonly 'react/function-component-definition': ["error", {
71
72
  readonly namedComponents: "arrow-function";
72
73
  readonly unnamedComponents: "arrow-function";
73
74
  }];
74
- 'react/hook-use-state': "error";
75
- 'react/iframe-missing-sandbox': "error";
76
- 'react/jsx-boolean-value': "error";
77
- 'react/jsx-child-element-spacing': "off";
78
- 'react/jsx-closing-bracket-location': "off";
79
- 'react/jsx-closing-tag-location': "off";
80
- 'react/jsx-curly-brace-presence': "off";
81
- 'react/jsx-curly-newline': "off";
82
- 'react/jsx-curly-spacing': "off";
83
- 'react/jsx-equals-spacing': "off";
84
- 'react/jsx-filename-extension': ["error", {
75
+ readonly 'react/hook-use-state': "error";
76
+ readonly 'react/iframe-missing-sandbox': "error";
77
+ readonly 'react/jsx-boolean-value': "error";
78
+ readonly 'react/jsx-child-element-spacing': "off";
79
+ readonly 'react/jsx-closing-bracket-location': "off";
80
+ readonly 'react/jsx-closing-tag-location': "off";
81
+ readonly 'react/jsx-curly-brace-presence': "off";
82
+ readonly 'react/jsx-curly-newline': "off";
83
+ readonly 'react/jsx-curly-spacing': "off";
84
+ readonly 'react/jsx-equals-spacing': "off";
85
+ readonly 'react/jsx-filename-extension': ["error", {
85
86
  readonly extensions: readonly [".jsx", ".tsx"];
86
87
  }];
87
- 'react/jsx-first-prop-new-line': "off";
88
- 'react/jsx-fragments': ["error", "element"];
89
- 'react/jsx-handler-names': ["error", {
88
+ readonly 'react/jsx-first-prop-new-line': "off";
89
+ readonly 'react/jsx-fragments': ["error", "element"];
90
+ readonly 'react/jsx-handler-names': ["error", {
90
91
  readonly checkInlineFunction: true;
91
92
  readonly checkLocalVariables: true;
92
93
  }];
93
- 'react/jsx-indent': "off";
94
- 'react/jsx-indent-props': "off";
95
- 'react/jsx-key': ["error", {
94
+ readonly 'react/jsx-indent': "off";
95
+ readonly 'react/jsx-indent-props': "off";
96
+ readonly 'react/jsx-key': ["error", {
96
97
  readonly checkFragmentShorthand: true;
97
98
  readonly checkKeyMustBeforeSpread: true;
98
99
  readonly warnOnDuplicates: true;
99
100
  }];
100
- 'react/jsx-max-depth': ["warn", {
101
+ readonly 'react/jsx-max-depth': ["warn", {
101
102
  readonly max: 5;
102
103
  }];
103
- 'react/jsx-max-props-per-line': "off";
104
- 'react/jsx-newline': "off";
105
- 'react/jsx-no-bind': "error";
106
- 'react/jsx-no-comment-textnodes': "error";
107
- 'react/jsx-no-constructed-context-values': "error";
108
- 'react/jsx-no-duplicate-props': "error";
109
- 'react/jsx-no-leaked-render': "error";
110
- 'react/jsx-no-literals': "error";
111
- 'react/jsx-no-script-url': ["error", readonly [{
104
+ readonly 'react/jsx-max-props-per-line': "off";
105
+ readonly 'react/jsx-newline': "off";
106
+ readonly 'react/jsx-no-bind': "error";
107
+ readonly 'react/jsx-no-comment-textnodes': "error";
108
+ readonly 'react/jsx-no-constructed-context-values': "error";
109
+ readonly 'react/jsx-no-duplicate-props': "error";
110
+ readonly 'react/jsx-no-leaked-render': "error";
111
+ readonly 'react/jsx-no-literals': "error";
112
+ readonly 'react/jsx-no-script-url': ["error", readonly [{
112
113
  readonly name: "Link";
113
114
  readonly props: readonly ["to"];
114
115
  }]];
115
- 'react/jsx-no-target-blank': "error";
116
- 'react/jsx-no-undef': "error";
117
- 'react/jsx-no-useless-fragment': "error";
118
- 'react/jsx-one-expression-per-line': "off";
119
- 'react/jsx-pascal-case': "error";
120
- 'react/jsx-props-no-multi-spaces': "off";
121
- 'react/jsx-props-no-spread-multi': "error";
122
- 'react/jsx-props-no-spreading': "off";
123
- 'react/jsx-sort-props': "error";
124
- 'react/jsx-tag-spacing': "off";
125
- 'react/jsx-uses-react': "off";
126
- 'react/jsx-uses-vars': "error";
127
- 'react/jsx-wrap-multilines': "off";
128
- 'react/no-access-state-in-setstate': "error";
129
- 'react/no-adjacent-inline-elements': "error";
130
- 'react/no-array-index-key': "error";
131
- 'react/no-arrow-function-lifecycle': "error";
132
- 'react/no-children-prop': "error";
133
- 'react/no-danger': "error";
134
- 'react/no-danger-with-children': "error";
135
- 'react/no-deprecated': "error";
136
- 'react/no-did-mount-set-state': "error";
137
- 'react/no-did-update-set-state': "error";
138
- 'react/no-direct-mutation-state': "error";
139
- 'react/no-find-dom-node': "error";
140
- 'react/no-invalid-html-attribute': "error";
141
- 'react/no-is-mounted': "error";
142
- 'react/no-multi-comp': "error";
143
- 'react/no-namespace': "error";
144
- 'react/no-object-type-as-default-prop': "error";
145
- 'react/no-redundant-should-component-update': "error";
146
- 'react/no-render-return-value': "error";
147
- 'react/no-set-state': "warn";
148
- 'react/no-string-refs': "error";
149
- 'react/no-this-in-sfc': "error";
150
- 'react/no-typos': "error";
151
- 'react/no-unescaped-entities': "error";
152
- 'react/no-unknown-property': "error";
153
- 'react/no-unsafe': "error";
154
- 'react/no-unstable-nested-components': "error";
155
- 'react/no-unused-class-component-methods': "error";
156
- 'react/no-unused-prop-types': "error";
157
- 'react/no-unused-state': "error";
158
- 'react/no-will-update-set-state': "error";
159
- 'react/prefer-es6-class': "error";
160
- 'react/prefer-exact-props': "error";
161
- 'react/prefer-read-only-props': "error";
162
- 'react/prefer-stateless-function': "error";
163
- 'react/prop-types': "error";
164
- 'react/react-in-jsx-scope': "off";
165
- 'react/require-default-props': "off";
166
- 'react/require-optimization': "error";
167
- 'react/require-render-return': "error";
168
- 'react/self-closing-comp': "off";
169
- 'react/sort-comp': ["error", {
116
+ readonly 'react/jsx-no-target-blank': "error";
117
+ readonly 'react/jsx-no-undef': "error";
118
+ readonly 'react/jsx-no-useless-fragment': "error";
119
+ readonly 'react/jsx-one-expression-per-line': "off";
120
+ readonly 'react/jsx-pascal-case': "error";
121
+ readonly 'react/jsx-props-no-multi-spaces': "off";
122
+ readonly 'react/jsx-props-no-spread-multi': "error";
123
+ readonly 'react/jsx-props-no-spreading': "off";
124
+ readonly 'react/jsx-sort-props': "error";
125
+ readonly 'react/jsx-tag-spacing': "off";
126
+ readonly 'react/jsx-uses-react': "off";
127
+ readonly 'react/jsx-uses-vars': "error";
128
+ readonly 'react/jsx-wrap-multilines': "off";
129
+ readonly 'react/no-access-state-in-setstate': "error";
130
+ readonly 'react/no-adjacent-inline-elements': "error";
131
+ readonly 'react/no-array-index-key': "error";
132
+ readonly 'react/no-arrow-function-lifecycle': "error";
133
+ readonly 'react/no-children-prop': "error";
134
+ readonly 'react/no-danger': "error";
135
+ readonly 'react/no-danger-with-children': "error";
136
+ readonly 'react/no-deprecated': "error";
137
+ readonly 'react/no-did-mount-set-state': "error";
138
+ readonly 'react/no-did-update-set-state': "error";
139
+ readonly 'react/no-direct-mutation-state': "error";
140
+ readonly 'react/no-find-dom-node': "error";
141
+ readonly 'react/no-invalid-html-attribute': "error";
142
+ readonly 'react/no-is-mounted': "error";
143
+ readonly 'react/no-multi-comp': "error";
144
+ readonly 'react/no-namespace': "error";
145
+ readonly 'react/no-object-type-as-default-prop': "error";
146
+ readonly 'react/no-redundant-should-component-update': "error";
147
+ readonly 'react/no-render-return-value': "error";
148
+ readonly 'react/no-set-state': "warn";
149
+ readonly 'react/no-string-refs': "error";
150
+ readonly 'react/no-this-in-sfc': "error";
151
+ readonly 'react/no-typos': "error";
152
+ readonly 'react/no-unescaped-entities': "error";
153
+ readonly 'react/no-unknown-property': "error";
154
+ readonly 'react/no-unsafe': "error";
155
+ readonly 'react/no-unstable-nested-components': "error";
156
+ readonly 'react/no-unused-class-component-methods': "error";
157
+ readonly 'react/no-unused-prop-types': "error";
158
+ readonly 'react/no-unused-state': "error";
159
+ readonly 'react/no-will-update-set-state': "error";
160
+ readonly 'react/prefer-es6-class': "error";
161
+ readonly 'react/prefer-exact-props': "error";
162
+ readonly 'react/prefer-read-only-props': "error";
163
+ readonly 'react/prefer-stateless-function': "error";
164
+ readonly 'react/prop-types': "error";
165
+ readonly 'react/react-in-jsx-scope': "off";
166
+ readonly 'react/require-default-props': "off";
167
+ readonly 'react/require-optimization': "error";
168
+ readonly 'react/require-render-return': "error";
169
+ readonly 'react/self-closing-comp': "off";
170
+ readonly 'react/sort-comp': ["error", {
170
171
  readonly order: readonly ["constructor", "static-methods", "lifecycle", "everything-else", "render"];
171
172
  }];
172
- 'react/sort-default-props': "error";
173
- 'react/sort-prop-types': "error";
174
- 'react/state-in-constructor': "error";
175
- 'react/static-property-placement': "error";
176
- 'react/style-prop-object': "error";
177
- 'react/void-dom-elements-no-children': "error";
173
+ readonly 'react/sort-default-props': "error";
174
+ readonly 'react/sort-prop-types': "error";
175
+ readonly 'react/state-in-constructor': "error";
176
+ readonly 'react/static-property-placement': "error";
177
+ readonly 'react/style-prop-object': "error";
178
+ readonly 'react/void-dom-elements-no-children': "error";
178
179
  };
179
- files: ["**/*.{jsx,tsx}"];
180
- languageOptions: {
180
+ readonly files: ["**/*.{jsx,tsx}"];
181
+ readonly languageOptions: {
181
182
  readonly parserOptions: {
182
183
  readonly ecmaFeatures: {
183
184
  readonly jsx: true;
@@ -185,7 +186,7 @@ declare const config: {
185
186
  readonly jsxPragma: null;
186
187
  };
187
188
  };
188
- plugins: {
189
+ readonly plugins: {
189
190
  readonly react: {
190
191
  deprecatedRules: Partial<{
191
192
  'boolean-prop-naming': import("eslint").Rule.RuleModule;
@@ -459,7 +460,7 @@ declare const config: {
459
460
  };
460
461
  readonly 'react-hooks': import("eslint").ESLint.Plugin;
461
462
  };
462
- settings: {
463
+ readonly settings: {
463
464
  readonly react: {
464
465
  readonly version: "detect";
465
466
  };
@@ -58,6 +58,11 @@ declare const config: {
58
58
  readonly leadingUnderscore: "require";
59
59
  readonly modifiers: readonly ["private"];
60
60
  readonly selector: "memberLike";
61
+ }, {
62
+ readonly format: readonly ["camelCase"];
63
+ readonly leadingUnderscore: "allow";
64
+ readonly modifiers: readonly ["protected"];
65
+ readonly selector: "memberLike";
61
66
  }, {
62
67
  readonly format: readonly ["PascalCase"];
63
68
  readonly selector: "typeLike";
@@ -216,6 +221,10 @@ declare const config: {
216
221
  readonly typescript: true;
217
222
  };
218
223
  readonly n: {
224
+ readonly convertPath: readonly [{
225
+ readonly include: readonly ["src/bin/**/*.ts", "src/bin/**/*.mts", "src/bin/**/*.tsx"];
226
+ readonly replace: readonly ["^src/bin/(.+)$", "bin/$1"];
227
+ }];
219
228
  readonly typescriptExtensionMap: readonly [readonly [".ts", ".js"], readonly [".mts", ".mjs"], readonly [".tsx", ".js"]];
220
229
  };
221
230
  };
@@ -66,6 +66,12 @@ const config = {
66
66
  modifiers: ['private'],
67
67
  selector: 'memberLike'
68
68
  },
69
+ {
70
+ format: ['camelCase'],
71
+ leadingUnderscore: 'allow',
72
+ modifiers: ['protected'],
73
+ selector: 'memberLike'
74
+ },
69
75
  {
70
76
  format: ['PascalCase'],
71
77
  selector: 'typeLike'
@@ -227,6 +233,16 @@ const config = {
227
233
  },
228
234
  'import/resolver': { typescript: true },
229
235
  n: {
236
+ convertPath: [
237
+ {
238
+ include: [
239
+ 'src/bin/**/*.ts',
240
+ 'src/bin/**/*.mts',
241
+ 'src/bin/**/*.tsx'
242
+ ],
243
+ replace: ['^src/bin/(.+)$', 'bin/$1']
244
+ }
245
+ ],
230
246
  typescriptExtensionMap: [
231
247
  ['.ts', '.js'],
232
248
  ['.mts', '.mjs'],
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@egy186/eslint-config",
3
3
  "description": "Eslint shareable config",
4
- "version": "4.4.0",
4
+ "version": "4.4.2",
5
5
  "author": "egy186",
6
6
  "bugs": {
7
7
  "url": "https://github.com/egy186/eslint-config/issues"