@asd14/eslint-config 15.2.0 → 15.4.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 +3 -2
- package/dist/types/eslint.config.d.ts +5 -1
- package/dist/types/src/configs/node.d.ts +5 -1
- package/dist/types/src/configs/react.d.ts +23 -3
- package/dist/types/src/configs/ts.d.ts +7 -3
- package/dist/types/src/rules/jsdoc.d.ts +5 -1
- package/dist/types/src/rules/typescript.d.ts +2 -2
- package/package.json +18 -18
- package/src/configs/node.js +15 -5
- package/src/configs/react.js +13 -5
- package/src/rules/jsdoc.js +3 -1
- package/src/rules/typescript.js +10 -1
package/README.md
CHANGED
|
@@ -18,10 +18,11 @@
|
|
|
18
18
|
## Installation
|
|
19
19
|
|
|
20
20
|
```sh
|
|
21
|
-
npm install --save-dev @asd14/eslint-config eslint@^9 prettier@^3 typescript@^
|
|
21
|
+
npm install --save-dev @asd14/eslint-config eslint@^9 prettier@^3 typescript@^6
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
> NOTE
|
|
24
|
+
> [!NOTE]
|
|
25
|
+
> `eslint`, `prettier` and `typescript` are peerDependencies
|
|
25
26
|
|
|
26
27
|
## Exports
|
|
27
28
|
|
|
@@ -140,9 +140,13 @@ declare namespace _default {
|
|
|
140
140
|
}];
|
|
141
141
|
readonly "jsdoc/sort-tags": ["error", {
|
|
142
142
|
readonly reportIntraTagGroupSpacing: false;
|
|
143
|
-
readonly reportTagGroupSpacing:
|
|
143
|
+
readonly reportTagGroupSpacing: false;
|
|
144
144
|
readonly tagSequence: readonly [{
|
|
145
|
+
readonly tags: readonly ["template"];
|
|
146
|
+
}, {
|
|
145
147
|
readonly tags: readonly ["typedef", "callback"];
|
|
148
|
+
}, {
|
|
149
|
+
readonly tags: readonly ["extends"];
|
|
146
150
|
}, {
|
|
147
151
|
readonly tags: readonly ["param", "arg", "argument", "property", "prop"];
|
|
148
152
|
}, {
|
|
@@ -137,9 +137,13 @@ export namespace nodeConfig {
|
|
|
137
137
|
readonly "unicorn/error-message": "error";
|
|
138
138
|
readonly "jsdoc/sort-tags": ["error", {
|
|
139
139
|
readonly reportIntraTagGroupSpacing: false;
|
|
140
|
-
readonly reportTagGroupSpacing:
|
|
140
|
+
readonly reportTagGroupSpacing: false;
|
|
141
141
|
readonly tagSequence: readonly [{
|
|
142
|
+
readonly tags: readonly ["template"];
|
|
143
|
+
}, {
|
|
142
144
|
readonly tags: readonly ["typedef", "callback"];
|
|
145
|
+
}, {
|
|
146
|
+
readonly tags: readonly ["extends"];
|
|
143
147
|
}, {
|
|
144
148
|
readonly tags: readonly ["param", "arg", "argument", "property", "prop"];
|
|
145
149
|
}, {
|
|
@@ -45,6 +45,7 @@ export namespace reactConfig {
|
|
|
45
45
|
readonly AudioNode: false;
|
|
46
46
|
readonly AudioParam: false;
|
|
47
47
|
readonly AudioParamMap: false;
|
|
48
|
+
readonly AudioPlaybackStats: false;
|
|
48
49
|
readonly AudioProcessingEvent: false;
|
|
49
50
|
readonly AudioScheduledSourceNode: false;
|
|
50
51
|
readonly AudioSinkInfo: false;
|
|
@@ -836,6 +837,7 @@ export namespace reactConfig {
|
|
|
836
837
|
readonly RTCSessionDescription: false;
|
|
837
838
|
readonly RTCStatsReport: false;
|
|
838
839
|
readonly RTCTrackEvent: false;
|
|
840
|
+
readonly Sanitizer: false;
|
|
839
841
|
readonly scheduler: false;
|
|
840
842
|
readonly Scheduler: false;
|
|
841
843
|
readonly Scheduling: false;
|
|
@@ -1037,6 +1039,9 @@ export namespace reactConfig {
|
|
|
1037
1039
|
readonly TextTrackList: false;
|
|
1038
1040
|
readonly TextUpdateEvent: false;
|
|
1039
1041
|
readonly TimeEvent: false;
|
|
1042
|
+
readonly TimelineTrigger: false;
|
|
1043
|
+
readonly TimelineTriggerRange: false;
|
|
1044
|
+
readonly TimelineTriggerRangeList: false;
|
|
1040
1045
|
readonly TimeRanges: false;
|
|
1041
1046
|
readonly ToggleEvent: false;
|
|
1042
1047
|
readonly toolbar: false;
|
|
@@ -1147,9 +1152,13 @@ export namespace reactConfig {
|
|
|
1147
1152
|
readonly XRAnchorSet: false;
|
|
1148
1153
|
readonly XRBoundedReferenceSpace: false;
|
|
1149
1154
|
readonly XRCamera: false;
|
|
1155
|
+
readonly XRCompositionLayer: false;
|
|
1150
1156
|
readonly XRCPUDepthInformation: false;
|
|
1157
|
+
readonly XRCubeLayer: false;
|
|
1158
|
+
readonly XRCylinderLayer: false;
|
|
1151
1159
|
readonly XRDepthInformation: false;
|
|
1152
1160
|
readonly XRDOMOverlayState: false;
|
|
1161
|
+
readonly XREquirectLayer: false;
|
|
1153
1162
|
readonly XRFrame: false;
|
|
1154
1163
|
readonly XRHand: false;
|
|
1155
1164
|
readonly XRHitTestResult: false;
|
|
@@ -1161,9 +1170,14 @@ export namespace reactConfig {
|
|
|
1161
1170
|
readonly XRJointPose: false;
|
|
1162
1171
|
readonly XRJointSpace: false;
|
|
1163
1172
|
readonly XRLayer: false;
|
|
1173
|
+
readonly XRLayerEvent: false;
|
|
1164
1174
|
readonly XRLightEstimate: false;
|
|
1165
1175
|
readonly XRLightProbe: false;
|
|
1176
|
+
readonly XRPlane: false;
|
|
1177
|
+
readonly XRPlaneSet: false;
|
|
1166
1178
|
readonly XRPose: false;
|
|
1179
|
+
readonly XRProjectionLayer: false;
|
|
1180
|
+
readonly XRQuadLayer: false;
|
|
1167
1181
|
readonly XRRay: false;
|
|
1168
1182
|
readonly XRReferenceSpace: false;
|
|
1169
1183
|
readonly XRReferenceSpaceEvent: false;
|
|
@@ -1172,6 +1186,7 @@ export namespace reactConfig {
|
|
|
1172
1186
|
readonly XRSession: false;
|
|
1173
1187
|
readonly XRSessionEvent: false;
|
|
1174
1188
|
readonly XRSpace: false;
|
|
1189
|
+
readonly XRSubImage: false;
|
|
1175
1190
|
readonly XRSystem: false;
|
|
1176
1191
|
readonly XRTransientInputHitTestResult: false;
|
|
1177
1192
|
readonly XRTransientInputHitTestSource: false;
|
|
@@ -1182,6 +1197,7 @@ export namespace reactConfig {
|
|
|
1182
1197
|
readonly XRWebGLBinding: false;
|
|
1183
1198
|
readonly XRWebGLDepthInformation: false;
|
|
1184
1199
|
readonly XRWebGLLayer: false;
|
|
1200
|
+
readonly XRWebGLSubImage: false;
|
|
1185
1201
|
readonly XSLTProcessor: false;
|
|
1186
1202
|
readonly AbortPaymentEvent: false;
|
|
1187
1203
|
readonly BackgroundFetchEvent: false;
|
|
@@ -1390,8 +1406,8 @@ export namespace reactConfig {
|
|
|
1390
1406
|
}, {
|
|
1391
1407
|
readonly selector: "variable";
|
|
1392
1408
|
readonly types: readonly ["boolean"];
|
|
1393
|
-
readonly format: readonly ["camelCase", "PascalCase"];
|
|
1394
|
-
readonly prefix: readonly ["is", "has", "can", "does", "should", "will", "did", "was", "are"];
|
|
1409
|
+
readonly format: readonly ["camelCase", "PascalCase", "UPPER_CASE"];
|
|
1410
|
+
readonly prefix: readonly ["is", "IS_", "has", "HAS_", "can", "CAN_", "does", "DOES_", "should", "SHOULD_", "will", "WILL_", "did", "DID_", "was", "WAS_", "are", "ARE_"];
|
|
1395
1411
|
}, {
|
|
1396
1412
|
readonly selector: "variable";
|
|
1397
1413
|
readonly types: readonly ["boolean", "number", "string", "array"];
|
|
@@ -1409,9 +1425,13 @@ export namespace reactConfig {
|
|
|
1409
1425
|
}];
|
|
1410
1426
|
readonly "jsdoc/sort-tags": ["error", {
|
|
1411
1427
|
readonly reportIntraTagGroupSpacing: false;
|
|
1412
|
-
readonly reportTagGroupSpacing:
|
|
1428
|
+
readonly reportTagGroupSpacing: false;
|
|
1413
1429
|
readonly tagSequence: readonly [{
|
|
1430
|
+
readonly tags: readonly ["template"];
|
|
1431
|
+
}, {
|
|
1414
1432
|
readonly tags: readonly ["typedef", "callback"];
|
|
1433
|
+
}, {
|
|
1434
|
+
readonly tags: readonly ["extends"];
|
|
1415
1435
|
}, {
|
|
1416
1436
|
readonly tags: readonly ["param", "arg", "argument", "property", "prop"];
|
|
1417
1437
|
}, {
|
|
@@ -138,9 +138,13 @@ export namespace tsConfig {
|
|
|
138
138
|
readonly "unicorn/error-message": "error";
|
|
139
139
|
readonly "jsdoc/sort-tags": ["error", {
|
|
140
140
|
readonly reportIntraTagGroupSpacing: false;
|
|
141
|
-
readonly reportTagGroupSpacing:
|
|
141
|
+
readonly reportTagGroupSpacing: false;
|
|
142
142
|
readonly tagSequence: readonly [{
|
|
143
|
+
readonly tags: readonly ["template"];
|
|
144
|
+
}, {
|
|
143
145
|
readonly tags: readonly ["typedef", "callback"];
|
|
146
|
+
}, {
|
|
147
|
+
readonly tags: readonly ["extends"];
|
|
144
148
|
}, {
|
|
145
149
|
readonly tags: readonly ["param", "arg", "argument", "property", "prop"];
|
|
146
150
|
}, {
|
|
@@ -239,8 +243,8 @@ export namespace tsConfig {
|
|
|
239
243
|
}, {
|
|
240
244
|
readonly selector: "variable";
|
|
241
245
|
readonly types: readonly ["boolean"];
|
|
242
|
-
readonly format: readonly ["camelCase", "PascalCase"];
|
|
243
|
-
readonly prefix: readonly ["is", "has", "can", "does", "should", "will", "did", "was", "are"];
|
|
246
|
+
readonly format: readonly ["camelCase", "PascalCase", "UPPER_CASE"];
|
|
247
|
+
readonly prefix: readonly ["is", "IS_", "has", "HAS_", "can", "CAN_", "does", "DOES_", "should", "SHOULD_", "will", "WILL_", "did", "DID_", "was", "WAS_", "are", "ARE_"];
|
|
244
248
|
}, {
|
|
245
249
|
readonly selector: "variable";
|
|
246
250
|
readonly types: readonly ["boolean", "number", "string", "array"];
|
|
@@ -5,9 +5,13 @@ declare namespace _default {
|
|
|
5
5
|
let rules: {
|
|
6
6
|
readonly "jsdoc/sort-tags": ["error", {
|
|
7
7
|
readonly reportIntraTagGroupSpacing: false;
|
|
8
|
-
readonly reportTagGroupSpacing:
|
|
8
|
+
readonly reportTagGroupSpacing: false;
|
|
9
9
|
readonly tagSequence: readonly [{
|
|
10
|
+
readonly tags: readonly ["template"];
|
|
11
|
+
}, {
|
|
10
12
|
readonly tags: readonly ["typedef", "callback"];
|
|
13
|
+
}, {
|
|
14
|
+
readonly tags: readonly ["extends"];
|
|
11
15
|
}, {
|
|
12
16
|
readonly tags: readonly ["param", "arg", "argument", "property", "prop"];
|
|
13
17
|
}, {
|
|
@@ -31,8 +31,8 @@ declare namespace _default {
|
|
|
31
31
|
}, {
|
|
32
32
|
readonly selector: "variable";
|
|
33
33
|
readonly types: readonly ["boolean"];
|
|
34
|
-
readonly format: readonly ["camelCase", "PascalCase"];
|
|
35
|
-
readonly prefix: readonly ["is", "has", "can", "does", "should", "will", "did", "was", "are"];
|
|
34
|
+
readonly format: readonly ["camelCase", "PascalCase", "UPPER_CASE"];
|
|
35
|
+
readonly prefix: readonly ["is", "IS_", "has", "HAS_", "can", "CAN_", "does", "DOES_", "should", "SHOULD_", "will", "WILL_", "did", "DID_", "was", "WAS_", "are", "ARE_"];
|
|
36
36
|
}, {
|
|
37
37
|
readonly selector: "variable";
|
|
38
38
|
readonly types: readonly ["boolean", "number", "string", "array"];
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@asd14/eslint-config",
|
|
4
|
-
"version": "15.
|
|
4
|
+
"version": "15.4.0",
|
|
5
5
|
"description": "ASD14's reusable ESLint configurations",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"publishConfig": {
|
|
@@ -56,39 +56,39 @@
|
|
|
56
56
|
"typecheck": "tsc --noEmit"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@nx/eslint-plugin": "^22.5
|
|
59
|
+
"@nx/eslint-plugin": "^22.7.5",
|
|
60
60
|
"eslint-config-prettier": "^10.1.8",
|
|
61
61
|
"eslint-plugin-import": "^2.32.0",
|
|
62
|
-
"eslint-plugin-jest": "^29.15.
|
|
63
|
-
"eslint-plugin-jsdoc": "^
|
|
62
|
+
"eslint-plugin-jest": "^29.15.2",
|
|
63
|
+
"eslint-plugin-jsdoc": "^63.0.0",
|
|
64
64
|
"eslint-plugin-json": "^4.0.1",
|
|
65
65
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
66
66
|
"eslint-plugin-no-inferred-method-name": "^2.0.0",
|
|
67
|
-
"eslint-plugin-prettier": "^5.5.
|
|
68
|
-
"eslint-plugin-promise": "^7.
|
|
67
|
+
"eslint-plugin-prettier": "^5.5.6",
|
|
68
|
+
"eslint-plugin-promise": "^7.3.0",
|
|
69
69
|
"eslint-plugin-react": "^7.37.5",
|
|
70
|
-
"eslint-plugin-react-hooks": "^7.
|
|
70
|
+
"eslint-plugin-react-hooks": "^7.1.1",
|
|
71
71
|
"eslint-plugin-react-refresh": "^0.5.2",
|
|
72
|
-
"eslint-plugin-testing-library": "^7.16.
|
|
73
|
-
"eslint-plugin-unicorn": "^
|
|
74
|
-
"globals": "^17.
|
|
75
|
-
"typescript-eslint": "^8.
|
|
72
|
+
"eslint-plugin-testing-library": "^7.16.2",
|
|
73
|
+
"eslint-plugin-unicorn": "^64.0.0",
|
|
74
|
+
"globals": "^17.6.0",
|
|
75
|
+
"typescript-eslint": "^8.60.0"
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
|
-
"@asd14/prettier-config": "^1.
|
|
79
|
-
"@asd14/ts-config": "^1.
|
|
80
|
-
"@commitlint/cli": "^
|
|
81
|
-
"@commitlint/config-conventional": "^
|
|
78
|
+
"@asd14/prettier-config": "^1.4.0",
|
|
79
|
+
"@asd14/ts-config": "^1.5.0",
|
|
80
|
+
"@commitlint/cli": "^21.0.1",
|
|
81
|
+
"@commitlint/config-conventional": "^21.0.1",
|
|
82
82
|
"@semantic-release/git": "^10.0.1",
|
|
83
|
-
"conventional-changelog-conventionalcommits": "^9.1
|
|
83
|
+
"conventional-changelog-conventionalcommits": "^9.3.1",
|
|
84
84
|
"semantic-release": "^25.0.3"
|
|
85
85
|
},
|
|
86
86
|
"peerDependencies": {
|
|
87
87
|
"eslint": "^9",
|
|
88
88
|
"prettier": "^3",
|
|
89
|
-
"typescript": "^5"
|
|
89
|
+
"typescript": "^5 || ^6"
|
|
90
90
|
},
|
|
91
91
|
"engines": {
|
|
92
|
-
"node": "
|
|
92
|
+
"node": ">=22.12.0"
|
|
93
93
|
}
|
|
94
94
|
}
|
package/src/configs/node.js
CHANGED
|
@@ -14,18 +14,28 @@ const nodeSpecificRules = {
|
|
|
14
14
|
"unicorn/prevent-abbreviations": [
|
|
15
15
|
"error",
|
|
16
16
|
{
|
|
17
|
-
ignore
|
|
17
|
+
// ignore identifiers and filenames (basename only)
|
|
18
|
+
ignore: ["utils", "db"],
|
|
18
19
|
replacements: {
|
|
20
|
+
// allow
|
|
21
|
+
acc: false,
|
|
22
|
+
dir: false,
|
|
23
|
+
fn: false,
|
|
19
24
|
i: false,
|
|
20
25
|
j: false,
|
|
21
|
-
params: false,
|
|
22
26
|
lib: false,
|
|
27
|
+
params: false,
|
|
28
|
+
|
|
29
|
+
// rewrite
|
|
23
30
|
args: {
|
|
24
31
|
params: true,
|
|
25
32
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
33
|
+
folder: {
|
|
34
|
+
dir: true,
|
|
35
|
+
},
|
|
36
|
+
props: {
|
|
37
|
+
params: true,
|
|
38
|
+
},
|
|
29
39
|
},
|
|
30
40
|
},
|
|
31
41
|
],
|
package/src/configs/react.js
CHANGED
|
@@ -16,24 +16,32 @@ const reactSpecificRules = {
|
|
|
16
16
|
"unicorn/prevent-abbreviations": [
|
|
17
17
|
"error",
|
|
18
18
|
{
|
|
19
|
+
// ignore identifiers and filenames (basename only)
|
|
19
20
|
ignore: ["utils", "props"],
|
|
20
21
|
replacements: {
|
|
22
|
+
// allow
|
|
23
|
+
acc: false,
|
|
24
|
+
dir: false,
|
|
25
|
+
fn: false,
|
|
21
26
|
i: false,
|
|
22
|
-
ref: false,
|
|
23
|
-
params: false,
|
|
24
27
|
lib: false,
|
|
28
|
+
params: false,
|
|
29
|
+
props: false,
|
|
30
|
+
ref: false,
|
|
31
|
+
|
|
32
|
+
// rewrite
|
|
25
33
|
args: {
|
|
26
34
|
params: true,
|
|
27
35
|
},
|
|
28
|
-
|
|
36
|
+
folder: {
|
|
37
|
+
dir: true,
|
|
38
|
+
},
|
|
29
39
|
opts: {
|
|
30
40
|
props: true,
|
|
31
41
|
},
|
|
32
42
|
options: {
|
|
33
43
|
props: true,
|
|
34
44
|
},
|
|
35
|
-
fn: false,
|
|
36
|
-
acc: false,
|
|
37
45
|
},
|
|
38
46
|
},
|
|
39
47
|
],
|
package/src/rules/jsdoc.js
CHANGED
|
@@ -10,9 +10,11 @@ export default /** @type {const} */ ({
|
|
|
10
10
|
"error",
|
|
11
11
|
{
|
|
12
12
|
reportIntraTagGroupSpacing: false,
|
|
13
|
-
reportTagGroupSpacing:
|
|
13
|
+
reportTagGroupSpacing: false,
|
|
14
14
|
tagSequence: [
|
|
15
|
+
{ tags: ["template"] },
|
|
15
16
|
{ tags: ["typedef", "callback"] },
|
|
17
|
+
{ tags: ["extends"] },
|
|
16
18
|
{ tags: ["param", "arg", "argument", "property", "prop"] },
|
|
17
19
|
{ tags: ["returns", "return"] },
|
|
18
20
|
{ tags: ["throws", "exception"] },
|
package/src/rules/typescript.js
CHANGED
|
@@ -57,17 +57,26 @@ export default /** @type {const} */ ({
|
|
|
57
57
|
{
|
|
58
58
|
selector: "variable",
|
|
59
59
|
types: ["boolean"],
|
|
60
|
-
format: ["camelCase", "PascalCase"],
|
|
60
|
+
format: ["camelCase", "PascalCase", "UPPER_CASE"],
|
|
61
61
|
prefix: [
|
|
62
62
|
"is",
|
|
63
|
+
"IS_",
|
|
63
64
|
"has",
|
|
65
|
+
"HAS_",
|
|
64
66
|
"can",
|
|
67
|
+
"CAN_",
|
|
65
68
|
"does",
|
|
69
|
+
"DOES_",
|
|
66
70
|
"should",
|
|
71
|
+
"SHOULD_",
|
|
67
72
|
"will",
|
|
73
|
+
"WILL_",
|
|
68
74
|
"did",
|
|
75
|
+
"DID_",
|
|
69
76
|
"was",
|
|
77
|
+
"WAS_",
|
|
70
78
|
"are",
|
|
79
|
+
"ARE_",
|
|
71
80
|
],
|
|
72
81
|
},
|
|
73
82
|
{
|