@liwo/eslint-config 0.1.0 → 0.1.2
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.d.ts +63 -3
- package/package.json +36 -36
package/dist/index.d.ts
CHANGED
|
@@ -689,6 +689,11 @@ interface RuleOptions {
|
|
|
689
689
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
|
|
690
690
|
*/
|
|
691
691
|
'jsdoc/require-property-type'?: Linter.RuleEntry<[]>;
|
|
692
|
+
/**
|
|
693
|
+
* Requires that Promise rejections are documented with `@rejects` tags.
|
|
694
|
+
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-rejects.md#repos-sticky-header
|
|
695
|
+
*/
|
|
696
|
+
'jsdoc/require-rejects'?: Linter.RuleEntry<JsdocRequireRejects>;
|
|
692
697
|
/**
|
|
693
698
|
* Requires that returns are documented with `@returns`.
|
|
694
699
|
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
|
|
@@ -2793,6 +2798,11 @@ interface RuleOptions {
|
|
|
2793
2798
|
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
|
|
2794
2799
|
*/
|
|
2795
2800
|
'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>;
|
|
2801
|
+
/**
|
|
2802
|
+
* Prevents dollar signs from being inserted as text nodes before expressions.
|
|
2803
|
+
* @see https://eslint-react.xyz/docs/rules/jsx-dollar
|
|
2804
|
+
*/
|
|
2805
|
+
'react/jsx-dollar'?: Linter.RuleEntry<[]>;
|
|
2796
2806
|
/**
|
|
2797
2807
|
* Enforces that the 'key' prop is placed before the spread prop in JSX elements.
|
|
2798
2808
|
* @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
|
|
@@ -2931,6 +2941,7 @@ interface RuleOptions {
|
|
|
2931
2941
|
/**
|
|
2932
2942
|
* Disallow certain props on components.
|
|
2933
2943
|
* @see https://eslint-react.xyz/docs/rules/no-forbidden-props
|
|
2944
|
+
* @deprecated
|
|
2934
2945
|
*/
|
|
2935
2946
|
'react/no-forbidden-props'?: Linter.RuleEntry<ReactNoForbiddenProps>;
|
|
2936
2947
|
/**
|
|
@@ -3052,7 +3063,7 @@ interface RuleOptions {
|
|
|
3052
3063
|
* Prevents using referential-type values as default props in object destructuring.
|
|
3053
3064
|
* @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
|
|
3054
3065
|
*/
|
|
3055
|
-
'react/no-unstable-default-props'?: Linter.RuleEntry<
|
|
3066
|
+
'react/no-unstable-default-props'?: Linter.RuleEntry<ReactNoUnstableDefaultProps>;
|
|
3056
3067
|
/**
|
|
3057
3068
|
* Warns unused class component methods and properties.
|
|
3058
3069
|
* @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
|
|
@@ -4118,6 +4129,11 @@ interface RuleOptions {
|
|
|
4118
4129
|
* @deprecated
|
|
4119
4130
|
*/
|
|
4120
4131
|
'template-tag-spacing'?: Linter.RuleEntry<TemplateTagSpacing>;
|
|
4132
|
+
/**
|
|
4133
|
+
* enforce using `.each` or `.for` consistently
|
|
4134
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-each-for.md
|
|
4135
|
+
*/
|
|
4136
|
+
'test/consistent-each-for'?: Linter.RuleEntry<TestConsistentEachFor>;
|
|
4121
4137
|
/**
|
|
4122
4138
|
* require test file pattern
|
|
4123
4139
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
|
|
@@ -4340,7 +4356,7 @@ interface RuleOptions {
|
|
|
4340
4356
|
*/
|
|
4341
4357
|
'test/prefer-each'?: Linter.RuleEntry<[]>;
|
|
4342
4358
|
/**
|
|
4343
|
-
* enforce using the built-in
|
|
4359
|
+
* enforce using the built-in equality matchers
|
|
4344
4360
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
|
|
4345
4361
|
*/
|
|
4346
4362
|
'test/prefer-equality-matcher'?: Linter.RuleEntry<[]>;
|
|
@@ -4449,11 +4465,21 @@ interface RuleOptions {
|
|
|
4449
4465
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-vi-mocked.md
|
|
4450
4466
|
*/
|
|
4451
4467
|
'test/prefer-vi-mocked'?: Linter.RuleEntry<[]>;
|
|
4468
|
+
/**
|
|
4469
|
+
* ensure that every `expect.poll` call is awaited
|
|
4470
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-awaited-expect-poll.md
|
|
4471
|
+
*/
|
|
4472
|
+
'test/require-awaited-expect-poll'?: Linter.RuleEntry<[]>;
|
|
4452
4473
|
/**
|
|
4453
4474
|
* require setup and teardown to be within a hook
|
|
4454
4475
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
|
|
4455
4476
|
*/
|
|
4456
4477
|
'test/require-hook'?: Linter.RuleEntry<TestRequireHook>;
|
|
4478
|
+
/**
|
|
4479
|
+
* require usage of import in vi.mock()
|
|
4480
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-import-vi-mock.md
|
|
4481
|
+
*/
|
|
4482
|
+
'test/require-import-vi-mock'?: Linter.RuleEntry<[]>;
|
|
4457
4483
|
/**
|
|
4458
4484
|
* require local Test Context for concurrent snapshot tests
|
|
4459
4485
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
|
|
@@ -5053,6 +5079,11 @@ interface RuleOptions {
|
|
|
5053
5079
|
* @see https://typescript-eslint.io/rules/no-unused-expressions
|
|
5054
5080
|
*/
|
|
5055
5081
|
'ts/no-unused-expressions'?: Linter.RuleEntry<TsNoUnusedExpressions>;
|
|
5082
|
+
/**
|
|
5083
|
+
* Disallow unused private class members
|
|
5084
|
+
* @see https://typescript-eslint.io/rules/no-unused-private-class-members
|
|
5085
|
+
*/
|
|
5086
|
+
'ts/no-unused-private-class-members'?: Linter.RuleEntry<[]>;
|
|
5056
5087
|
/**
|
|
5057
5088
|
* Disallow unused variables
|
|
5058
5089
|
* @see https://typescript-eslint.io/rules/no-unused-vars
|
|
@@ -6500,6 +6531,11 @@ interface RuleOptions {
|
|
|
6500
6531
|
* @see https://eslint.vuejs.org/rules/no-duplicate-attributes.html
|
|
6501
6532
|
*/
|
|
6502
6533
|
'vue/no-duplicate-attributes'?: Linter.RuleEntry<VueNoDuplicateAttributes>;
|
|
6534
|
+
/**
|
|
6535
|
+
* disallow duplication of class names in class attributes
|
|
6536
|
+
* @see https://eslint.vuejs.org/rules/no-duplicate-class-names.html
|
|
6537
|
+
*/
|
|
6538
|
+
'vue/no-duplicate-class-names'?: Linter.RuleEntry<[]>;
|
|
6503
6539
|
/**
|
|
6504
6540
|
* disallow the `<template>` `<script>` `<style>` block to be empty
|
|
6505
6541
|
* @see https://eslint.vuejs.org/rules/no-empty-component-block.html
|
|
@@ -7835,6 +7871,7 @@ type JsdocCheckExamples = [] | [{
|
|
|
7835
7871
|
}];
|
|
7836
7872
|
// ----- jsdoc/check-indentation -----
|
|
7837
7873
|
type JsdocCheckIndentation = [] | [{
|
|
7874
|
+
allowIndentedSections?: boolean;
|
|
7838
7875
|
excludeTags?: string[];
|
|
7839
7876
|
}];
|
|
7840
7877
|
// ----- jsdoc/check-line-alignment -----
|
|
@@ -8181,6 +8218,14 @@ type JsdocRequireParamType = [] | [{
|
|
|
8181
8218
|
defaultDestructuredRootType?: string;
|
|
8182
8219
|
setDefaultDestructuredRootType?: boolean;
|
|
8183
8220
|
}];
|
|
8221
|
+
// ----- jsdoc/require-rejects -----
|
|
8222
|
+
type JsdocRequireRejects = [] | [{
|
|
8223
|
+
contexts?: (string | {
|
|
8224
|
+
comment?: string;
|
|
8225
|
+
context?: string;
|
|
8226
|
+
})[];
|
|
8227
|
+
exemptedBy?: string[];
|
|
8228
|
+
}];
|
|
8184
8229
|
// ----- jsdoc/require-returns -----
|
|
8185
8230
|
type JsdocRequireReturns = [] | [{
|
|
8186
8231
|
checkConstructors?: boolean;
|
|
@@ -8271,6 +8316,9 @@ type JsdocSortTags = [] | [{
|
|
|
8271
8316
|
linesBetween?: number;
|
|
8272
8317
|
reportIntraTagGroupSpacing?: boolean;
|
|
8273
8318
|
reportTagGroupSpacing?: boolean;
|
|
8319
|
+
tagExceptions?: {
|
|
8320
|
+
[k: string]: number;
|
|
8321
|
+
};
|
|
8274
8322
|
tagSequence?: {
|
|
8275
8323
|
tags?: string[];
|
|
8276
8324
|
}[];
|
|
@@ -11882,8 +11930,13 @@ type ReactNoForbiddenProps = [] | [{
|
|
|
11882
11930
|
prop: string;
|
|
11883
11931
|
})[];
|
|
11884
11932
|
}];
|
|
11933
|
+
// ----- react/no-unstable-default-props -----
|
|
11934
|
+
type ReactNoUnstableDefaultProps = [] | [{
|
|
11935
|
+
safeDefaultProps?: string[];
|
|
11936
|
+
}];
|
|
11885
11937
|
// ----- react/no-useless-fragment -----
|
|
11886
11938
|
type ReactNoUselessFragment = [] | [{
|
|
11939
|
+
allowEmptyFragment?: boolean;
|
|
11887
11940
|
allowExpressions?: boolean;
|
|
11888
11941
|
}];
|
|
11889
11942
|
// ----- regexp/hexadecimal-escape -----
|
|
@@ -13346,6 +13399,13 @@ type SwitchColonSpacing = [] | [{
|
|
|
13346
13399
|
type TemplateCurlySpacing = [] | [("always" | "never")];
|
|
13347
13400
|
// ----- template-tag-spacing -----
|
|
13348
13401
|
type TemplateTagSpacing = [] | [("always" | "never")];
|
|
13402
|
+
// ----- test/consistent-each-for -----
|
|
13403
|
+
type TestConsistentEachFor = [] | [{
|
|
13404
|
+
test?: ("each" | "for");
|
|
13405
|
+
it?: ("each" | "for");
|
|
13406
|
+
describe?: ("each" | "for");
|
|
13407
|
+
suite?: ("each" | "for");
|
|
13408
|
+
}];
|
|
13349
13409
|
// ----- test/consistent-test-filename -----
|
|
13350
13410
|
type TestConsistentTestFilename = [] | [{
|
|
13351
13411
|
pattern?: string;
|
|
@@ -13379,7 +13439,7 @@ type TestNoFocusedTests = [] | [{
|
|
|
13379
13439
|
}];
|
|
13380
13440
|
// ----- test/no-hooks -----
|
|
13381
13441
|
type TestNoHooks = [] | [{
|
|
13382
|
-
allow?:
|
|
13442
|
+
allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach")[];
|
|
13383
13443
|
}];
|
|
13384
13444
|
// ----- test/no-large-snapshots -----
|
|
13385
13445
|
type TestNoLargeSnapshots = [] | [{
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liwo/eslint-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.2",
|
|
5
5
|
"description": "ESLint config by Liwo",
|
|
6
6
|
"author": "Aoang <aoang@x2oe.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -49,64 +49,64 @@
|
|
|
49
49
|
"@antfu/install-pkg": "1.1.0",
|
|
50
50
|
"@clack/prompts": "0.11.0",
|
|
51
51
|
"@eslint-community/eslint-plugin-eslint-comments": "4.5.0",
|
|
52
|
-
"@eslint-react/eslint-plugin": "2.
|
|
53
|
-
"@eslint/markdown": "7.5.
|
|
54
|
-
"@stylistic/eslint-plugin": "5.
|
|
55
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
56
|
-
"@typescript-eslint/parser": "8.
|
|
57
|
-
"@vitest/eslint-plugin": "1.
|
|
52
|
+
"@eslint-react/eslint-plugin": "2.3.13",
|
|
53
|
+
"@eslint/markdown": "7.5.1",
|
|
54
|
+
"@stylistic/eslint-plugin": "5.6.1",
|
|
55
|
+
"@typescript-eslint/eslint-plugin": "8.49.0",
|
|
56
|
+
"@typescript-eslint/parser": "8.49.0",
|
|
57
|
+
"@vitest/eslint-plugin": "1.5.2",
|
|
58
58
|
"eslint-config-flat-gitignore": "2.1.0",
|
|
59
59
|
"eslint-flat-config-utils": "2.1.4",
|
|
60
60
|
"eslint-merge-processors": "2.0.0",
|
|
61
61
|
"eslint-plugin-antfu": "3.1.1",
|
|
62
62
|
"eslint-plugin-command": "3.3.1",
|
|
63
|
-
"eslint-plugin-format": "1.0
|
|
63
|
+
"eslint-plugin-format": "1.1.0",
|
|
64
64
|
"eslint-plugin-import-lite": "0.3.0",
|
|
65
|
-
"eslint-plugin-jsdoc": "61.
|
|
65
|
+
"eslint-plugin-jsdoc": "61.5.0",
|
|
66
66
|
"eslint-plugin-jsonc": "2.21.0",
|
|
67
67
|
"eslint-plugin-n": "17.23.1",
|
|
68
68
|
"eslint-plugin-no-only-tests": "3.3.0",
|
|
69
69
|
"eslint-plugin-perfectionist": "4.15.1",
|
|
70
|
-
"eslint-plugin-pnpm": "1.
|
|
70
|
+
"eslint-plugin-pnpm": "1.4.2",
|
|
71
71
|
"eslint-plugin-react-hooks": "7.0.1",
|
|
72
72
|
"eslint-plugin-react-refresh": "0.4.24",
|
|
73
73
|
"eslint-plugin-regexp": "2.10.0",
|
|
74
74
|
"eslint-plugin-toml": "0.12.0",
|
|
75
75
|
"eslint-plugin-unicorn": "62.0.0",
|
|
76
76
|
"eslint-plugin-unused-imports": "4.3.0",
|
|
77
|
-
"eslint-plugin-vue": "10.
|
|
77
|
+
"eslint-plugin-vue": "10.6.2",
|
|
78
78
|
"eslint-plugin-yml": "1.19.0",
|
|
79
79
|
"eslint-processor-vue-blocks": "2.0.0",
|
|
80
|
-
"globals": "16.
|
|
81
|
-
"jsonc-eslint-parser": "2.4.
|
|
80
|
+
"globals": "16.5.0",
|
|
81
|
+
"jsonc-eslint-parser": "2.4.2",
|
|
82
82
|
"local-pkg": "1.1.2",
|
|
83
83
|
"parse-gitignore": "2.0.0",
|
|
84
|
-
"toml-eslint-parser": "0.10.
|
|
84
|
+
"toml-eslint-parser": "0.10.1",
|
|
85
85
|
"vue-eslint-parser": "10.2.0",
|
|
86
|
-
"yaml-eslint-parser": "1.3.
|
|
86
|
+
"yaml-eslint-parser": "1.3.2"
|
|
87
87
|
},
|
|
88
88
|
"devDependencies": {
|
|
89
|
-
"@eslint/config-inspector": "
|
|
90
|
-
"@prettier/plugin-xml": "
|
|
91
|
-
"@types/node": "24.
|
|
92
|
-
"@unocss/eslint-plugin": "
|
|
93
|
-
"bumpp": "
|
|
94
|
-
"eslint": "
|
|
95
|
-
"eslint-plugin-vuejs-accessibility": "
|
|
96
|
-
"eslint-typegen": "
|
|
97
|
-
"execa": "
|
|
98
|
-
"lint-staged": "
|
|
99
|
-
"pnpm-workspace-yaml": "
|
|
100
|
-
"prettier-plugin-slidev": "
|
|
101
|
-
"react": "
|
|
102
|
-
"simple-git-hooks": "
|
|
103
|
-
"tinyglobby": "
|
|
104
|
-
"tsdown": "
|
|
105
|
-
"tsx": "
|
|
106
|
-
"typescript": "
|
|
107
|
-
"vitest": "
|
|
108
|
-
"vue": "
|
|
109
|
-
"@liwo/eslint-config": "0.1.
|
|
89
|
+
"@eslint/config-inspector": "1.4.2",
|
|
90
|
+
"@prettier/plugin-xml": "3.4.2",
|
|
91
|
+
"@types/node": "24.10.2",
|
|
92
|
+
"@unocss/eslint-plugin": "66.5.10",
|
|
93
|
+
"bumpp": "10.3.2",
|
|
94
|
+
"eslint": "9.39.1",
|
|
95
|
+
"eslint-plugin-vuejs-accessibility": "2.4.1",
|
|
96
|
+
"eslint-typegen": "2.3.0",
|
|
97
|
+
"execa": "9.6.1",
|
|
98
|
+
"lint-staged": "16.2.7",
|
|
99
|
+
"pnpm-workspace-yaml": "1.4.2",
|
|
100
|
+
"prettier-plugin-slidev": "1.0.5",
|
|
101
|
+
"react": "19.2.1",
|
|
102
|
+
"simple-git-hooks": "2.13.1",
|
|
103
|
+
"tinyglobby": "0.2.15",
|
|
104
|
+
"tsdown": "0.17.2",
|
|
105
|
+
"tsx": "4.21.0",
|
|
106
|
+
"typescript": "5.9.3",
|
|
107
|
+
"vitest": "4.0.15",
|
|
108
|
+
"vue": "3.5.25",
|
|
109
|
+
"@liwo/eslint-config": "0.1.2"
|
|
110
110
|
},
|
|
111
111
|
"simple-git-hooks": {
|
|
112
112
|
"pre-commit": "npx lint-staged"
|