@wkovacs64/eslint-config 7.0.1 → 7.1.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.
- package/README.md +7 -11
- package/index.js +19 -15
- package/package.json +4 -11
package/README.md
CHANGED
@@ -11,14 +11,13 @@ This is my personal [ESLint][eslint] configuration.
|
|
11
11
|
npm install --save-dev @wkovacs64/eslint-config
|
12
12
|
```
|
13
13
|
|
14
|
-
> Be sure to install the appropriately versioned `eslint` peer dependency as
|
15
|
-
> well.
|
14
|
+
> Be sure to install the appropriately versioned `eslint` peer dependency as well.
|
16
15
|
|
17
16
|
### Usage
|
18
17
|
|
19
|
-
Follow the ESLint documentation on [shared configurations][eslint-sharing]. See
|
20
|
-
|
21
|
-
|
18
|
+
Follow the ESLint documentation on [shared configurations][eslint-sharing]. See the documentation on
|
19
|
+
[ignoring files][eslint-ignores] if you need to ignore anything the config doesn't already ignore by
|
20
|
+
default.
|
22
21
|
|
23
22
|
### Examples
|
24
23
|
|
@@ -48,17 +47,14 @@ export default config;
|
|
48
47
|
}
|
49
48
|
```
|
50
49
|
|
51
|
-
[npm-image]:
|
52
|
-
https://img.shields.io/npm/v/@wkovacs64/eslint-config.svg?style=flat-square
|
50
|
+
[npm-image]: https://img.shields.io/npm/v/@wkovacs64/eslint-config.svg?style=flat-square
|
53
51
|
[npm-url]: https://www.npmjs.com/package/@wkovacs64/eslint-config
|
54
52
|
[ci-image]:
|
55
53
|
https://img.shields.io/github/actions/workflow/status/wKovacs64/eslint-config/ci.yml?logo=github&style=flat-square
|
56
54
|
[ci-url]: https://github.com/wKovacs64/eslint-config/actions?query=workflow%3Aci
|
57
|
-
[changesets-image]:
|
58
|
-
https://img.shields.io/badge/maintained%20with-changesets-blue?style=flat-square
|
55
|
+
[changesets-image]: https://img.shields.io/badge/maintained%20with-changesets-blue?style=flat-square
|
59
56
|
[changesets-url]: https://github.com/changesets/changesets
|
60
57
|
[eslint]: https://eslint.org/
|
61
58
|
[eslint-sharing]:
|
62
59
|
https://eslint.org/docs/latest/use/configure/configuration-files#using-a-shareable-configuration-package
|
63
|
-
[eslint-ignores]:
|
64
|
-
https://eslint.org/docs/latest/use/configure/migration-guide#ignoring-files
|
60
|
+
[eslint-ignores]: https://eslint.org/docs/latest/use/configure/migration-guide#ignoring-files
|
package/index.js
CHANGED
@@ -5,6 +5,8 @@
|
|
5
5
|
import globals from 'globals';
|
6
6
|
import eslint from '@eslint/js';
|
7
7
|
import tseslint from 'typescript-eslint';
|
8
|
+
import reactPlugin from 'eslint-plugin-react';
|
9
|
+
import jsxA11yPlugin from 'eslint-plugin-jsx-a11y';
|
8
10
|
import playwright from 'eslint-plugin-playwright';
|
9
11
|
|
10
12
|
const ERROR = 'error';
|
@@ -26,7 +28,7 @@ const hasPlaywright = await has('playwright');
|
|
26
28
|
|
27
29
|
const vitestFiles = ['**/__tests__/**/*', '**/*.test.*'];
|
28
30
|
const testFiles = ['**/tests/**', '**/#tests/**', ...vitestFiles];
|
29
|
-
const playwrightFiles = ['**/playwright
|
31
|
+
const playwrightFiles = ['**/playwright/**/*.(spec|test).*'];
|
30
32
|
|
31
33
|
export const config = [
|
32
34
|
{
|
@@ -66,14 +68,7 @@ export const config = [
|
|
66
68
|
{ pattern: '#*/**', group: 'internal' },
|
67
69
|
{ pattern: '~/**', group: 'internal' },
|
68
70
|
],
|
69
|
-
groups: [
|
70
|
-
'builtin',
|
71
|
-
'external',
|
72
|
-
'internal',
|
73
|
-
'parent',
|
74
|
-
'sibling',
|
75
|
-
'index',
|
76
|
-
],
|
71
|
+
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'],
|
77
72
|
},
|
78
73
|
],
|
79
74
|
},
|
@@ -82,10 +77,10 @@ export const config = [
|
|
82
77
|
// JSX/TSX files
|
83
78
|
hasReact
|
84
79
|
? {
|
85
|
-
files: ['**/*.tsx', '**/*.jsx']
|
80
|
+
files: ['**/*.tsx', '**/*.jsx'],
|
86
81
|
plugins: {
|
87
|
-
react:
|
88
|
-
'jsx-a11y':
|
82
|
+
react: reactPlugin,
|
83
|
+
'jsx-a11y': jsxA11yPlugin,
|
89
84
|
},
|
90
85
|
languageOptions: {
|
91
86
|
parserOptions: {
|
@@ -95,6 +90,8 @@ export const config = [
|
|
95
90
|
},
|
96
91
|
},
|
97
92
|
rules: {
|
93
|
+
...reactPlugin.configs.recommended.rules,
|
94
|
+
...jsxA11yPlugin.configs.recommended.rules,
|
98
95
|
'react/function-component-definition': [
|
99
96
|
'error',
|
100
97
|
{
|
@@ -102,7 +99,8 @@ export const config = [
|
|
102
99
|
unnamedComponents: 'arrow-function',
|
103
100
|
},
|
104
101
|
],
|
105
|
-
'react/jsx-
|
102
|
+
'react/react-in-jsx-scope': OFF,
|
103
|
+
'react/prop-types': OFF,
|
106
104
|
'jsx-a11y/label-has-associated-control': [
|
107
105
|
ERROR,
|
108
106
|
{
|
@@ -252,6 +250,13 @@ export const config = [
|
|
252
250
|
'@typescript-eslint/require-await': OFF,
|
253
251
|
'@typescript-eslint/unified-signatures': 'warn',
|
254
252
|
},
|
253
|
+
settings: {
|
254
|
+
'import/resolver': {
|
255
|
+
typescript: {
|
256
|
+
alwaysTryTypes: true,
|
257
|
+
},
|
258
|
+
},
|
259
|
+
},
|
255
260
|
}
|
256
261
|
: null,
|
257
262
|
|
@@ -281,8 +286,7 @@ export const config = [
|
|
281
286
|
files: testFiles,
|
282
287
|
ignores: [...playwrightFiles],
|
283
288
|
plugins: {
|
284
|
-
'testing-library': (await import('eslint-plugin-testing-library'))
|
285
|
-
.default,
|
289
|
+
'testing-library': (await import('eslint-plugin-testing-library')).default,
|
286
290
|
},
|
287
291
|
rules: {
|
288
292
|
// 'testing-library/await-async-events': ERROR,
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wkovacs64/eslint-config",
|
3
|
-
"version": "7.0
|
3
|
+
"version": "7.1.0",
|
4
4
|
"description": "@wKovacs64 ESLint config",
|
5
5
|
"keywords": [
|
6
6
|
"eslint",
|
@@ -48,9 +48,6 @@
|
|
48
48
|
"engines": {
|
49
49
|
"node": "^18.18.0 || >=20.0.0"
|
50
50
|
},
|
51
|
-
"peerDependencies": {
|
52
|
-
"eslint": "^9.4.0"
|
53
|
-
},
|
54
51
|
"dependencies": {
|
55
52
|
"@eslint/js": "^9.4.0",
|
56
53
|
"eslint-plugin-import-x": "^0.5.1",
|
@@ -68,16 +65,12 @@
|
|
68
65
|
"@changesets/changelog-github": "0.5.0",
|
69
66
|
"@changesets/cli": "2.27.5",
|
70
67
|
"@types/eslint__js": "8.42.3",
|
71
|
-
"@types/node": "20.
|
68
|
+
"@types/node": "20.14.1",
|
72
69
|
"@types/react": "18.3.3",
|
73
70
|
"@types/react-dom": "18.3.0",
|
74
|
-
"@wkovacs64/prettier-config": "4.
|
75
|
-
"eslint": "
|
71
|
+
"@wkovacs64/prettier-config": "4.1.0",
|
72
|
+
"eslint": "8.57.0",
|
76
73
|
"prettier": "3.3.0",
|
77
74
|
"typescript": "5.4.5"
|
78
|
-
},
|
79
|
-
"// TODO": "remove eslint override once our dependencies include v9 in their peerDependencies",
|
80
|
-
"overrides": {
|
81
|
-
"eslint": "9.4.0"
|
82
75
|
}
|
83
76
|
}
|