@meteorlxy/eslint-config 3.7.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 +28 -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 +28 -13
- package/package.json +19 -19
package/dist/index.cjs
CHANGED
|
@@ -46,7 +46,9 @@ const ignores = (options = []) => [
|
|
|
46
46
|
"**/.history",
|
|
47
47
|
"**/.idea",
|
|
48
48
|
"**/.next",
|
|
49
|
+
"**/.nx",
|
|
49
50
|
"**/.nyc_output",
|
|
51
|
+
"**/.turbo",
|
|
50
52
|
"**/.vercel",
|
|
51
53
|
"**/.vite-inspect",
|
|
52
54
|
"**/.vitepress/cache",
|
|
@@ -544,6 +546,7 @@ const builtinRules = {
|
|
|
544
546
|
"error",
|
|
545
547
|
{ functions: true, classes: true, variables: true }
|
|
546
548
|
],
|
|
549
|
+
"no-useless-assignment": "error",
|
|
547
550
|
"no-useless-backreference": "error",
|
|
548
551
|
"no-useless-call": "off",
|
|
549
552
|
"no-useless-catch": "error",
|
|
@@ -641,7 +644,6 @@ const builtinRules = {
|
|
|
641
644
|
"radix": "error",
|
|
642
645
|
"require-atomic-updates": "off",
|
|
643
646
|
"require-await": "off",
|
|
644
|
-
"require-jsdoc": "off",
|
|
645
647
|
"require-unicode-regexp": "off",
|
|
646
648
|
"require-yield": "error",
|
|
647
649
|
"rest-spread-spacing": ["error", "never"],
|
|
@@ -676,7 +678,6 @@ const builtinRules = {
|
|
|
676
678
|
"template-curly-spacing": "error",
|
|
677
679
|
"unicode-bom": ["error", "never"],
|
|
678
680
|
"use-isnan": "error",
|
|
679
|
-
"valid-jsdoc": "off",
|
|
680
681
|
"valid-typeof": [
|
|
681
682
|
"error",
|
|
682
683
|
{
|
|
@@ -741,6 +742,7 @@ const importsRules = {
|
|
|
741
742
|
"prettier",
|
|
742
743
|
"rollup",
|
|
743
744
|
"stylelint",
|
|
745
|
+
"taze",
|
|
744
746
|
"tsup",
|
|
745
747
|
"vite",
|
|
746
748
|
"vitest",
|
|
@@ -1008,6 +1010,7 @@ const reactRules = {
|
|
|
1008
1010
|
}
|
|
1009
1011
|
],
|
|
1010
1012
|
"react/jsx-props-no-multi-spaces": "error",
|
|
1013
|
+
"react/jsx-props-no-spread-multi": "error",
|
|
1011
1014
|
"react/jsx-props-no-spreading": [
|
|
1012
1015
|
"error",
|
|
1013
1016
|
{
|
|
@@ -1228,11 +1231,6 @@ const typescriptRules = {
|
|
|
1228
1231
|
// use noImplicitReturns instead
|
|
1229
1232
|
"@typescript-eslint/default-param-last": "error",
|
|
1230
1233
|
"@typescript-eslint/dot-notation": ["error", { allowKeywords: true }],
|
|
1231
|
-
"@typescript-eslint/lines-between-class-members": [
|
|
1232
|
-
"error",
|
|
1233
|
-
"always",
|
|
1234
|
-
{ exceptAfterSingleLine: false }
|
|
1235
|
-
],
|
|
1236
1234
|
"@typescript-eslint/no-array-constructor": "error",
|
|
1237
1235
|
"@typescript-eslint/no-empty-function": [
|
|
1238
1236
|
"error",
|
|
@@ -1253,8 +1251,6 @@ const typescriptRules = {
|
|
|
1253
1251
|
}
|
|
1254
1252
|
],
|
|
1255
1253
|
"@typescript-eslint/no-shadow": "error",
|
|
1256
|
-
"@typescript-eslint/no-throw-literal": "off",
|
|
1257
|
-
// deprecated
|
|
1258
1254
|
"@typescript-eslint/no-unused-expressions": [
|
|
1259
1255
|
"error",
|
|
1260
1256
|
{
|
|
@@ -1313,6 +1309,8 @@ const typescriptRules = {
|
|
|
1313
1309
|
],
|
|
1314
1310
|
"@typescript-eslint/no-dupe-class-members": "off",
|
|
1315
1311
|
// checked by typescript
|
|
1312
|
+
"@typescript-eslint/no-empty-interface": "off",
|
|
1313
|
+
// deprecated
|
|
1316
1314
|
"@typescript-eslint/no-import-type-side-effects": "error",
|
|
1317
1315
|
"@typescript-eslint/no-invalid-this": "off",
|
|
1318
1316
|
// checked by typescript
|
|
@@ -1323,14 +1321,30 @@ const typescriptRules = {
|
|
|
1323
1321
|
"off",
|
|
1324
1322
|
{ paths: [], patterns: [] }
|
|
1325
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
|
+
],
|
|
1326
1340
|
"@typescript-eslint/no-type-alias": "off",
|
|
1327
1341
|
// deprecated
|
|
1342
|
+
"@typescript-eslint/no-unnecessary-parameter-property-assignment": "error",
|
|
1328
1343
|
"@typescript-eslint/no-unnecessary-qualifier": "off",
|
|
1329
1344
|
"@typescript-eslint/no-unsafe-unary-minus": "error",
|
|
1330
1345
|
"@typescript-eslint/no-useless-empty-export": "off",
|
|
1331
1346
|
"@typescript-eslint/no-var-requires": ["error", { allow: [] }],
|
|
1332
1347
|
"@typescript-eslint/only-throw-error": "error",
|
|
1333
|
-
"@typescript-eslint/padding-line-between-statements": "off",
|
|
1334
1348
|
"@typescript-eslint/parameter-properties": [
|
|
1335
1349
|
"off",
|
|
1336
1350
|
{ allow: [], prefer: "class-property" }
|
|
@@ -1369,6 +1383,8 @@ const typescriptRules = {
|
|
|
1369
1383
|
}
|
|
1370
1384
|
],
|
|
1371
1385
|
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
1386
|
+
"@typescript-eslint/prefer-ts-expect-error": "off",
|
|
1387
|
+
// deprecated
|
|
1372
1388
|
"@typescript-eslint/promise-function-async": "error",
|
|
1373
1389
|
"@typescript-eslint/require-array-sort-compare": [
|
|
1374
1390
|
"error",
|
|
@@ -1861,8 +1877,7 @@ const react = async ({
|
|
|
1861
1877
|
|
|
1862
1878
|
const typescript = ({
|
|
1863
1879
|
files = ["**/*.ts", "**/*.tsx", "**/*.vue"],
|
|
1864
|
-
overrides
|
|
1865
|
-
tsconfigPath
|
|
1880
|
+
overrides
|
|
1866
1881
|
} = {}) => [
|
|
1867
1882
|
{
|
|
1868
1883
|
name: "meteorlxy/typescript/plugins",
|
|
@@ -1877,7 +1892,7 @@ const typescript = ({
|
|
|
1877
1892
|
ecmaVersion: 2022,
|
|
1878
1893
|
parser: tsParser__default,
|
|
1879
1894
|
parserOptions: {
|
|
1880
|
-
|
|
1895
|
+
projectService: true,
|
|
1881
1896
|
sourceType: "module"
|
|
1882
1897
|
},
|
|
1883
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
|
@@ -34,7 +34,9 @@ const ignores = (options = []) => [
|
|
|
34
34
|
"**/.history",
|
|
35
35
|
"**/.idea",
|
|
36
36
|
"**/.next",
|
|
37
|
+
"**/.nx",
|
|
37
38
|
"**/.nyc_output",
|
|
39
|
+
"**/.turbo",
|
|
38
40
|
"**/.vercel",
|
|
39
41
|
"**/.vite-inspect",
|
|
40
42
|
"**/.vitepress/cache",
|
|
@@ -532,6 +534,7 @@ const builtinRules = {
|
|
|
532
534
|
"error",
|
|
533
535
|
{ functions: true, classes: true, variables: true }
|
|
534
536
|
],
|
|
537
|
+
"no-useless-assignment": "error",
|
|
535
538
|
"no-useless-backreference": "error",
|
|
536
539
|
"no-useless-call": "off",
|
|
537
540
|
"no-useless-catch": "error",
|
|
@@ -629,7 +632,6 @@ const builtinRules = {
|
|
|
629
632
|
"radix": "error",
|
|
630
633
|
"require-atomic-updates": "off",
|
|
631
634
|
"require-await": "off",
|
|
632
|
-
"require-jsdoc": "off",
|
|
633
635
|
"require-unicode-regexp": "off",
|
|
634
636
|
"require-yield": "error",
|
|
635
637
|
"rest-spread-spacing": ["error", "never"],
|
|
@@ -664,7 +666,6 @@ const builtinRules = {
|
|
|
664
666
|
"template-curly-spacing": "error",
|
|
665
667
|
"unicode-bom": ["error", "never"],
|
|
666
668
|
"use-isnan": "error",
|
|
667
|
-
"valid-jsdoc": "off",
|
|
668
669
|
"valid-typeof": [
|
|
669
670
|
"error",
|
|
670
671
|
{
|
|
@@ -729,6 +730,7 @@ const importsRules = {
|
|
|
729
730
|
"prettier",
|
|
730
731
|
"rollup",
|
|
731
732
|
"stylelint",
|
|
733
|
+
"taze",
|
|
732
734
|
"tsup",
|
|
733
735
|
"vite",
|
|
734
736
|
"vitest",
|
|
@@ -996,6 +998,7 @@ const reactRules = {
|
|
|
996
998
|
}
|
|
997
999
|
],
|
|
998
1000
|
"react/jsx-props-no-multi-spaces": "error",
|
|
1001
|
+
"react/jsx-props-no-spread-multi": "error",
|
|
999
1002
|
"react/jsx-props-no-spreading": [
|
|
1000
1003
|
"error",
|
|
1001
1004
|
{
|
|
@@ -1216,11 +1219,6 @@ const typescriptRules = {
|
|
|
1216
1219
|
// use noImplicitReturns instead
|
|
1217
1220
|
"@typescript-eslint/default-param-last": "error",
|
|
1218
1221
|
"@typescript-eslint/dot-notation": ["error", { allowKeywords: true }],
|
|
1219
|
-
"@typescript-eslint/lines-between-class-members": [
|
|
1220
|
-
"error",
|
|
1221
|
-
"always",
|
|
1222
|
-
{ exceptAfterSingleLine: false }
|
|
1223
|
-
],
|
|
1224
1222
|
"@typescript-eslint/no-array-constructor": "error",
|
|
1225
1223
|
"@typescript-eslint/no-empty-function": [
|
|
1226
1224
|
"error",
|
|
@@ -1241,8 +1239,6 @@ const typescriptRules = {
|
|
|
1241
1239
|
}
|
|
1242
1240
|
],
|
|
1243
1241
|
"@typescript-eslint/no-shadow": "error",
|
|
1244
|
-
"@typescript-eslint/no-throw-literal": "off",
|
|
1245
|
-
// deprecated
|
|
1246
1242
|
"@typescript-eslint/no-unused-expressions": [
|
|
1247
1243
|
"error",
|
|
1248
1244
|
{
|
|
@@ -1301,6 +1297,8 @@ const typescriptRules = {
|
|
|
1301
1297
|
],
|
|
1302
1298
|
"@typescript-eslint/no-dupe-class-members": "off",
|
|
1303
1299
|
// checked by typescript
|
|
1300
|
+
"@typescript-eslint/no-empty-interface": "off",
|
|
1301
|
+
// deprecated
|
|
1304
1302
|
"@typescript-eslint/no-import-type-side-effects": "error",
|
|
1305
1303
|
"@typescript-eslint/no-invalid-this": "off",
|
|
1306
1304
|
// checked by typescript
|
|
@@ -1311,14 +1309,30 @@ const typescriptRules = {
|
|
|
1311
1309
|
"off",
|
|
1312
1310
|
{ paths: [], patterns: [] }
|
|
1313
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
|
+
],
|
|
1314
1328
|
"@typescript-eslint/no-type-alias": "off",
|
|
1315
1329
|
// deprecated
|
|
1330
|
+
"@typescript-eslint/no-unnecessary-parameter-property-assignment": "error",
|
|
1316
1331
|
"@typescript-eslint/no-unnecessary-qualifier": "off",
|
|
1317
1332
|
"@typescript-eslint/no-unsafe-unary-minus": "error",
|
|
1318
1333
|
"@typescript-eslint/no-useless-empty-export": "off",
|
|
1319
1334
|
"@typescript-eslint/no-var-requires": ["error", { allow: [] }],
|
|
1320
1335
|
"@typescript-eslint/only-throw-error": "error",
|
|
1321
|
-
"@typescript-eslint/padding-line-between-statements": "off",
|
|
1322
1336
|
"@typescript-eslint/parameter-properties": [
|
|
1323
1337
|
"off",
|
|
1324
1338
|
{ allow: [], prefer: "class-property" }
|
|
@@ -1357,6 +1371,8 @@ const typescriptRules = {
|
|
|
1357
1371
|
}
|
|
1358
1372
|
],
|
|
1359
1373
|
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
1374
|
+
"@typescript-eslint/prefer-ts-expect-error": "off",
|
|
1375
|
+
// deprecated
|
|
1360
1376
|
"@typescript-eslint/promise-function-async": "error",
|
|
1361
1377
|
"@typescript-eslint/require-array-sort-compare": [
|
|
1362
1378
|
"error",
|
|
@@ -1849,8 +1865,7 @@ const react = async ({
|
|
|
1849
1865
|
|
|
1850
1866
|
const typescript = ({
|
|
1851
1867
|
files = ["**/*.ts", "**/*.tsx", "**/*.vue"],
|
|
1852
|
-
overrides
|
|
1853
|
-
tsconfigPath
|
|
1868
|
+
overrides
|
|
1854
1869
|
} = {}) => [
|
|
1855
1870
|
{
|
|
1856
1871
|
name: "meteorlxy/typescript/plugins",
|
|
@@ -1865,7 +1880,7 @@ const typescript = ({
|
|
|
1865
1880
|
ecmaVersion: 2022,
|
|
1866
1881
|
parser: tsParser,
|
|
1867
1882
|
parserOptions: {
|
|
1868
|
-
|
|
1883
|
+
projectService: true,
|
|
1869
1884
|
sourceType: "module"
|
|
1870
1885
|
},
|
|
1871
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": "^
|
|
42
|
-
"eslint-plugin-markdown": "^5.
|
|
43
|
-
"globals": "^15.
|
|
41
|
+
"eslint-plugin-import-x": "^3.1.0",
|
|
42
|
+
"eslint-plugin-markdown": "^5.1.0",
|
|
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.
|
|
52
|
-
"eslint-plugin-vue": "^9.
|
|
53
|
-
"vue-eslint-parser": "^9.4.
|
|
51
|
+
"eslint-plugin-react-refresh": "^0.4.9",
|
|
52
|
+
"eslint-plugin-vue": "^9.27.0",
|
|
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
|
}
|