@pplancq/eslint-config 2.1.1 → 2.3.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/CHANGELOG.md +23 -0
- package/README.md +55 -18
- package/package.json +14 -13
- package/rules/base.js +1430 -12
- package/rules/import.js +274 -0
- package/rules/jest.js +256 -4
- package/rules/prettier.js +130 -1
- package/rules/react-jsx-a11y.js +216 -0
- package/rules/react.js +749 -16
- package/rules/typescript.js +512 -14
- package/rules/vitest.js +208 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
## @pplancq/eslint-config [2.3.0](https://github.com/pplancq/dev-tools/compare/@pplancq/eslint-config@2.2.0...@pplancq/eslint-config@2.3.0) (2024-08-27)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* **eslint-config:** replace @typescript-eslint/eslint-plugin recommended config with specific rules ([fc781a5](https://github.com/pplancq/dev-tools/commit/fc781a5dcc5495b66242da60f8b16ec8292ed037))
|
|
6
|
+
* **eslint-config:** replace eslint-config-airbnb config with specific rules ([113d046](https://github.com/pplancq/dev-tools/commit/113d046f93173f29348eed8fa988f7671490dceb))
|
|
7
|
+
* **eslint-config:** replace eslint-plugin-import recommended config with specific rules ([f425c62](https://github.com/pplancq/dev-tools/commit/f425c62338990cebbaf0a5e2198731de39d3883a))
|
|
8
|
+
* **eslint-config:** replace eslint-plugin-jest and eslint-plugin-jest-extended recommended config with specific rules ([a1c0705](https://github.com/pplancq/dev-tools/commit/a1c0705a641614c915e0629121f62a93d82408fb))
|
|
9
|
+
* **eslint-config:** replace eslint-plugin-jest-dom recommended config with specific rules ([8ec4083](https://github.com/pplancq/dev-tools/commit/8ec4083d6791d17e746bb916c97ae45fc4692e6e))
|
|
10
|
+
* **eslint-config:** replace eslint-plugin-jsx-a11y recommended config with specific rules ([19f1994](https://github.com/pplancq/dev-tools/commit/19f1994e1be4d41ab6cca98c28824595c4e8e45e))
|
|
11
|
+
* **eslint-config:** replace eslint-plugin-prettier recommended config with specific rules and remove eslint-config-prettier ([46e36f3](https://github.com/pplancq/dev-tools/commit/46e36f3cc2e21d3c5885943c91aeac38f4014654))
|
|
12
|
+
* **eslint-config:** replace eslint-plugin-react recommended config with specific rules ([ef29e01](https://github.com/pplancq/dev-tools/commit/ef29e0177793b8391e65f8df15424b9cd977bec3))
|
|
13
|
+
* **eslint-config:** replace eslint-plugin-react-hooks recommended config with specific rules ([237905e](https://github.com/pplancq/dev-tools/commit/237905e364a155e3ccc9581fa38c266bc8d4ce57))
|
|
14
|
+
* **eslint-config:** replace eslint-plugin-testing-library recommended config with specific rules ([160e7bc](https://github.com/pplancq/dev-tools/commit/160e7bc6443aa5d25361065874e32803ffd236ec))
|
|
15
|
+
* **eslint-config:** replace eslint-plugin-vitest recommended config with specific rules ([1c8cf9c](https://github.com/pplancq/dev-tools/commit/1c8cf9cce9d6e9df414b73a7cd2a9f7d4019fdcb))
|
|
16
|
+
|
|
17
|
+
## @pplancq/eslint-config [2.2.0](https://github.com/pplancq/dev-tools/compare/@pplancq/eslint-config@2.1.1...@pplancq/eslint-config@2.2.0) (2024-05-06)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **dev-tools:** add minimal nodejs versions for each package ([0d8447a](https://github.com/pplancq/dev-tools/commit/0d8447a6f4e26ff9cb28baac8434020156d5dac0))
|
|
23
|
+
|
|
1
24
|
## @pplancq/eslint-config [2.1.1](https://github.com/pplancq/dev-tools/compare/@pplancq/eslint-config@2.1.0...@pplancq/eslint-config@2.1.1) (2024-04-16)
|
|
2
25
|
|
|
3
26
|
## @pplancq/eslint-config [2.1.0](https://github.com/pplancq/dev-tools/compare/@pplancq/eslint-config@2.0.1...@pplancq/eslint-config@2.1.0) (2024-03-23)
|
package/README.md
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
# @pplancq/eslint-config
|
|
2
2
|
|
|
3
|
-
This package
|
|
3
|
+
This package has been designed to provide a simplified and customizable ESLint configuration for your React/Node.js applications. Whether you are a beginner or an experienced developer, this package will help you configure ESLint with strict rules to ensure better code structure. Based on Airbnb’s ESLint configuration, this package includes additional rules for TypeScript files and test files.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Getting Started
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
### Prerequisites
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
- Node.js 18.18.0 or higher
|
|
10
|
+
|
|
11
|
+
### Installation
|
|
10
12
|
|
|
11
13
|
```shell
|
|
12
|
-
npm install --save-dev @pplancq/eslint-config
|
|
14
|
+
npm install --save-dev eslint@8 @pplancq/eslint-config
|
|
13
15
|
```
|
|
14
16
|
|
|
15
|
-
##
|
|
17
|
+
## ESLint Configuration
|
|
16
18
|
|
|
17
|
-
Use
|
|
19
|
+
Use the following command to enable the default configuration:
|
|
18
20
|
|
|
19
21
|
```shell
|
|
20
22
|
npx init-eslint-config
|
|
@@ -22,30 +24,65 @@ npx init-eslint-config
|
|
|
22
24
|
|
|
23
25
|
### @pplancq/eslint-config/react
|
|
24
26
|
|
|
25
|
-
To use, add
|
|
26
|
-
|
|
27
|
+
To use, add the following to your `package.json`:
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"eslintConfig": { "extends": ["@pplancq/eslint-config/react"] }
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
This configuration enables the rules for base, TypeScript, React, and Testing Library files.
|
|
27
36
|
|
|
28
37
|
### @pplancq/eslint-config/node
|
|
29
38
|
|
|
30
|
-
To use, add
|
|
31
|
-
|
|
39
|
+
To use, add the following to your `package.json`:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"eslintConfig": { "extends": ["@pplancq/eslint-config/node"] }
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This configuration enables the rules for base and TypeScript files.
|
|
32
48
|
|
|
33
49
|
### @pplancq/eslint-config/vitest
|
|
34
50
|
|
|
35
|
-
To use, add
|
|
36
|
-
|
|
51
|
+
To use, add the following to your `package.json`:
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"eslintConfig": { "extends": ["@pplancq/eslint-config/vitest"] }
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
This configuration enables the rules for Vitest files.
|
|
37
60
|
|
|
38
61
|
### @pplancq/eslint-config/jest
|
|
39
62
|
|
|
40
|
-
To use, add
|
|
41
|
-
|
|
63
|
+
To use, add the following to your `package.json`:
|
|
64
|
+
|
|
65
|
+
```json
|
|
66
|
+
{
|
|
67
|
+
"eslintConfig": { "extends": ["@pplancq/eslint-config/jest"] }
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
This configuration enables the rules for Jest files.
|
|
42
72
|
|
|
43
73
|
### @pplancq/eslint-config/prettier
|
|
44
74
|
|
|
45
|
-
To use, add
|
|
46
|
-
|
|
75
|
+
To use, add the following to your `package.json`:
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"eslintConfig": { "extends": ["@pplancq/eslint-config/prettier"] }
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
This configuration enables the rules for Prettier files.
|
|
47
84
|
|
|
48
|
-
need
|
|
85
|
+
You will need to install the following packages:
|
|
49
86
|
|
|
50
87
|
```shell
|
|
51
88
|
npm install --save-dev prettier eslint-plugin-prettier
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pplancq/eslint-config",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "pplancq eslint config",
|
|
6
6
|
"author": "pplancq <paul.plancq@outlook.fr>",
|
|
@@ -27,20 +27,18 @@
|
|
|
27
27
|
"config"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@typescript-eslint/eslint-plugin": "^7.
|
|
31
|
-
"@typescript-eslint/parser": "^7.
|
|
32
|
-
"eslint-config-airbnb": "^19.0.4",
|
|
33
|
-
"eslint-config-prettier": "^9.1.0",
|
|
30
|
+
"@typescript-eslint/eslint-plugin": "^7.17.0",
|
|
31
|
+
"@typescript-eslint/parser": "^7.18.0",
|
|
34
32
|
"eslint-import-resolver-typescript": "^3.6.1",
|
|
35
33
|
"eslint-plugin-import": "^2.29.0",
|
|
36
|
-
"eslint-plugin-jest": "^28.
|
|
37
|
-
"eslint-plugin-jest-dom": "^5.
|
|
38
|
-
"eslint-plugin-jest-extended": "^2.
|
|
39
|
-
"eslint-plugin-jsx-a11y": "^6.
|
|
40
|
-
"eslint-plugin-react": "^7.
|
|
41
|
-
"eslint-plugin-react-hooks": "^4.6.
|
|
42
|
-
"eslint-plugin-testing-library": "^6.
|
|
43
|
-
"eslint-plugin-vitest": "^0.5.
|
|
34
|
+
"eslint-plugin-jest": "^28.8.0",
|
|
35
|
+
"eslint-plugin-jest-dom": "^5.4.0",
|
|
36
|
+
"eslint-plugin-jest-extended": "^2.4.0",
|
|
37
|
+
"eslint-plugin-jsx-a11y": "^6.9.0",
|
|
38
|
+
"eslint-plugin-react": "^7.35.0",
|
|
39
|
+
"eslint-plugin-react-hooks": "^4.6.2",
|
|
40
|
+
"eslint-plugin-testing-library": "^6.3.0",
|
|
41
|
+
"eslint-plugin-vitest": "^0.5.4",
|
|
44
42
|
"eslint-plugin-vitest-globals": "^1.5.0"
|
|
45
43
|
},
|
|
46
44
|
"peerDependencies": {
|
|
@@ -56,6 +54,9 @@
|
|
|
56
54
|
"optional": true
|
|
57
55
|
}
|
|
58
56
|
},
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": "^18.18.0 || >=20.0.0"
|
|
59
|
+
},
|
|
59
60
|
"volta": {
|
|
60
61
|
"extends": "../../package.json"
|
|
61
62
|
}
|