@meteorlxy/eslint-config 3.8.0 → 4.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/dist/index.cjs +26 -13
- package/dist/index.d.cts +19 -9
- package/dist/index.d.mts +19 -9
- package/dist/index.d.ts +19 -9
- package/dist/index.mjs +26 -13
- package/package.json +16 -16
package/dist/index.cjs
CHANGED
|
@@ -546,6 +546,7 @@ const builtinRules = {
|
|
|
546
546
|
"error",
|
|
547
547
|
{ functions: true, classes: true, variables: true }
|
|
548
548
|
],
|
|
549
|
+
"no-useless-assignment": "error",
|
|
549
550
|
"no-useless-backreference": "error",
|
|
550
551
|
"no-useless-call": "off",
|
|
551
552
|
"no-useless-catch": "error",
|
|
@@ -643,7 +644,6 @@ const builtinRules = {
|
|
|
643
644
|
"radix": "error",
|
|
644
645
|
"require-atomic-updates": "off",
|
|
645
646
|
"require-await": "off",
|
|
646
|
-
"require-jsdoc": "off",
|
|
647
647
|
"require-unicode-regexp": "off",
|
|
648
648
|
"require-yield": "error",
|
|
649
649
|
"rest-spread-spacing": ["error", "never"],
|
|
@@ -678,7 +678,6 @@ const builtinRules = {
|
|
|
678
678
|
"template-curly-spacing": "error",
|
|
679
679
|
"unicode-bom": ["error", "never"],
|
|
680
680
|
"use-isnan": "error",
|
|
681
|
-
"valid-jsdoc": "off",
|
|
682
681
|
"valid-typeof": [
|
|
683
682
|
"error",
|
|
684
683
|
{
|
|
@@ -743,6 +742,7 @@ const importsRules = {
|
|
|
743
742
|
"prettier",
|
|
744
743
|
"rollup",
|
|
745
744
|
"stylelint",
|
|
745
|
+
"taze",
|
|
746
746
|
"tsup",
|
|
747
747
|
"vite",
|
|
748
748
|
"vitest",
|
|
@@ -1010,6 +1010,7 @@ const reactRules = {
|
|
|
1010
1010
|
}
|
|
1011
1011
|
],
|
|
1012
1012
|
"react/jsx-props-no-multi-spaces": "error",
|
|
1013
|
+
"react/jsx-props-no-spread-multi": "error",
|
|
1013
1014
|
"react/jsx-props-no-spreading": [
|
|
1014
1015
|
"error",
|
|
1015
1016
|
{
|
|
@@ -1230,11 +1231,6 @@ const typescriptRules = {
|
|
|
1230
1231
|
// use noImplicitReturns instead
|
|
1231
1232
|
"@typescript-eslint/default-param-last": "error",
|
|
1232
1233
|
"@typescript-eslint/dot-notation": ["error", { allowKeywords: true }],
|
|
1233
|
-
"@typescript-eslint/lines-between-class-members": [
|
|
1234
|
-
"error",
|
|
1235
|
-
"always",
|
|
1236
|
-
{ exceptAfterSingleLine: false }
|
|
1237
|
-
],
|
|
1238
1234
|
"@typescript-eslint/no-array-constructor": "error",
|
|
1239
1235
|
"@typescript-eslint/no-empty-function": [
|
|
1240
1236
|
"error",
|
|
@@ -1255,8 +1251,6 @@ const typescriptRules = {
|
|
|
1255
1251
|
}
|
|
1256
1252
|
],
|
|
1257
1253
|
"@typescript-eslint/no-shadow": "error",
|
|
1258
|
-
"@typescript-eslint/no-throw-literal": "off",
|
|
1259
|
-
// deprecated
|
|
1260
1254
|
"@typescript-eslint/no-unused-expressions": [
|
|
1261
1255
|
"error",
|
|
1262
1256
|
{
|
|
@@ -1315,6 +1309,8 @@ const typescriptRules = {
|
|
|
1315
1309
|
],
|
|
1316
1310
|
"@typescript-eslint/no-dupe-class-members": "off",
|
|
1317
1311
|
// checked by typescript
|
|
1312
|
+
"@typescript-eslint/no-empty-interface": "off",
|
|
1313
|
+
// deprecated
|
|
1318
1314
|
"@typescript-eslint/no-import-type-side-effects": "error",
|
|
1319
1315
|
"@typescript-eslint/no-invalid-this": "off",
|
|
1320
1316
|
// checked by typescript
|
|
@@ -1325,14 +1321,30 @@ const typescriptRules = {
|
|
|
1325
1321
|
"off",
|
|
1326
1322
|
{ paths: [], patterns: [] }
|
|
1327
1323
|
],
|
|
1324
|
+
"@typescript-eslint/no-restricted-types": [
|
|
1325
|
+
"off",
|
|
1326
|
+
{
|
|
1327
|
+
types: {
|
|
1328
|
+
OldType: "Don't use OldType because it is unsafe",
|
|
1329
|
+
OldAPI: {
|
|
1330
|
+
message: "Use NewAPI instead",
|
|
1331
|
+
fixWith: "NewAPI"
|
|
1332
|
+
},
|
|
1333
|
+
SoonToBeOldAPI: {
|
|
1334
|
+
message: "Use NewAPI instead",
|
|
1335
|
+
suggest: ["NewAPIOne", "NewAPITwo"]
|
|
1336
|
+
}
|
|
1337
|
+
}
|
|
1338
|
+
}
|
|
1339
|
+
],
|
|
1328
1340
|
"@typescript-eslint/no-type-alias": "off",
|
|
1329
1341
|
// deprecated
|
|
1342
|
+
"@typescript-eslint/no-unnecessary-parameter-property-assignment": "error",
|
|
1330
1343
|
"@typescript-eslint/no-unnecessary-qualifier": "off",
|
|
1331
1344
|
"@typescript-eslint/no-unsafe-unary-minus": "error",
|
|
1332
1345
|
"@typescript-eslint/no-useless-empty-export": "off",
|
|
1333
1346
|
"@typescript-eslint/no-var-requires": ["error", { allow: [] }],
|
|
1334
1347
|
"@typescript-eslint/only-throw-error": "error",
|
|
1335
|
-
"@typescript-eslint/padding-line-between-statements": "off",
|
|
1336
1348
|
"@typescript-eslint/parameter-properties": [
|
|
1337
1349
|
"off",
|
|
1338
1350
|
{ allow: [], prefer: "class-property" }
|
|
@@ -1371,6 +1383,8 @@ const typescriptRules = {
|
|
|
1371
1383
|
}
|
|
1372
1384
|
],
|
|
1373
1385
|
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
1386
|
+
"@typescript-eslint/prefer-ts-expect-error": "off",
|
|
1387
|
+
// deprecated
|
|
1374
1388
|
"@typescript-eslint/promise-function-async": "error",
|
|
1375
1389
|
"@typescript-eslint/require-array-sort-compare": [
|
|
1376
1390
|
"error",
|
|
@@ -1863,8 +1877,7 @@ const react = async ({
|
|
|
1863
1877
|
|
|
1864
1878
|
const typescript = ({
|
|
1865
1879
|
files = ["**/*.ts", "**/*.tsx", "**/*.vue"],
|
|
1866
|
-
overrides
|
|
1867
|
-
tsconfigPath
|
|
1880
|
+
overrides
|
|
1868
1881
|
} = {}) => [
|
|
1869
1882
|
{
|
|
1870
1883
|
name: "meteorlxy/typescript/plugins",
|
|
@@ -1879,7 +1892,7 @@ const typescript = ({
|
|
|
1879
1892
|
ecmaVersion: 2022,
|
|
1880
1893
|
parser: tsParser__default,
|
|
1881
1894
|
parserOptions: {
|
|
1882
|
-
|
|
1895
|
+
projectService: true,
|
|
1883
1896
|
sourceType: "module"
|
|
1884
1897
|
},
|
|
1885
1898
|
sourceType: "module"
|
package/dist/index.d.cts
CHANGED
|
@@ -40,12 +40,11 @@ declare const react: ({ files, overrides, }?: EslintReactOptions) => Promise<Fla
|
|
|
40
40
|
interface EslintTypescriptOptions {
|
|
41
41
|
files?: FlatConfig.Config['files'];
|
|
42
42
|
overrides?: FlatConfig.Config['rules'];
|
|
43
|
-
tsconfigPath?: string[] | string;
|
|
44
43
|
}
|
|
45
44
|
/**
|
|
46
45
|
* Typescript configuration for eslint.
|
|
47
46
|
*/
|
|
48
|
-
declare const typescript: ({ files, overrides,
|
|
47
|
+
declare const typescript: ({ files, overrides, }?: EslintTypescriptOptions) => FlatConfig.Config[];
|
|
49
48
|
|
|
50
49
|
interface EslintVueOptions {
|
|
51
50
|
files?: FlatConfig.Config['files'];
|
|
@@ -436,6 +435,7 @@ declare const builtinRules: {
|
|
|
436
435
|
classes: boolean;
|
|
437
436
|
variables: boolean;
|
|
438
437
|
}];
|
|
438
|
+
'no-useless-assignment': "error";
|
|
439
439
|
'no-useless-backreference': "error";
|
|
440
440
|
'no-useless-call': "off";
|
|
441
441
|
'no-useless-catch': "error";
|
|
@@ -503,7 +503,6 @@ declare const builtinRules: {
|
|
|
503
503
|
radix: "error";
|
|
504
504
|
'require-atomic-updates': "off";
|
|
505
505
|
'require-await': "off";
|
|
506
|
-
'require-jsdoc': "off";
|
|
507
506
|
'require-unicode-regexp': "off";
|
|
508
507
|
'require-yield': "error";
|
|
509
508
|
'rest-spread-spacing': ["error", string];
|
|
@@ -531,7 +530,6 @@ declare const builtinRules: {
|
|
|
531
530
|
'template-curly-spacing': "error";
|
|
532
531
|
'unicode-bom': ["error", string];
|
|
533
532
|
'use-isnan': "error";
|
|
534
|
-
'valid-jsdoc': "off";
|
|
535
533
|
'valid-typeof': ["error", {
|
|
536
534
|
requireStringLiterals: boolean;
|
|
537
535
|
}];
|
|
@@ -786,6 +784,7 @@ declare const reactRules: {
|
|
|
786
784
|
ignore: never[];
|
|
787
785
|
}];
|
|
788
786
|
'react/jsx-props-no-multi-spaces': "error";
|
|
787
|
+
'react/jsx-props-no-spread-multi': "error";
|
|
789
788
|
'react/jsx-props-no-spreading': ["error", {
|
|
790
789
|
html: string;
|
|
791
790
|
custom: string;
|
|
@@ -976,9 +975,6 @@ declare const typescriptRules: {
|
|
|
976
975
|
'@typescript-eslint/dot-notation': ["error", {
|
|
977
976
|
allowKeywords: boolean;
|
|
978
977
|
}];
|
|
979
|
-
'@typescript-eslint/lines-between-class-members': ["error", string, {
|
|
980
|
-
exceptAfterSingleLine: boolean;
|
|
981
|
-
}];
|
|
982
978
|
'@typescript-eslint/no-array-constructor': "error";
|
|
983
979
|
'@typescript-eslint/no-empty-function': ["error", {
|
|
984
980
|
allow: string[];
|
|
@@ -993,7 +989,6 @@ declare const typescriptRules: {
|
|
|
993
989
|
detectObjects: boolean;
|
|
994
990
|
}];
|
|
995
991
|
'@typescript-eslint/no-shadow': "error";
|
|
996
|
-
'@typescript-eslint/no-throw-literal': "off";
|
|
997
992
|
'@typescript-eslint/no-unused-expressions': ["error", {
|
|
998
993
|
allowShortCircuit: boolean;
|
|
999
994
|
allowTernary: boolean;
|
|
@@ -1038,6 +1033,7 @@ declare const typescriptRules: {
|
|
|
1038
1033
|
format: string[];
|
|
1039
1034
|
}];
|
|
1040
1035
|
'@typescript-eslint/no-dupe-class-members': "off";
|
|
1036
|
+
'@typescript-eslint/no-empty-interface': "off";
|
|
1041
1037
|
'@typescript-eslint/no-import-type-side-effects': "error";
|
|
1042
1038
|
'@typescript-eslint/no-invalid-this': "off";
|
|
1043
1039
|
'@typescript-eslint/no-redeclare': "off";
|
|
@@ -1048,7 +1044,21 @@ declare const typescriptRules: {
|
|
|
1048
1044
|
paths: never[];
|
|
1049
1045
|
patterns: never[];
|
|
1050
1046
|
}];
|
|
1047
|
+
'@typescript-eslint/no-restricted-types': ["off", {
|
|
1048
|
+
types: {
|
|
1049
|
+
OldType: string;
|
|
1050
|
+
OldAPI: {
|
|
1051
|
+
message: string;
|
|
1052
|
+
fixWith: string;
|
|
1053
|
+
};
|
|
1054
|
+
SoonToBeOldAPI: {
|
|
1055
|
+
message: string;
|
|
1056
|
+
suggest: string[];
|
|
1057
|
+
};
|
|
1058
|
+
};
|
|
1059
|
+
}];
|
|
1051
1060
|
'@typescript-eslint/no-type-alias': "off";
|
|
1061
|
+
'@typescript-eslint/no-unnecessary-parameter-property-assignment': "error";
|
|
1052
1062
|
'@typescript-eslint/no-unnecessary-qualifier': "off";
|
|
1053
1063
|
'@typescript-eslint/no-unsafe-unary-minus': "error";
|
|
1054
1064
|
'@typescript-eslint/no-useless-empty-export': "off";
|
|
@@ -1056,7 +1066,6 @@ declare const typescriptRules: {
|
|
|
1056
1066
|
allow: never[];
|
|
1057
1067
|
}];
|
|
1058
1068
|
'@typescript-eslint/only-throw-error': "error";
|
|
1059
|
-
'@typescript-eslint/padding-line-between-statements': "off";
|
|
1060
1069
|
'@typescript-eslint/parameter-properties': ["off", {
|
|
1061
1070
|
allow: never[];
|
|
1062
1071
|
prefer: string;
|
|
@@ -1089,6 +1098,7 @@ declare const typescriptRules: {
|
|
|
1089
1098
|
treatMethodsAsReadonly: boolean;
|
|
1090
1099
|
}];
|
|
1091
1100
|
'@typescript-eslint/prefer-regexp-exec': "off";
|
|
1101
|
+
'@typescript-eslint/prefer-ts-expect-error': "off";
|
|
1092
1102
|
'@typescript-eslint/promise-function-async': "error";
|
|
1093
1103
|
'@typescript-eslint/require-array-sort-compare': ["error", {
|
|
1094
1104
|
ignoreStringArrays: boolean;
|
package/dist/index.d.mts
CHANGED
|
@@ -40,12 +40,11 @@ declare const react: ({ files, overrides, }?: EslintReactOptions) => Promise<Fla
|
|
|
40
40
|
interface EslintTypescriptOptions {
|
|
41
41
|
files?: FlatConfig.Config['files'];
|
|
42
42
|
overrides?: FlatConfig.Config['rules'];
|
|
43
|
-
tsconfigPath?: string[] | string;
|
|
44
43
|
}
|
|
45
44
|
/**
|
|
46
45
|
* Typescript configuration for eslint.
|
|
47
46
|
*/
|
|
48
|
-
declare const typescript: ({ files, overrides,
|
|
47
|
+
declare const typescript: ({ files, overrides, }?: EslintTypescriptOptions) => FlatConfig.Config[];
|
|
49
48
|
|
|
50
49
|
interface EslintVueOptions {
|
|
51
50
|
files?: FlatConfig.Config['files'];
|
|
@@ -436,6 +435,7 @@ declare const builtinRules: {
|
|
|
436
435
|
classes: boolean;
|
|
437
436
|
variables: boolean;
|
|
438
437
|
}];
|
|
438
|
+
'no-useless-assignment': "error";
|
|
439
439
|
'no-useless-backreference': "error";
|
|
440
440
|
'no-useless-call': "off";
|
|
441
441
|
'no-useless-catch': "error";
|
|
@@ -503,7 +503,6 @@ declare const builtinRules: {
|
|
|
503
503
|
radix: "error";
|
|
504
504
|
'require-atomic-updates': "off";
|
|
505
505
|
'require-await': "off";
|
|
506
|
-
'require-jsdoc': "off";
|
|
507
506
|
'require-unicode-regexp': "off";
|
|
508
507
|
'require-yield': "error";
|
|
509
508
|
'rest-spread-spacing': ["error", string];
|
|
@@ -531,7 +530,6 @@ declare const builtinRules: {
|
|
|
531
530
|
'template-curly-spacing': "error";
|
|
532
531
|
'unicode-bom': ["error", string];
|
|
533
532
|
'use-isnan': "error";
|
|
534
|
-
'valid-jsdoc': "off";
|
|
535
533
|
'valid-typeof': ["error", {
|
|
536
534
|
requireStringLiterals: boolean;
|
|
537
535
|
}];
|
|
@@ -786,6 +784,7 @@ declare const reactRules: {
|
|
|
786
784
|
ignore: never[];
|
|
787
785
|
}];
|
|
788
786
|
'react/jsx-props-no-multi-spaces': "error";
|
|
787
|
+
'react/jsx-props-no-spread-multi': "error";
|
|
789
788
|
'react/jsx-props-no-spreading': ["error", {
|
|
790
789
|
html: string;
|
|
791
790
|
custom: string;
|
|
@@ -976,9 +975,6 @@ declare const typescriptRules: {
|
|
|
976
975
|
'@typescript-eslint/dot-notation': ["error", {
|
|
977
976
|
allowKeywords: boolean;
|
|
978
977
|
}];
|
|
979
|
-
'@typescript-eslint/lines-between-class-members': ["error", string, {
|
|
980
|
-
exceptAfterSingleLine: boolean;
|
|
981
|
-
}];
|
|
982
978
|
'@typescript-eslint/no-array-constructor': "error";
|
|
983
979
|
'@typescript-eslint/no-empty-function': ["error", {
|
|
984
980
|
allow: string[];
|
|
@@ -993,7 +989,6 @@ declare const typescriptRules: {
|
|
|
993
989
|
detectObjects: boolean;
|
|
994
990
|
}];
|
|
995
991
|
'@typescript-eslint/no-shadow': "error";
|
|
996
|
-
'@typescript-eslint/no-throw-literal': "off";
|
|
997
992
|
'@typescript-eslint/no-unused-expressions': ["error", {
|
|
998
993
|
allowShortCircuit: boolean;
|
|
999
994
|
allowTernary: boolean;
|
|
@@ -1038,6 +1033,7 @@ declare const typescriptRules: {
|
|
|
1038
1033
|
format: string[];
|
|
1039
1034
|
}];
|
|
1040
1035
|
'@typescript-eslint/no-dupe-class-members': "off";
|
|
1036
|
+
'@typescript-eslint/no-empty-interface': "off";
|
|
1041
1037
|
'@typescript-eslint/no-import-type-side-effects': "error";
|
|
1042
1038
|
'@typescript-eslint/no-invalid-this': "off";
|
|
1043
1039
|
'@typescript-eslint/no-redeclare': "off";
|
|
@@ -1048,7 +1044,21 @@ declare const typescriptRules: {
|
|
|
1048
1044
|
paths: never[];
|
|
1049
1045
|
patterns: never[];
|
|
1050
1046
|
}];
|
|
1047
|
+
'@typescript-eslint/no-restricted-types': ["off", {
|
|
1048
|
+
types: {
|
|
1049
|
+
OldType: string;
|
|
1050
|
+
OldAPI: {
|
|
1051
|
+
message: string;
|
|
1052
|
+
fixWith: string;
|
|
1053
|
+
};
|
|
1054
|
+
SoonToBeOldAPI: {
|
|
1055
|
+
message: string;
|
|
1056
|
+
suggest: string[];
|
|
1057
|
+
};
|
|
1058
|
+
};
|
|
1059
|
+
}];
|
|
1051
1060
|
'@typescript-eslint/no-type-alias': "off";
|
|
1061
|
+
'@typescript-eslint/no-unnecessary-parameter-property-assignment': "error";
|
|
1052
1062
|
'@typescript-eslint/no-unnecessary-qualifier': "off";
|
|
1053
1063
|
'@typescript-eslint/no-unsafe-unary-minus': "error";
|
|
1054
1064
|
'@typescript-eslint/no-useless-empty-export': "off";
|
|
@@ -1056,7 +1066,6 @@ declare const typescriptRules: {
|
|
|
1056
1066
|
allow: never[];
|
|
1057
1067
|
}];
|
|
1058
1068
|
'@typescript-eslint/only-throw-error': "error";
|
|
1059
|
-
'@typescript-eslint/padding-line-between-statements': "off";
|
|
1060
1069
|
'@typescript-eslint/parameter-properties': ["off", {
|
|
1061
1070
|
allow: never[];
|
|
1062
1071
|
prefer: string;
|
|
@@ -1089,6 +1098,7 @@ declare const typescriptRules: {
|
|
|
1089
1098
|
treatMethodsAsReadonly: boolean;
|
|
1090
1099
|
}];
|
|
1091
1100
|
'@typescript-eslint/prefer-regexp-exec': "off";
|
|
1101
|
+
'@typescript-eslint/prefer-ts-expect-error': "off";
|
|
1092
1102
|
'@typescript-eslint/promise-function-async': "error";
|
|
1093
1103
|
'@typescript-eslint/require-array-sort-compare': ["error", {
|
|
1094
1104
|
ignoreStringArrays: boolean;
|
package/dist/index.d.ts
CHANGED
|
@@ -40,12 +40,11 @@ declare const react: ({ files, overrides, }?: EslintReactOptions) => Promise<Fla
|
|
|
40
40
|
interface EslintTypescriptOptions {
|
|
41
41
|
files?: FlatConfig.Config['files'];
|
|
42
42
|
overrides?: FlatConfig.Config['rules'];
|
|
43
|
-
tsconfigPath?: string[] | string;
|
|
44
43
|
}
|
|
45
44
|
/**
|
|
46
45
|
* Typescript configuration for eslint.
|
|
47
46
|
*/
|
|
48
|
-
declare const typescript: ({ files, overrides,
|
|
47
|
+
declare const typescript: ({ files, overrides, }?: EslintTypescriptOptions) => FlatConfig.Config[];
|
|
49
48
|
|
|
50
49
|
interface EslintVueOptions {
|
|
51
50
|
files?: FlatConfig.Config['files'];
|
|
@@ -436,6 +435,7 @@ declare const builtinRules: {
|
|
|
436
435
|
classes: boolean;
|
|
437
436
|
variables: boolean;
|
|
438
437
|
}];
|
|
438
|
+
'no-useless-assignment': "error";
|
|
439
439
|
'no-useless-backreference': "error";
|
|
440
440
|
'no-useless-call': "off";
|
|
441
441
|
'no-useless-catch': "error";
|
|
@@ -503,7 +503,6 @@ declare const builtinRules: {
|
|
|
503
503
|
radix: "error";
|
|
504
504
|
'require-atomic-updates': "off";
|
|
505
505
|
'require-await': "off";
|
|
506
|
-
'require-jsdoc': "off";
|
|
507
506
|
'require-unicode-regexp': "off";
|
|
508
507
|
'require-yield': "error";
|
|
509
508
|
'rest-spread-spacing': ["error", string];
|
|
@@ -531,7 +530,6 @@ declare const builtinRules: {
|
|
|
531
530
|
'template-curly-spacing': "error";
|
|
532
531
|
'unicode-bom': ["error", string];
|
|
533
532
|
'use-isnan': "error";
|
|
534
|
-
'valid-jsdoc': "off";
|
|
535
533
|
'valid-typeof': ["error", {
|
|
536
534
|
requireStringLiterals: boolean;
|
|
537
535
|
}];
|
|
@@ -786,6 +784,7 @@ declare const reactRules: {
|
|
|
786
784
|
ignore: never[];
|
|
787
785
|
}];
|
|
788
786
|
'react/jsx-props-no-multi-spaces': "error";
|
|
787
|
+
'react/jsx-props-no-spread-multi': "error";
|
|
789
788
|
'react/jsx-props-no-spreading': ["error", {
|
|
790
789
|
html: string;
|
|
791
790
|
custom: string;
|
|
@@ -976,9 +975,6 @@ declare const typescriptRules: {
|
|
|
976
975
|
'@typescript-eslint/dot-notation': ["error", {
|
|
977
976
|
allowKeywords: boolean;
|
|
978
977
|
}];
|
|
979
|
-
'@typescript-eslint/lines-between-class-members': ["error", string, {
|
|
980
|
-
exceptAfterSingleLine: boolean;
|
|
981
|
-
}];
|
|
982
978
|
'@typescript-eslint/no-array-constructor': "error";
|
|
983
979
|
'@typescript-eslint/no-empty-function': ["error", {
|
|
984
980
|
allow: string[];
|
|
@@ -993,7 +989,6 @@ declare const typescriptRules: {
|
|
|
993
989
|
detectObjects: boolean;
|
|
994
990
|
}];
|
|
995
991
|
'@typescript-eslint/no-shadow': "error";
|
|
996
|
-
'@typescript-eslint/no-throw-literal': "off";
|
|
997
992
|
'@typescript-eslint/no-unused-expressions': ["error", {
|
|
998
993
|
allowShortCircuit: boolean;
|
|
999
994
|
allowTernary: boolean;
|
|
@@ -1038,6 +1033,7 @@ declare const typescriptRules: {
|
|
|
1038
1033
|
format: string[];
|
|
1039
1034
|
}];
|
|
1040
1035
|
'@typescript-eslint/no-dupe-class-members': "off";
|
|
1036
|
+
'@typescript-eslint/no-empty-interface': "off";
|
|
1041
1037
|
'@typescript-eslint/no-import-type-side-effects': "error";
|
|
1042
1038
|
'@typescript-eslint/no-invalid-this': "off";
|
|
1043
1039
|
'@typescript-eslint/no-redeclare': "off";
|
|
@@ -1048,7 +1044,21 @@ declare const typescriptRules: {
|
|
|
1048
1044
|
paths: never[];
|
|
1049
1045
|
patterns: never[];
|
|
1050
1046
|
}];
|
|
1047
|
+
'@typescript-eslint/no-restricted-types': ["off", {
|
|
1048
|
+
types: {
|
|
1049
|
+
OldType: string;
|
|
1050
|
+
OldAPI: {
|
|
1051
|
+
message: string;
|
|
1052
|
+
fixWith: string;
|
|
1053
|
+
};
|
|
1054
|
+
SoonToBeOldAPI: {
|
|
1055
|
+
message: string;
|
|
1056
|
+
suggest: string[];
|
|
1057
|
+
};
|
|
1058
|
+
};
|
|
1059
|
+
}];
|
|
1051
1060
|
'@typescript-eslint/no-type-alias': "off";
|
|
1061
|
+
'@typescript-eslint/no-unnecessary-parameter-property-assignment': "error";
|
|
1052
1062
|
'@typescript-eslint/no-unnecessary-qualifier': "off";
|
|
1053
1063
|
'@typescript-eslint/no-unsafe-unary-minus': "error";
|
|
1054
1064
|
'@typescript-eslint/no-useless-empty-export': "off";
|
|
@@ -1056,7 +1066,6 @@ declare const typescriptRules: {
|
|
|
1056
1066
|
allow: never[];
|
|
1057
1067
|
}];
|
|
1058
1068
|
'@typescript-eslint/only-throw-error': "error";
|
|
1059
|
-
'@typescript-eslint/padding-line-between-statements': "off";
|
|
1060
1069
|
'@typescript-eslint/parameter-properties': ["off", {
|
|
1061
1070
|
allow: never[];
|
|
1062
1071
|
prefer: string;
|
|
@@ -1089,6 +1098,7 @@ declare const typescriptRules: {
|
|
|
1089
1098
|
treatMethodsAsReadonly: boolean;
|
|
1090
1099
|
}];
|
|
1091
1100
|
'@typescript-eslint/prefer-regexp-exec': "off";
|
|
1101
|
+
'@typescript-eslint/prefer-ts-expect-error': "off";
|
|
1092
1102
|
'@typescript-eslint/promise-function-async': "error";
|
|
1093
1103
|
'@typescript-eslint/require-array-sort-compare': ["error", {
|
|
1094
1104
|
ignoreStringArrays: boolean;
|
package/dist/index.mjs
CHANGED
|
@@ -534,6 +534,7 @@ const builtinRules = {
|
|
|
534
534
|
"error",
|
|
535
535
|
{ functions: true, classes: true, variables: true }
|
|
536
536
|
],
|
|
537
|
+
"no-useless-assignment": "error",
|
|
537
538
|
"no-useless-backreference": "error",
|
|
538
539
|
"no-useless-call": "off",
|
|
539
540
|
"no-useless-catch": "error",
|
|
@@ -631,7 +632,6 @@ const builtinRules = {
|
|
|
631
632
|
"radix": "error",
|
|
632
633
|
"require-atomic-updates": "off",
|
|
633
634
|
"require-await": "off",
|
|
634
|
-
"require-jsdoc": "off",
|
|
635
635
|
"require-unicode-regexp": "off",
|
|
636
636
|
"require-yield": "error",
|
|
637
637
|
"rest-spread-spacing": ["error", "never"],
|
|
@@ -666,7 +666,6 @@ const builtinRules = {
|
|
|
666
666
|
"template-curly-spacing": "error",
|
|
667
667
|
"unicode-bom": ["error", "never"],
|
|
668
668
|
"use-isnan": "error",
|
|
669
|
-
"valid-jsdoc": "off",
|
|
670
669
|
"valid-typeof": [
|
|
671
670
|
"error",
|
|
672
671
|
{
|
|
@@ -731,6 +730,7 @@ const importsRules = {
|
|
|
731
730
|
"prettier",
|
|
732
731
|
"rollup",
|
|
733
732
|
"stylelint",
|
|
733
|
+
"taze",
|
|
734
734
|
"tsup",
|
|
735
735
|
"vite",
|
|
736
736
|
"vitest",
|
|
@@ -998,6 +998,7 @@ const reactRules = {
|
|
|
998
998
|
}
|
|
999
999
|
],
|
|
1000
1000
|
"react/jsx-props-no-multi-spaces": "error",
|
|
1001
|
+
"react/jsx-props-no-spread-multi": "error",
|
|
1001
1002
|
"react/jsx-props-no-spreading": [
|
|
1002
1003
|
"error",
|
|
1003
1004
|
{
|
|
@@ -1218,11 +1219,6 @@ const typescriptRules = {
|
|
|
1218
1219
|
// use noImplicitReturns instead
|
|
1219
1220
|
"@typescript-eslint/default-param-last": "error",
|
|
1220
1221
|
"@typescript-eslint/dot-notation": ["error", { allowKeywords: true }],
|
|
1221
|
-
"@typescript-eslint/lines-between-class-members": [
|
|
1222
|
-
"error",
|
|
1223
|
-
"always",
|
|
1224
|
-
{ exceptAfterSingleLine: false }
|
|
1225
|
-
],
|
|
1226
1222
|
"@typescript-eslint/no-array-constructor": "error",
|
|
1227
1223
|
"@typescript-eslint/no-empty-function": [
|
|
1228
1224
|
"error",
|
|
@@ -1243,8 +1239,6 @@ const typescriptRules = {
|
|
|
1243
1239
|
}
|
|
1244
1240
|
],
|
|
1245
1241
|
"@typescript-eslint/no-shadow": "error",
|
|
1246
|
-
"@typescript-eslint/no-throw-literal": "off",
|
|
1247
|
-
// deprecated
|
|
1248
1242
|
"@typescript-eslint/no-unused-expressions": [
|
|
1249
1243
|
"error",
|
|
1250
1244
|
{
|
|
@@ -1303,6 +1297,8 @@ const typescriptRules = {
|
|
|
1303
1297
|
],
|
|
1304
1298
|
"@typescript-eslint/no-dupe-class-members": "off",
|
|
1305
1299
|
// checked by typescript
|
|
1300
|
+
"@typescript-eslint/no-empty-interface": "off",
|
|
1301
|
+
// deprecated
|
|
1306
1302
|
"@typescript-eslint/no-import-type-side-effects": "error",
|
|
1307
1303
|
"@typescript-eslint/no-invalid-this": "off",
|
|
1308
1304
|
// checked by typescript
|
|
@@ -1313,14 +1309,30 @@ const typescriptRules = {
|
|
|
1313
1309
|
"off",
|
|
1314
1310
|
{ paths: [], patterns: [] }
|
|
1315
1311
|
],
|
|
1312
|
+
"@typescript-eslint/no-restricted-types": [
|
|
1313
|
+
"off",
|
|
1314
|
+
{
|
|
1315
|
+
types: {
|
|
1316
|
+
OldType: "Don't use OldType because it is unsafe",
|
|
1317
|
+
OldAPI: {
|
|
1318
|
+
message: "Use NewAPI instead",
|
|
1319
|
+
fixWith: "NewAPI"
|
|
1320
|
+
},
|
|
1321
|
+
SoonToBeOldAPI: {
|
|
1322
|
+
message: "Use NewAPI instead",
|
|
1323
|
+
suggest: ["NewAPIOne", "NewAPITwo"]
|
|
1324
|
+
}
|
|
1325
|
+
}
|
|
1326
|
+
}
|
|
1327
|
+
],
|
|
1316
1328
|
"@typescript-eslint/no-type-alias": "off",
|
|
1317
1329
|
// deprecated
|
|
1330
|
+
"@typescript-eslint/no-unnecessary-parameter-property-assignment": "error",
|
|
1318
1331
|
"@typescript-eslint/no-unnecessary-qualifier": "off",
|
|
1319
1332
|
"@typescript-eslint/no-unsafe-unary-minus": "error",
|
|
1320
1333
|
"@typescript-eslint/no-useless-empty-export": "off",
|
|
1321
1334
|
"@typescript-eslint/no-var-requires": ["error", { allow: [] }],
|
|
1322
1335
|
"@typescript-eslint/only-throw-error": "error",
|
|
1323
|
-
"@typescript-eslint/padding-line-between-statements": "off",
|
|
1324
1336
|
"@typescript-eslint/parameter-properties": [
|
|
1325
1337
|
"off",
|
|
1326
1338
|
{ allow: [], prefer: "class-property" }
|
|
@@ -1359,6 +1371,8 @@ const typescriptRules = {
|
|
|
1359
1371
|
}
|
|
1360
1372
|
],
|
|
1361
1373
|
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
1374
|
+
"@typescript-eslint/prefer-ts-expect-error": "off",
|
|
1375
|
+
// deprecated
|
|
1362
1376
|
"@typescript-eslint/promise-function-async": "error",
|
|
1363
1377
|
"@typescript-eslint/require-array-sort-compare": [
|
|
1364
1378
|
"error",
|
|
@@ -1851,8 +1865,7 @@ const react = async ({
|
|
|
1851
1865
|
|
|
1852
1866
|
const typescript = ({
|
|
1853
1867
|
files = ["**/*.ts", "**/*.tsx", "**/*.vue"],
|
|
1854
|
-
overrides
|
|
1855
|
-
tsconfigPath
|
|
1868
|
+
overrides
|
|
1856
1869
|
} = {}) => [
|
|
1857
1870
|
{
|
|
1858
1871
|
name: "meteorlxy/typescript/plugins",
|
|
@@ -1867,7 +1880,7 @@ const typescript = ({
|
|
|
1867
1880
|
ecmaVersion: 2022,
|
|
1868
1881
|
parser: tsParser,
|
|
1869
1882
|
parserOptions: {
|
|
1870
|
-
|
|
1883
|
+
projectService: true,
|
|
1871
1884
|
sourceType: "module"
|
|
1872
1885
|
},
|
|
1873
1886
|
sourceType: "module"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meteorlxy/eslint-config",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "meteorlxy eslint config",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"config",
|
|
@@ -32,32 +32,32 @@
|
|
|
32
32
|
"clean": "rimraf ./dist"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
36
|
-
"@typescript-eslint/parser": "^
|
|
37
|
-
"@typescript-eslint/utils": "^
|
|
35
|
+
"@typescript-eslint/eslint-plugin": "^8.1.0",
|
|
36
|
+
"@typescript-eslint/parser": "^8.1.0",
|
|
37
|
+
"@typescript-eslint/utils": "^8.1.0",
|
|
38
38
|
"confusing-browser-globals": "^1.0.11",
|
|
39
39
|
"eslint-config-prettier": "^9.1.0",
|
|
40
40
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
41
|
-
"eslint-plugin-import-x": "^3.0
|
|
41
|
+
"eslint-plugin-import-x": "^3.1.0",
|
|
42
42
|
"eslint-plugin-markdown": "^5.1.0",
|
|
43
|
-
"globals": "^15.
|
|
43
|
+
"globals": "^15.9.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/confusing-browser-globals": "^1.0.3",
|
|
47
|
-
"@types/eslint": "^
|
|
48
|
-
"eslint": "^
|
|
49
|
-
"eslint-plugin-react": "^7.
|
|
47
|
+
"@types/eslint": "^9.6.0",
|
|
48
|
+
"eslint": "^9.9.0",
|
|
49
|
+
"eslint-plugin-react": "^7.35.0",
|
|
50
50
|
"eslint-plugin-react-hooks": "^4.6.2",
|
|
51
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
51
|
+
"eslint-plugin-react-refresh": "^0.4.9",
|
|
52
52
|
"eslint-plugin-vue": "^9.27.0",
|
|
53
53
|
"vue-eslint-parser": "^9.4.3"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
|
-
"eslint-plugin-react": "^7.
|
|
57
|
-
"eslint-plugin-react-hooks": "^4.6.
|
|
58
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
59
|
-
"eslint-plugin-vue": "^9.
|
|
60
|
-
"vue-eslint-parser": "^9.4.
|
|
56
|
+
"eslint-plugin-react": "^7.35.0",
|
|
57
|
+
"eslint-plugin-react-hooks": "^4.6.2",
|
|
58
|
+
"eslint-plugin-react-refresh": "^0.4.9",
|
|
59
|
+
"eslint-plugin-vue": "^9.27.0",
|
|
60
|
+
"vue-eslint-parser": "^9.4.3"
|
|
61
61
|
},
|
|
62
62
|
"peerDependenciesMeta": {
|
|
63
63
|
"eslint-plugin-react": {
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
"publishConfig": {
|
|
80
80
|
"access": "public"
|
|
81
81
|
},
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "272d83cfb00f75dc52598e46f1fe87181d895aa5"
|
|
83
83
|
}
|