@debbl/eslint-config 3.4.0 → 3.6.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/dist/index.cjs +250 -218
- package/dist/index.d.cts +49 -49
- package/dist/index.d.ts +49 -49
- package/dist/index.js +250 -218
- package/package.json +29 -29
package/dist/index.cjs
CHANGED
|
@@ -248,7 +248,6 @@ async function imports() {
|
|
|
248
248
|
"import/no-named-default": "error",
|
|
249
249
|
"import/no-self-import": "error",
|
|
250
250
|
"import/no-webpack-loader-syntax": "error",
|
|
251
|
-
"import/order": "error",
|
|
252
251
|
"import/newline-after-import": [
|
|
253
252
|
"error",
|
|
254
253
|
{ considerComments: true, count: 1 }
|
|
@@ -263,7 +262,6 @@ var import_globals = __toESM(require("globals"), 1);
|
|
|
263
262
|
var javascript = async (options) => {
|
|
264
263
|
const { overrides = {} } = options;
|
|
265
264
|
const pluginUnusedImports = await interopDefault(
|
|
266
|
-
// @ts-expect-error missing types
|
|
267
265
|
import("eslint-plugin-unused-imports")
|
|
268
266
|
);
|
|
269
267
|
return [
|
|
@@ -389,9 +387,6 @@ var javascript = async (options) => {
|
|
|
389
387
|
],
|
|
390
388
|
"no-restricted-syntax": [
|
|
391
389
|
"error",
|
|
392
|
-
"DebuggerStatement",
|
|
393
|
-
"LabeledStatement",
|
|
394
|
-
"WithStatement",
|
|
395
390
|
"TSEnumDeclaration[const=true]",
|
|
396
391
|
"TSExportAssignment"
|
|
397
392
|
],
|
|
@@ -719,6 +714,152 @@ async function node() {
|
|
|
719
714
|
];
|
|
720
715
|
}
|
|
721
716
|
|
|
717
|
+
// src/configs/perfectionist.ts
|
|
718
|
+
async function perfectionist() {
|
|
719
|
+
const pluginPerfectionist = await interopDefault(
|
|
720
|
+
import("eslint-plugin-perfectionist")
|
|
721
|
+
);
|
|
722
|
+
return [
|
|
723
|
+
{
|
|
724
|
+
name: "eslint/perfectionist/setup",
|
|
725
|
+
plugins: {
|
|
726
|
+
perfectionist: pluginPerfectionist
|
|
727
|
+
},
|
|
728
|
+
rules: {
|
|
729
|
+
"perfectionist/sort-exports": [
|
|
730
|
+
"error",
|
|
731
|
+
{ order: "asc", type: "natural" }
|
|
732
|
+
],
|
|
733
|
+
"perfectionist/sort-imports": [
|
|
734
|
+
"error",
|
|
735
|
+
{
|
|
736
|
+
groups: [
|
|
737
|
+
"builtin",
|
|
738
|
+
"external",
|
|
739
|
+
"type",
|
|
740
|
+
["internal", "internal-type"],
|
|
741
|
+
["parent", "sibling", "index"],
|
|
742
|
+
["parent-type", "sibling-type", "index-type"],
|
|
743
|
+
"side-effect",
|
|
744
|
+
"object",
|
|
745
|
+
"unknown"
|
|
746
|
+
],
|
|
747
|
+
newlinesBetween: "ignore",
|
|
748
|
+
order: "asc",
|
|
749
|
+
type: "natural"
|
|
750
|
+
}
|
|
751
|
+
],
|
|
752
|
+
"perfectionist/sort-named-exports": [
|
|
753
|
+
"error",
|
|
754
|
+
{ order: "asc", type: "natural" }
|
|
755
|
+
],
|
|
756
|
+
"perfectionist/sort-named-imports": [
|
|
757
|
+
"error",
|
|
758
|
+
{ order: "asc", type: "natural" }
|
|
759
|
+
]
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
];
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
// src/configs/prettier.ts
|
|
766
|
+
var prettier = async ({ tailwindcss: tailwindcss2, ...options }) => {
|
|
767
|
+
const [pluginPrettier, configPrettier] = await Promise.all([
|
|
768
|
+
interopDefault(import("eslint-plugin-prettier")),
|
|
769
|
+
// @ts-expect-error missing types
|
|
770
|
+
interopDefault(import("eslint-config-prettier"))
|
|
771
|
+
]);
|
|
772
|
+
const PlainFileRules = [
|
|
773
|
+
{
|
|
774
|
+
name: "eslint/prettier/markdown",
|
|
775
|
+
files: [GLOB_MARKDOWN],
|
|
776
|
+
parser: "markdown"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
name: "eslint/prettier/mdx",
|
|
780
|
+
files: [GLOB_MDX],
|
|
781
|
+
parser: "mdx"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
name: "eslint/prettier/html",
|
|
785
|
+
files: ["**/*.html"],
|
|
786
|
+
parser: "html"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
name: "eslint/prettier/css",
|
|
790
|
+
files: [GLOB_CSS, GLOB_POSTCSS],
|
|
791
|
+
parser: "css"
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
name: "eslint/prettier/scss",
|
|
795
|
+
files: [GLOB_SCSS],
|
|
796
|
+
parser: "scss"
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
name: "eslint/prettier/less",
|
|
800
|
+
files: [GLOB_LESS],
|
|
801
|
+
parser: "less"
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
name: "eslint/prettier/yaml",
|
|
805
|
+
files: [GLOB_YAML],
|
|
806
|
+
parser: "yaml"
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
name: "eslint/prettier/graphql",
|
|
810
|
+
files: ["**/*.graphql"],
|
|
811
|
+
parser: "graphql"
|
|
812
|
+
}
|
|
813
|
+
].map((rule) => ({
|
|
814
|
+
name: rule.name,
|
|
815
|
+
files: rule.files,
|
|
816
|
+
languageOptions: {
|
|
817
|
+
parser: parserPlain
|
|
818
|
+
},
|
|
819
|
+
rules: {
|
|
820
|
+
"prettier/prettier": [
|
|
821
|
+
"warn",
|
|
822
|
+
{
|
|
823
|
+
parser: rule.parser,
|
|
824
|
+
quoteProps: "consistent",
|
|
825
|
+
...options
|
|
826
|
+
}
|
|
827
|
+
]
|
|
828
|
+
}
|
|
829
|
+
}));
|
|
830
|
+
return [
|
|
831
|
+
{
|
|
832
|
+
name: "eslint/prettier/setup",
|
|
833
|
+
plugins: {
|
|
834
|
+
prettier: pluginPrettier
|
|
835
|
+
}
|
|
836
|
+
},
|
|
837
|
+
{
|
|
838
|
+
name: "eslint/prettier/rules",
|
|
839
|
+
ignores: [GLOB_TOML],
|
|
840
|
+
rules: {
|
|
841
|
+
// disable rules with prettier conflicts
|
|
842
|
+
...configPrettier.rules,
|
|
843
|
+
// eslint-plugin-prettier recommended rules
|
|
844
|
+
...{
|
|
845
|
+
"prettier/prettier": "error",
|
|
846
|
+
"arrow-body-style": "off",
|
|
847
|
+
"prefer-arrow-callback": "off"
|
|
848
|
+
},
|
|
849
|
+
"prettier/prettier": [
|
|
850
|
+
"warn",
|
|
851
|
+
{
|
|
852
|
+
plugins: tailwindcss2 ? ["prettier-plugin-tailwindcss"] : [],
|
|
853
|
+
quoteProps: "consistent",
|
|
854
|
+
...options
|
|
855
|
+
}
|
|
856
|
+
]
|
|
857
|
+
}
|
|
858
|
+
},
|
|
859
|
+
...PlainFileRules
|
|
860
|
+
];
|
|
861
|
+
};
|
|
862
|
+
|
|
722
863
|
// src/configs/sort.ts
|
|
723
864
|
async function sortPackageJson() {
|
|
724
865
|
return [
|
|
@@ -926,19 +1067,106 @@ async function sortTsconfig() {
|
|
|
926
1067
|
];
|
|
927
1068
|
}
|
|
928
1069
|
|
|
1070
|
+
// src/configs/test.ts
|
|
1071
|
+
var test = async (options) => {
|
|
1072
|
+
const { overrides = {} } = options;
|
|
1073
|
+
const [pluginVitest, pluginNoOnlyTests] = await Promise.all([
|
|
1074
|
+
interopDefault(import("eslint-plugin-vitest")),
|
|
1075
|
+
// @ts-expect-error missing types
|
|
1076
|
+
interopDefault(import("eslint-plugin-no-only-tests"))
|
|
1077
|
+
]);
|
|
1078
|
+
return [
|
|
1079
|
+
{
|
|
1080
|
+
name: "eslint/test/setup",
|
|
1081
|
+
plugins: {
|
|
1082
|
+
test: {
|
|
1083
|
+
...pluginVitest,
|
|
1084
|
+
rules: {
|
|
1085
|
+
...pluginVitest.rules,
|
|
1086
|
+
// extend `test/no-only-tests` rule
|
|
1087
|
+
...pluginNoOnlyTests.rules
|
|
1088
|
+
}
|
|
1089
|
+
}
|
|
1090
|
+
}
|
|
1091
|
+
},
|
|
1092
|
+
{
|
|
1093
|
+
name: "eslint/test/rules",
|
|
1094
|
+
files: GLOB_TESTS,
|
|
1095
|
+
rules: {
|
|
1096
|
+
"node/prefer-global/process": "off",
|
|
1097
|
+
"test/consistent-test-it": [
|
|
1098
|
+
"error",
|
|
1099
|
+
{ fn: "it", withinDescribe: "it" }
|
|
1100
|
+
],
|
|
1101
|
+
"test/no-identical-title": "error",
|
|
1102
|
+
"test/no-import-node-test": "error",
|
|
1103
|
+
"test/no-only-tests": "error",
|
|
1104
|
+
"test/prefer-hooks-in-order": "error",
|
|
1105
|
+
"test/prefer-lowercase-title": "error",
|
|
1106
|
+
"@typescript-eslint/explicit-function-return-type": "off",
|
|
1107
|
+
...overrides
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
];
|
|
1111
|
+
};
|
|
1112
|
+
|
|
1113
|
+
// src/configs/toml.ts
|
|
1114
|
+
var toml = async (options) => {
|
|
1115
|
+
const { overrides = {} } = options;
|
|
1116
|
+
const [pluginToml, parserToml] = await Promise.all([
|
|
1117
|
+
interopDefault(import("eslint-plugin-toml")),
|
|
1118
|
+
interopDefault(import("toml-eslint-parser"))
|
|
1119
|
+
]);
|
|
1120
|
+
return [
|
|
1121
|
+
{
|
|
1122
|
+
name: "eslint/toml/setup",
|
|
1123
|
+
plugins: {
|
|
1124
|
+
toml: pluginToml
|
|
1125
|
+
}
|
|
1126
|
+
},
|
|
1127
|
+
{
|
|
1128
|
+
name: "eslint/toml/rules",
|
|
1129
|
+
files: [GLOB_TOML],
|
|
1130
|
+
languageOptions: {
|
|
1131
|
+
parser: parserToml
|
|
1132
|
+
},
|
|
1133
|
+
rules: {
|
|
1134
|
+
"toml/comma-style": "error",
|
|
1135
|
+
"toml/keys-order": "error",
|
|
1136
|
+
"toml/no-space-dots": "error",
|
|
1137
|
+
"toml/no-unreadable-number-separator": "error",
|
|
1138
|
+
"toml/precision-of-fractional-seconds": "error",
|
|
1139
|
+
"toml/precision-of-integer": "error",
|
|
1140
|
+
"toml/tables-order": "error",
|
|
1141
|
+
"toml/vue-custom-block/no-parsing-error": "error",
|
|
1142
|
+
"toml/array-bracket-newline": "error",
|
|
1143
|
+
"toml/array-bracket-spacing": "error",
|
|
1144
|
+
"toml/array-element-newline": "error",
|
|
1145
|
+
"toml/indent": ["error", 2],
|
|
1146
|
+
"toml/inline-table-curly-spacing": "error",
|
|
1147
|
+
"toml/key-spacing": "error",
|
|
1148
|
+
"toml/padding-line-between-pairs": "error",
|
|
1149
|
+
"toml/padding-line-between-tables": "error",
|
|
1150
|
+
"toml/quoted-keys": "error",
|
|
1151
|
+
"toml/spaced-comment": "error",
|
|
1152
|
+
"toml/table-bracket-spacing": "error",
|
|
1153
|
+
...overrides
|
|
1154
|
+
}
|
|
1155
|
+
}
|
|
1156
|
+
];
|
|
1157
|
+
};
|
|
1158
|
+
|
|
929
1159
|
// src/configs/typescript.ts
|
|
930
1160
|
var import_node_process = __toESM(require("process"), 1);
|
|
931
1161
|
var typeAwareRules = {
|
|
932
1162
|
"dot-notation": "off",
|
|
933
1163
|
"no-implied-eval": "off",
|
|
934
|
-
"no-throw-literal": "off",
|
|
935
1164
|
"@typescript-eslint/await-thenable": "error",
|
|
936
1165
|
"@typescript-eslint/dot-notation": ["error", { allowKeywords: true }],
|
|
937
1166
|
"@typescript-eslint/no-floating-promises": "error",
|
|
938
1167
|
"@typescript-eslint/no-for-in-array": "error",
|
|
939
1168
|
"@typescript-eslint/no-implied-eval": "error",
|
|
940
1169
|
"@typescript-eslint/no-misused-promises": "error",
|
|
941
|
-
"@typescript-eslint/no-throw-literal": "error",
|
|
942
1170
|
"@typescript-eslint/no-unnecessary-type-assertion": "error",
|
|
943
1171
|
"@typescript-eslint/no-unsafe-argument": "error",
|
|
944
1172
|
"@typescript-eslint/no-unsafe-assignment": "error",
|
|
@@ -948,8 +1176,11 @@ var typeAwareRules = {
|
|
|
948
1176
|
"@typescript-eslint/promise-function-async": "error",
|
|
949
1177
|
"@typescript-eslint/restrict-plus-operands": "error",
|
|
950
1178
|
"@typescript-eslint/restrict-template-expressions": "error",
|
|
951
|
-
"@typescript-eslint/
|
|
952
|
-
"@typescript-eslint/
|
|
1179
|
+
"@typescript-eslint/return-await": ["error", "in-try-catch"],
|
|
1180
|
+
"@typescript-eslint/strict-boolean-expressions": [
|
|
1181
|
+
"error",
|
|
1182
|
+
{ allowNullableBoolean: true, allowNullableObject: true }
|
|
1183
|
+
],
|
|
953
1184
|
"@typescript-eslint/switch-exhaustiveness-check": "error",
|
|
954
1185
|
"@typescript-eslint/unbound-method": "error"
|
|
955
1186
|
};
|
|
@@ -999,18 +1230,13 @@ var typescript = async (options) => {
|
|
|
999
1230
|
"solid/no-unknown-namespaces": "off"
|
|
1000
1231
|
} : {},
|
|
1001
1232
|
"no-dupe-class-members": "off",
|
|
1002
|
-
"no-invalid-this": "off",
|
|
1003
1233
|
"no-loss-of-precision": "off",
|
|
1004
1234
|
"no-redeclare": "off",
|
|
1005
1235
|
"no-use-before-define": "off",
|
|
1006
1236
|
"no-useless-constructor": "off",
|
|
1007
1237
|
"@typescript-eslint/ban-ts-comment": [
|
|
1008
1238
|
"error",
|
|
1009
|
-
{ "ts-
|
|
1010
|
-
],
|
|
1011
|
-
"@typescript-eslint/ban-types": [
|
|
1012
|
-
"error",
|
|
1013
|
-
{ types: { Function: false } }
|
|
1239
|
+
{ "ts-expect-error": "allow-with-description" }
|
|
1014
1240
|
],
|
|
1015
1241
|
"@typescript-eslint/consistent-type-definitions": [
|
|
1016
1242
|
"error",
|
|
@@ -1018,16 +1244,22 @@ var typescript = async (options) => {
|
|
|
1018
1244
|
],
|
|
1019
1245
|
"@typescript-eslint/consistent-type-imports": [
|
|
1020
1246
|
"error",
|
|
1021
|
-
{
|
|
1247
|
+
{
|
|
1248
|
+
disallowTypeAnnotations: false,
|
|
1249
|
+
prefer: "type-imports"
|
|
1250
|
+
}
|
|
1022
1251
|
],
|
|
1023
1252
|
// https://www.totaltypescript.com/method-shorthand-syntax-considered-harmful
|
|
1024
1253
|
"@typescript-eslint/method-signature-style": ["error", "property"],
|
|
1025
1254
|
"@typescript-eslint/no-dupe-class-members": "error",
|
|
1026
1255
|
"@typescript-eslint/no-dynamic-delete": "off",
|
|
1256
|
+
"@typescript-eslint/no-empty-object-type": [
|
|
1257
|
+
"error",
|
|
1258
|
+
{ allowInterfaces: "always" }
|
|
1259
|
+
],
|
|
1027
1260
|
"@typescript-eslint/no-explicit-any": "off",
|
|
1028
1261
|
"@typescript-eslint/no-extraneous-class": "off",
|
|
1029
1262
|
"@typescript-eslint/no-import-type-side-effects": "error",
|
|
1030
|
-
"@typescript-eslint/no-invalid-this": "error",
|
|
1031
1263
|
"@typescript-eslint/no-invalid-void-type": "off",
|
|
1032
1264
|
"@typescript-eslint/no-loss-of-precision": "error",
|
|
1033
1265
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
@@ -1039,7 +1271,7 @@ var typescript = async (options) => {
|
|
|
1039
1271
|
{ classes: false, functions: false, variables: true }
|
|
1040
1272
|
],
|
|
1041
1273
|
"@typescript-eslint/no-useless-constructor": "off",
|
|
1042
|
-
"@typescript-eslint/
|
|
1274
|
+
"@typescript-eslint/no-wrapper-object-types": "error",
|
|
1043
1275
|
"@typescript-eslint/triple-slash-reference": "off",
|
|
1044
1276
|
"@typescript-eslint/unified-signatures": "off",
|
|
1045
1277
|
...tsconfigPath ? typeAwareRules : {},
|
|
@@ -1293,206 +1525,6 @@ var yml = async (options) => {
|
|
|
1293
1525
|
];
|
|
1294
1526
|
};
|
|
1295
1527
|
|
|
1296
|
-
// src/configs/toml.ts
|
|
1297
|
-
var toml = async (options) => {
|
|
1298
|
-
const { overrides = {} } = options;
|
|
1299
|
-
const [pluginToml, parserToml] = await Promise.all([
|
|
1300
|
-
interopDefault(import("eslint-plugin-toml")),
|
|
1301
|
-
interopDefault(import("toml-eslint-parser"))
|
|
1302
|
-
]);
|
|
1303
|
-
return [
|
|
1304
|
-
{
|
|
1305
|
-
name: "eslint/toml/setup",
|
|
1306
|
-
plugins: {
|
|
1307
|
-
toml: pluginToml
|
|
1308
|
-
}
|
|
1309
|
-
},
|
|
1310
|
-
{
|
|
1311
|
-
name: "eslint/toml/rules",
|
|
1312
|
-
files: [GLOB_TOML],
|
|
1313
|
-
languageOptions: {
|
|
1314
|
-
parser: parserToml
|
|
1315
|
-
},
|
|
1316
|
-
rules: {
|
|
1317
|
-
"toml/comma-style": "error",
|
|
1318
|
-
"toml/keys-order": "error",
|
|
1319
|
-
"toml/no-space-dots": "error",
|
|
1320
|
-
"toml/no-unreadable-number-separator": "error",
|
|
1321
|
-
"toml/precision-of-fractional-seconds": "error",
|
|
1322
|
-
"toml/precision-of-integer": "error",
|
|
1323
|
-
"toml/tables-order": "error",
|
|
1324
|
-
"toml/vue-custom-block/no-parsing-error": "error",
|
|
1325
|
-
"toml/array-bracket-newline": "error",
|
|
1326
|
-
"toml/array-bracket-spacing": "error",
|
|
1327
|
-
"toml/array-element-newline": "error",
|
|
1328
|
-
"toml/indent": ["error", 2],
|
|
1329
|
-
"toml/inline-table-curly-spacing": "error",
|
|
1330
|
-
"toml/key-spacing": "error",
|
|
1331
|
-
"toml/padding-line-between-pairs": "error",
|
|
1332
|
-
"toml/padding-line-between-tables": "error",
|
|
1333
|
-
"toml/quoted-keys": "error",
|
|
1334
|
-
"toml/spaced-comment": "error",
|
|
1335
|
-
"toml/table-bracket-spacing": "error",
|
|
1336
|
-
...overrides
|
|
1337
|
-
}
|
|
1338
|
-
}
|
|
1339
|
-
];
|
|
1340
|
-
};
|
|
1341
|
-
|
|
1342
|
-
// src/configs/test.ts
|
|
1343
|
-
var test = async (options) => {
|
|
1344
|
-
const { overrides = {} } = options;
|
|
1345
|
-
const [pluginVitest, pluginNoOnlyTests] = await Promise.all([
|
|
1346
|
-
interopDefault(import("eslint-plugin-vitest")),
|
|
1347
|
-
// @ts-expect-error missing types
|
|
1348
|
-
interopDefault(import("eslint-plugin-no-only-tests"))
|
|
1349
|
-
]);
|
|
1350
|
-
return [
|
|
1351
|
-
{
|
|
1352
|
-
name: "eslint/test/setup",
|
|
1353
|
-
plugins: {
|
|
1354
|
-
test: {
|
|
1355
|
-
...pluginVitest,
|
|
1356
|
-
rules: {
|
|
1357
|
-
...pluginVitest.rules,
|
|
1358
|
-
// extend `test/no-only-tests` rule
|
|
1359
|
-
...pluginNoOnlyTests.rules
|
|
1360
|
-
}
|
|
1361
|
-
}
|
|
1362
|
-
}
|
|
1363
|
-
},
|
|
1364
|
-
{
|
|
1365
|
-
name: "eslint/test/rules",
|
|
1366
|
-
files: GLOB_TESTS,
|
|
1367
|
-
rules: {
|
|
1368
|
-
"test/consistent-test-it": [
|
|
1369
|
-
"error",
|
|
1370
|
-
{ fn: "it", withinDescribe: "it" }
|
|
1371
|
-
],
|
|
1372
|
-
"test/no-identical-title": "error",
|
|
1373
|
-
"test/no-only-tests": "error",
|
|
1374
|
-
"test/prefer-hooks-in-order": "error",
|
|
1375
|
-
"test/prefer-lowercase-title": "error",
|
|
1376
|
-
...overrides
|
|
1377
|
-
}
|
|
1378
|
-
}
|
|
1379
|
-
];
|
|
1380
|
-
};
|
|
1381
|
-
|
|
1382
|
-
// src/configs/perfectionist.ts
|
|
1383
|
-
async function perfectionist() {
|
|
1384
|
-
const pluginPerfectionist = await interopDefault(
|
|
1385
|
-
// @ts-expect-error missing types
|
|
1386
|
-
import("eslint-plugin-perfectionist")
|
|
1387
|
-
);
|
|
1388
|
-
return [
|
|
1389
|
-
{
|
|
1390
|
-
name: "eslint/perfectionist/setup",
|
|
1391
|
-
plugins: {
|
|
1392
|
-
perfectionist: pluginPerfectionist
|
|
1393
|
-
}
|
|
1394
|
-
}
|
|
1395
|
-
];
|
|
1396
|
-
}
|
|
1397
|
-
|
|
1398
|
-
// src/configs/prettier.ts
|
|
1399
|
-
var prettier = async ({ tailwindcss: tailwindcss2, ...options }) => {
|
|
1400
|
-
const [pluginPrettier, configPrettier] = await Promise.all([
|
|
1401
|
-
interopDefault(import("eslint-plugin-prettier")),
|
|
1402
|
-
// @ts-expect-error missing types
|
|
1403
|
-
interopDefault(import("eslint-config-prettier"))
|
|
1404
|
-
]);
|
|
1405
|
-
const PlainFileRules = [
|
|
1406
|
-
{
|
|
1407
|
-
name: "eslint/prettier/markdown",
|
|
1408
|
-
files: [GLOB_MARKDOWN],
|
|
1409
|
-
parser: "markdown"
|
|
1410
|
-
},
|
|
1411
|
-
{
|
|
1412
|
-
name: "eslint/prettier/mdx",
|
|
1413
|
-
files: [GLOB_MDX],
|
|
1414
|
-
parser: "mdx"
|
|
1415
|
-
},
|
|
1416
|
-
{
|
|
1417
|
-
name: "eslint/prettier/html",
|
|
1418
|
-
files: ["**/*.html"],
|
|
1419
|
-
parser: "html"
|
|
1420
|
-
},
|
|
1421
|
-
{
|
|
1422
|
-
name: "eslint/prettier/css",
|
|
1423
|
-
files: [GLOB_CSS, GLOB_POSTCSS],
|
|
1424
|
-
parser: "css"
|
|
1425
|
-
},
|
|
1426
|
-
{
|
|
1427
|
-
name: "eslint/prettier/scss",
|
|
1428
|
-
files: [GLOB_SCSS],
|
|
1429
|
-
parser: "scss"
|
|
1430
|
-
},
|
|
1431
|
-
{
|
|
1432
|
-
name: "eslint/prettier/less",
|
|
1433
|
-
files: [GLOB_LESS],
|
|
1434
|
-
parser: "less"
|
|
1435
|
-
},
|
|
1436
|
-
{
|
|
1437
|
-
name: "eslint/prettier/yaml",
|
|
1438
|
-
files: [GLOB_YAML],
|
|
1439
|
-
parser: "yaml"
|
|
1440
|
-
},
|
|
1441
|
-
{
|
|
1442
|
-
name: "eslint/prettier/graphql",
|
|
1443
|
-
files: ["**/*.graphql"],
|
|
1444
|
-
parser: "graphql"
|
|
1445
|
-
}
|
|
1446
|
-
].map((rule) => ({
|
|
1447
|
-
name: rule.name,
|
|
1448
|
-
files: rule.files,
|
|
1449
|
-
languageOptions: {
|
|
1450
|
-
parser: parserPlain
|
|
1451
|
-
},
|
|
1452
|
-
rules: {
|
|
1453
|
-
"prettier/prettier": [
|
|
1454
|
-
"warn",
|
|
1455
|
-
{
|
|
1456
|
-
parser: rule.parser,
|
|
1457
|
-
quoteProps: "consistent",
|
|
1458
|
-
...options
|
|
1459
|
-
}
|
|
1460
|
-
]
|
|
1461
|
-
}
|
|
1462
|
-
}));
|
|
1463
|
-
return [
|
|
1464
|
-
{
|
|
1465
|
-
name: "eslint/prettier/setup",
|
|
1466
|
-
plugins: {
|
|
1467
|
-
prettier: pluginPrettier
|
|
1468
|
-
}
|
|
1469
|
-
},
|
|
1470
|
-
{
|
|
1471
|
-
name: "eslint/prettier/rules",
|
|
1472
|
-
ignores: [GLOB_TOML],
|
|
1473
|
-
rules: {
|
|
1474
|
-
// disable rules with prettier conflicts
|
|
1475
|
-
...configPrettier.rules,
|
|
1476
|
-
// eslint-plugin-prettier recommended rules
|
|
1477
|
-
...{
|
|
1478
|
-
"prettier/prettier": "error",
|
|
1479
|
-
"arrow-body-style": "off",
|
|
1480
|
-
"prefer-arrow-callback": "off"
|
|
1481
|
-
},
|
|
1482
|
-
"prettier/prettier": [
|
|
1483
|
-
"warn",
|
|
1484
|
-
{
|
|
1485
|
-
plugins: tailwindcss2 ? ["prettier-plugin-tailwindcss"] : [],
|
|
1486
|
-
quoteProps: "consistent",
|
|
1487
|
-
...options
|
|
1488
|
-
}
|
|
1489
|
-
]
|
|
1490
|
-
}
|
|
1491
|
-
},
|
|
1492
|
-
...PlainFileRules
|
|
1493
|
-
];
|
|
1494
|
-
};
|
|
1495
|
-
|
|
1496
1528
|
// src/configs/react.ts
|
|
1497
1529
|
async function next() {
|
|
1498
1530
|
const pluginNext = await interopDefault(import("@next/eslint-plugin-next"));
|
package/dist/index.d.cts
CHANGED
|
@@ -2,11 +2,6 @@ import { ParserOptions } from '@typescript-eslint/parser';
|
|
|
2
2
|
import { Linter } from 'eslint';
|
|
3
3
|
import { RequiredOptions } from 'prettier';
|
|
4
4
|
|
|
5
|
-
type ReactConfig = (options: {
|
|
6
|
-
next?: boolean;
|
|
7
|
-
compiler?: boolean;
|
|
8
|
-
} & OptionsOverrides) => ReturnType<ConfigFn>;
|
|
9
|
-
|
|
10
5
|
declare function comments(): Promise<ConfigItem[]>;
|
|
11
6
|
|
|
12
7
|
type IgnoresConfig = (options: {
|
|
@@ -34,6 +29,19 @@ declare const markdown: MarkdownConfig;
|
|
|
34
29
|
|
|
35
30
|
declare function node(): Promise<ConfigItem[]>;
|
|
36
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Perfectionist plugin for props and items sorting.
|
|
34
|
+
*
|
|
35
|
+
* @see https://github.com/azat-io/eslint-plugin-perfectionist
|
|
36
|
+
*/
|
|
37
|
+
declare function perfectionist(): Promise<ConfigItem[]>;
|
|
38
|
+
|
|
39
|
+
type PrettierRequiredOptions = Partial<RequiredOptions>;
|
|
40
|
+
type PrettierConfig = ({ options, }: PrettierRequiredOptions & {
|
|
41
|
+
tailwindcss?: boolean;
|
|
42
|
+
}) => Promise<ConfigItem[]>;
|
|
43
|
+
declare const prettier: PrettierConfig;
|
|
44
|
+
|
|
37
45
|
/**
|
|
38
46
|
* Sort package.json
|
|
39
47
|
*
|
|
@@ -47,6 +55,12 @@ declare function sortPackageJson(): Promise<ConfigItem[]>;
|
|
|
47
55
|
*/
|
|
48
56
|
declare function sortTsconfig(): Promise<ConfigItem[]>;
|
|
49
57
|
|
|
58
|
+
type TestConfig = ConfigFn;
|
|
59
|
+
declare const test: TestConfig;
|
|
60
|
+
|
|
61
|
+
type TomlConfig = ConfigFn;
|
|
62
|
+
declare const toml: TomlConfig;
|
|
63
|
+
|
|
50
64
|
type TypeScriptConfig = (options?: OptionsComponentExts & OptionsTypeScriptWithTypes & OptionsTypeScriptParserOptions & OptionsOverrides & {
|
|
51
65
|
enableSolid?: boolean;
|
|
52
66
|
}) => ReturnType<ConfigFn>;
|
|
@@ -60,28 +74,14 @@ declare const vue: VueConfig;
|
|
|
60
74
|
type YmlConfig = (options: OptionsOverrides) => ReturnType<ConfigFn>;
|
|
61
75
|
declare const yml: YmlConfig;
|
|
62
76
|
|
|
63
|
-
type
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
declare const test: TestConfig;
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Optional sort-keys plugin
|
|
71
|
-
*
|
|
72
|
-
* @see https://github.com/azat-io/eslint-plugin-perfectionist/
|
|
73
|
-
*/
|
|
74
|
-
declare function perfectionist(): Promise<ConfigItem[]>;
|
|
75
|
-
|
|
76
|
-
type PrettierRequiredOptions = Partial<RequiredOptions>;
|
|
77
|
-
type PrettierConfig = ({ options, }: PrettierRequiredOptions & {
|
|
78
|
-
tailwindcss?: boolean;
|
|
79
|
-
}) => Promise<ConfigItem[]>;
|
|
80
|
-
declare const prettier: PrettierConfig;
|
|
77
|
+
type ReactConfig = (options: {
|
|
78
|
+
next?: boolean;
|
|
79
|
+
compiler?: boolean;
|
|
80
|
+
} & OptionsOverrides) => ReturnType<ConfigFn>;
|
|
81
81
|
|
|
82
82
|
type Awaitable<T> = T | Promise<T>;
|
|
83
83
|
type GetConfigOption<T extends (...args: any) => any> = Parameters<T>[0];
|
|
84
|
-
interface ConfigItem extends Linter.
|
|
84
|
+
interface ConfigItem extends Linter.Config {
|
|
85
85
|
/**
|
|
86
86
|
* An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
|
|
87
87
|
*
|
|
@@ -213,6 +213,31 @@ declare function defineConfig(options?: OptionsConfig): Promise<ConfigItem[]>;
|
|
|
213
213
|
*/
|
|
214
214
|
declare const config: typeof defineConfig;
|
|
215
215
|
|
|
216
|
+
declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
|
|
217
|
+
declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
|
|
218
|
+
declare const GLOB_JS = "**/*.?([cm])js";
|
|
219
|
+
declare const GLOB_JSX = "**/*.?([cm])jsx";
|
|
220
|
+
declare const GLOB_TS = "**/*.?([cm])ts";
|
|
221
|
+
declare const GLOB_TSX = "**/*.?([cm])tsx";
|
|
222
|
+
declare const GLOB_STYLE = "**/*.{c,le,sc}ss";
|
|
223
|
+
declare const GLOB_CSS = "**/*.css";
|
|
224
|
+
declare const GLOB_POSTCSS = "**/*.{p,post}css";
|
|
225
|
+
declare const GLOB_LESS = "**/*.less";
|
|
226
|
+
declare const GLOB_SCSS = "**/*.scss";
|
|
227
|
+
declare const GLOB_JSON = "**/*.json";
|
|
228
|
+
declare const GLOB_JSON5 = "**/*.json5";
|
|
229
|
+
declare const GLOB_JSONC = "**/*.jsonc";
|
|
230
|
+
declare const GLOB_MARKDOWN = "**/*.md";
|
|
231
|
+
declare const GLOB_MDX = "**/*.mdx";
|
|
232
|
+
declare const GLOB_MARKDOWN_CODE = "**/*.md/**/*.?([cm])[jt]s?(x)";
|
|
233
|
+
declare const GLOB_VUE = "**/*.vue";
|
|
234
|
+
declare const GLOB_YAML = "**/*.y?(a)ml";
|
|
235
|
+
declare const GLOB_TOML = "**/*.toml";
|
|
236
|
+
declare const GLOB_HTML = "**/*.htm?(l)";
|
|
237
|
+
declare const GLOB_TESTS: string[];
|
|
238
|
+
declare const GLOB_ALL_SRC: string[];
|
|
239
|
+
declare const GLOB_EXCLUDE: string[];
|
|
240
|
+
|
|
216
241
|
declare const parserPlain: {
|
|
217
242
|
meta: {
|
|
218
243
|
name: string;
|
|
@@ -246,29 +271,4 @@ declare function interopDefault<T>(m: Awaitable<T>): Promise<T extends {
|
|
|
246
271
|
default: infer U;
|
|
247
272
|
} ? U : T>;
|
|
248
273
|
|
|
249
|
-
declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
|
|
250
|
-
declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
|
|
251
|
-
declare const GLOB_JS = "**/*.?([cm])js";
|
|
252
|
-
declare const GLOB_JSX = "**/*.?([cm])jsx";
|
|
253
|
-
declare const GLOB_TS = "**/*.?([cm])ts";
|
|
254
|
-
declare const GLOB_TSX = "**/*.?([cm])tsx";
|
|
255
|
-
declare const GLOB_STYLE = "**/*.{c,le,sc}ss";
|
|
256
|
-
declare const GLOB_CSS = "**/*.css";
|
|
257
|
-
declare const GLOB_POSTCSS = "**/*.{p,post}css";
|
|
258
|
-
declare const GLOB_LESS = "**/*.less";
|
|
259
|
-
declare const GLOB_SCSS = "**/*.scss";
|
|
260
|
-
declare const GLOB_JSON = "**/*.json";
|
|
261
|
-
declare const GLOB_JSON5 = "**/*.json5";
|
|
262
|
-
declare const GLOB_JSONC = "**/*.jsonc";
|
|
263
|
-
declare const GLOB_MARKDOWN = "**/*.md";
|
|
264
|
-
declare const GLOB_MDX = "**/*.mdx";
|
|
265
|
-
declare const GLOB_MARKDOWN_CODE = "**/*.md/**/*.?([cm])[jt]s?(x)";
|
|
266
|
-
declare const GLOB_VUE = "**/*.vue";
|
|
267
|
-
declare const GLOB_YAML = "**/*.y?(a)ml";
|
|
268
|
-
declare const GLOB_TOML = "**/*.toml";
|
|
269
|
-
declare const GLOB_HTML = "**/*.htm?(l)";
|
|
270
|
-
declare const GLOB_TESTS: string[];
|
|
271
|
-
declare const GLOB_ALL_SRC: string[];
|
|
272
|
-
declare const GLOB_EXCLUDE: string[];
|
|
273
|
-
|
|
274
274
|
export { type Awaitable, type ConfigFn, type ConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MDX, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type GetConfigOption, type IgnoresConfig, type JavascriptConfig, type JsoncConfig, type MarkdownConfig, type OptionsComponentExts, type OptionsConfig, type OptionsHasTypeScript, type OptionsOverrides, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type PrettierConfig, type PrettierRequiredOptions, type TestConfig, type TomlConfig, type TypeScriptConfig, type VueConfig, type YmlConfig, combine, comments, config, config as default, defineConfig, ignores, imports, interopDefault, javascript, jsdoc, jsonc, markdown, node, parserPlain, perfectionist, prettier, sortPackageJson, sortTsconfig, test, toml, typescript, unicorn, vue, yml };
|