@will-stone/eslint-config 21.4.0 → 23.0.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 +5 -6
- package/dist/index.d.ts +1 -3
- package/dist/index.js +97 -85
- package/package.json +30 -29
package/README.md
CHANGED
|
@@ -12,8 +12,8 @@ pnpm add -D eslint @will-stone/eslint-config
|
|
|
12
12
|
|
|
13
13
|
### Optional Peer Dependencies
|
|
14
14
|
|
|
15
|
-
If you are using any of the following packages, you will also need to install
|
|
16
|
-
|
|
15
|
+
If you are using any of the following packages, you will also need to install the corresponding
|
|
16
|
+
plugin.
|
|
17
17
|
|
|
18
18
|
| Package | Plugin |
|
|
19
19
|
| ------------- | ----------------------------------------------- |
|
|
@@ -45,8 +45,8 @@ For example:
|
|
|
45
45
|
|
|
46
46
|
### Lint Staged
|
|
47
47
|
|
|
48
|
-
If you would like to apply lint and auto-fix before every commit, you can add
|
|
49
|
-
|
|
48
|
+
If you would like to apply lint and auto-fix before every commit, you can add the following to your
|
|
49
|
+
`package.json`:
|
|
50
50
|
|
|
51
51
|
```json
|
|
52
52
|
{
|
|
@@ -66,6 +66,5 @@ echo "lint-staged" > .husky/pre-commit
|
|
|
66
66
|
|
|
67
67
|
## Credits
|
|
68
68
|
|
|
69
|
-
Inspired by the excellent
|
|
70
|
-
[Flat eslint-config](https://github.com/antfu/eslint-config) by
|
|
69
|
+
Inspired by the excellent [Flat eslint-config](https://github.com/antfu/eslint-config) by
|
|
71
70
|
[Anthony Fu](https://github.com/antfu).
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -90,6 +90,7 @@ async function astro(_configContext) {
|
|
|
90
90
|
"astro/no-deprecated-astro-resolve": "error",
|
|
91
91
|
"astro/no-deprecated-getentrybyslug": "error",
|
|
92
92
|
"astro/no-exports-from-components": "error",
|
|
93
|
+
"astro/no-unsafe-inline-scripts": "error",
|
|
93
94
|
"astro/no-unused-define-vars-in-style": "error",
|
|
94
95
|
"astro/semi": "off",
|
|
95
96
|
"astro/sort-attributes": "warn",
|
|
@@ -410,6 +411,7 @@ function jsdoc() {
|
|
|
410
411
|
"jsdoc/check-values": "warn",
|
|
411
412
|
"jsdoc/convert-to-jsdoc-comments": "off",
|
|
412
413
|
"jsdoc/empty-tags": "warn",
|
|
414
|
+
"jsdoc/escape-inline-tags": "error",
|
|
413
415
|
"jsdoc/implements-on-classes": "off",
|
|
414
416
|
"jsdoc/imports-as-dependencies": "off",
|
|
415
417
|
"jsdoc/informative-docs": "warn",
|
|
@@ -426,6 +428,7 @@ function jsdoc() {
|
|
|
426
428
|
"jsdoc/no-restricted-syntax": "off",
|
|
427
429
|
"jsdoc/no-types": "warn",
|
|
428
430
|
"jsdoc/no-undefined-types": "off",
|
|
431
|
+
"jsdoc/prefer-import-tag": "warn",
|
|
429
432
|
"jsdoc/reject-any-type": "error",
|
|
430
433
|
"jsdoc/reject-function-type": "error",
|
|
431
434
|
"jsdoc/require-asterisk-prefix": "warn",
|
|
@@ -445,11 +448,14 @@ function jsdoc() {
|
|
|
445
448
|
"jsdoc/require-property-description": "off",
|
|
446
449
|
"jsdoc/require-property-name": "off",
|
|
447
450
|
"jsdoc/require-property-type": "off",
|
|
451
|
+
"jsdoc/require-rejects": "error",
|
|
448
452
|
"jsdoc/require-returns": "off",
|
|
449
453
|
"jsdoc/require-returns-check": "warn",
|
|
450
454
|
"jsdoc/require-returns-description": "warn",
|
|
451
455
|
"jsdoc/require-returns-type": "off",
|
|
456
|
+
"jsdoc/require-tags": "off",
|
|
452
457
|
"jsdoc/require-template": "off",
|
|
458
|
+
"jsdoc/require-template-description": "error",
|
|
453
459
|
"jsdoc/require-throws": "warn",
|
|
454
460
|
"jsdoc/require-throws-description": "error",
|
|
455
461
|
"jsdoc/require-throws-type": "off",
|
|
@@ -457,10 +463,13 @@ function jsdoc() {
|
|
|
457
463
|
"jsdoc/require-yields-check": "warn",
|
|
458
464
|
"jsdoc/require-yields-description": "error",
|
|
459
465
|
"jsdoc/require-yields-type": "off",
|
|
460
|
-
"jsdoc/required-tags": "off",
|
|
461
466
|
"jsdoc/sort-tags": "warn",
|
|
462
467
|
"jsdoc/tag-lines": "off",
|
|
463
468
|
"jsdoc/text-escaping": "off",
|
|
469
|
+
"jsdoc/ts-method-signature-style": "off",
|
|
470
|
+
"jsdoc/ts-no-empty-object-type": "off",
|
|
471
|
+
"jsdoc/ts-no-unnecessary-template-expression": "off",
|
|
472
|
+
"jsdoc/ts-prefer-function-type": "off",
|
|
464
473
|
"jsdoc/type-formatting": "off",
|
|
465
474
|
"jsdoc/valid-types": "off"
|
|
466
475
|
}
|
|
@@ -604,7 +613,7 @@ function perfectionist() {
|
|
|
604
613
|
"perfectionist/sort-imports": ["warn", { type: "natural" }],
|
|
605
614
|
"perfectionist/sort-interfaces": "off",
|
|
606
615
|
"perfectionist/sort-intersection-types": "off",
|
|
607
|
-
"perfectionist/sort-jsx-props": "
|
|
616
|
+
"perfectionist/sort-jsx-props": ["warn", { type: "natural" }],
|
|
608
617
|
"perfectionist/sort-maps": "off",
|
|
609
618
|
"perfectionist/sort-modules": "off",
|
|
610
619
|
"perfectionist/sort-named-exports": ["warn", { type: "natural" }],
|
|
@@ -877,11 +886,14 @@ async function react(_configContext) {
|
|
|
877
886
|
"react/state-in-constructor": "error",
|
|
878
887
|
"react/static-property-placement": "error",
|
|
879
888
|
"react/style-prop-object": "error",
|
|
880
|
-
"react/void-dom-elements-no-children": "error"
|
|
881
|
-
"react-hooks/exhaustive-deps": "warn",
|
|
882
|
-
"react-hooks/rules-of-hooks": "error"
|
|
889
|
+
"react/void-dom-elements-no-children": "error"
|
|
883
890
|
},
|
|
884
891
|
settings: { react: { version: "detect" } }
|
|
892
|
+
}, {
|
|
893
|
+
files: [GLOB_SRC],
|
|
894
|
+
languageOptions: { globals: globals.browser },
|
|
895
|
+
name: "will-stone/react-hooks",
|
|
896
|
+
...pluginReactHooks.configs.flat["recommended-latest"]
|
|
885
897
|
}];
|
|
886
898
|
}
|
|
887
899
|
|
|
@@ -906,6 +918,8 @@ function style() {
|
|
|
906
918
|
"@stylistic/curly-newline": "off",
|
|
907
919
|
"@stylistic/dot-location": "off",
|
|
908
920
|
"@stylistic/eol-last": "off",
|
|
921
|
+
"@stylistic/exp-jsx-props-style": "off",
|
|
922
|
+
"@stylistic/exp-list-style": "off",
|
|
909
923
|
"@stylistic/function-call-argument-newline": "off",
|
|
910
924
|
"@stylistic/function-call-spacing": "off",
|
|
911
925
|
"@stylistic/function-paren-newline": "off",
|
|
@@ -929,7 +943,6 @@ function style() {
|
|
|
929
943
|
"@stylistic/jsx-pascal-case": "off",
|
|
930
944
|
"@stylistic/jsx-quotes": "off",
|
|
931
945
|
"@stylistic/jsx-self-closing-comp": "off",
|
|
932
|
-
"@stylistic/jsx-sort-props": "off",
|
|
933
946
|
"@stylistic/jsx-tag-spacing": "off",
|
|
934
947
|
"@stylistic/jsx-wrap-multilines": "off",
|
|
935
948
|
"@stylistic/key-spacing": "off",
|
|
@@ -1029,8 +1042,7 @@ async function tailwind({ options: { tailwind: rawOptions } }) {
|
|
|
1029
1042
|
|
|
1030
1043
|
//#endregion
|
|
1031
1044
|
//#region src/configs/typescript.ts
|
|
1032
|
-
function typescript(
|
|
1033
|
-
const options = !rawOptions || typeof rawOptions === "boolean" ? {} : rawOptions;
|
|
1045
|
+
function typescript() {
|
|
1034
1046
|
return [{
|
|
1035
1047
|
files: [
|
|
1036
1048
|
GLOB_ASTRO_TS,
|
|
@@ -1039,13 +1051,7 @@ function typescript({ options: { typescript: rawOptions } }) {
|
|
|
1039
1051
|
],
|
|
1040
1052
|
languageOptions: {
|
|
1041
1053
|
parser: parserTypescript,
|
|
1042
|
-
parserOptions: {
|
|
1043
|
-
projectService: {
|
|
1044
|
-
allowDefaultProject: ["./*.js"],
|
|
1045
|
-
defaultProject: options.tsconfigPath
|
|
1046
|
-
},
|
|
1047
|
-
tsconfigRootDir: process.cwd()
|
|
1048
|
-
} : {} }
|
|
1054
|
+
parserOptions: { projectService: true }
|
|
1049
1055
|
},
|
|
1050
1056
|
name: "will-stone/typescript",
|
|
1051
1057
|
plugins: { "@typescript-eslint": pluginTypescript },
|
|
@@ -1089,67 +1095,67 @@ function typescript({ options: { typescript: rawOptions } }) {
|
|
|
1089
1095
|
"@typescript-eslint/triple-slash-reference": "error",
|
|
1090
1096
|
"no-array-constructor": "off",
|
|
1091
1097
|
"no-empty-function": "off",
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1098
|
+
"@typescript-eslint/await-thenable": "off",
|
|
1099
|
+
"@typescript-eslint/consistent-return": "off",
|
|
1100
|
+
"@typescript-eslint/consistent-type-exports": "warn",
|
|
1101
|
+
"@typescript-eslint/dot-notation": "off",
|
|
1102
|
+
"@typescript-eslint/naming-convention": "off",
|
|
1103
|
+
"@typescript-eslint/no-array-delete": "off",
|
|
1104
|
+
"@typescript-eslint/no-base-to-string": "off",
|
|
1105
|
+
"@typescript-eslint/no-confusing-void-expression": "off",
|
|
1106
|
+
"@typescript-eslint/no-deprecated": "off",
|
|
1107
|
+
"@typescript-eslint/no-duplicate-type-constituents": "off",
|
|
1108
|
+
"@typescript-eslint/no-floating-promises": "off",
|
|
1109
|
+
"@typescript-eslint/no-for-in-array": "off",
|
|
1110
|
+
"@typescript-eslint/no-implied-eval": "off",
|
|
1111
|
+
"@typescript-eslint/no-meaningless-void-operator": "warn",
|
|
1112
|
+
"@typescript-eslint/no-misused-promises": "off",
|
|
1113
|
+
"@typescript-eslint/no-misused-spread": "off",
|
|
1114
|
+
"@typescript-eslint/no-mixed-enums": "off",
|
|
1115
|
+
"@typescript-eslint/no-redundant-type-constituents": "off",
|
|
1116
|
+
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
|
|
1117
|
+
"@typescript-eslint/no-unnecessary-condition": "off",
|
|
1118
|
+
"@typescript-eslint/no-unnecessary-qualifier": "off",
|
|
1119
|
+
"@typescript-eslint/no-unnecessary-template-expression": "error",
|
|
1120
|
+
"@typescript-eslint/no-unnecessary-type-arguments": "off",
|
|
1121
|
+
"@typescript-eslint/no-unnecessary-type-assertion": "off",
|
|
1122
|
+
"@typescript-eslint/no-unnecessary-type-conversion": "off",
|
|
1123
|
+
"@typescript-eslint/no-unnecessary-type-parameters": "error",
|
|
1124
|
+
"@typescript-eslint/no-unsafe-argument": "off",
|
|
1125
|
+
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
1126
|
+
"@typescript-eslint/no-unsafe-call": "off",
|
|
1127
|
+
"@typescript-eslint/no-unsafe-enum-comparison": "off",
|
|
1128
|
+
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
1129
|
+
"@typescript-eslint/no-unsafe-return": "off",
|
|
1130
|
+
"@typescript-eslint/no-unsafe-type-assertion": "off",
|
|
1131
|
+
"@typescript-eslint/no-unsafe-unary-minus": "off",
|
|
1132
|
+
"@typescript-eslint/no-useless-default-assignment": "off",
|
|
1133
|
+
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
|
1134
|
+
"@typescript-eslint/only-throw-error": "off",
|
|
1135
|
+
"@typescript-eslint/prefer-destructuring": "off",
|
|
1136
|
+
"@typescript-eslint/prefer-find": "off",
|
|
1137
|
+
"@typescript-eslint/prefer-includes": "off",
|
|
1138
|
+
"@typescript-eslint/prefer-nullish-coalescing": "off",
|
|
1139
|
+
"@typescript-eslint/prefer-optional-chain": "off",
|
|
1140
|
+
"@typescript-eslint/prefer-promise-reject-errors": "off",
|
|
1141
|
+
"@typescript-eslint/prefer-readonly": "off",
|
|
1142
|
+
"@typescript-eslint/prefer-readonly-parameter-types": "off",
|
|
1143
|
+
"@typescript-eslint/prefer-reduce-type-parameter": "off",
|
|
1144
|
+
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
1145
|
+
"@typescript-eslint/prefer-return-this-type": "off",
|
|
1146
|
+
"@typescript-eslint/prefer-string-starts-ends-with": "off",
|
|
1147
|
+
"@typescript-eslint/promise-function-async": "off",
|
|
1148
|
+
"@typescript-eslint/related-getter-setter-pairs": "off",
|
|
1149
|
+
"@typescript-eslint/require-array-sort-compare": "off",
|
|
1150
|
+
"@typescript-eslint/require-await": "off",
|
|
1151
|
+
"@typescript-eslint/restrict-plus-operands": "off",
|
|
1152
|
+
"@typescript-eslint/restrict-template-expressions": "off",
|
|
1153
|
+
"@typescript-eslint/return-await": "off",
|
|
1154
|
+
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
1155
|
+
"@typescript-eslint/strict-void-return": "off",
|
|
1156
|
+
"@typescript-eslint/switch-exhaustiveness-check": "off",
|
|
1157
|
+
"@typescript-eslint/unbound-method": "off",
|
|
1158
|
+
"@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
|
|
1153
1159
|
"class-methods-use-this": "off",
|
|
1154
1160
|
"default-param-last": "off",
|
|
1155
1161
|
"no-duplicate-imports": "off",
|
|
@@ -1159,6 +1165,7 @@ function typescript({ options: { typescript: rawOptions } }) {
|
|
|
1159
1165
|
"no-restricted-imports": "off",
|
|
1160
1166
|
"no-shadow": "off",
|
|
1161
1167
|
"no-unused-expressions": "off",
|
|
1168
|
+
"no-unused-private-class-members": "off",
|
|
1162
1169
|
"no-unused-vars": "off",
|
|
1163
1170
|
"no-use-before-define": "off",
|
|
1164
1171
|
"no-useless-constructor": "off",
|
|
@@ -1202,6 +1209,7 @@ function typescript({ options: { typescript: rawOptions } }) {
|
|
|
1202
1209
|
"@typescript-eslint/no-unnecessary-type-constraint": "warn",
|
|
1203
1210
|
"@typescript-eslint/no-unsafe-declaration-merging": "error",
|
|
1204
1211
|
"@typescript-eslint/no-unused-expressions": ["error"],
|
|
1212
|
+
"@typescript-eslint/no-unused-private-class-members": "error",
|
|
1205
1213
|
"@typescript-eslint/no-unused-vars": ["error", {
|
|
1206
1214
|
argsIgnorePattern: "^_",
|
|
1207
1215
|
varsIgnorePattern: "[iI]gnored"
|
|
@@ -1375,12 +1383,12 @@ function unicorn() {
|
|
|
1375
1383
|
//#endregion
|
|
1376
1384
|
//#region src/configs/vitest.ts
|
|
1377
1385
|
async function vitest(_configContext) {
|
|
1378
|
-
const pluginVitest = await interopDefault(import("@vitest/eslint-plugin"));
|
|
1379
1386
|
return [{
|
|
1380
1387
|
files: GLOB_TESTS,
|
|
1381
1388
|
name: "will-stone/vitest",
|
|
1382
|
-
plugins: { vitest:
|
|
1389
|
+
plugins: { vitest: await interopDefault(import("@vitest/eslint-plugin")) },
|
|
1383
1390
|
rules: {
|
|
1391
|
+
"vitest/consistent-each-for": "off",
|
|
1384
1392
|
"vitest/consistent-test-filename": "warn",
|
|
1385
1393
|
"vitest/consistent-test-it": "warn",
|
|
1386
1394
|
"vitest/consistent-vitest-vi": "warn",
|
|
@@ -1408,6 +1416,7 @@ async function vitest(_configContext) {
|
|
|
1408
1416
|
"vitest/no-standalone-expect": "warn",
|
|
1409
1417
|
"vitest/no-test-prefixes": "warn",
|
|
1410
1418
|
"vitest/no-test-return-statement": "warn",
|
|
1419
|
+
"vitest/no-unneeded-async-expect-function": "warn",
|
|
1411
1420
|
"vitest/padding-around-after-all-blocks": "warn",
|
|
1412
1421
|
"vitest/padding-around-after-each-blocks": "warn",
|
|
1413
1422
|
"vitest/padding-around-all": "off",
|
|
@@ -1416,6 +1425,7 @@ async function vitest(_configContext) {
|
|
|
1416
1425
|
"vitest/padding-around-describe-blocks": "warn",
|
|
1417
1426
|
"vitest/padding-around-expect-groups": "off",
|
|
1418
1427
|
"vitest/padding-around-test-blocks": "warn",
|
|
1428
|
+
"vitest/prefer-called-exactly-once-with": "warn",
|
|
1419
1429
|
"vitest/prefer-called-once": "warn",
|
|
1420
1430
|
"vitest/prefer-called-times": "off",
|
|
1421
1431
|
"vitest/prefer-called-with": "warn",
|
|
@@ -1428,9 +1438,11 @@ async function vitest(_configContext) {
|
|
|
1428
1438
|
"vitest/prefer-expect-type-of": "warn",
|
|
1429
1439
|
"vitest/prefer-hooks-in-order": "warn",
|
|
1430
1440
|
"vitest/prefer-hooks-on-top": "warn",
|
|
1441
|
+
"vitest/prefer-import-in-mock": "warn",
|
|
1431
1442
|
"vitest/prefer-importing-vitest-globals": "warn",
|
|
1432
1443
|
"vitest/prefer-lowercase-title": "warn",
|
|
1433
1444
|
"vitest/prefer-mock-promise-shorthand": "warn",
|
|
1445
|
+
"vitest/prefer-mock-return-shorthand": "warn",
|
|
1434
1446
|
"vitest/prefer-snapshot-hint": "warn",
|
|
1435
1447
|
"vitest/prefer-spy-on": "warn",
|
|
1436
1448
|
"vitest/prefer-strict-boolean-matchers": "warn",
|
|
@@ -1440,12 +1452,15 @@ async function vitest(_configContext) {
|
|
|
1440
1452
|
"vitest/prefer-to-be-object": "warn",
|
|
1441
1453
|
"vitest/prefer-to-be-truthy": "off",
|
|
1442
1454
|
"vitest/prefer-to-contain": "warn",
|
|
1455
|
+
"vitest/prefer-to-have-been-called-times": "warn",
|
|
1443
1456
|
"vitest/prefer-to-have-length": "warn",
|
|
1444
1457
|
"vitest/prefer-todo": "warn",
|
|
1445
1458
|
"vitest/prefer-vi-mocked": "warn",
|
|
1459
|
+
"vitest/require-awaited-expect-poll": "error",
|
|
1446
1460
|
"vitest/require-hook": "warn",
|
|
1447
1461
|
"vitest/require-local-test-context-for-concurrent-snapshots": "error",
|
|
1448
1462
|
"vitest/require-mock-type-parameters": "warn",
|
|
1463
|
+
"vitest/require-test-timeout": "off",
|
|
1449
1464
|
"vitest/require-to-throw-message": "warn",
|
|
1450
1465
|
"vitest/require-top-level-describe": "off",
|
|
1451
1466
|
"vitest/valid-describe-callback": "error",
|
|
@@ -1532,21 +1547,19 @@ const autoConfigs = [
|
|
|
1532
1547
|
* devDependencies field.
|
|
1533
1548
|
*/
|
|
1534
1549
|
function checkDepsExist(depNames) {
|
|
1535
|
-
const depCount = depNames.length;
|
|
1536
1550
|
const allPackageJsonPaths = globbySync(["**/package.json", "!**/node_modules/**"]);
|
|
1537
1551
|
const hasPackageMap = {};
|
|
1552
|
+
const checkAllFound = () => Object.values(hasPackageMap).every(Boolean);
|
|
1538
1553
|
for (const depName of depNames) hasPackageMap[depName] = false;
|
|
1539
|
-
let foundCount = 0;
|
|
1540
1554
|
for (const packageJsonPath of allPackageJsonPaths) {
|
|
1541
1555
|
const buffer = readFileSync(packageJsonPath);
|
|
1542
1556
|
const data = new TextDecoder().decode(buffer);
|
|
1543
1557
|
const package_ = JSON.parse(data);
|
|
1544
1558
|
for (const depName of depNames) if (package_ && (package_.dependencies?.[depName] || package_.devDependencies?.[depName])) {
|
|
1545
1559
|
hasPackageMap[depName] = true;
|
|
1546
|
-
|
|
1547
|
-
if (foundCount === depCount) break;
|
|
1560
|
+
if (checkAllFound()) break;
|
|
1548
1561
|
}
|
|
1549
|
-
if (
|
|
1562
|
+
if (checkAllFound()) break;
|
|
1550
1563
|
}
|
|
1551
1564
|
return hasPackageMap;
|
|
1552
1565
|
}
|
|
@@ -1563,8 +1576,7 @@ const defaultOptions = {};
|
|
|
1563
1576
|
*/
|
|
1564
1577
|
async function configImpl(options = defaultOptions) {
|
|
1565
1578
|
const configs = [];
|
|
1566
|
-
const
|
|
1567
|
-
const existingAutoConfigDeps = checkDepsExist(autoConfigDeps);
|
|
1579
|
+
const existingAutoConfigDeps = checkDepsExist(Object.values(autoConfigs).map(({ dep }) => dep));
|
|
1568
1580
|
const enabledAutoConfigs = autoConfigs.filter(({ dep, optionName }) => {
|
|
1569
1581
|
return options?.[optionName] || existingAutoConfigDeps[dep] && options?.[optionName] !== false;
|
|
1570
1582
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@will-stone/eslint-config",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "23.0.0",
|
|
4
4
|
"description": "Will Stone's ESLint config",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint-config"
|
|
@@ -30,48 +30,49 @@
|
|
|
30
30
|
"typecheck": "tsc --noEmit"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@stylistic/eslint-plugin": "^5.
|
|
33
|
+
"@stylistic/eslint-plugin": "^5.8.0",
|
|
34
34
|
"@types/confusing-browser-globals": "^1.0.3",
|
|
35
35
|
"@types/debug": "^4.1.12",
|
|
36
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
37
|
-
"@typescript-eslint/parser": "^8.
|
|
36
|
+
"@typescript-eslint/eslint-plugin": "^8.55.0",
|
|
37
|
+
"@typescript-eslint/parser": "^8.55.0",
|
|
38
38
|
"confusing-browser-globals": "^1.0.11",
|
|
39
39
|
"debug": "^4.4.3",
|
|
40
40
|
"eslint-config-flat-gitignore": "^2.1.0",
|
|
41
|
-
"eslint-plugin-jsdoc": "^
|
|
41
|
+
"eslint-plugin-jsdoc": "^62.5.4",
|
|
42
42
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
43
|
-
"eslint-plugin-n": "^17.23.
|
|
44
|
-
"eslint-plugin-package-json": "^0.56.
|
|
45
|
-
"eslint-plugin-perfectionist": "^4.15.
|
|
43
|
+
"eslint-plugin-n": "^17.23.2",
|
|
44
|
+
"eslint-plugin-package-json": "^0.56.4",
|
|
45
|
+
"eslint-plugin-perfectionist": "^4.15.1",
|
|
46
46
|
"eslint-plugin-unicorn": "^61.0.2",
|
|
47
|
-
"globals": "^16.
|
|
47
|
+
"globals": "^16.5.0",
|
|
48
48
|
"globby": "^14.1.0",
|
|
49
|
-
"type-fest": "^5.
|
|
50
|
-
"typescript-eslint": "^8.
|
|
49
|
+
"type-fest": "^5.4.4",
|
|
50
|
+
"typescript-eslint": "^8.55.0"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@commits-with-character/conventional-changelog-preset": "^5.1.1",
|
|
54
|
-
"@eslint/config-inspector": "^1.
|
|
55
|
-
"@release-it/conventional-changelog": "^10.0.
|
|
56
|
-
"@types/node": "^
|
|
57
|
-
"@typescript-eslint/utils": "^8.
|
|
58
|
-
"@vitest/eslint-plugin": "^1.
|
|
59
|
-
"@will-stone/prettier-config": "^
|
|
54
|
+
"@eslint/config-inspector": "^1.4.2",
|
|
55
|
+
"@release-it/conventional-changelog": "^10.0.5",
|
|
56
|
+
"@types/node": "^24.10.13",
|
|
57
|
+
"@typescript-eslint/utils": "^8.55.0",
|
|
58
|
+
"@vitest/eslint-plugin": "^1.6.7",
|
|
59
|
+
"@will-stone/prettier-config": "^12.0.0",
|
|
60
60
|
"astro-eslint-parser": "^1.2.2",
|
|
61
|
-
"
|
|
62
|
-
"eslint
|
|
61
|
+
"baseline-browser-mapping": "^2.9.19",
|
|
62
|
+
"eslint": "^9.39.2",
|
|
63
|
+
"eslint-plugin-astro": "^1.5.0",
|
|
63
64
|
"eslint-plugin-react": "^7.37.5",
|
|
64
|
-
"eslint-plugin-react-hooks": "^
|
|
65
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
65
66
|
"eslint-plugin-tailwindcss": "^3.18.2",
|
|
66
67
|
"husky": "^9.1.7",
|
|
67
|
-
"jiti": "^2.
|
|
68
|
-
"lint-staged": "^16.
|
|
69
|
-
"memfs": "^4.
|
|
70
|
-
"prettier": "^3.
|
|
71
|
-
"release-it": "^19.
|
|
72
|
-
"tsdown": "^0.15.
|
|
73
|
-
"typescript": "^5.9.
|
|
74
|
-
"vitest": "^
|
|
68
|
+
"jiti": "^2.6.1",
|
|
69
|
+
"lint-staged": "^16.2.7",
|
|
70
|
+
"memfs": "^4.56.10",
|
|
71
|
+
"prettier": "^3.8.1",
|
|
72
|
+
"release-it": "^19.2.4",
|
|
73
|
+
"tsdown": "^0.15.12",
|
|
74
|
+
"typescript": "^5.9.3",
|
|
75
|
+
"vitest": "^4.0.18"
|
|
75
76
|
},
|
|
76
77
|
"peerDependencies": {
|
|
77
78
|
"@vitest/eslint-plugin": "^1.1.43",
|
|
@@ -102,7 +103,7 @@
|
|
|
102
103
|
"optional": true
|
|
103
104
|
}
|
|
104
105
|
},
|
|
105
|
-
"packageManager": "pnpm@10.
|
|
106
|
+
"packageManager": "pnpm@10.28.2",
|
|
106
107
|
"engines": {
|
|
107
108
|
"node": ">=22"
|
|
108
109
|
},
|