eslint-config-typed 5.19.0 → 5.19.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/plugins/total-functions/rules/no-hidden-type-assertions.d.mts.map +1 -1
- package/dist/plugins/total-functions/rules/no-hidden-type-assertions.mjs +87 -26
- package/dist/plugins/total-functions/rules/no-hidden-type-assertions.mjs.map +1 -1
- package/dist/plugins/ts-restrictions/rules/array-type-utils.d.mts +10 -1
- package/dist/plugins/ts-restrictions/rules/array-type-utils.d.mts.map +1 -1
- package/dist/plugins/ts-restrictions/rules/array-type-utils.mjs +23 -1
- package/dist/plugins/ts-restrictions/rules/array-type-utils.mjs.map +1 -1
- package/dist/plugins/ts-restrictions/rules/no-unnecessary-array-from.d.mts.map +1 -1
- package/dist/plugins/ts-restrictions/rules/no-unnecessary-array-from.mjs +8 -1
- package/dist/plugins/ts-restrictions/rules/no-unnecessary-array-from.mjs.map +1 -1
- package/dist/plugins/ts-restrictions/rules/prefer-non-mutating-array-method.d.mts.map +1 -1
- package/dist/plugins/ts-restrictions/rules/prefer-non-mutating-array-method.mjs +8 -1
- package/dist/plugins/ts-restrictions/rules/prefer-non-mutating-array-method.mjs.map +1 -1
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.d.mts +4 -2
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.d.mts.map +1 -1
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.mjs +9 -8
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.mjs.map +1 -1
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.d.mts +4 -2
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.d.mts.map +1 -1
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.mjs +9 -8
- package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.mjs.map +1 -1
- package/dist/rules/eslint-unicorn-rules.d.mts +2 -0
- package/dist/rules/eslint-unicorn-rules.d.mts.map +1 -1
- package/dist/rules/eslint-unicorn-rules.mjs +2 -0
- package/dist/rules/eslint-unicorn-rules.mjs.map +1 -1
- package/dist/types/rules/eslint-jest-rules.d.mts +71 -71
- package/dist/types/rules/eslint-n-rules.d.mts +230 -1
- package/dist/types/rules/eslint-n-rules.d.mts.map +1 -1
- package/dist/types/rules/eslint-unicorn-rules.d.mts +550 -429
- package/dist/types/rules/eslint-unicorn-rules.d.mts.map +1 -1
- package/package.json +27 -27
- package/src/plugins/total-functions/rules/no-hidden-type-assertions.mts +165 -46
- package/src/plugins/total-functions/rules/no-hidden-type-assertions.test.mts +55 -0
- package/src/plugins/ts-restrictions/rules/array-type-utils.mts +47 -1
- package/src/plugins/ts-restrictions/rules/no-unnecessary-array-from.mts +14 -1
- package/src/plugins/ts-restrictions/rules/no-unnecessary-array-from.test.mts +8 -0
- package/src/plugins/ts-restrictions/rules/prefer-non-mutating-array-method.mts +14 -1
- package/src/plugins/ts-restrictions/rules/prefer-non-mutating-array-method.test.mts +19 -0
- package/src/plugins/vitest-coding-style/rules/prefer-assert-coding-style-rules.test.mts +37 -0
- package/src/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.mts +20 -13
- package/src/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.mts +20 -13
- package/src/rules/eslint-unicorn-rules.mts +2 -0
- package/src/types/rules/eslint-jest-rules.mts +71 -71
- package/src/types/rules/eslint-n-rules.mts +458 -0
- package/src/types/rules/eslint-unicorn-rules.mts +562 -429
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-hidden-type-assertions.d.mts","sourceRoot":"","sources":["../../../../src/plugins/total-functions/rules/no-hidden-type-assertions.mts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"no-hidden-type-assertions.d.mts","sourceRoot":"","sources":["../../../../src/plugins/total-functions/rules/no-hidden-type-assertions.mts"],"names":[],"mappings":"AAIA,OAAO,EAEL,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AA4BlC,oDAAoD;AAEpD,eAAO,MAAM,sBAAsB;;CAuRxB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isTypeNeverType, isTypeUnknownType, } from '@typescript-eslint/type-utils';
|
|
2
|
-
import { ESLintUtils } from '@typescript-eslint/utils';
|
|
2
|
+
import { AST_NODE_TYPES, ESLintUtils, } from '@typescript-eslint/utils';
|
|
3
|
+
import { typeWrapperLayers } from 'eslint-rule-forge';
|
|
3
4
|
import { Arr } from 'ts-data-forge';
|
|
4
5
|
import { isArrayTypeNode, isConditionalTypeNode, isFunctionTypeNode, isIndexedAccessTypeNode, isIntersectionTypeNode, isNamedTupleMember, isTupleTypeNode, isTypeLiteralNode, isTypeNode, isTypeOperatorNode, isTypeReferenceNode, isUnionTypeNode, SyntaxKind, } from 'typescript';
|
|
5
6
|
import { createRule } from './common.mjs';
|
|
@@ -50,34 +51,102 @@ export const noHiddenTypeAssertions = createRule({
|
|
|
50
51
|
const parametersToTypeNodes = (parameters, depth) => parameters
|
|
51
52
|
.flatMap((parameter) => parameter.type !== undefined ? [parameter.type] : [])
|
|
52
53
|
.flatMap((parameter) => explodeTypeNode(parameter, depth));
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
const typeParamsUsedInReturnTypeOf = (declaration) => {
|
|
60
|
+
const { typeParameters, type: returnType } = declaration;
|
|
61
|
+
if (returnType === undefined ||
|
|
62
|
+
typeParameters === undefined ||
|
|
63
|
+
typeParameters.length === 0) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
const returnTypes = explodeTypeNode(returnType, 0);
|
|
67
|
+
return typeParameters
|
|
68
|
+
.map((typeParameter, index) => ({ typeParameter, index }))
|
|
69
|
+
.filter((typeParameter) => returnTypes.some((retType) => isTypeReferenceNode(retType) &&
|
|
70
|
+
retType.typeName.kind === SyntaxKind.Identifier &&
|
|
71
|
+
retType.typeName.text === typeParameter.typeParameter.name.text));
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
const returnTypeParamsAppearInValueParams = (declaration, typeParamsUsedInReturnType) => {
|
|
79
|
+
const parameters = parametersToTypeNodes(declaration.parameters, 0);
|
|
80
|
+
return typeParamsUsedInReturnType
|
|
81
|
+
.map(({ typeParameter }) => typeParameter)
|
|
82
|
+
.every((typeParameter) => parameters.some((parameter) => isTypeReferenceNode(parameter) &&
|
|
83
|
+
parameter.typeName.kind === SyntaxKind.Identifier &&
|
|
84
|
+
typeParameter.name.text === parameter.typeName.text));
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
const hasHiddenTypeAssertionSignature = (type) => type.getCallSignatures().some((signature) => {
|
|
91
|
+
const { declaration } = signature;
|
|
92
|
+
if (declaration === undefined ||
|
|
93
|
+
declaration.kind === SyntaxKind.JSDocSignature) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
const typeParamsUsedInReturnType = typeParamsUsedInReturnTypeOf(declaration);
|
|
97
|
+
return (typeParamsUsedInReturnType !== undefined &&
|
|
98
|
+
!returnTypeParamsAppearInValueParams(declaration, typeParamsUsedInReturnType));
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
const isCallThroughCastOfHiddenTypeAssertion = (node, callSignature) => {
|
|
111
|
+
const layers = typeWrapperLayers(node.callee);
|
|
112
|
+
const castIndex = layers.findIndex((layer) => layer.type === AST_NODE_TYPES.TSAsExpression ||
|
|
113
|
+
layer.type === AST_NODE_TYPES.TSTypeAssertion);
|
|
114
|
+
if (castIndex === -1) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
const returnType = callSignature.getReturnType();
|
|
118
|
+
if (isTypeUnknownType(returnType) || isTypeNeverType(returnType)) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
return layers
|
|
122
|
+
.slice(castIndex + 1)
|
|
123
|
+
.some((layer) => hasHiddenTypeAssertionSignature(checker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(layer))));
|
|
124
|
+
};
|
|
53
125
|
return {
|
|
54
126
|
CallExpression: (node) => {
|
|
55
127
|
const tsExpressionNode = parserServices.esTreeNodeToTSNodeMap.get(node);
|
|
56
128
|
const callSignature = checker.getResolvedSignature(tsExpressionNode);
|
|
57
|
-
if (callSignature
|
|
129
|
+
if (callSignature === undefined) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (isCallThroughCastOfHiddenTypeAssertion(node, callSignature)) {
|
|
133
|
+
context.report({
|
|
134
|
+
node,
|
|
135
|
+
messageId: 'errorStringGeneric',
|
|
136
|
+
});
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
if (callSignature.declaration === undefined) {
|
|
58
140
|
return;
|
|
59
141
|
}
|
|
60
142
|
if (callSignature.declaration.kind === SyntaxKind.JSDocSignature) {
|
|
61
143
|
|
|
62
144
|
return;
|
|
63
145
|
}
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
const returnType = callSignature.declaration.type;
|
|
67
|
-
if (returnType === undefined ||
|
|
68
|
-
typeParameters === undefined ||
|
|
69
|
-
typeParameters.length === 0) {
|
|
146
|
+
const typeParamsUsedInReturnType = typeParamsUsedInReturnTypeOf(callSignature.declaration);
|
|
147
|
+
if (typeParamsUsedInReturnType === undefined) {
|
|
70
148
|
return;
|
|
71
149
|
}
|
|
72
|
-
const returnTypes = explodeTypeNode(returnType, 0);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const typeParamsUsedInReturnType = typeParameters
|
|
77
|
-
.map((typeParameter, index) => ({ typeParameter, index }))
|
|
78
|
-
.filter((typeParameter) => returnTypes.some((retType) => isTypeReferenceNode(retType) &&
|
|
79
|
-
retType.typeName.kind === SyntaxKind.Identifier &&
|
|
80
|
-
retType.typeName.text === typeParameter.typeParameter.name.text));
|
|
81
150
|
|
|
82
151
|
|
|
83
152
|
|
|
@@ -96,15 +165,7 @@ export const noHiddenTypeAssertions = createRule({
|
|
|
96
165
|
if (allCorrespondingTypeArgumentsAreUnknownType) {
|
|
97
166
|
return;
|
|
98
167
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
const allTypeParamsUsedInReturnTypeAlsoAppearInValueParams = typeParamsUsedInReturnType
|
|
103
|
-
.map(({ typeParameter }) => typeParameter)
|
|
104
|
-
.every((typeParameter) => parameters.some((parameter) => isTypeReferenceNode(parameter) &&
|
|
105
|
-
parameter.typeName.kind === SyntaxKind.Identifier &&
|
|
106
|
-
typeParameter.name.text === parameter.typeName.text));
|
|
107
|
-
if (!allTypeParamsUsedInReturnTypeAlsoAppearInValueParams) {
|
|
168
|
+
if (!returnTypeParamsAppearInValueParams(callSignature.declaration, typeParamsUsedInReturnType)) {
|
|
108
169
|
context.report({
|
|
109
170
|
node,
|
|
110
171
|
messageId: 'errorStringGeneric',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-hidden-type-assertions.mjs","sourceRoot":"","sources":["../../../../src/plugins/total-functions/rules/no-hidden-type-assertions.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"no-hidden-type-assertions.mjs","sourceRoot":"","sources":["../../../../src/plugins/total-functions/rules/no-hidden-type-assertions.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { AST_NODE_TYPES, type TSESTree } from '@typescript-eslint/utils';
|
|
1
|
+
import { AST_NODE_TYPES, type ParserServicesWithTypeInformation, type TSESTree } from '@typescript-eslint/utils';
|
|
2
|
+
import type { DeepReadonly } from 'ts-type-forge';
|
|
2
3
|
import * as ts from 'typescript';
|
|
3
4
|
/**
|
|
4
5
|
* Builds a predicate that returns `true` if every constituent of the given type
|
|
@@ -21,4 +22,12 @@ export declare const toMemberObjectText: (argText: string, argNodeType: AST_NODE
|
|
|
21
22
|
* a plain defensive copy and is not matched.
|
|
22
23
|
*/
|
|
23
24
|
export declare const matchArrayFromCall: (node: TSESTree.Expression) => TSESTree.Expression | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Whether dropping the `Array.from()` copy `inner` would leave a `satisfies`
|
|
27
|
+
* between it and `wrapped` unmet: `(Array.from(xs) satisfies number[])` with
|
|
28
|
+
* `xs: readonly number[]` is checked against the mutable copy, which `xs`
|
|
29
|
+
* itself is not, so the copy is doing the type's work and stays. `as`, `!`
|
|
30
|
+
* and `<T>` do not check their operand that way and are not asked.
|
|
31
|
+
*/
|
|
32
|
+
export declare const createIsCopyNeededBySatisfies: (checker: ts.TypeChecker, esTreeNodeToTSNodeMap: ParserServicesWithTypeInformation['esTreeNodeToTSNodeMap']) => ((wrapped: DeepReadonly<TSESTree.Expression>, inner: DeepReadonly<TSESTree.Expression>, arg: DeepReadonly<TSESTree.Expression>) => boolean);
|
|
24
33
|
//# sourceMappingURL=array-type-utils.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-type-utils.d.mts","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/array-type-utils.mts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"array-type-utils.d.mts","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/array-type-utils.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,iCAAiC,EACtC,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAajC;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,YAE1B,EAAE,CAAC,WAAW,KAEtB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAqB7B,CAAC;AAgBF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,eACF,cAAc,KAC1B,MAG4B,CAAC;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,SAEvB,QAAQ,CAAC,UAAU,KACxB,QAAQ,CAAC,UAAU,GAAG,SAyBxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,YAE/B,EAAE,CAAC,WAAW,yBACA,iCAAiC,CAAC,uBAAuB,CAAC,KAChF,CAAC,CACF,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC1C,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EACxC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,KACnC,OAAO,CAmBX,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { AST_NODE_TYPES } from '@typescript-eslint/utils';
|
|
1
|
+
import { AST_NODE_TYPES, } from '@typescript-eslint/utils';
|
|
2
|
+
import { isTypeWrapper } from 'eslint-rule-forge';
|
|
2
3
|
import { Arr } from 'ts-data-forge';
|
|
3
4
|
import * as ts from 'typescript';
|
|
4
5
|
|
|
@@ -84,4 +85,25 @@ node) => {
|
|
|
84
85
|
const arg = node.arguments[0];
|
|
85
86
|
return arg.type === AST_NODE_TYPES.SpreadElement ? undefined : arg;
|
|
86
87
|
};
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
export const createIsCopyNeededBySatisfies = (
|
|
96
|
+
|
|
97
|
+
checker, esTreeNodeToTSNodeMap) => {
|
|
98
|
+
const isCopyNeededBySatisfies = (wrapped, inner, arg) => wrapped !== inner &&
|
|
99
|
+
isTypeWrapper(wrapped) &&
|
|
100
|
+
((wrapped.type === AST_NODE_TYPES.TSSatisfiesExpression &&
|
|
101
|
+
!checker.isTypeAssignableTo(typeOf(arg), typeOf(wrapped.typeAnnotation))) ||
|
|
102
|
+
isCopyNeededBySatisfies(wrapped.expression, inner, arg));
|
|
103
|
+
const typeOf = (node) => checker.getTypeAtLocation(esTreeNodeToTSNodeMap.get(asNode(node)));
|
|
104
|
+
return isCopyNeededBySatisfies;
|
|
105
|
+
};
|
|
106
|
+
const asNode = (node) =>
|
|
107
|
+
|
|
108
|
+
node;
|
|
87
109
|
//# sourceMappingURL=array-type-utils.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-type-utils.mjs","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/array-type-utils.mts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"array-type-utils.mjs","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/array-type-utils.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unnecessary-array-from.d.mts","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/no-unnecessary-array-from.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"no-unnecessary-array-from.d.mts","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/no-unnecessary-array-from.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAUlC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,KAAK,UAAU,GAAG,sBAAsB,CAAC;AA+DzC,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CA2FhE,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, ESLintUtils, } from '@typescript-eslint/utils';
|
|
2
2
|
import { createGetLayerTypes, skipTypeWrappers } from 'eslint-rule-forge';
|
|
3
|
-
import { createIsArrayOrTupleType, matchArrayFromCall, toMemberObjectText, } from './array-type-utils.mjs';
|
|
3
|
+
import { createIsArrayOrTupleType, createIsCopyNeededBySatisfies, matchArrayFromCall, toMemberObjectText, } from './array-type-utils.mjs';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
4
7
|
|
|
5
8
|
|
|
6
9
|
|
|
@@ -74,6 +77,7 @@ export const noUnnecessaryArrayFrom = {
|
|
|
74
77
|
const parserServices = ESLintUtils.getParserServices(context);
|
|
75
78
|
const checker = parserServices.program.getTypeChecker();
|
|
76
79
|
const isArrayOrTupleType = createIsArrayOrTupleType(checker);
|
|
80
|
+
const isCopyNeededBySatisfies = createIsCopyNeededBySatisfies(checker, parserServices.esTreeNodeToTSNodeMap);
|
|
77
81
|
const getLayerTypes = createGetLayerTypes(parserServices);
|
|
78
82
|
return {
|
|
79
83
|
CallExpression: (node) => {
|
|
@@ -105,6 +109,9 @@ export const noUnnecessaryArrayFrom = {
|
|
|
105
109
|
if (!getLayerTypes(callee.object).every(isArrayOrTupleType)) {
|
|
106
110
|
return;
|
|
107
111
|
}
|
|
112
|
+
if (isCopyNeededBySatisfies(callee.object, inner, arg)) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
108
115
|
context.report({
|
|
109
116
|
node: inner,
|
|
110
117
|
messageId: 'unnecessaryArrayFrom',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unnecessary-array-from.mjs","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/no-unnecessary-array-from.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAGZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAMhC
|
|
1
|
+
{"version":3,"file":"no-unnecessary-array-from.mjs","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/no-unnecessary-array-from.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-non-mutating-array-method.d.mts","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/prefer-non-mutating-array-method.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"prefer-non-mutating-array-method.d.mts","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/prefer-non-mutating-array-method.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAelC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,KAAK,UAAU,GAAG,yBAAyB,CAAC;AAqE5C,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,UAAU,CAC5D,UAAU,EACV,OAAO,CAkMC,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, ESLintUtils, } from '@typescript-eslint/utils';
|
|
2
2
|
import { createGetLayerTypes, isTypeWrapper, skipTypeWrappers, } from 'eslint-rule-forge';
|
|
3
3
|
import { Arr } from 'ts-data-forge';
|
|
4
|
-
import { createIsArrayOrTupleType, matchArrayFromCall, toMemberObjectText, } from './array-type-utils.mjs';
|
|
4
|
+
import { createIsArrayOrTupleType, createIsCopyNeededBySatisfies, matchArrayFromCall, toMemberObjectText, } from './array-type-utils.mjs';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
5
8
|
|
|
6
9
|
|
|
7
10
|
|
|
@@ -70,6 +73,7 @@ export const preferNonMutatingArrayMethod = {
|
|
|
70
73
|
const parserServices = ESLintUtils.getParserServices(context);
|
|
71
74
|
const checker = parserServices.program.getTypeChecker();
|
|
72
75
|
const isArrayOrTupleType = createIsArrayOrTupleType(checker);
|
|
76
|
+
const isCopyNeededBySatisfies = createIsCopyNeededBySatisfies(checker, parserServices.esTreeNodeToTSNodeMap);
|
|
73
77
|
const getLayerTypes = createGetLayerTypes(parserServices);
|
|
74
78
|
return {
|
|
75
79
|
CallExpression: (node) => {
|
|
@@ -135,6 +139,9 @@ export const preferNonMutatingArrayMethod = {
|
|
|
135
139
|
if (!getLayerTypes(callee.object).every(isArrayOrTupleType)) {
|
|
136
140
|
return;
|
|
137
141
|
}
|
|
142
|
+
if (isCopyNeededBySatisfies(callee.object, inner, arg)) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
138
145
|
const sourceCode = context.sourceCode;
|
|
139
146
|
|
|
140
147
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-non-mutating-array-method.mjs","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/prefer-non-mutating-array-method.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAGZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAMhC
|
|
1
|
+
{"version":3,"file":"prefer-non-mutating-array-method.mjs","sourceRoot":"","sources":["../../../../src/plugins/ts-restrictions/rules/prefer-non-mutating-array-method.mts"],"names":[],"mappings":"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"}
|
package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.d.mts
CHANGED
|
@@ -4,8 +4,10 @@ type Options = readonly [];
|
|
|
4
4
|
/**
|
|
5
5
|
* `expect(X).toBe(false)` becomes `assert.isFalse(X)` when `X` is a boolean. The
|
|
6
6
|
* calls, the `expect` function and the `false` are read through `as`,
|
|
7
|
-
* `satisfies`, `!` and `<T>`; `X` keeps its wrappers, and
|
|
8
|
-
*
|
|
7
|
+
* `satisfies`, `!` and `<T>`; `X` keeps its wrappers, and is a boolean only
|
|
8
|
+
* if the type at every layer of them is one: a widening `as` is the author
|
|
9
|
+
* saying it may not be, and a narrowing one (`v as boolean` on an `unknown`,
|
|
10
|
+
* `flag!`) does not make the value a boolean.
|
|
9
11
|
*/
|
|
10
12
|
export declare const preferAssertIsFalseOverExpectFalseRule: TSESLint.RuleModule<MessageIds, Options>;
|
|
11
13
|
export {};
|
package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-assert-is-false-over-expect-false.d.mts","sourceRoot":"","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"prefer-assert-is-false-over-expect-false.d.mts","sourceRoot":"","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAUlC,KAAK,UAAU,GAAG,oCAAoC,CAAC;AAEvD,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B;;;;;;;GAOG;AACH,eAAO,MAAM,sCAAsC,EAAE,QAAQ,CAAC,UAAU,CACtE,UAAU,EACV,OAAO,CA6EC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, ESLintUtils, } from '@typescript-eslint/utils';
|
|
2
|
-
import { getArgumentText, skipTypeWrappers } from 'eslint-rule-forge';
|
|
2
|
+
import { getArgumentText, skipTypeWrappers, typeWrapperLayers, } from 'eslint-rule-forge';
|
|
3
3
|
import { Arr } from 'ts-data-forge';
|
|
4
4
|
import * as ts from 'typescript';
|
|
5
5
|
import { getVitestReceiver } from './vitest-binding.mjs';
|
|
@@ -9,6 +9,8 @@ import { getVitestReceiver } from './vitest-binding.mjs';
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
+
|
|
13
|
+
|
|
12
14
|
export const preferAssertIsFalseOverExpectFalseRule = {
|
|
13
15
|
meta: {
|
|
14
16
|
type: 'suggestion',
|
|
@@ -46,13 +48,12 @@ export const preferAssertIsFalseOverExpectFalseRule = {
|
|
|
46
48
|
expected?.type === AST_NODE_TYPES.Literal &&
|
|
47
49
|
expected.value === false) {
|
|
48
50
|
const arg = expectCall.arguments[0];
|
|
49
|
-
if (arg !== undefined
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
51
|
+
if (arg !== undefined &&
|
|
52
|
+
!typeWrapperLayers(arg).every((layer) => {
|
|
53
|
+
const type = checker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(layer));
|
|
54
|
+
return (type.flags & ts.TypeFlags.Boolean) !== 0;
|
|
55
|
+
})) {
|
|
56
|
+
return;
|
|
56
57
|
}
|
|
57
58
|
const argText = arg === undefined ? '' : getArgumentText(context.sourceCode, arg);
|
|
58
59
|
context.report({
|
package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-assert-is-false-over-expect-false.mjs","sourceRoot":"","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAEZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"prefer-assert-is-false-over-expect-false.mjs","sourceRoot":"","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-is-false-over-expect-false.mts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,10 @@ type Options = readonly [];
|
|
|
4
4
|
/**
|
|
5
5
|
* `expect(X).toBe(true)` becomes `assert.isTrue(X)` when `X` is a boolean. The
|
|
6
6
|
* calls, the `expect` function and the `true` are read through `as`,
|
|
7
|
-
* `satisfies`, `!` and `<T>`; `X` keeps its wrappers, and
|
|
8
|
-
*
|
|
7
|
+
* `satisfies`, `!` and `<T>`; `X` keeps its wrappers, and is a boolean only
|
|
8
|
+
* if the type at every layer of them is one: a widening `as` is the author
|
|
9
|
+
* saying it may not be, and a narrowing one (`v as boolean` on an `unknown`,
|
|
10
|
+
* `flag!`) does not make the value a boolean.
|
|
9
11
|
*/
|
|
10
12
|
export declare const preferAssertIsTrueOverExpectTrueRule: TSESLint.RuleModule<MessageIds, Options>;
|
|
11
13
|
export {};
|
package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-assert-is-true-over-expect-true.d.mts","sourceRoot":"","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"prefer-assert-is-true-over-expect-true.d.mts","sourceRoot":"","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAUlC,KAAK,UAAU,GAAG,kCAAkC,CAAC;AAErD,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B;;;;;;;GAOG;AACH,eAAO,MAAM,oCAAoC,EAAE,QAAQ,CAAC,UAAU,CACpE,UAAU,EACV,OAAO,CA6EC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, ESLintUtils, } from '@typescript-eslint/utils';
|
|
2
|
-
import { getArgumentText, skipTypeWrappers } from 'eslint-rule-forge';
|
|
2
|
+
import { getArgumentText, skipTypeWrappers, typeWrapperLayers, } from 'eslint-rule-forge';
|
|
3
3
|
import { Arr } from 'ts-data-forge';
|
|
4
4
|
import * as ts from 'typescript';
|
|
5
5
|
import { getVitestReceiver } from './vitest-binding.mjs';
|
|
@@ -9,6 +9,8 @@ import { getVitestReceiver } from './vitest-binding.mjs';
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
+
|
|
13
|
+
|
|
12
14
|
export const preferAssertIsTrueOverExpectTrueRule = {
|
|
13
15
|
meta: {
|
|
14
16
|
type: 'suggestion',
|
|
@@ -46,13 +48,12 @@ export const preferAssertIsTrueOverExpectTrueRule = {
|
|
|
46
48
|
expected?.type === AST_NODE_TYPES.Literal &&
|
|
47
49
|
expected.value === true) {
|
|
48
50
|
const arg = expectCall.arguments[0];
|
|
49
|
-
if (arg !== undefined
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
51
|
+
if (arg !== undefined &&
|
|
52
|
+
!typeWrapperLayers(arg).every((layer) => {
|
|
53
|
+
const type = checker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(layer));
|
|
54
|
+
return (type.flags & ts.TypeFlags.Boolean) !== 0;
|
|
55
|
+
})) {
|
|
56
|
+
return;
|
|
56
57
|
}
|
|
57
58
|
const argText = arg === undefined ? '' : getArgumentText(context.sourceCode, arg);
|
|
58
59
|
context.report({
|
package/dist/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-assert-is-true-over-expect-true.mjs","sourceRoot":"","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAEZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"prefer-assert-is-true-over-expect-true.mjs","sourceRoot":"","sources":["../../../../src/plugins/vitest-coding-style/rules/prefer-assert-is-true-over-expect-true.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAEZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAMzD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAG7C;IACF,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,0EAA0E;SAC7E;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,gCAAgC,EAC9B,sDAAsD;SACzD;KACF;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE9D,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAExD,OAAO;YACL,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE7C,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB,EAAE,CAAC;oBACpD,OAAO;gBACT,CAAC;gBAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEnD,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBAErC,MAAM,QAAQ,GACZ,WAAW,KAAK,SAAS;oBACzB,WAAW,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa;oBAC/C,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAEpC,IACE,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc;oBACjD,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;wBAChE,SAAS;oBACX,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;oBAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;oBAC/B,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;oBACzC,QAAQ,EAAE,IAAI,KAAK,cAAc,CAAC,OAAO;oBACzC,QAAQ,CAAC,KAAK,KAAK,IAAI,EACvB,CAAC;oBACD,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAEpC,IACE,GAAG,KAAK,SAAS;wBACjB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;4BACtC,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CACpC,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAChD,CAAC;4BAEF,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACnD,CAAC,CAAC,EACF,CAAC;wBACD,OAAO;oBACT,CAAC;oBAED,MAAM,OAAO,GACX,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;oBAEpE,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,kCAAkC;wBAC7C,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CACb,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,iBAAiB,OAAO,GAAG,CAAC;qBACvD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACO,CAAC"}
|
|
@@ -304,6 +304,7 @@ export declare const eslintUnicornRules: {
|
|
|
304
304
|
readonly 'unicorn/no-multiple-promise-resolver-calls': 'error';
|
|
305
305
|
readonly 'unicorn/no-non-function-verb-prefix': 'off';
|
|
306
306
|
readonly 'unicorn/no-nonstandard-builtin-properties': 'error';
|
|
307
|
+
readonly 'unicorn/no-repeated-call-wrappers': 'error';
|
|
307
308
|
readonly 'unicorn/no-selector-as-dom-name': 'error';
|
|
308
309
|
readonly 'unicorn/no-shorthand-property-overrides': 'error';
|
|
309
310
|
readonly 'unicorn/no-top-level-assignment-in-function': 'error';
|
|
@@ -318,6 +319,7 @@ export declare const eslintUnicornRules: {
|
|
|
318
319
|
*/
|
|
319
320
|
readonly 'unicorn/no-unnecessary-array-flat-map': 'off';
|
|
320
321
|
readonly 'unicorn/no-unnecessary-boolean-comparison': 'error';
|
|
322
|
+
readonly 'unicorn/no-unnecessary-default-arguments': 'error';
|
|
321
323
|
readonly 'unicorn/no-unnecessary-fetch-options': 'error';
|
|
322
324
|
readonly 'unicorn/no-unnecessary-string-trim': 'error';
|
|
323
325
|
readonly 'unicorn/no-unreadable-for-of-expression': 'off';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint-unicorn-rules.d.mts","sourceRoot":"","sources":["../../src/rules/eslint-unicorn-rules.mts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"eslint-unicorn-rules.d.mts","sourceRoot":"","sources":["../../src/rules/eslint-unicorn-rules.mts"],"names":[],"mappings":"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"}
|
|
@@ -372,6 +372,7 @@ export const eslintUnicornRules = {
|
|
|
372
372
|
|
|
373
373
|
'unicorn/no-non-function-verb-prefix': 'off',
|
|
374
374
|
'unicorn/no-nonstandard-builtin-properties': 'error',
|
|
375
|
+
'unicorn/no-repeated-call-wrappers': 'error',
|
|
375
376
|
'unicorn/no-selector-as-dom-name': 'error',
|
|
376
377
|
'unicorn/no-shorthand-property-overrides': 'error',
|
|
377
378
|
'unicorn/no-top-level-assignment-in-function': 'error',
|
|
@@ -386,6 +387,7 @@ export const eslintUnicornRules = {
|
|
|
386
387
|
|
|
387
388
|
'unicorn/no-unnecessary-array-flat-map': 'off',
|
|
388
389
|
'unicorn/no-unnecessary-boolean-comparison': 'error',
|
|
390
|
+
'unicorn/no-unnecessary-default-arguments': 'error',
|
|
389
391
|
'unicorn/no-unnecessary-fetch-options': 'error',
|
|
390
392
|
'unicorn/no-unnecessary-string-trim': 'error',
|
|
391
393
|
|