@morgs32/eslint-config 2.0.6 → 2.0.7

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 (2) hide show
  1. package/.eslintrc.js +1 -332
  2. package/package.json +3 -1
package/.eslintrc.js CHANGED
@@ -1,335 +1,4 @@
1
1
  // @ts-check
2
2
  module.exports = {
3
- extends: ['next/core-web-vitals'],
4
- ignorePatterns: ['**/lib', '**/dist'],
5
- settings: {
6
- react: {
7
- version: 'detect',
8
- },
9
- },
10
- plugins: [
11
- 'import',
12
- 'unused-imports',
13
- 'react',
14
- 'react-hooks',
15
- 'jsx-a11y',
16
- '@typescript-eslint',
17
- 'jest',
18
- 'testing-library',
19
- ],
20
-
21
- rules: {
22
- 'spaced-comment': ['error', 'always', { markers: ['/'] }],
23
- 'unused-imports/no-unused-imports': 'error',
24
- 'comma-spacing': ['error', { before: false, after: true }],
25
- 'react/jsx-indent': ['error', 2],
26
- 'space-infix-ops': ['error'],
27
- quotes: ['error', 'single'],
28
- 'space-before-blocks': 'error',
29
- 'keyword-spacing': 'error',
30
- 'object-curly-spacing': ['error', 'always'],
31
- 'react/jsx-indent-props': [2, 2],
32
- 'react/jsx-first-prop-new-line': [2, 'multiline'],
33
-
34
- // https://github.com/facebook/create-react-app/blob/main/packages/eslint-config-react-app/index.js
35
- 'array-callback-return': 'warn',
36
- 'default-case': ['warn', { commentPattern: '^no default$' }],
37
- 'dot-location': ['warn', 'property'],
38
- eqeqeq: ['warn', 'smart'],
39
- 'new-parens': 'warn',
40
- 'no-array-constructor': 'warn',
41
- 'no-caller': 'warn',
42
- 'no-cond-assign': ['warn', 'except-parens'],
43
- 'no-const-assign': 'warn',
44
- 'no-control-regex': 'warn',
45
- 'no-delete-var': 'warn',
46
- 'no-dupe-args': 'warn',
47
- 'no-dupe-class-members': 'warn',
48
- 'no-dupe-keys': 'warn',
49
- 'no-duplicate-case': 'warn',
50
- 'no-empty-character-class': 'warn',
51
- 'no-empty-pattern': 'warn',
52
- 'no-eval': 'warn',
53
- 'no-ex-assign': 'warn',
54
- 'no-extend-native': 'warn',
55
- 'no-extra-bind': 'warn',
56
- 'no-extra-label': 'warn',
57
- 'no-fallthrough': 'warn',
58
- 'no-func-assign': 'warn',
59
- 'no-implied-eval': 'warn',
60
- 'no-invalid-regexp': 'warn',
61
- 'no-iterator': 'warn',
62
- 'no-label-var': 'warn',
63
- 'no-labels': ['warn', { allowLoop: true, allowSwitch: false }],
64
- 'no-lone-blocks': 'warn',
65
- 'no-loop-func': 'warn',
66
- 'no-mixed-operators': [
67
- 'warn',
68
- {
69
- groups: [
70
- ['&', '|', '^', '~', '<<', '>>', '>>>'],
71
- ['==', '!=', '===', '!==', '>', '>=', '<', '<='],
72
- ['&&', '||'],
73
- ['in', 'instanceof'],
74
- ],
75
- allowSamePrecedence: false,
76
- },
77
- ],
78
- 'no-multi-str': 'warn',
79
- 'no-global-assign': 'warn',
80
- 'no-unsafe-negation': 'warn',
81
- 'no-new-func': 'warn',
82
- 'no-new-object': 'warn',
83
- 'no-new-symbol': 'warn',
84
- 'no-new-wrappers': 'warn',
85
- 'no-obj-calls': 'warn',
86
- 'no-octal': 'warn',
87
- 'no-octal-escape': 'warn',
88
- 'no-redeclare': 'warn',
89
- 'no-regex-spaces': 'warn',
90
- 'no-restricted-syntax': ['warn', 'WithStatement'],
91
- 'no-script-url': 'warn',
92
- 'no-self-assign': 'warn',
93
- 'no-self-compare': 'warn',
94
- 'no-sequences': 'warn',
95
- 'no-shadow-restricted-names': 'warn',
96
- 'no-sparse-arrays': 'warn',
97
- 'no-template-curly-in-string': 'warn',
98
- 'no-this-before-super': 'warn',
99
- 'no-throw-literal': 'warn',
100
- 'no-undef': 'error',
101
- // "no-restricted-globals": ["error"].concat(restrictedGlobals),
102
- 'no-unreachable': 'warn',
103
- 'no-unused-expressions': [
104
- 'error',
105
- {
106
- allowShortCircuit: true,
107
- allowTernary: true,
108
- allowTaggedTemplates: true,
109
- },
110
- ],
111
- 'no-unused-labels': 'warn',
112
- 'no-unused-vars': [
113
- 'warn',
114
- {
115
- args: 'none',
116
- ignoreRestSiblings: true,
117
- },
118
- ],
119
- 'no-use-before-define': [
120
- 'warn',
121
- {
122
- functions: false,
123
- classes: false,
124
- variables: false,
125
- },
126
- ],
127
- 'no-useless-computed-key': 'warn',
128
- 'no-useless-concat': 'warn',
129
- 'no-useless-constructor': 'warn',
130
- 'no-useless-escape': 'warn',
131
- 'no-useless-rename': [
132
- 'warn',
133
- {
134
- ignoreDestructuring: false,
135
- ignoreImport: false,
136
- ignoreExport: false,
137
- },
138
- ],
139
- 'no-with': 'warn',
140
- 'no-whitespace-before-property': 'warn',
141
- 'react-hooks/exhaustive-deps': 'warn',
142
- 'require-yield': 'warn',
143
- 'rest-spread-spacing': ['warn', 'never'],
144
- strict: ['warn', 'never'],
145
- 'unicode-bom': ['warn', 'never'],
146
- 'use-isnan': 'warn',
147
- 'valid-typeof': 'warn',
148
- 'no-restricted-properties': [
149
- 'error',
150
- {
151
- object: 'require',
152
- property: 'ensure',
153
- message:
154
- 'Please use import() instead. More info: https://facebook.github.io/create-react-app/docs/code-splitting',
155
- },
156
- {
157
- object: 'System',
158
- property: 'import',
159
- message:
160
- 'Please use import() instead. More info: https://facebook.github.io/create-react-app/docs/code-splitting',
161
- },
162
- ],
163
- 'getter-return': 'warn',
164
-
165
- // https://github.com/benmosher/eslint-plugin-import/tree/master/docs/rules
166
- 'import/first': 'error',
167
- 'import/no-amd': 'error',
168
- 'import/no-anonymous-default-export': 'warn',
169
- 'import/no-webpack-loader-syntax': 'error',
170
-
171
- // https://github.com/yannickcr/eslint-plugin-react/tree/master/docs/rules
172
- 'react/forbid-foreign-prop-types': ['warn', { allowInPropTypes: true }],
173
- 'react/jsx-no-comment-textnodes': 'warn',
174
- 'react/jsx-no-duplicate-props': 'warn',
175
- 'react/jsx-no-target-blank': 'warn',
176
- 'react/jsx-no-undef': 'error',
177
- 'react/jsx-pascal-case': [
178
- 'warn',
179
- {
180
- allowAllCaps: true,
181
- ignore: [],
182
- },
183
- ],
184
- 'react/no-danger-with-children': 'warn',
185
- // Disabled because of undesirable warnings
186
- // See https://github.com/facebook/create-react-app/issues/5204 for
187
- // blockers until its re-enabled
188
- // 'react/no-deprecated': 'warn',
189
- 'react/no-direct-mutation-state': 'warn',
190
- 'react/no-is-mounted': 'warn',
191
- 'react/no-typos': 'error',
192
- 'react/require-render-return': 'error',
193
- 'react/style-prop-object': 'warn',
194
-
195
- // https://github.com/evcohen/eslint-plugin-jsx-a11y/tree/master/docs/rules
196
- 'jsx-a11y/alt-text': 'warn',
197
- 'jsx-a11y/anchor-has-content': 'warn',
198
- 'jsx-a11y/anchor-is-valid': [
199
- 'warn',
200
- {
201
- aspects: ['noHref', 'invalidHref'],
202
- },
203
- ],
204
- 'jsx-a11y/aria-activedescendant-has-tabindex': 'warn',
205
- 'jsx-a11y/aria-props': 'warn',
206
- 'jsx-a11y/aria-proptypes': 'warn',
207
- 'jsx-a11y/aria-role': ['warn', { ignoreNonDOM: true }],
208
- 'jsx-a11y/aria-unsupported-elements': 'warn',
209
- 'jsx-a11y/heading-has-content': 'warn',
210
- 'jsx-a11y/iframe-has-title': 'warn',
211
- 'jsx-a11y/img-redundant-alt': 'warn',
212
- 'jsx-a11y/no-access-key': 'warn',
213
- 'jsx-a11y/no-distracting-elements': 'warn',
214
- 'jsx-a11y/no-redundant-roles': 'warn',
215
- 'jsx-a11y/role-has-required-aria-props': 'warn',
216
- 'jsx-a11y/role-supports-aria-props': 'warn',
217
- 'jsx-a11y/scope': 'warn',
218
-
219
- // https://github.com/facebook/react/tree/main/packages/eslint-plugin-react-hooks
220
- 'react-hooks/rules-of-hooks': 'error',
221
- },
222
- overrides: [
223
- {
224
- files: ['**/*.stories.*'],
225
- rules: {
226
- 'import/no-anonymous-default-export': 'off',
227
- },
228
- },
229
-
230
- // https://github.com/facebook/create-react-app/blob/main/packages/eslint-config-react-app/jest.js
231
- {
232
- files: ['**/__tests__/**/*', '**/*.{spec,test}.*'],
233
- env: {
234
- 'jest/globals': true,
235
- },
236
- // A subset of the recommended rules:
237
- rules: {
238
- // https://github.com/jest-community/eslint-plugin-jest
239
- 'jest/no-conditional-expect': 'error',
240
- 'jest/no-identical-title': 'error',
241
- 'jest/no-interpolation-in-snapshots': 'error',
242
- 'jest/no-jasmine-globals': 'error',
243
- 'jest/no-mocks-import': 'error',
244
- 'jest/valid-describe-callback': 'error',
245
- 'jest/valid-expect': 'error',
246
- 'jest/valid-expect-in-promise': 'error',
247
- 'jest/valid-title': 'warn',
248
-
249
- // https://github.com/testing-library/eslint-plugin-testing-library
250
- 'testing-library/await-async-query': 'error',
251
- 'testing-library/await-async-utils': 'error',
252
- 'testing-library/no-await-sync-query': 'error',
253
- 'testing-library/no-container': 'error',
254
- 'testing-library/no-debugging-utils': 'error',
255
- 'testing-library/no-dom-import': ['error', 'react'],
256
- 'testing-library/no-node-access': 'error',
257
- 'testing-library/no-promise-in-fire-event': 'error',
258
- 'testing-library/no-render-in-setup': 'error',
259
- 'testing-library/no-unnecessary-act': 'error',
260
- 'testing-library/no-wait-for-empty-callback': 'error',
261
- 'testing-library/no-wait-for-multiple-assertions': 'error',
262
- 'testing-library/no-wait-for-side-effects': 'error',
263
- 'testing-library/no-wait-for-snapshot': 'error',
264
- 'testing-library/prefer-find-by': 'error',
265
- 'testing-library/prefer-presence-queries': 'error',
266
- 'testing-library/prefer-query-by-disappearance': 'error',
267
- 'testing-library/prefer-screen-queries': 'error',
268
- 'testing-library/render-result-naming-convention': 'error',
269
- },
270
- },
271
-
272
- // https://github.com/facebook/create-react-app/blob/main/packages/eslint-config-react-app/index.js
273
- {
274
- files: ['**/*.ts?(x)'],
275
- // parser: "@typescript-eslint/parser",
276
- // parserOptions: {
277
- // ecmaVersion: 2018,
278
- // sourceType: "module",
279
- // ecmaFeatures: {
280
- // jsx: true,
281
- // },
282
-
283
- // // typescript-eslint specific options
284
- // warnOnUnsupportedTypeScriptVersion: true,
285
- // },
286
- // plugins: ["@typescript-eslint"],
287
- // If adding a typescript-eslint version of an existing ESLint rule,
288
- // make sure to disable the ESLint rule here.
289
- rules: {
290
- // TypeScript's `noFallthroughCasesInSwitch` option is more robust (#6906)
291
- 'default-case': 'off',
292
- // 'tsc' already handles this (https://github.com/typescript-eslint/typescript-eslint/issues/291)
293
- 'no-dupe-class-members': 'off',
294
- // 'tsc' already handles this (https://github.com/typescript-eslint/typescript-eslint/issues/477)
295
- 'no-undef': 'off',
296
-
297
- // Add TypeScript specific rules (and turn off ESLint equivalents)
298
- '@typescript-eslint/consistent-type-assertions': 'warn',
299
- 'no-array-constructor': 'off',
300
- '@typescript-eslint/no-array-constructor': 'warn',
301
- 'no-redeclare': 'off',
302
- '@typescript-eslint/no-redeclare': 'warn',
303
- 'no-use-before-define': 'off',
304
- '@typescript-eslint/no-use-before-define': [
305
- 'warn',
306
- {
307
- functions: false,
308
- classes: false,
309
- variables: false,
310
- typedefs: false,
311
- },
312
- ],
313
- 'no-unused-expressions': 'off',
314
- '@typescript-eslint/no-unused-expressions': [
315
- 'error',
316
- {
317
- allowShortCircuit: true,
318
- allowTernary: true,
319
- allowTaggedTemplates: true,
320
- },
321
- ],
322
- 'no-unused-vars': 'off',
323
- '@typescript-eslint/no-unused-vars': [
324
- 'warn',
325
- {
326
- args: 'none',
327
- ignoreRestSiblings: true,
328
- },
329
- ],
330
- 'no-useless-constructor': 'off',
331
- '@typescript-eslint/no-useless-constructor': 'warn',
332
- },
333
- },
334
- ],
3
+ extends: ['./base.eslintrc', 'prettier'],
335
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@morgs32/eslint-config",
3
- "version": "2.0.6",
3
+ "version": "2.0.7",
4
4
  "description": "",
5
5
  "main": ".eslintrc.js",
6
6
  "files": [
@@ -22,7 +22,9 @@
22
22
  "dependencies": {
23
23
  "@typescript-eslint/eslint-plugin": "^6.2.0",
24
24
  "eslint-config-next": "^13.4.12",
25
+ "eslint-config-prettier": "^8.10.0",
25
26
  "eslint-plugin-jest": "^27.2.3",
27
+ "eslint-plugin-prettier": "^5.0.0",
26
28
  "eslint-plugin-react": "^7.33.1",
27
29
  "eslint-plugin-testing-library": "^5.11.0",
28
30
  "eslint-plugin-unused-imports": "^3.0.0"