eslint-config-typed 3.14.1 → 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/README.md +90 -9
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-deep-strict-equal-over-deep-equal.d.mts +6 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-deep-strict-equal-over-deep-equal.d.mts.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/{prefer-assert-over-assert-ok.mjs → prefer-assert-deep-strict-equal-over-deep-equal.mjs} +8 -8
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-deep-strict-equal-over-deep-equal.mjs.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-negation.d.mts +6 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-negation.d.mts.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-negation.mjs +41 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-negation.mjs.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-not-ok.d.mts +6 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-not-ok.d.mts.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-assert-is-not-ok.mjs → prefer-assert-is-false-over-assert-not-ok.mjs} +8 -8
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-not-ok.mjs.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.d.mts +6 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.d.mts.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-expect-false.mjs → prefer-assert-is-false-over-expect-false.mjs} +7 -7
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.mjs.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert-negated-is-false.d.mts +6 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert-negated-is-false.d.mts.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert-negated-is-false.mjs +41 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert-negated-is-false.mjs.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert.d.mts +6 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert.d.mts.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert.mjs +52 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert.mjs.map +1 -0
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.d.mts +6 -0
- package/dist/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-expect-false.d.mts.map → prefer-assert-is-true-over-expect-true.d.mts.map} +1 -1
- package/dist/plugins/vitest-coding-style/rules/{prefer-assert-over-expect-true.mjs → prefer-assert-is-true-over-expect-true.mjs} +7 -7
- package/dist/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-expect-false.mjs.map → prefer-assert-is-true-over-expect-true.mjs.map} +1 -1
- package/dist/plugins/vitest-coding-style/rules/rules.d.mts +7 -4
- package/dist/plugins/vitest-coding-style/rules/rules.d.mts.map +1 -1
- package/dist/plugins/vitest-coding-style/rules/rules.mjs +14 -8
- package/dist/plugins/vitest-coding-style/rules/rules.mjs.map +1 -1
- package/dist/rules/eslint-vitest-coding-style-rules.d.mts +7 -4
- package/dist/rules/eslint-vitest-coding-style-rules.d.mts.map +1 -1
- package/dist/rules/eslint-vitest-coding-style-rules.mjs +7 -4
- package/dist/rules/eslint-vitest-coding-style-rules.mjs.map +1 -1
- package/dist/types/rules/eslint-vitest-coding-style-rules.d.mts +57 -12
- package/dist/types/rules/eslint-vitest-coding-style-rules.d.mts.map +1 -1
- package/package.json +6 -1
- package/src/plugins/vitest-coding-style/rules/original-assert-api-type.test.mts +147 -0
- package/src/plugins/vitest-coding-style/rules/prefer-assert-coding-style-rules.test.mts +118 -40
- package/src/plugins/vitest-coding-style/rules/{prefer-assert-over-assert-ok.mts → prefer-assert-deep-strict-equal-over-deep-equal.mts} +8 -8
- package/src/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-assert-negation.mts +53 -0
- package/src/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-assert-is-not-ok.mts → prefer-assert-is-false-over-assert-not-ok.mts} +9 -8
- package/src/plugins/vitest-coding-style/rules/{prefer-assert-not-ok-over-expect-false.mts → prefer-assert-is-false-over-expect-false.mts} +8 -7
- package/src/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert-negated-is-false.mts +53 -0
- package/src/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-assert.mts +67 -0
- package/src/plugins/vitest-coding-style/rules/{prefer-assert-over-expect-true.mts → prefer-assert-is-true-over-expect-true.mts} +8 -7
- package/src/plugins/vitest-coding-style/rules/rules.mts +22 -10
- package/src/plugins/vitest-coding-style/rules/vitest-coding-style.d.mts +1574 -0
- package/src/rules/eslint-vitest-coding-style-rules.mts +10 -4
- package/src/types/rules/eslint-vitest-coding-style-rules.mts +60 -12
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-not-ok-over-assert-is-not-ok.d.mts +0 -6
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-not-ok-over-assert-is-not-ok.d.mts.map +0 -1
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-not-ok-over-assert-is-not-ok.mjs.map +0 -1
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-not-ok-over-expect-false.d.mts +0 -6
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-assert-ok.d.mts +0 -6
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-assert-ok.d.mts.map +0 -1
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-assert-ok.mjs.map +0 -1
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-expect-true.d.mts +0 -6
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-expect-true.d.mts.map +0 -1
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-over-expect-true.mjs.map +0 -1
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { noExpectToStrictEqualRule } from './no-expect-to-strict-equal.mjs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { preferAssertDeepStrictEqualOverDeepEqualRule } from './prefer-assert-deep-strict-equal-over-deep-equal.mjs';
|
|
3
|
+
import { preferAssertIsFalseOverNegatedAssertIsTrueRule } from './prefer-assert-is-false-over-assert-negation.mjs';
|
|
4
|
+
import { preferAssertIsFalseOverAssertNotOkRule } from './prefer-assert-is-false-over-assert-not-ok.mjs';
|
|
5
|
+
import { preferAssertIsFalseOverExpectFalseRule } from './prefer-assert-is-false-over-expect-false.mjs';
|
|
6
|
+
import { preferAssertIsTrueOverNegatedAssertIsFalseRule } from './prefer-assert-is-true-over-assert-negated-is-false.mjs';
|
|
7
|
+
import { preferAssertIsTrueOverAssertRule } from './prefer-assert-is-true-over-assert.mjs';
|
|
8
|
+
import { preferAssertIsTrueOverExpectTrueRule } from './prefer-assert-is-true-over-expect-true.mjs';
|
|
6
9
|
|
|
7
10
|
const vitestCodingStyleRules = {
|
|
8
11
|
'no-expect-to-strict-equal': noExpectToStrictEqualRule,
|
|
9
|
-
'prefer-assert-over-
|
|
10
|
-
'prefer-assert-
|
|
11
|
-
'prefer-assert-over-
|
|
12
|
-
'prefer-assert-
|
|
12
|
+
'prefer-assert-deep-strict-equal-over-deep-equal': preferAssertDeepStrictEqualOverDeepEqualRule,
|
|
13
|
+
'prefer-assert-is-true-over-assert': preferAssertIsTrueOverAssertRule,
|
|
14
|
+
'prefer-assert-is-false-over-assert-not-ok': preferAssertIsFalseOverAssertNotOkRule,
|
|
15
|
+
'prefer-assert-is-true-over-expect-true': preferAssertIsTrueOverExpectTrueRule,
|
|
16
|
+
'prefer-assert-is-false-over-expect-false': preferAssertIsFalseOverExpectFalseRule,
|
|
17
|
+
'prefer-assert-is-false-over-negated-assert-is-true': preferAssertIsFalseOverNegatedAssertIsTrueRule,
|
|
18
|
+
'prefer-assert-is-true-over-negated-assert-is-false': preferAssertIsTrueOverNegatedAssertIsFalseRule,
|
|
13
19
|
};
|
|
14
20
|
|
|
15
21
|
export { vitestCodingStyleRules };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.mjs","sources":["../../../../src/plugins/vitest-coding-style/rules/rules.mts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rules.mjs","sources":["../../../../src/plugins/vitest-coding-style/rules/rules.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAUO,MAAM,sBAAsB,GAAG;AACpC,IAAA,2BAA2B,EAAE,yBAAyB;AAEtD,IAAA,iDAAiD,EAC/C,4CAA4C;AAE9C,IAAA,mCAAmC,EAAE,gCAAgC;AACrE,IAAA,2CAA2C,EACzC,sCAAsC;AAExC,IAAA,wCAAwC,EACtC,oCAAoC;AACtC,IAAA,0CAA0C,EACxC,sCAAsC;AAExC,IAAA,oDAAoD,EAClD,8CAA8C;AAChD,IAAA,oDAAoD,EAClD,8CAA8C;;;;;"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
export declare const eslintVitestCodingStyleRules: {
|
|
2
2
|
readonly 'vitest-coding-style/no-expect-to-strict-equal': "error";
|
|
3
|
-
readonly 'vitest-coding-style/prefer-assert-over-
|
|
4
|
-
readonly 'vitest-coding-style/prefer-assert-
|
|
5
|
-
readonly 'vitest-coding-style/prefer-assert-over-expect-
|
|
6
|
-
readonly 'vitest-coding-style/prefer-assert-
|
|
3
|
+
readonly 'vitest-coding-style/prefer-assert-deep-strict-equal-over-deep-equal': "error";
|
|
4
|
+
readonly 'vitest-coding-style/prefer-assert-is-false-over-assert-not-ok': "error";
|
|
5
|
+
readonly 'vitest-coding-style/prefer-assert-is-false-over-expect-false': "error";
|
|
6
|
+
readonly 'vitest-coding-style/prefer-assert-is-false-over-negated-assert-is-true': "error";
|
|
7
|
+
readonly 'vitest-coding-style/prefer-assert-is-true-over-assert': "error";
|
|
8
|
+
readonly 'vitest-coding-style/prefer-assert-is-true-over-expect-true': "error";
|
|
9
|
+
readonly 'vitest-coding-style/prefer-assert-is-true-over-negated-assert-is-false': "error";
|
|
7
10
|
};
|
|
8
11
|
//# sourceMappingURL=eslint-vitest-coding-style-rules.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint-vitest-coding-style-rules.d.mts","sourceRoot":"","sources":["../../src/rules/eslint-vitest-coding-style-rules.mts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B
|
|
1
|
+
{"version":3,"file":"eslint-vitest-coding-style-rules.d.mts","sourceRoot":"","sources":["../../src/rules/eslint-vitest-coding-style-rules.mts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B;;;;;;;;;CAYQ,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
const eslintVitestCodingStyleRules = {
|
|
2
2
|
'vitest-coding-style/no-expect-to-strict-equal': 'error',
|
|
3
|
-
'vitest-coding-style/prefer-assert-over-
|
|
4
|
-
'vitest-coding-style/prefer-assert-
|
|
5
|
-
'vitest-coding-style/prefer-assert-over-expect-
|
|
6
|
-
'vitest-coding-style/prefer-assert-
|
|
3
|
+
'vitest-coding-style/prefer-assert-deep-strict-equal-over-deep-equal': 'error',
|
|
4
|
+
'vitest-coding-style/prefer-assert-is-false-over-assert-not-ok': 'error',
|
|
5
|
+
'vitest-coding-style/prefer-assert-is-false-over-expect-false': 'error',
|
|
6
|
+
'vitest-coding-style/prefer-assert-is-false-over-negated-assert-is-true': 'error',
|
|
7
|
+
'vitest-coding-style/prefer-assert-is-true-over-assert': 'error',
|
|
8
|
+
'vitest-coding-style/prefer-assert-is-true-over-expect-true': 'error',
|
|
9
|
+
'vitest-coding-style/prefer-assert-is-true-over-negated-assert-is-false': 'error',
|
|
7
10
|
};
|
|
8
11
|
|
|
9
12
|
export { eslintVitestCodingStyleRules };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint-vitest-coding-style-rules.mjs","sources":["../../src/rules/eslint-vitest-coding-style-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"AAEO,MAAM,4BAA4B,GAAG;AAC1C,IAAA,+CAA+C,EAAE,OAAO;AACxD,IAAA,
|
|
1
|
+
{"version":3,"file":"eslint-vitest-coding-style-rules.mjs","sources":["../../src/rules/eslint-vitest-coding-style-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"AAEO,MAAM,4BAA4B,GAAG;AAC1C,IAAA,+CAA+C,EAAE,OAAO;AACxD,IAAA,qEAAqE,EACnE,OAAO;AACT,IAAA,+DAA+D,EAAE,OAAO;AACxE,IAAA,8DAA8D,EAAE,OAAO;AACvE,IAAA,wEAAwE,EACtE,OAAO;AACT,IAAA,uDAAuD,EAAE,OAAO;AAChE,IAAA,4DAA4D,EAAE,OAAO;AACrE,IAAA,wEAAwE,EACtE,OAAO;;;;;"}
|
|
@@ -15,7 +15,7 @@ declare namespace NoExpectToStrictEqual {
|
|
|
15
15
|
type RuleEntry = Linter.StringSeverity;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
* Prefer assert(X) over assert.
|
|
18
|
+
* Prefer assert.deepStrictEqual(X) over assert.deepEqual(X).
|
|
19
19
|
*
|
|
20
20
|
* ```md
|
|
21
21
|
* | key | value |
|
|
@@ -25,11 +25,11 @@ declare namespace NoExpectToStrictEqual {
|
|
|
25
25
|
* | fixable | code |
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
|
-
declare namespace
|
|
28
|
+
declare namespace PreferAssertDeepStrictEqualOverDeepEqual {
|
|
29
29
|
type RuleEntry = Linter.StringSeverity;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
* Prefer assert.
|
|
32
|
+
* Prefer assert.isTrue(X) over assert(X), assert.isOk(X), assert.ok(X).
|
|
33
33
|
*
|
|
34
34
|
* ```md
|
|
35
35
|
* | key | value |
|
|
@@ -39,11 +39,11 @@ declare namespace PreferAssertOverAssertOk {
|
|
|
39
39
|
* | fixable | code |
|
|
40
40
|
* ```
|
|
41
41
|
*/
|
|
42
|
-
declare namespace
|
|
42
|
+
declare namespace PreferAssertIsTrueOverAssert {
|
|
43
43
|
type RuleEntry = Linter.StringSeverity;
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
|
-
* Prefer assert(X) over
|
|
46
|
+
* Prefer assert.isFalse(X) over assert.isNotOk(X), assert.notOk(X).
|
|
47
47
|
*
|
|
48
48
|
* ```md
|
|
49
49
|
* | key | value |
|
|
@@ -53,11 +53,11 @@ declare namespace PreferAssertNotOkOverAssertIsNotOk {
|
|
|
53
53
|
* | fixable | code |
|
|
54
54
|
* ```
|
|
55
55
|
*/
|
|
56
|
-
declare namespace
|
|
56
|
+
declare namespace PreferAssertIsFalseOverAssertNotOk {
|
|
57
57
|
type RuleEntry = Linter.StringSeverity;
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
60
|
-
* Prefer assert.
|
|
60
|
+
* Prefer assert.isTrue(X) over expect(X).toBe(true) (only if X is boolean)
|
|
61
61
|
*
|
|
62
62
|
* ```md
|
|
63
63
|
* | key | value |
|
|
@@ -67,15 +67,60 @@ declare namespace PreferAssertOverExpectTrue {
|
|
|
67
67
|
* | fixable | code |
|
|
68
68
|
* ```
|
|
69
69
|
*/
|
|
70
|
-
declare namespace
|
|
70
|
+
declare namespace PreferAssertIsTrueOverExpectTrue {
|
|
71
|
+
type RuleEntry = Linter.StringSeverity;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Prefer assert.isFalse(X) over expect(X).toBe(false) (only if X is boolean)
|
|
75
|
+
*
|
|
76
|
+
* ```md
|
|
77
|
+
* | key | value |
|
|
78
|
+
* | :--------- | :--------- |
|
|
79
|
+
* | type | suggestion |
|
|
80
|
+
* | deprecated | false |
|
|
81
|
+
* | fixable | code |
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
declare namespace PreferAssertIsFalseOverExpectFalse {
|
|
85
|
+
type RuleEntry = Linter.StringSeverity;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Prefer assert.isFalse(X) over assert.isTrue(!X).
|
|
89
|
+
*
|
|
90
|
+
* ```md
|
|
91
|
+
* | key | value |
|
|
92
|
+
* | :--------- | :--------- |
|
|
93
|
+
* | type | suggestion |
|
|
94
|
+
* | deprecated | false |
|
|
95
|
+
* | fixable | code |
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
declare namespace PreferAssertIsFalseOverNegatedAssertIsTrue {
|
|
99
|
+
type RuleEntry = Linter.StringSeverity;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Prefer assert.isTrue(X) over assert.isFalse(!X).
|
|
103
|
+
*
|
|
104
|
+
* ```md
|
|
105
|
+
* | key | value |
|
|
106
|
+
* | :--------- | :--------- |
|
|
107
|
+
* | type | suggestion |
|
|
108
|
+
* | deprecated | false |
|
|
109
|
+
* | fixable | code |
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
declare namespace PreferAssertIsTrueOverNegatedAssertIsFalse {
|
|
71
113
|
type RuleEntry = Linter.StringSeverity;
|
|
72
114
|
}
|
|
73
115
|
export type EslintVitestCodingStyleRules = Readonly<{
|
|
74
116
|
'vitest-coding-style/no-expect-to-strict-equal': NoExpectToStrictEqual.RuleEntry;
|
|
75
|
-
'vitest-coding-style/prefer-assert-over-
|
|
76
|
-
'vitest-coding-style/prefer-assert-
|
|
77
|
-
'vitest-coding-style/prefer-assert-over-
|
|
78
|
-
'vitest-coding-style/prefer-assert-
|
|
117
|
+
'vitest-coding-style/prefer-assert-deep-strict-equal-over-deep-equal': PreferAssertDeepStrictEqualOverDeepEqual.RuleEntry;
|
|
118
|
+
'vitest-coding-style/prefer-assert-is-true-over-assert': PreferAssertIsTrueOverAssert.RuleEntry;
|
|
119
|
+
'vitest-coding-style/prefer-assert-is-false-over-assert-not-ok': PreferAssertIsFalseOverAssertNotOk.RuleEntry;
|
|
120
|
+
'vitest-coding-style/prefer-assert-is-true-over-expect-true': PreferAssertIsTrueOverExpectTrue.RuleEntry;
|
|
121
|
+
'vitest-coding-style/prefer-assert-is-false-over-expect-false': PreferAssertIsFalseOverExpectFalse.RuleEntry;
|
|
122
|
+
'vitest-coding-style/prefer-assert-is-false-over-negated-assert-is-true': PreferAssertIsFalseOverNegatedAssertIsTrue.RuleEntry;
|
|
123
|
+
'vitest-coding-style/prefer-assert-is-true-over-negated-assert-is-false': PreferAssertIsTrueOverNegatedAssertIsFalse.RuleEntry;
|
|
79
124
|
}>;
|
|
80
125
|
export {};
|
|
81
126
|
//# sourceMappingURL=eslint-vitest-coding-style-rules.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint-vitest-coding-style-rules.d.mts","sourceRoot":"","sources":["../../../src/types/rules/eslint-vitest-coding-style-rules.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;;;;;;;;;;GAWG;AACH,kBAAU,qBAAqB,CAAC;IAC9B,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,kBAAU,
|
|
1
|
+
{"version":3,"file":"eslint-vitest-coding-style-rules.d.mts","sourceRoot":"","sources":["../../../src/types/rules/eslint-vitest-coding-style-rules.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;;;;;;;;;;GAWG;AACH,kBAAU,qBAAqB,CAAC;IAC9B,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,kBAAU,wCAAwC,CAAC;IACjD,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,kBAAU,4BAA4B,CAAC;IACrC,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,kBAAU,kCAAkC,CAAC;IAC3C,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,kBAAU,gCAAgC,CAAC;IACzC,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,kBAAU,kCAAkC,CAAC;IAC3C,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,kBAAU,0CAA0C,CAAC;IACnD,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,kBAAU,0CAA0C,CAAC;IACnD,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC;IAClD,+CAA+C,EAAE,qBAAqB,CAAC,SAAS,CAAC;IACjF,qEAAqE,EAAE,wCAAwC,CAAC,SAAS,CAAC;IAC1H,uDAAuD,EAAE,4BAA4B,CAAC,SAAS,CAAC;IAChG,+DAA+D,EAAE,kCAAkC,CAAC,SAAS,CAAC;IAC9G,4DAA4D,EAAE,gCAAgC,CAAC,SAAS,CAAC;IACzG,8DAA8D,EAAE,kCAAkC,CAAC,SAAS,CAAC;IAC7G,wEAAwE,EAAE,0CAA0C,CAAC,SAAS,CAAC;IAC/H,wEAAwE,EAAE,0CAA0C,CAAC,SAAS,CAAC;CAChI,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-config-typed",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript"
|
|
@@ -19,6 +19,11 @@
|
|
|
19
19
|
"types": "./dist/types.d.mts",
|
|
20
20
|
"default": "./dist/entry-point.mjs"
|
|
21
21
|
}
|
|
22
|
+
},
|
|
23
|
+
"./vitest-coding-style": {
|
|
24
|
+
"import": {
|
|
25
|
+
"types": "./src/plugins/vitest-coding-style/rules/vitest-coding-style.d.mts"
|
|
26
|
+
}
|
|
22
27
|
}
|
|
23
28
|
},
|
|
24
29
|
"module": "./dist/entry-point.mjs",
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { expectType } from 'ts-data-forge';
|
|
2
|
+
// eslint-disable-next-line vitest/no-importing-vitest-globals
|
|
3
|
+
import { type assert as originalAssert } from 'vitest';
|
|
4
|
+
|
|
5
|
+
expectType<
|
|
6
|
+
StrictExclude<
|
|
7
|
+
keyof typeof originalAssert,
|
|
8
|
+
| 'approximately'
|
|
9
|
+
| 'changes'
|
|
10
|
+
| 'changesBy'
|
|
11
|
+
| 'closeTo'
|
|
12
|
+
| 'containsAllDeepKeys'
|
|
13
|
+
| 'containsAllKeys'
|
|
14
|
+
| 'containsSubset'
|
|
15
|
+
| 'containSubset'
|
|
16
|
+
| 'decreases'
|
|
17
|
+
| 'decreasesButNotBy'
|
|
18
|
+
| 'decreasesBy'
|
|
19
|
+
| 'deepEqual' // remove
|
|
20
|
+
| 'deepInclude'
|
|
21
|
+
| 'deepNestedInclude'
|
|
22
|
+
| 'deepNestedPropertyVal'
|
|
23
|
+
| 'deepOwnInclude'
|
|
24
|
+
| 'deepProperty'
|
|
25
|
+
| 'deepPropertyVal'
|
|
26
|
+
| 'deepStrictEqual'
|
|
27
|
+
| 'doesNotChange'
|
|
28
|
+
| 'doesNotContainSubset'
|
|
29
|
+
| 'doesNotDecrease'
|
|
30
|
+
| 'doesNotDecreaseBy'
|
|
31
|
+
| 'doesNotHaveAllDeepKeys'
|
|
32
|
+
| 'doesNotHaveAllKeys'
|
|
33
|
+
| 'doesNotHaveAnyDeepKeys'
|
|
34
|
+
| 'doesNotHaveAnyKeys'
|
|
35
|
+
| 'doesNotIncrease'
|
|
36
|
+
| 'doesNotThrow'
|
|
37
|
+
| 'equal' // remove
|
|
38
|
+
| 'exists'
|
|
39
|
+
| 'extensible'
|
|
40
|
+
| 'fail'
|
|
41
|
+
| 'frozen'
|
|
42
|
+
| 'hasAllDeepKeys'
|
|
43
|
+
| 'hasAllKeys'
|
|
44
|
+
| 'hasAnyDeepKeys'
|
|
45
|
+
| 'hasAnyKeys'
|
|
46
|
+
| 'ifError'
|
|
47
|
+
| 'include'
|
|
48
|
+
| 'includeDeepMembers'
|
|
49
|
+
| 'includeDeepOrderedMembers'
|
|
50
|
+
| 'includeMembers'
|
|
51
|
+
| 'includeOrderedMembers'
|
|
52
|
+
| 'increases'
|
|
53
|
+
| 'increasesButNotBy'
|
|
54
|
+
| 'increasesBy'
|
|
55
|
+
| 'instanceOf'
|
|
56
|
+
| 'isAbove'
|
|
57
|
+
| 'isArray'
|
|
58
|
+
| 'isAtLeast'
|
|
59
|
+
| 'isAtMost'
|
|
60
|
+
| 'isBelow'
|
|
61
|
+
| 'isBoolean'
|
|
62
|
+
| 'isDefined'
|
|
63
|
+
| 'isEmpty'
|
|
64
|
+
| 'isExtensible'
|
|
65
|
+
| 'isFalse'
|
|
66
|
+
| 'isFinite'
|
|
67
|
+
| 'isFrozen'
|
|
68
|
+
| 'isFunction'
|
|
69
|
+
| 'isNaN'
|
|
70
|
+
| 'isNotArray'
|
|
71
|
+
| 'isNotBoolean'
|
|
72
|
+
| 'isNotEmpty'
|
|
73
|
+
| 'isNotExtensible'
|
|
74
|
+
| 'isNotFalse'
|
|
75
|
+
| 'isNotFrozen'
|
|
76
|
+
| 'isNotFunction'
|
|
77
|
+
| 'isNotNaN'
|
|
78
|
+
| 'isNotNull'
|
|
79
|
+
| 'isNotNumber'
|
|
80
|
+
| 'isNotObject'
|
|
81
|
+
| 'isNotOk' // remove
|
|
82
|
+
| 'isNotSealed'
|
|
83
|
+
| 'isNotString'
|
|
84
|
+
| 'isNotTrue'
|
|
85
|
+
| 'isNull'
|
|
86
|
+
| 'isNumber'
|
|
87
|
+
| 'isObject'
|
|
88
|
+
| 'isOk' // remove
|
|
89
|
+
| 'isSealed'
|
|
90
|
+
| 'isString'
|
|
91
|
+
| 'isTrue'
|
|
92
|
+
| 'isUndefined'
|
|
93
|
+
| 'lengthOf'
|
|
94
|
+
| 'match'
|
|
95
|
+
| 'nestedInclude'
|
|
96
|
+
| 'nestedProperty'
|
|
97
|
+
| 'nestedPropertyVal'
|
|
98
|
+
| 'notDeepEqual'
|
|
99
|
+
| 'notDeepInclude'
|
|
100
|
+
| 'notDeepNestedInclude'
|
|
101
|
+
| 'notDeepNestedPropertyVal'
|
|
102
|
+
| 'notDeepOwnInclude'
|
|
103
|
+
| 'notDeepProperty'
|
|
104
|
+
| 'notDeepPropertyVal'
|
|
105
|
+
| 'notEqual' // remove
|
|
106
|
+
| 'notExists'
|
|
107
|
+
| 'notExtensible'
|
|
108
|
+
| 'notFrozen'
|
|
109
|
+
| 'notInclude'
|
|
110
|
+
| 'notIncludeDeepMembers'
|
|
111
|
+
| 'notIncludeDeepOrderedMembers'
|
|
112
|
+
| 'notIncludeMembers'
|
|
113
|
+
| 'notIncludeOrderedMembers'
|
|
114
|
+
| 'notInstanceOf'
|
|
115
|
+
| 'notMatch'
|
|
116
|
+
| 'notNestedInclude'
|
|
117
|
+
| 'notNestedProperty'
|
|
118
|
+
| 'notNestedPropertyVal'
|
|
119
|
+
| 'notOk' // remove
|
|
120
|
+
| 'notOwnInclude'
|
|
121
|
+
| 'notProperty'
|
|
122
|
+
| 'notPropertyVal'
|
|
123
|
+
| 'notSameDeepMembers'
|
|
124
|
+
| 'notSameDeepOrderedMembers'
|
|
125
|
+
| 'notSameOrderedMembers'
|
|
126
|
+
| 'notSealed'
|
|
127
|
+
| 'notStrictEqual'
|
|
128
|
+
| 'notTypeOf'
|
|
129
|
+
| 'ok' // remove
|
|
130
|
+
| 'oneOf'
|
|
131
|
+
| 'operator'
|
|
132
|
+
| 'ownInclude'
|
|
133
|
+
| 'property'
|
|
134
|
+
| 'propertyVal'
|
|
135
|
+
| 'sameDeepMembers'
|
|
136
|
+
| 'sameDeepOrderedMembers'
|
|
137
|
+
| 'sameMembers'
|
|
138
|
+
| 'sameOrderedMembers'
|
|
139
|
+
| 'sealed'
|
|
140
|
+
| 'strictEqual'
|
|
141
|
+
| 'throw'
|
|
142
|
+
| 'Throw'
|
|
143
|
+
| 'throws'
|
|
144
|
+
| 'typeOf'
|
|
145
|
+
>,
|
|
146
|
+
never
|
|
147
|
+
>('=');
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import parser from '@typescript-eslint/parser';
|
|
2
2
|
import { RuleTester } from '@typescript-eslint/rule-tester';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { preferAssertDeepStrictEqualOverDeepEqualRule } from './prefer-assert-deep-strict-equal-over-deep-equal.mjs';
|
|
4
|
+
import { preferAssertIsFalseOverNegatedAssertIsTrueRule } from './prefer-assert-is-false-over-assert-negation.mjs';
|
|
5
|
+
import { preferAssertIsFalseOverAssertNotOkRule } from './prefer-assert-is-false-over-assert-not-ok.mjs';
|
|
6
|
+
import { preferAssertIsFalseOverExpectFalseRule } from './prefer-assert-is-false-over-expect-false.mjs';
|
|
7
|
+
import { preferAssertIsTrueOverAssertRule } from './prefer-assert-is-true-over-assert.mjs';
|
|
8
|
+
import { preferAssertIsTrueOverExpectTrueRule } from './prefer-assert-is-true-over-expect-true.mjs';
|
|
7
9
|
|
|
8
10
|
const ruleTester = new RuleTester({
|
|
9
11
|
languageOptions: {
|
|
@@ -16,27 +18,31 @@ const ruleTester = new RuleTester({
|
|
|
16
18
|
});
|
|
17
19
|
|
|
18
20
|
ruleTester.run(
|
|
19
|
-
'prefer-assert-
|
|
20
|
-
|
|
21
|
+
'prefer-assert-deep-strict-equal-over-deep-equal',
|
|
22
|
+
preferAssertDeepStrictEqualOverDeepEqualRule,
|
|
21
23
|
{
|
|
22
24
|
valid: [
|
|
23
|
-
{ code: 'assert.
|
|
24
|
-
{ code: '
|
|
25
|
-
{ code: 'expect(0).toEqual(false);' },
|
|
25
|
+
{ code: 'assert.deepStrictEqual(a, b);' },
|
|
26
|
+
{ code: 'foo.deepEqual(a, b);' },
|
|
26
27
|
],
|
|
27
28
|
invalid: [
|
|
28
29
|
{
|
|
29
|
-
code: '
|
|
30
|
-
output: 'assert.
|
|
31
|
-
errors: [{ messageId: '
|
|
30
|
+
code: 'assert.deepEqual(a, b, "message");',
|
|
31
|
+
output: 'assert.deepStrictEqual(a, b, "message");',
|
|
32
|
+
errors: [{ messageId: 'preferAssertDeepStrictEqual' }],
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
code: 'assert.deepEqual(a, b);',
|
|
36
|
+
output: 'assert.deepStrictEqual(a, b);',
|
|
37
|
+
errors: [{ messageId: 'preferAssertDeepStrictEqual' }],
|
|
32
38
|
},
|
|
33
39
|
],
|
|
34
40
|
},
|
|
35
41
|
);
|
|
36
42
|
|
|
37
43
|
ruleTester.run(
|
|
38
|
-
'prefer-assert-over-expect-true',
|
|
39
|
-
|
|
44
|
+
'prefer-assert-is-over-expect-true',
|
|
45
|
+
preferAssertIsTrueOverExpectTrueRule,
|
|
40
46
|
{
|
|
41
47
|
valid: [
|
|
42
48
|
{ code: 'assert(0);' },
|
|
@@ -48,48 +54,120 @@ ruleTester.run(
|
|
|
48
54
|
invalid: [
|
|
49
55
|
{
|
|
50
56
|
code: 'expect(Array.isArray([{}])).toBe(true);',
|
|
51
|
-
output: 'assert(Array.isArray([{}]));',
|
|
52
|
-
errors: [{ messageId: '
|
|
57
|
+
output: 'assert.isTrue(Array.isArray([{}]));',
|
|
58
|
+
errors: [{ messageId: 'preferAssertIsTrueOverExpectTrue' }],
|
|
53
59
|
},
|
|
54
60
|
],
|
|
55
61
|
},
|
|
56
62
|
);
|
|
57
63
|
|
|
58
|
-
ruleTester.run(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
});
|
|
64
|
+
ruleTester.run(
|
|
65
|
+
'prefer-assert-is-false-over-expect-false',
|
|
66
|
+
preferAssertIsFalseOverExpectFalseRule,
|
|
67
|
+
{
|
|
68
|
+
valid: [
|
|
69
|
+
{ code: 'assert.notOk(0);' },
|
|
70
|
+
{ code: 'expect(0).toBe(true);' },
|
|
71
|
+
{ code: 'expect(0).toEqual(false);' },
|
|
72
|
+
],
|
|
73
|
+
invalid: [
|
|
74
|
+
{
|
|
75
|
+
code: 'expect(Array.isArray({})).toBe(false);',
|
|
76
|
+
output: 'assert.isFalse(Array.isArray({}));',
|
|
77
|
+
errors: [{ messageId: 'preferAssertIsFalseOverExpectFalse' }],
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
},
|
|
81
|
+
);
|
|
77
82
|
|
|
78
83
|
ruleTester.run(
|
|
79
|
-
'prefer-assert-
|
|
80
|
-
|
|
84
|
+
'prefer-assert-is-true-over-assert',
|
|
85
|
+
preferAssertIsTrueOverAssertRule,
|
|
81
86
|
{
|
|
82
87
|
valid: [
|
|
83
|
-
{ code: 'assert(0);' },
|
|
88
|
+
{ code: 'assert.isTrue(0);' },
|
|
84
89
|
{ code: 'assert.notOk(0);' },
|
|
90
|
+
{ code: 'foo.ok(0);' },
|
|
91
|
+
],
|
|
92
|
+
invalid: [
|
|
93
|
+
{
|
|
94
|
+
code: 'assert.isOk(Array.isArray([]));',
|
|
95
|
+
output: 'assert.isTrue(Array.isArray([]));',
|
|
96
|
+
errors: [{ messageId: 'preferAssertIsTrueOverAssert' }],
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
code: 'assert.ok(Array.isArray([]));',
|
|
100
|
+
output: 'assert.isTrue(Array.isArray([]));',
|
|
101
|
+
errors: [{ messageId: 'preferAssertIsTrueOverAssert' }],
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
code: 'assert(Array.isArray([]));',
|
|
105
|
+
output: 'assert.isTrue(Array.isArray([]));',
|
|
106
|
+
errors: [{ messageId: 'preferAssertIsTrueOverAssert' }],
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
ruleTester.run(
|
|
113
|
+
'prefer-assert-is-false-over-assert-is-not-ok',
|
|
114
|
+
preferAssertIsFalseOverAssertNotOkRule,
|
|
115
|
+
{
|
|
116
|
+
valid: [
|
|
117
|
+
{ code: 'assert(0);' },
|
|
118
|
+
{ code: 'assert.isFalse(0);' },
|
|
85
119
|
{ code: 'foo.isNotOk(0);' },
|
|
86
120
|
],
|
|
87
121
|
invalid: [
|
|
88
122
|
{
|
|
89
123
|
code: 'assert.isNotOk(Array.isArray([]));',
|
|
90
|
-
output: 'assert.
|
|
91
|
-
errors: [{ messageId: '
|
|
124
|
+
output: 'assert.isFalse(Array.isArray([]));',
|
|
125
|
+
errors: [{ messageId: 'preferAssertIsFalseOverAssertNotOk' }],
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
code: 'assert.notOk(Array.isArray([]));',
|
|
129
|
+
output: 'assert.isFalse(Array.isArray([]));',
|
|
130
|
+
errors: [{ messageId: 'preferAssertIsFalseOverAssertNotOk' }],
|
|
92
131
|
},
|
|
93
132
|
],
|
|
94
133
|
},
|
|
95
134
|
);
|
|
135
|
+
|
|
136
|
+
ruleTester.run(
|
|
137
|
+
'prefer-assert-is-false-over-negated-assert-is-true',
|
|
138
|
+
preferAssertIsFalseOverNegatedAssertIsTrueRule,
|
|
139
|
+
{
|
|
140
|
+
valid: [
|
|
141
|
+
{ code: 'assert.notOk(foo);' },
|
|
142
|
+
{ code: 'assert(!foo, );' },
|
|
143
|
+
{ code: 'expect(!foo).toBeTruthy();' },
|
|
144
|
+
{ code: 'assert(foo);' },
|
|
145
|
+
],
|
|
146
|
+
invalid: [
|
|
147
|
+
{
|
|
148
|
+
code: 'assert.isTrue(!foo);',
|
|
149
|
+
output: 'assert.isFalse(foo);',
|
|
150
|
+
errors: [{ messageId: 'preferAssertIsFalseOverAssertNegation' }],
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
code: 'assert.isTrue(!condition());',
|
|
154
|
+
output: 'assert.isFalse(condition());',
|
|
155
|
+
errors: [{ messageId: 'preferAssertIsFalseOverAssertNegation' }],
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
describe('chai API', () => {
|
|
162
|
+
test('assert truthy', () => {
|
|
163
|
+
// @ts-expect-error truthy value is ok
|
|
164
|
+
// eslint-disable-next-line vitest-coding-style/prefer-assert-is-true-over-assert, total-functions/no-unsafe-type-assertion, @typescript-eslint/no-unsafe-call
|
|
165
|
+
assert.isOk(1 as unknown as boolean);
|
|
166
|
+
|
|
167
|
+
assert.isTrue(true);
|
|
168
|
+
|
|
169
|
+
// @ts-expect-error truthy value is ok
|
|
170
|
+
// eslint-disable-next-line vitest-coding-style/prefer-assert-is-true-over-assert, total-functions/no-unsafe-type-assertion
|
|
171
|
+
assert(1 as unknown as boolean);
|
|
172
|
+
});
|
|
173
|
+
});
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, type TSESLint } from '@typescript-eslint/utils';
|
|
2
2
|
|
|
3
|
-
type MessageIds = '
|
|
3
|
+
type MessageIds = 'preferAssertDeepStrictEqual';
|
|
4
4
|
|
|
5
5
|
type Options = readonly [];
|
|
6
6
|
|
|
7
|
-
export const
|
|
7
|
+
export const preferAssertDeepStrictEqualOverDeepEqualRule: TSESLint.RuleModule<
|
|
8
8
|
MessageIds,
|
|
9
9
|
Options
|
|
10
10
|
> = {
|
|
11
11
|
meta: {
|
|
12
12
|
type: 'suggestion',
|
|
13
13
|
docs: {
|
|
14
|
-
description: 'Prefer assert(X) over assert.
|
|
14
|
+
description: 'Prefer assert.deepStrictEqual(X) over assert.deepEqual(X).',
|
|
15
15
|
},
|
|
16
16
|
fixable: 'code',
|
|
17
17
|
schema: [],
|
|
18
18
|
messages: {
|
|
19
|
-
|
|
20
|
-
'Use assert(X) instead of assert.
|
|
19
|
+
preferAssertDeepStrictEqual:
|
|
20
|
+
'Use assert.deepStrictEqual(X) instead of assert.deepEqual(X).',
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
23
|
defaultOptions: [],
|
|
@@ -27,14 +27,14 @@ export const preferAssertOverAssertOkRule: TSESLint.RuleModule<
|
|
|
27
27
|
node.object.type === AST_NODE_TYPES.Identifier &&
|
|
28
28
|
node.object.name === 'assert' &&
|
|
29
29
|
node.property.type === AST_NODE_TYPES.Identifier &&
|
|
30
|
-
|
|
30
|
+
node.property.name === 'deepEqual' &&
|
|
31
31
|
node.parent.type === AST_NODE_TYPES.CallExpression &&
|
|
32
32
|
node.parent.callee === node
|
|
33
33
|
) {
|
|
34
34
|
context.report({
|
|
35
35
|
node,
|
|
36
|
-
messageId: '
|
|
37
|
-
fix: (fixer) => fixer.replaceText(node, 'assert'),
|
|
36
|
+
messageId: 'preferAssertDeepStrictEqual',
|
|
37
|
+
fix: (fixer) => fixer.replaceText(node, 'assert.deepStrictEqual'),
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
},
|