eslint-plugin-complete 1.12.0 → 1.12.1
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 +4 -2
- package/dist/package.json +2 -2
- package/dist/src/rules/eqeqeq-fix.d.ts.map +1 -1
- package/dist/src/rules/eqeqeq-fix.js +40 -38
- package/dist/src/rules/eqeqeq-fix.js.map +1 -1
- package/dist/src/rules/no-useless-return.d.ts.map +1 -1
- package/dist/src/rules/no-useless-return.js +28 -23
- package/dist/src/rules/no-useless-return.js.map +1 -1
- package/dist/src/rules/prefer-const.d.ts.map +1 -1
- package/dist/src/rules/prefer-const.js +43 -37
- package/dist/src/rules/prefer-const.js.map +1 -1
- package/dist/src/rules/sort-objects.d.ts.map +1 -1
- package/dist/src/rules/sort-objects.js.map +1 -1
- package/dist/src/rules/type-declaration-immutability.d.ts.map +1 -1
- package/dist/src/rules/type-declaration-immutability.js +29 -3
- package/dist/src/rules/type-declaration-immutability.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/eslint-plugin-complete)
|
|
4
4
|
|
|
5
|
-
This is an [ESLint](https://eslint.org/) plugin containing rules that can help
|
|
5
|
+
This is an [ESLint](https://eslint.org/) plugin containing rules that can help
|
|
6
|
+
make your TypeScript code more safe or more strict.
|
|
6
7
|
|
|
7
|
-
Please see the [docs](https://complete-ts.github.io/eslint-plugin-complete) for
|
|
8
|
+
Please see the [docs](https://complete-ts.github.io/eslint-plugin-complete) for
|
|
9
|
+
more information.
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-complete",
|
|
3
|
-
"version": "1.12.
|
|
3
|
+
"version": "1.12.1",
|
|
4
4
|
"description": "An ESLint plugin that contains useful rules.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"scripts": {
|
|
37
37
|
"build": "bun run ./scripts/build.ts",
|
|
38
38
|
"create-rule": "bun run ./scripts/createRule.ts",
|
|
39
|
-
"docs": "bun run build && eslint-doc-generator",
|
|
39
|
+
"docs": "bun run build && eslint-doc-generator && bunx prettier --write .",
|
|
40
40
|
"generate": "bun run ./scripts/generate.ts",
|
|
41
41
|
"lint": "bun run ./scripts/lint.ts",
|
|
42
42
|
"test": "jest"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eqeqeq-fix.d.ts","sourceRoot":"","sources":["../../../src/rules/eqeqeq-fix.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eqeqeq-fix.d.ts","sourceRoot":"","sources":["../../../src/rules/eqeqeq-fix.ts"],"names":[],"mappings":"AA8CA,eAAO,MAAM,SAAS;;CAuKpB,CAAC"}
|
|
@@ -13,7 +13,7 @@ import { createRule } from "../utils.js";
|
|
|
13
13
|
* @fileoverview Rule to flag statements that use != and == instead of !== and ===
|
|
14
14
|
* @author Nicholas C. Zakas
|
|
15
15
|
*/
|
|
16
|
-
"use strict";
|
|
16
|
+
("use strict");
|
|
17
17
|
//------------------------------------------------------------------------------
|
|
18
18
|
// External code (copy pasted from elsewhere in the ESLint repository)
|
|
19
19
|
//------------------------------------------------------------------------------
|
|
@@ -24,13 +24,16 @@ import { createRule } from "../utils.js";
|
|
|
24
24
|
*/
|
|
25
25
|
function isNullLiteral(node) {
|
|
26
26
|
/*
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return node.type === "Literal"
|
|
27
|
+
* Checking `node.value === null` does not guarantee that a literal is a null literal.
|
|
28
|
+
* When parsing values that cannot be represented in the current environment (e.g., unicode
|
|
29
|
+
* regexes in Node 4), `node.value` is set to `null` because it wouldn't be possible to
|
|
30
|
+
* set `node.value` to a unicode regex. To make sure a literal is actually `null`, check
|
|
31
|
+
* `node.regex` instead. Also see: https://github.com/eslint/eslint/issues/8020
|
|
32
|
+
*/
|
|
33
|
+
return (node.type === "Literal"
|
|
34
|
+
&& node.value === null
|
|
35
|
+
&& !node.regex
|
|
36
|
+
&& !node.bigint);
|
|
34
37
|
}
|
|
35
38
|
export const eqeqeqFix = createRule({
|
|
36
39
|
name: "eqeqeq-fix", // Added
|
|
@@ -48,30 +51,30 @@ export const eqeqeqFix = createRule({
|
|
|
48
51
|
type: "array",
|
|
49
52
|
items: [
|
|
50
53
|
{
|
|
51
|
-
enum: ["always"]
|
|
54
|
+
enum: ["always"],
|
|
52
55
|
},
|
|
53
56
|
{
|
|
54
57
|
type: "object",
|
|
55
58
|
properties: {
|
|
56
59
|
null: {
|
|
57
|
-
enum: ["always", "never", "ignore"]
|
|
58
|
-
}
|
|
60
|
+
enum: ["always", "never", "ignore"],
|
|
61
|
+
},
|
|
59
62
|
},
|
|
60
|
-
additionalProperties: false
|
|
61
|
-
}
|
|
63
|
+
additionalProperties: false,
|
|
64
|
+
},
|
|
62
65
|
],
|
|
63
|
-
additionalItems: false
|
|
66
|
+
additionalItems: false,
|
|
64
67
|
},
|
|
65
68
|
{
|
|
66
69
|
type: "array",
|
|
67
70
|
items: [
|
|
68
71
|
{
|
|
69
|
-
enum: ["smart", "allow-null"]
|
|
70
|
-
}
|
|
72
|
+
enum: ["smart", "allow-null"],
|
|
73
|
+
},
|
|
71
74
|
],
|
|
72
|
-
additionalItems: false
|
|
73
|
-
}
|
|
74
|
-
]
|
|
75
|
+
additionalItems: false,
|
|
76
|
+
},
|
|
77
|
+
],
|
|
75
78
|
},
|
|
76
79
|
fixable: "code",
|
|
77
80
|
messages: {
|
|
@@ -82,11 +85,9 @@ export const eqeqeqFix = createRule({
|
|
|
82
85
|
const config = context.options[0] || "always";
|
|
83
86
|
const options = context.options[1] || {};
|
|
84
87
|
const sourceCode = context.sourceCode;
|
|
85
|
-
const nullOption =
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
const enforceRuleForNull = (nullOption === "always");
|
|
89
|
-
const enforceInverseRuleForNull = (nullOption === "never");
|
|
88
|
+
const nullOption = config === "always" ? options.null || "always" : "ignore";
|
|
89
|
+
const enforceRuleForNull = nullOption === "always";
|
|
90
|
+
const enforceInverseRuleForNull = nullOption === "never";
|
|
90
91
|
/**
|
|
91
92
|
* Checks if an expression is a typeof expression
|
|
92
93
|
* @param {ASTNode} node The node to check
|
|
@@ -111,8 +112,9 @@ export const eqeqeqFix = createRule({
|
|
|
111
112
|
* @private
|
|
112
113
|
*/
|
|
113
114
|
function areLiteralsAndSameType(node) {
|
|
114
|
-
return node.left.type === "Literal"
|
|
115
|
-
|
|
115
|
+
return (node.left.type === "Literal"
|
|
116
|
+
&& node.right.type === "Literal"
|
|
117
|
+
&& typeof node.left.value === typeof node.right.value);
|
|
116
118
|
}
|
|
117
119
|
/**
|
|
118
120
|
* Checks if one of the operands is a literal null
|
|
@@ -131,7 +133,7 @@ export const eqeqeqFix = createRule({
|
|
|
131
133
|
* @private
|
|
132
134
|
*/
|
|
133
135
|
function report(node, expectedOperator) {
|
|
134
|
-
const operatorToken = sourceCode.getFirstTokenBetween(node.left, node.right, token => token.value === node.operator);
|
|
136
|
+
const operatorToken = sourceCode.getFirstTokenBetween(node.left, node.right, (token) => token.value === node.operator);
|
|
135
137
|
context.report({
|
|
136
138
|
node,
|
|
137
139
|
loc: operatorToken.loc,
|
|
@@ -139,15 +141,15 @@ export const eqeqeqFix = createRule({
|
|
|
139
141
|
data: { expectedOperator, actualOperator: node.operator },
|
|
140
142
|
fix(fixer) {
|
|
141
143
|
/*
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
144
|
+
// If the comparison is a `typeof` comparison or both sides are literals with the same type, then it's safe to fix.
|
|
145
|
+
if (isTypeOfBinary(node) || areLiteralsAndSameType(node)) {
|
|
146
|
+
return fixer.replaceText(operatorToken, expectedOperator);
|
|
147
|
+
}
|
|
148
|
+
return null;
|
|
149
|
+
*/
|
|
148
150
|
// Fix everything regardless of whether it is safe to fix.
|
|
149
151
|
return fixer.replaceText(operatorToken, expectedOperator);
|
|
150
|
-
}
|
|
152
|
+
},
|
|
151
153
|
});
|
|
152
154
|
}
|
|
153
155
|
return {
|
|
@@ -159,16 +161,16 @@ export const eqeqeqFix = createRule({
|
|
|
159
161
|
}
|
|
160
162
|
return;
|
|
161
163
|
}
|
|
162
|
-
if (config === "smart"
|
|
163
|
-
areLiteralsAndSameType(node) || isNull)) {
|
|
164
|
+
if (config === "smart"
|
|
165
|
+
&& (isTypeOfBinary(node) || areLiteralsAndSameType(node) || isNull)) {
|
|
164
166
|
return;
|
|
165
167
|
}
|
|
166
168
|
if (!enforceRuleForNull && isNull) {
|
|
167
169
|
return;
|
|
168
170
|
}
|
|
169
171
|
report(node, `${node.operator}=`);
|
|
170
|
-
}
|
|
172
|
+
},
|
|
171
173
|
};
|
|
172
|
-
}
|
|
174
|
+
},
|
|
173
175
|
});
|
|
174
176
|
//# sourceMappingURL=eqeqeq-fix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eqeqeq-fix.js","sourceRoot":"","sources":["../../../../../src/rules/eqeqeq-fix.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,cAAc;AACd,sBAAsB;AAEtB;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AAEH,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"eqeqeq-fix.js","sourceRoot":"","sources":["../../../../../src/rules/eqeqeq-fix.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-useless-return.d.ts","sourceRoot":"","sources":["../../../src/rules/no-useless-return.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"no-useless-return.d.ts","sourceRoot":"","sources":["../../../src/rules/no-useless-return.ts"],"names":[],"mappings":"AAyJA,eAAO,MAAM,eAAe;;CAmS1B,CAAC"}
|
|
@@ -13,12 +13,17 @@ import { createRule } from "../utils.js";
|
|
|
13
13
|
* @fileoverview Disallow redundant return statements
|
|
14
14
|
* @author Teddy Katz
|
|
15
15
|
*/
|
|
16
|
-
"use strict";
|
|
16
|
+
("use strict");
|
|
17
17
|
//------------------------------------------------------------------------------
|
|
18
18
|
// External code (copy pasted from elsewhere in the ESLint repository)
|
|
19
19
|
//------------------------------------------------------------------------------
|
|
20
20
|
// A set of node types that can contain a list of statements
|
|
21
|
-
const STATEMENT_LIST_PARENTS = new Set([
|
|
21
|
+
const STATEMENT_LIST_PARENTS = new Set([
|
|
22
|
+
"Program",
|
|
23
|
+
"BlockStatement",
|
|
24
|
+
"StaticBlock",
|
|
25
|
+
"SwitchCase",
|
|
26
|
+
]);
|
|
22
27
|
const anyFunctionPattern = /^(?:Function(?:Declaration|Expression)|ArrowFunctionExpression)$/u;
|
|
23
28
|
const anyLoopPattern = /^(?:DoWhile|For|ForIn|ForOf|While)Statement$/u;
|
|
24
29
|
/**
|
|
@@ -92,7 +97,8 @@ function isRemovable(node) {
|
|
|
92
97
|
*/
|
|
93
98
|
function isInFinally(node) {
|
|
94
99
|
for (let currentNode = node; currentNode && currentNode.parent && !isFunction(currentNode); currentNode = currentNode.parent) {
|
|
95
|
-
if (currentNode.parent.type === "TryStatement"
|
|
100
|
+
if (currentNode.parent.type === "TryStatement"
|
|
101
|
+
&& currentNode.parent.finalizer === currentNode) {
|
|
96
102
|
return true;
|
|
97
103
|
}
|
|
98
104
|
}
|
|
@@ -127,8 +133,8 @@ export const noUselessReturn = createRule({
|
|
|
127
133
|
// fixable: "code",
|
|
128
134
|
schema: [],
|
|
129
135
|
messages: {
|
|
130
|
-
unnecessaryReturn: "Unnecessary return statement."
|
|
131
|
-
}
|
|
136
|
+
unnecessaryReturn: "Unnecessary return statement.",
|
|
137
|
+
},
|
|
132
138
|
},
|
|
133
139
|
create(context) {
|
|
134
140
|
const segmentInfoMap = new WeakMap();
|
|
@@ -200,23 +206,24 @@ export const noUselessReturn = createRule({
|
|
|
200
206
|
usedUnreachableSegments.add(segment);
|
|
201
207
|
segment.allPrevSegments
|
|
202
208
|
.filter(isReturned)
|
|
203
|
-
.filter(prevSegment => !usedUnreachableSegments.has(prevSegment))
|
|
204
|
-
.forEach(prevSegment => markReturnStatementsOnSegmentAsUsed(prevSegment, usedUnreachableSegments));
|
|
209
|
+
.filter((prevSegment) => !usedUnreachableSegments.has(prevSegment))
|
|
210
|
+
.forEach((prevSegment) => markReturnStatementsOnSegmentAsUsed(prevSegment, usedUnreachableSegments));
|
|
205
211
|
return;
|
|
206
212
|
}
|
|
207
213
|
const info = segmentInfoMap.get(segment);
|
|
208
214
|
if (!info) {
|
|
209
215
|
return;
|
|
210
216
|
}
|
|
211
|
-
info.uselessReturns = info.uselessReturns.filter(node => {
|
|
212
|
-
if (scopeInfo.traversedTryBlockStatements
|
|
217
|
+
info.uselessReturns = info.uselessReturns.filter((node) => {
|
|
218
|
+
if (scopeInfo.traversedTryBlockStatements
|
|
219
|
+
&& scopeInfo.traversedTryBlockStatements.length > 0) {
|
|
213
220
|
const returnInitialRange = node.range[0];
|
|
214
221
|
const returnFinalRange = node.range[1];
|
|
215
|
-
const areBlocksInRange = scopeInfo.traversedTryBlockStatements.some(tryBlockStatement => {
|
|
222
|
+
const areBlocksInRange = scopeInfo.traversedTryBlockStatements.some((tryBlockStatement) => {
|
|
216
223
|
const blockInitialRange = tryBlockStatement.range[0];
|
|
217
224
|
const blockFinalRange = tryBlockStatement.range[1];
|
|
218
|
-
return (returnInitialRange >= blockInitialRange
|
|
219
|
-
returnFinalRange <= blockFinalRange);
|
|
225
|
+
return (returnInitialRange >= blockInitialRange
|
|
226
|
+
&& returnFinalRange <= blockFinalRange);
|
|
220
227
|
});
|
|
221
228
|
if (areBlocksInRange) {
|
|
222
229
|
return true;
|
|
@@ -239,9 +246,7 @@ export const noUselessReturn = createRule({
|
|
|
239
246
|
* @returns {void}
|
|
240
247
|
*/
|
|
241
248
|
function markReturnStatementsOnCurrentSegmentsAsUsed() {
|
|
242
|
-
scopeInfo
|
|
243
|
-
.currentSegments
|
|
244
|
-
.forEach(segment => markReturnStatementsOnSegmentAsUsed(segment, new Set()));
|
|
249
|
+
scopeInfo.currentSegments.forEach((segment) => markReturnStatementsOnSegmentAsUsed(segment, new Set()));
|
|
245
250
|
}
|
|
246
251
|
//----------------------------------------------------------------------
|
|
247
252
|
// Public
|
|
@@ -254,7 +259,7 @@ export const noUselessReturn = createRule({
|
|
|
254
259
|
uselessReturns: [],
|
|
255
260
|
traversedTryBlockStatements: [],
|
|
256
261
|
codePath,
|
|
257
|
-
currentSegments: new Set()
|
|
262
|
+
currentSegments: new Set(),
|
|
258
263
|
};
|
|
259
264
|
},
|
|
260
265
|
// Reports useless return statements if exist.
|
|
@@ -276,7 +281,7 @@ export const noUselessReturn = createRule({
|
|
|
276
281
|
scopeInfo.currentSegments.add(segment);
|
|
277
282
|
const info = {
|
|
278
283
|
uselessReturns: getUselessReturns([], segment.allPrevSegments),
|
|
279
|
-
returned: false
|
|
284
|
+
returned: false,
|
|
280
285
|
};
|
|
281
286
|
// Stores the info.
|
|
282
287
|
segmentInfoMap.set(segment, info);
|
|
@@ -295,11 +300,11 @@ export const noUselessReturn = createRule({
|
|
|
295
300
|
if (node.argument) {
|
|
296
301
|
markReturnStatementsOnCurrentSegmentsAsUsed();
|
|
297
302
|
}
|
|
298
|
-
if (node.argument
|
|
299
|
-
isInLoop(node)
|
|
300
|
-
isInFinally(node)
|
|
303
|
+
if (node.argument
|
|
304
|
+
|| isInLoop(node)
|
|
305
|
+
|| isInFinally(node)
|
|
301
306
|
// Ignore `return` statements in unreachable places (https://github.com/eslint/eslint/issues/11647).
|
|
302
|
-
!isAnySegmentReachable(scopeInfo.currentSegments)) {
|
|
307
|
+
|| !isAnySegmentReachable(scopeInfo.currentSegments)) {
|
|
303
308
|
return;
|
|
304
309
|
}
|
|
305
310
|
for (const segment of scopeInfo.currentSegments) {
|
|
@@ -341,8 +346,8 @@ export const noUselessReturn = createRule({
|
|
|
341
346
|
WithStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
342
347
|
ExportNamedDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
343
348
|
ExportDefaultDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
344
|
-
ExportAllDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed
|
|
349
|
+
ExportAllDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
|
|
345
350
|
};
|
|
346
|
-
}
|
|
351
|
+
},
|
|
347
352
|
});
|
|
348
353
|
//# sourceMappingURL=no-useless-return.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-useless-return.js","sourceRoot":"","sources":["../../../../../src/rules/no-useless-return.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,cAAc;AACd,qBAAqB;AAErB;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"no-useless-return.js","sourceRoot":"","sources":["../../../../../src/rules/no-useless-return.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,cAAc;AACd,qBAAqB;AAErB;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,CAAC,YAAY,CAAC,CAAC;AAEf,gFAAgF;AAChF,sEAAsE;AACtE,gFAAgF;AAEhF,4DAA4D;AAC5D,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,kBAAkB,GACtB,mEAAmE,CAAC;AACtE,MAAM,cAAc,GAAG,+CAA+C,CAAC;AAEvE;;;;;;;;;GASG;AACH,SAAS,UAAU,CAAC,IAAI;IACtB,OAAO,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,MAAM,CAAC,IAAI;IAClB,OAAO,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,IAAI;IACpB,KACE,IAAI,WAAW,GAAG,IAAI,EACtB,WAAW,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EACvC,WAAW,GAAG,WAAW,CAAC,MAAM,EAChC,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;GAKG;AACH,SAAS,MAAM,CAAC,KAAK,EAAE,OAAO;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAI;IACvB,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAI;IACvB,KACE,IAAI,WAAW,GAAG,IAAI,EACtB,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAC7D,WAAW,GAAG,WAAW,CAAC,MAAM,EAChC,CAAC;QACD,IACE,WAAW,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc;eACvC,WAAW,CAAC,MAAM,CAAC,SAAS,KAAK,WAAW,EAC/C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,QAAQ;IACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,mBAAmB,EAAE,QAAQ;IACnC,cAAc,EAAE,EAAE,EAAE,yDAAyD;IAE7E,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAElB,IAAI,EAAE;YACJ,WAAW,EAAE,4DAA4D,EAAE,mCAAmC;YAC9G,WAAW,EAAE,IAAI,EAAE,oBAAoB;YACvC,gEAAgE;SACjE;QAED,mBAAmB;QACnB,MAAM,EAAE,EAAE;QAEV,QAAQ,EAAE;YACR,iBAAiB,EAAE,+BAA+B;SACnD;KACF;IAED,MAAM,CAAC,OAAO;QACZ,MAAM,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB;;;;WAIG;QACH,SAAS,UAAU,CAAC,OAAO;YACzB,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEzC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;QAChC,CAAC;QAED;;;;;;;;;;;;;;;;;WAiBG;QACH,SAAS,iBAAiB,CACxB,cAAc,EACd,YAAY,EACZ,yBAAyB;YAEzB,MAAM,iBAAiB,GAAG,yBAAyB,IAAI,IAAI,OAAO,EAAE,CAAC;YAErE,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACvB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBACpC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC/B,iBAAiB,CACf,cAAc,EACd,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,EAC1C,iBAAiB,CAClB,CAAC;oBACJ,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChC,cAAc,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YAED,OAAO,cAAc,CAAC;QACxB,CAAC;QAED;;;;;;;;;;;;;;;;;WAiBG;QACH,SAAS,mCAAmC,CAC1C,OAAO,EACP,uBAAuB;YAEvB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrC,OAAO,CAAC,eAAe;qBACpB,MAAM,CAAC,UAAU,CAAC;qBAClB,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;qBAClE,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CACvB,mCAAmC,CACjC,WAAW,EACX,uBAAuB,CACxB,CACF,CAAC;gBACJ,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEzC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACxD,IACE,SAAS,CAAC,2BAA2B;uBAClC,SAAS,CAAC,2BAA2B,CAAC,MAAM,GAAG,CAAC,EACnD,CAAC;oBACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAEvC,MAAM,gBAAgB,GAAG,SAAS,CAAC,2BAA2B,CAAC,IAAI,CACjE,CAAC,iBAAiB,EAAE,EAAE;wBACpB,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACrD,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAEnD,OAAO,CACL,kBAAkB,IAAI,iBAAiB;+BACpC,gBAAgB,IAAI,eAAe,CACvC,CAAC;oBACJ,CAAC,CACF,CAAC;oBAEF,IAAI,gBAAgB,EAAE,CAAC;wBACrB,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBACvC,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAED;;;;;;;;;;;WAWG;QACH,SAAS,2CAA2C;YAClD,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5C,mCAAmC,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CACxD,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,SAAS;QACT,wEAAwE;QAExE,OAAO;YACL,4CAA4C;YAC5C,eAAe,CAAC,QAAQ;gBACtB,SAAS,GAAG;oBACV,KAAK,EAAE,SAAS;oBAChB,cAAc,EAAE,EAAE;oBAClB,2BAA2B,EAAE,EAAE;oBAC/B,QAAQ;oBACR,eAAe,EAAE,IAAI,GAAG,EAAE;iBAC3B,CAAC;YACJ,CAAC;YAED,8CAA8C;YAC9C,aAAa;gBACX,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;oBAC5C,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,SAAS,EAAE,mBAAmB;qBAC/B,CAAC,CAAC;gBACL,CAAC;gBAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;YAC9B,CAAC;YAED;;;eAGG;YACH,sBAAsB,CAAC,OAAO;gBAC5B,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEvC,MAAM,IAAI,GAAG;oBACX,cAAc,EAAE,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC;oBAC9D,QAAQ,EAAE,KAAK;iBAChB,CAAC;gBAEF,mBAAmB;gBACnB,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;YAED,iCAAiC,CAAC,OAAO;gBACvC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YAED,+BAA+B,CAAC,OAAO;gBACrC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,oBAAoB,CAAC,OAAO;gBAC1B,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,kEAAkE;YAClE,eAAe,CAAC,IAAI;gBAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,2CAA2C,EAAE,CAAC;gBAChD,CAAC;gBACD,IACE,IAAI,CAAC,QAAQ;uBACV,QAAQ,CAAC,IAAI,CAAC;uBACd,WAAW,CAAC,IAAI,CAAC;oBACpB,oGAAoG;uBACjG,CAAC,qBAAqB,CAAC,SAAS,CAAC,eAAe,CAAC,EACpD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;oBAChD,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAEzC,IAAI,IAAI,EAAE,CAAC;wBACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACvB,CAAC;gBACH,CAAC;gBACD,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YAED,0CAA0C,CAAC,IAAI;gBAC7C,SAAS,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;YAED,mBAAmB;gBACjB,SAAS,CAAC,2BAA2B,CAAC,GAAG,EAAE,CAAC;YAC9C,CAAC;YAED;;;eAGG;YACH,gBAAgB,EAAE,2CAA2C;YAC7D,iBAAiB,EAAE,2CAA2C;YAC9D,iBAAiB,EAAE,2CAA2C;YAC9D,gBAAgB,EAAE,2CAA2C;YAC7D,cAAc,EAAE,2CAA2C;YAC3D,mBAAmB,EAAE,2CAA2C;YAChE,cAAc,EAAE,2CAA2C;YAC3D,cAAc,EAAE,2CAA2C;YAC3D,YAAY,EAAE,2CAA2C;YACzD,WAAW,EAAE,2CAA2C;YACxD,iBAAiB,EAAE,2CAA2C;YAC9D,gBAAgB,EAAE,2CAA2C;YAC7D,eAAe,EAAE,2CAA2C;YAC5D,cAAc,EAAE,2CAA2C;YAC3D,YAAY,EAAE,2CAA2C;YACzD,mBAAmB,EAAE,2CAA2C;YAChE,cAAc,EAAE,2CAA2C;YAC3D,aAAa,EAAE,2CAA2C;YAC1D,sBAAsB,EAAE,2CAA2C;YACnE,wBAAwB,EAAE,2CAA2C;YACrE,oBAAoB,EAAE,2CAA2C;SAClE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-const.d.ts","sourceRoot":"","sources":["../../../src/rules/prefer-const.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prefer-const.d.ts","sourceRoot":"","sources":["../../../src/rules/prefer-const.ts"],"names":[],"mappings":"AAuWA,eAAO,MAAM,WAAW;;CAiLtB,CAAC"}
|
|
@@ -13,7 +13,7 @@ import { createRule } from "../utils.js";
|
|
|
13
13
|
* @fileoverview A rule to suggest using of const declaration for variables that are never reassigned after declared.
|
|
14
14
|
* @author Toru Nagashima
|
|
15
15
|
*/
|
|
16
|
-
"use strict";
|
|
16
|
+
("use strict");
|
|
17
17
|
//------------------------------------------------------------------------------
|
|
18
18
|
// External code (copy pasted from elsewhere in the ESLint repository)
|
|
19
19
|
//------------------------------------------------------------------------------
|
|
@@ -58,10 +58,10 @@ function canBecomeVariableDeclaration(identifier) {
|
|
|
58
58
|
while (PATTERN_TYPE.test(node.type)) {
|
|
59
59
|
node = node.parent;
|
|
60
60
|
}
|
|
61
|
-
return (node.type === "VariableDeclarator"
|
|
62
|
-
(node.type === "AssignmentExpression"
|
|
63
|
-
node.parent.type === "ExpressionStatement"
|
|
64
|
-
DECLARATION_HOST_TYPE.test(node.parent.parent.type)));
|
|
61
|
+
return (node.type === "VariableDeclarator"
|
|
62
|
+
|| (node.type === "AssignmentExpression"
|
|
63
|
+
&& node.parent.type === "ExpressionStatement"
|
|
64
|
+
&& DECLARATION_HOST_TYPE.test(node.parent.parent.type)));
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Checks if an property or element is from outer scope or function parameters
|
|
@@ -71,12 +71,12 @@ function canBecomeVariableDeclaration(identifier) {
|
|
|
71
71
|
* @returns {boolean} Indicates if the variable is from outer scope or function parameters.
|
|
72
72
|
*/
|
|
73
73
|
function isOuterVariableInDestructing(name, initScope) {
|
|
74
|
-
if (initScope.through.some(ref => ref.resolved && ref.resolved.name === name)) {
|
|
74
|
+
if (initScope.through.some((ref) => ref.resolved && ref.resolved.name === name)) {
|
|
75
75
|
return true;
|
|
76
76
|
}
|
|
77
77
|
const variable = getVariableByName(initScope, name);
|
|
78
78
|
if (variable !== null) {
|
|
79
|
-
return variable.defs.some(def => def.type === "Parameter");
|
|
79
|
+
return variable.defs.some((def) => def.type === "Parameter");
|
|
80
80
|
}
|
|
81
81
|
return false;
|
|
82
82
|
}
|
|
@@ -114,7 +114,7 @@ function getDestructuringHost(reference) {
|
|
|
114
114
|
function hasMemberExpressionAssignment(node) {
|
|
115
115
|
switch (node.type) {
|
|
116
116
|
case "ObjectPattern":
|
|
117
|
-
return node.properties.some(prop => {
|
|
117
|
+
return node.properties.some((prop) => {
|
|
118
118
|
if (prop) {
|
|
119
119
|
/*
|
|
120
120
|
* Spread elements have an argument property while
|
|
@@ -127,7 +127,7 @@ function hasMemberExpressionAssignment(node) {
|
|
|
127
127
|
return false;
|
|
128
128
|
});
|
|
129
129
|
case "ArrayPattern":
|
|
130
|
-
return node.elements.some(element => {
|
|
130
|
+
return node.elements.some((element) => {
|
|
131
131
|
if (element) {
|
|
132
132
|
return hasMemberExpressionAssignment(element);
|
|
133
133
|
}
|
|
@@ -176,8 +176,7 @@ function getIdentifierIfShouldBeConst(variable, ignoreReadBeforeAssign) {
|
|
|
176
176
|
for (let i = 0; i < references.length; ++i) {
|
|
177
177
|
const reference = references[i];
|
|
178
178
|
if (reference.isWrite()) {
|
|
179
|
-
const isReassigned =
|
|
180
|
-
writer.identifier !== reference.identifier);
|
|
179
|
+
const isReassigned = writer !== null && writer.identifier !== reference.identifier;
|
|
181
180
|
if (isReassigned) {
|
|
182
181
|
return null;
|
|
183
182
|
}
|
|
@@ -188,16 +187,16 @@ function getIdentifierIfShouldBeConst(variable, ignoreReadBeforeAssign) {
|
|
|
188
187
|
if (leftNode.type === "ObjectPattern") {
|
|
189
188
|
const properties = leftNode.properties;
|
|
190
189
|
hasOuterVariables = properties
|
|
191
|
-
.filter(prop => prop.value)
|
|
192
|
-
.map(prop => prop.value.name)
|
|
193
|
-
.some(name => isOuterVariableInDestructing(name, variable.scope));
|
|
190
|
+
.filter((prop) => prop.value)
|
|
191
|
+
.map((prop) => prop.value.name)
|
|
192
|
+
.some((name) => isOuterVariableInDestructing(name, variable.scope));
|
|
194
193
|
hasNonIdentifiers = hasMemberExpressionAssignment(leftNode);
|
|
195
194
|
}
|
|
196
195
|
else if (leftNode.type === "ArrayPattern") {
|
|
197
196
|
const elements = leftNode.elements;
|
|
198
197
|
hasOuterVariables = elements
|
|
199
|
-
.map(element => element && element.name)
|
|
200
|
-
.some(name => isOuterVariableInDestructing(name, variable.scope));
|
|
198
|
+
.map((element) => element && element.name)
|
|
199
|
+
.some((name) => isOuterVariableInDestructing(name, variable.scope));
|
|
201
200
|
hasNonIdentifiers = hasMemberExpressionAssignment(leftNode);
|
|
202
201
|
}
|
|
203
202
|
if (hasOuterVariables || hasNonIdentifiers) {
|
|
@@ -217,9 +216,9 @@ function getIdentifierIfShouldBeConst(variable, ignoreReadBeforeAssign) {
|
|
|
217
216
|
* If the assignment is from a different scope, ignore it.
|
|
218
217
|
* If the assignment cannot change to a declaration, ignore it.
|
|
219
218
|
*/
|
|
220
|
-
const shouldBeConst =
|
|
221
|
-
writer.from === variable.scope
|
|
222
|
-
canBecomeVariableDeclaration(writer.identifier)
|
|
219
|
+
const shouldBeConst = writer !== null
|
|
220
|
+
&& writer.from === variable.scope
|
|
221
|
+
&& canBecomeVariableDeclaration(writer.identifier);
|
|
223
222
|
if (!shouldBeConst) {
|
|
224
223
|
return null;
|
|
225
224
|
}
|
|
@@ -305,14 +304,14 @@ export const preferConst = createRule({
|
|
|
305
304
|
type: "object",
|
|
306
305
|
properties: {
|
|
307
306
|
destructuring: { enum: ["any", "all"], default: "any" },
|
|
308
|
-
ignoreReadBeforeAssign: { type: "boolean", default: false }
|
|
307
|
+
ignoreReadBeforeAssign: { type: "boolean", default: false },
|
|
309
308
|
},
|
|
310
|
-
additionalProperties: false
|
|
311
|
-
}
|
|
309
|
+
additionalProperties: false,
|
|
310
|
+
},
|
|
312
311
|
],
|
|
313
312
|
messages: {
|
|
314
|
-
useConst: "'{{name}}' is never reassigned. Use 'const' instead."
|
|
315
|
-
}
|
|
313
|
+
useConst: "'{{name}}' is never reassigned. Use 'const' instead.",
|
|
314
|
+
},
|
|
316
315
|
},
|
|
317
316
|
create(context) {
|
|
318
317
|
const options = context.options[0] || {};
|
|
@@ -338,8 +337,10 @@ export const preferConst = createRule({
|
|
|
338
337
|
*/
|
|
339
338
|
function checkGroup(nodes) {
|
|
340
339
|
const nodesToReport = nodes.filter(Boolean);
|
|
341
|
-
if (nodes.length
|
|
342
|
-
|
|
340
|
+
if (nodes.length
|
|
341
|
+
&& (shouldMatchAnyDestructuredVariable
|
|
342
|
+
|| nodesToReport.length === nodes.length)) {
|
|
343
|
+
const varDeclParent = findUp(nodes[0], "VariableDeclaration", (parentNode) => parentNode.type.endsWith("Statement"));
|
|
343
344
|
const isVarDecParentNull = varDeclParent === null;
|
|
344
345
|
if (!isVarDecParentNull && varDeclParent.declarations.length > 0) {
|
|
345
346
|
const firstDeclaration = varDeclParent.declarations[0];
|
|
@@ -371,25 +372,30 @@ export const preferConst = createRule({
|
|
|
371
372
|
}
|
|
372
373
|
}
|
|
373
374
|
}
|
|
374
|
-
let shouldFix = varDeclParent
|
|
375
|
+
let shouldFix = varDeclParent
|
|
375
376
|
// Don't do a fix unless all variables in the declarations are initialized (or it's in a for-in or for-of loop)
|
|
376
|
-
(varDeclParent.parent.type === "ForInStatement"
|
|
377
|
-
varDeclParent.
|
|
377
|
+
&& (varDeclParent.parent.type === "ForInStatement"
|
|
378
|
+
|| varDeclParent.parent.type === "ForOfStatement"
|
|
379
|
+
|| varDeclParent.declarations.every((declaration) => declaration.init))
|
|
378
380
|
/*
|
|
379
381
|
* If options.destructuring is "all", then this warning will not occur unless
|
|
380
382
|
* every assignment in the destructuring should be const. In that case, it's safe
|
|
381
383
|
* to apply the fix.
|
|
382
384
|
*/
|
|
383
|
-
nodesToReport.length === nodes.length;
|
|
384
|
-
if (!isVarDecParentNull
|
|
385
|
-
|
|
385
|
+
&& nodesToReport.length === nodes.length;
|
|
386
|
+
if (!isVarDecParentNull
|
|
387
|
+
&& varDeclParent.declarations
|
|
388
|
+
&& varDeclParent.declarations.length !== 1) {
|
|
389
|
+
if (varDeclParent
|
|
390
|
+
&& varDeclParent.declarations
|
|
391
|
+
&& varDeclParent.declarations.length >= 1) {
|
|
386
392
|
/*
|
|
387
393
|
* Add nodesToReport.length to a count, then comparing the count to the length
|
|
388
394
|
* of the declarations in the current block.
|
|
389
395
|
*/
|
|
390
396
|
reportCount += nodesToReport.length;
|
|
391
397
|
let totalDeclarationsCount = 0;
|
|
392
|
-
varDeclParent.declarations.forEach(declaration => {
|
|
398
|
+
varDeclParent.declarations.forEach((declaration) => {
|
|
393
399
|
if (declaration.id.type === "ObjectPattern") {
|
|
394
400
|
totalDeclarationsCount += declaration.id.properties.length;
|
|
395
401
|
}
|
|
@@ -400,10 +406,10 @@ export const preferConst = createRule({
|
|
|
400
406
|
totalDeclarationsCount += 1;
|
|
401
407
|
}
|
|
402
408
|
});
|
|
403
|
-
shouldFix = shouldFix &&
|
|
409
|
+
shouldFix = shouldFix && reportCount === totalDeclarationsCount;
|
|
404
410
|
}
|
|
405
411
|
}
|
|
406
|
-
nodesToReport.forEach(node => {
|
|
412
|
+
nodesToReport.forEach((node) => {
|
|
407
413
|
context.report({
|
|
408
414
|
node,
|
|
409
415
|
messageId: "useConst",
|
|
@@ -420,8 +426,8 @@ export const preferConst = createRule({
|
|
|
420
426
|
if (node.kind === "let" && !isInitOfForStatement(node)) {
|
|
421
427
|
variables.push(...sourceCode.getDeclaredVariables(node));
|
|
422
428
|
}
|
|
423
|
-
}
|
|
429
|
+
},
|
|
424
430
|
};
|
|
425
|
-
}
|
|
431
|
+
},
|
|
426
432
|
});
|
|
427
433
|
//# sourceMappingURL=prefer-const.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-const.js","sourceRoot":"","sources":["../../../../../src/rules/prefer-const.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,cAAc;AACd,+BAA+B;AAE/B;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AAEH,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"prefer-const.js","sourceRoot":"","sources":["../../../../../src/rules/prefer-const.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-objects.d.ts","sourceRoot":"","sources":["../../../src/rules/sort-objects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAOnE,KAAK,UAAU,GAAG,4BAA4B,GAAG,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"sort-objects.d.ts","sourceRoot":"","sources":["../../../src/rules/sort-objects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAOnE,KAAK,UAAU,GAAG,4BAA4B,GAAG,4BAA4B,CAAC;AAgB9E,eAAO,MAAM,WAAW;;CAiFtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-objects.js","sourceRoot":"","sources":["../../../../../src/rules/sort-objects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sort-objects.js","sourceRoot":"","sources":["../../../../../src/rules/sort-objects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-declaration-immutability.d.ts","sourceRoot":"","sources":["../../../src/rules/type-declaration-immutability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"type-declaration-immutability.d.ts","sourceRoot":"","sources":["../../../src/rules/type-declaration-immutability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAwCvD,eAAO,MAAM,2BAA2B;;CA0CtC,CAAC"}
|
|
@@ -1,6 +1,33 @@
|
|
|
1
1
|
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
2
|
-
import { getDefaultOverrides, isImmutableType } from "is-immutable-type";
|
|
2
|
+
import { getDefaultOverrides, Immutability, isImmutableType, } from "is-immutable-type";
|
|
3
3
|
import { createRule } from "../utils.js";
|
|
4
|
+
const IMMUTABILITY_OVERRIDES = [
|
|
5
|
+
...getDefaultOverrides(),
|
|
6
|
+
{
|
|
7
|
+
type: {
|
|
8
|
+
from: "lib",
|
|
9
|
+
name: "ReadonlyArray",
|
|
10
|
+
},
|
|
11
|
+
from: Immutability.ReadonlyDeep,
|
|
12
|
+
to: Immutability.Immutable,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
type: {
|
|
16
|
+
from: "lib",
|
|
17
|
+
name: "ReadonlyMap",
|
|
18
|
+
},
|
|
19
|
+
from: Immutability.ReadonlyDeep,
|
|
20
|
+
to: Immutability.Immutable,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
type: {
|
|
24
|
+
from: "lib",
|
|
25
|
+
name: "ReadonlySet",
|
|
26
|
+
},
|
|
27
|
+
from: Immutability.ReadonlyDeep,
|
|
28
|
+
to: Immutability.Immutable,
|
|
29
|
+
},
|
|
30
|
+
];
|
|
4
31
|
export const typeDeclarationImmutability = createRule({
|
|
5
32
|
name: "type-declaration-immutability",
|
|
6
33
|
meta: {
|
|
@@ -21,11 +48,10 @@ export const typeDeclarationImmutability = createRule({
|
|
|
21
48
|
const { program } = parserServices;
|
|
22
49
|
const checker = program.getTypeChecker();
|
|
23
50
|
const immutabilityCache = new WeakMap();
|
|
24
|
-
const immutabilityOverrides = getDefaultOverrides();
|
|
25
51
|
function checkInterface(node) {
|
|
26
52
|
const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node);
|
|
27
53
|
const type = checker.getTypeAtLocation(tsNode);
|
|
28
|
-
if (!isImmutableType(program, type,
|
|
54
|
+
if (!isImmutableType(program, type, IMMUTABILITY_OVERRIDES, immutabilityCache)) {
|
|
29
55
|
context.report({
|
|
30
56
|
node: node.id,
|
|
31
57
|
messageId: "mustBeImmutable",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-declaration-immutability.js","sourceRoot":"","sources":["../../../../../src/rules/type-declaration-immutability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,
|
|
1
|
+
{"version":3,"file":"type-declaration-immutability.js","sourceRoot":"","sources":["../../../../../src/rules/type-declaration-immutability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,MAAM,sBAAsB,GAAG;IAC7B,GAAG,mBAAmB,EAAE;IACxB;QACE,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,eAAe;SACtB;QACD,IAAI,EAAE,YAAY,CAAC,YAAY;QAC/B,EAAE,EAAE,YAAY,CAAC,SAAS;KAC3B;IACD;QACE,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,aAAa;SACpB;QACD,IAAI,EAAE,YAAY,CAAC,YAAY;QAC/B,EAAE,EAAE,YAAY,CAAC,SAAS;KAC3B;IACD;QACE,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,aAAa;SACpB;QACD,IAAI,EAAE,YAAY,CAAC,YAAY;QAC/B,EAAE,EAAE,YAAY,CAAC,SAAS;KAC3B;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAsB;IACzE,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,wCAAwC;YACrD,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,IAAI;SAC3B;QACD,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,eAAe,EAAE,+BAA+B;SACjD;KACF;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;QACnC,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,iBAAiB,GAAsB,IAAI,OAAO,EAAE,CAAC;QAE3D,SAAS,cAAc,CAAC,IAAqC;YAC3D,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE/C,IACE,CAAC,eAAe,CACd,OAAO,EACP,IAAI,EACJ,sBAAsB,EACtB,iBAAiB,CAClB,EACD,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,IAAI,CAAC,EAAE;oBACb,SAAS,EAAE,iBAAiB;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-complete",
|
|
3
|
-
"version": "1.12.
|
|
3
|
+
"version": "1.12.1",
|
|
4
4
|
"description": "An ESLint plugin that contains useful rules.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"scripts": {
|
|
37
37
|
"build": "bun run ./scripts/build.ts",
|
|
38
38
|
"create-rule": "bun run ./scripts/createRule.ts",
|
|
39
|
-
"docs": "bun run build && eslint-doc-generator",
|
|
39
|
+
"docs": "bun run build && eslint-doc-generator && bunx prettier --write .",
|
|
40
40
|
"generate": "bun run ./scripts/generate.ts",
|
|
41
41
|
"lint": "bun run ./scripts/lint.ts",
|
|
42
42
|
"test": "jest"
|