@typescript-eslint/eslint-plugin 8.8.2-alpha.1 → 8.8.2-alpha.11
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/configs/eslint-recommended-raw.js +2 -2
- package/dist/configs/eslint-recommended-raw.js.map +1 -1
- package/dist/index.js +23 -21
- package/dist/index.js.map +1 -1
- package/dist/rules/class-methods-use-this.js +3 -3
- package/dist/rules/class-methods-use-this.js.map +1 -1
- package/dist/rules/index.js +2 -2
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/no-duplicate-type-constituents.js +1 -1
- package/dist/rules/no-duplicate-type-constituents.js.map +1 -1
- package/dist/rules/no-implied-eval.js +2 -2
- package/dist/rules/no-implied-eval.js.map +1 -1
- package/dist/rules/no-loop-func.js +135 -116
- package/dist/rules/no-loop-func.js.map +1 -1
- package/dist/rules/no-redeclare.js +2 -2
- package/dist/rules/no-redeclare.js.map +1 -1
- package/dist/rules/no-type-alias.js +3 -3
- package/dist/rules/no-type-alias.js.map +1 -1
- package/dist/rules/no-unnecessary-parameter-property-assignment.js +1 -1
- package/dist/rules/no-unnecessary-parameter-property-assignment.js.map +1 -1
- package/dist/rules/no-unnecessary-qualifier.js +1 -1
- package/dist/rules/no-unnecessary-qualifier.js.map +1 -1
- package/dist/rules/no-unnecessary-type-parameters.js +1 -5
- package/dist/rules/no-unnecessary-type-parameters.js.map +1 -1
- package/dist/rules/no-unused-vars.js +5 -1
- package/dist/rules/no-unused-vars.js.map +1 -1
- package/dist/rules/prefer-function-type.js +7 -7
- package/dist/rules/prefer-function-type.js.map +1 -1
- package/dist/rules/prefer-literal-enum-member.js +4 -1
- package/dist/rules/prefer-literal-enum-member.js.map +1 -1
- package/dist/rules/return-await.js +5 -6
- package/dist/rules/return-await.js.map +1 -1
- package/dist/util/collectUnusedVariables.js +4 -4
- package/dist/util/collectUnusedVariables.js.map +1 -1
- package/dist/util/isArrayMethodCallWithPredicate.js +1 -1
- package/dist/util/isArrayMethodCallWithPredicate.js.map +1 -1
- package/dist/util/needsPrecedingSemiColon.js +1 -1
- package/dist/util/needsPrecedingSemiColon.js.map +1 -1
- package/docs/rules/no-unsafe-call.mdx +18 -1
- package/eslint-recommended-raw.d.ts +5 -0
- package/package.json +8 -7
- package/rules.d.ts +13 -4
@@ -2,13 +2,12 @@
|
|
2
2
|
// NOTE: this file is isolated to be shared across legacy and flat configs
|
3
3
|
// it is exported via `./use-at-your-own-risk/eslint-recommended-raw`
|
4
4
|
// and it has types manually defined in `./eslint-recommended-raw.d.ts`
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
5
|
/**
|
7
6
|
* This is a compatibility ruleset that:
|
8
7
|
* - disables rules from eslint:recommended which are already handled by TypeScript.
|
9
8
|
* - enables rules that make sense due to TS's typechecking / transpilation.
|
10
9
|
*/
|
11
|
-
|
10
|
+
const config = (style) => ({
|
12
11
|
files: style === 'glob'
|
13
12
|
? // classic configs use glob syntax
|
14
13
|
['*.ts', '*.tsx', '*.mts', '*.cts']
|
@@ -39,4 +38,5 @@ exports.default = (style) => ({
|
|
39
38
|
'prefer-spread': 'error', // ts transpiles spread to apply, so no need for manual apply
|
40
39
|
},
|
41
40
|
});
|
41
|
+
module.exports = config;
|
42
42
|
//# sourceMappingURL=eslint-recommended-raw.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eslint-recommended-raw.js","sourceRoot":"","sources":["../../src/configs/eslint-recommended-raw.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,qEAAqE;AACrE,uEAAuE
|
1
|
+
{"version":3,"file":"eslint-recommended-raw.js","sourceRoot":"","sources":["../../src/configs/eslint-recommended-raw.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,qEAAqE;AACrE,uEAAuE;AAEvE;;;;GAIG;AACH,MAAM,MAAM,GAAG,CACb,KAA2B,EAI3B,EAAE,CAAC,CAAC;IACJ,KAAK,EACH,KAAK,KAAK,MAAM;QACd,CAAC,CAAC,kCAAkC;YAClC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;QACrC,CAAC,CAAC,oCAAoC;YACpC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;IACrD,KAAK,EAAE;QACL,mBAAmB,EAAE,KAAK,EAAE,sBAAsB;QAClD,eAAe,EAAE,KAAK,EAAE,WAAW;QACnC,iBAAiB,EAAE,KAAK,EAAE,WAAW;QACrC,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,uBAAuB,EAAE,KAAK,EAAE,sBAAsB;QACtD,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,gBAAgB,EAAE,KAAK,EAAE,WAAW;QACpC,kBAAkB,EAAE,KAAK,EAAE,sBAAsB;QACjD,yDAAyD;QACzD,eAAe,EAAE,KAAK,EAAE,WAAW;QACnC,8BAA8B,EAAE,KAAK,EAAE,WAAW;QAClD,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,kBAAkB,EAAE,KAAK,EAAE,WAAW;QACtC,sBAAsB,EAAE,KAAK,EAAE,uBAAuB;QACtD,UAAU,EAAE,KAAK,EAAE,sBAAsB;QACzC,gBAAgB,EAAE,KAAK,EAAE,WAAW;QACpC,oBAAoB,EAAE,KAAK,EAAE,iCAAiC;QAC9D,QAAQ,EAAE,OAAO,EAAE,+DAA+D;QAClF,cAAc,EAAE,OAAO,EAAE,sCAAsC;QAC/D,oBAAoB,EAAE,OAAO,EAAE,yDAAyD;QACxF,eAAe,EAAE,OAAO,EAAE,6DAA6D;KACxF;CACF,CAAC,CAAC;AAEH,iBAAS,MAAM,CAAC"}
|
package/dist/index.js
CHANGED
@@ -18,28 +18,30 @@ const stylistic_type_checked_only_1 = __importDefault(require("./configs/stylist
|
|
18
18
|
const rules_1 = __importDefault(require("./rules"));
|
19
19
|
// note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder
|
20
20
|
const { name, version } = require('../package.json');
|
21
|
+
const configs = {
|
22
|
+
all: all_1.default,
|
23
|
+
base: base_1.default,
|
24
|
+
'disable-type-checked': disable_type_checked_1.default,
|
25
|
+
'eslint-recommended': eslint_recommended_1.default,
|
26
|
+
recommended: recommended_1.default,
|
27
|
+
/** @deprecated - please use "recommended-type-checked" instead. */
|
28
|
+
'recommended-requiring-type-checking': recommended_type_checked_1.default,
|
29
|
+
'recommended-type-checked': recommended_type_checked_1.default,
|
30
|
+
'recommended-type-checked-only': recommended_type_checked_only_1.default,
|
31
|
+
strict: strict_1.default,
|
32
|
+
'strict-type-checked': strict_type_checked_1.default,
|
33
|
+
'strict-type-checked-only': strict_type_checked_only_1.default,
|
34
|
+
stylistic: stylistic_1.default,
|
35
|
+
'stylistic-type-checked': stylistic_type_checked_1.default,
|
36
|
+
'stylistic-type-checked-only': stylistic_type_checked_only_1.default,
|
37
|
+
};
|
38
|
+
const meta = {
|
39
|
+
name,
|
40
|
+
version,
|
41
|
+
};
|
21
42
|
module.exports = {
|
22
|
-
configs
|
23
|
-
|
24
|
-
base: base_1.default,
|
25
|
-
'disable-type-checked': disable_type_checked_1.default,
|
26
|
-
'eslint-recommended': eslint_recommended_1.default,
|
27
|
-
recommended: recommended_1.default,
|
28
|
-
/** @deprecated - please use "recommended-type-checked" instead. */
|
29
|
-
'recommended-requiring-type-checking': recommended_type_checked_1.default,
|
30
|
-
'recommended-type-checked': recommended_type_checked_1.default,
|
31
|
-
'recommended-type-checked-only': recommended_type_checked_only_1.default,
|
32
|
-
strict: strict_1.default,
|
33
|
-
'strict-type-checked': strict_type_checked_1.default,
|
34
|
-
'strict-type-checked-only': strict_type_checked_only_1.default,
|
35
|
-
stylistic: stylistic_1.default,
|
36
|
-
'stylistic-type-checked': stylistic_type_checked_1.default,
|
37
|
-
'stylistic-type-checked-only': stylistic_type_checked_only_1.default,
|
38
|
-
},
|
39
|
-
meta: {
|
40
|
-
name,
|
41
|
-
version,
|
42
|
-
},
|
43
|
+
configs,
|
44
|
+
meta,
|
43
45
|
rules: rules_1.default,
|
44
46
|
};
|
45
47
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAEA,wDAAgC;AAChC,0DAAkC;AAClC,0FAAgE;AAChE,sFAA6D;AAC7D,wEAAgD;AAChD,kGAAwE;AACxE,4GAAiF;AACjF,8DAAsC;AACtC,wFAA8D;AAC9D,kGAAuE;AACvE,oEAA4C;AAC5C,8FAAoE;AACpE,wGAA6E;AAC7E,oDAA4B;AAE5B,sHAAsH;AACtH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAGlD,CAAC;AAEF,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAEA,wDAAgC;AAChC,0DAAkC;AAClC,0FAAgE;AAChE,sFAA6D;AAC7D,wEAAgD;AAChD,kGAAwE;AACxE,4GAAiF;AACjF,8DAAsC;AACtC,wFAA8D;AAC9D,kGAAuE;AACvE,oEAA4C;AAC5C,8FAAoE;AACpE,wGAA6E;AAC7E,oDAA4B;AAE5B,sHAAsH;AACtH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAGlD,CAAC;AAEF,MAAM,OAAO,GAAG;IACd,GAAG,EAAH,aAAG;IACH,IAAI,EAAJ,cAAI;IACJ,sBAAsB,EAAE,8BAAkB;IAC1C,oBAAoB,EAAE,4BAAiB;IACvC,WAAW,EAAX,qBAAW;IACX,mEAAmE;IACnE,qCAAqC,EAAE,kCAAsB;IAC7D,0BAA0B,EAAE,kCAAsB;IAClD,+BAA+B,EAAE,uCAA0B;IAC3D,MAAM,EAAN,gBAAM;IACN,qBAAqB,EAAE,6BAAiB;IACxC,0BAA0B,EAAE,kCAAqB;IACjD,SAAS,EAAT,mBAAS;IACT,wBAAwB,EAAE,gCAAoB;IAC9C,6BAA6B,EAAE,qCAAwB;CACxD,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,IAAI;IACJ,OAAO;CACR,CAAC;AAEF,iBAAS;IACP,OAAO;IACP,IAAI;IACJ,KAAK,EAAL,eAAK;CACkB,CAAC"}
|
@@ -178,12 +178,12 @@ exports.default = (0, util_1.createRule)({
|
|
178
178
|
/*
|
179
179
|
* Class field value are implicit functions.
|
180
180
|
*/
|
181
|
-
'PropertyDefinition > *.key:exit'() {
|
182
|
-
pushContext();
|
183
|
-
},
|
184
181
|
'PropertyDefinition:exit'() {
|
185
182
|
popContext();
|
186
183
|
},
|
184
|
+
'PropertyDefinition > *.key:exit'() {
|
185
|
+
pushContext();
|
186
|
+
},
|
187
187
|
/*
|
188
188
|
* Class static blocks are implicit functions. They aren't required to use `this`,
|
189
189
|
* but we have to push context so that it captures any use of `this` in the static block
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"class-methods-use-this.js","sourceRoot":"","sources":["../../src/rules/class-methods-use-this.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"class-methods-use-this.js","sourceRoot":"","sources":["../../src/rules/class-methods-use-this.ts"],"names":[],"mappings":"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"}
|
package/dist/rules/index.js
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
5
|
const adjacent_overload_signatures_1 = __importDefault(require("./adjacent-overload-signatures"));
|
7
6
|
const array_type_1 = __importDefault(require("./array-type"));
|
8
7
|
const await_thenable_1 = __importDefault(require("./await-thenable"));
|
@@ -130,7 +129,7 @@ const typedef_1 = __importDefault(require("./typedef"));
|
|
130
129
|
const unbound_method_1 = __importDefault(require("./unbound-method"));
|
131
130
|
const unified_signatures_1 = __importDefault(require("./unified-signatures"));
|
132
131
|
const use_unknown_in_catch_callback_variable_1 = __importDefault(require("./use-unknown-in-catch-callback-variable"));
|
133
|
-
|
132
|
+
const rules = {
|
134
133
|
'adjacent-overload-signatures': adjacent_overload_signatures_1.default,
|
135
134
|
'array-type': array_type_1.default,
|
136
135
|
'await-thenable': await_thenable_1.default,
|
@@ -259,4 +258,5 @@ exports.default = {
|
|
259
258
|
'unified-signatures': unified_signatures_1.default,
|
260
259
|
'use-unknown-in-catch-callback-variable': use_unknown_in_catch_callback_variable_1.default,
|
261
260
|
};
|
261
|
+
module.exports = rules;
|
262
262
|
//# sourceMappingURL=index.js.map
|
package/dist/rules/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
|
@@ -27,7 +27,7 @@ const utils_1 = require("@typescript-eslint/utils");
|
|
27
27
|
const tsutils = __importStar(require("ts-api-utils"));
|
28
28
|
const ts = __importStar(require("typescript"));
|
29
29
|
const util_1 = require("../util");
|
30
|
-
const astIgnoreKeys = new Set(['
|
30
|
+
const astIgnoreKeys = new Set(['loc', 'parent', 'range']);
|
31
31
|
const isSameAstNode = (actualNode, expectedNode) => {
|
32
32
|
if (actualNode === expectedNode) {
|
33
33
|
return true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"no-duplicate-type-constituents.js","sourceRoot":"","sources":["../../src/rules/no-duplicate-type-constituents.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oDAA0D;AAC1D,sDAAwC;AACxC,+CAAiC;AAEjC,kCAMiB;AAWjB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,
|
1
|
+
{"version":3,"file":"no-duplicate-type-constituents.js","sourceRoot":"","sources":["../../src/rules/no-duplicate-type-constituents.ts"],"names":[],"mappings":"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"}
|
@@ -28,12 +28,12 @@ const tsutils = __importStar(require("ts-api-utils"));
|
|
28
28
|
const ts = __importStar(require("typescript"));
|
29
29
|
const util_1 = require("../util");
|
30
30
|
const FUNCTION_CONSTRUCTOR = 'Function';
|
31
|
-
const GLOBAL_CANDIDATES = new Set(['global', '
|
31
|
+
const GLOBAL_CANDIDATES = new Set(['global', 'globalThis', 'window']);
|
32
32
|
const EVAL_LIKE_METHODS = new Set([
|
33
|
+
'execScript',
|
33
34
|
'setImmediate',
|
34
35
|
'setInterval',
|
35
36
|
'setTimeout',
|
36
|
-
'execScript',
|
37
37
|
]);
|
38
38
|
exports.default = (0, util_1.createRule)({
|
39
39
|
name: 'no-implied-eval',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"no-implied-eval.js","sourceRoot":"","sources":["../../src/rules/no-implied-eval.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oDAA0D;AAC1D,sDAAwC;AACxC,+CAAiC;AAEjC,kCAKiB;AAEjB,MAAM,oBAAoB,GAAG,UAAU,CAAC;AACxC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,
|
1
|
+
{"version":3,"file":"no-implied-eval.js","sourceRoot":"","sources":["../../src/rules/no-implied-eval.ts"],"names":[],"mappings":"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"}
|
@@ -18,6 +18,126 @@ exports.default = (0, util_1.createRule)({
|
|
18
18
|
},
|
19
19
|
defaultOptions: [],
|
20
20
|
create(context) {
|
21
|
+
const SKIPPED_IIFE_NODES = new Set();
|
22
|
+
/**
|
23
|
+
* Gets the containing loop node of a specified node.
|
24
|
+
*
|
25
|
+
* We don't need to check nested functions, so this ignores those.
|
26
|
+
* `Scope.through` contains references of nested functions.
|
27
|
+
*
|
28
|
+
* @param node An AST node to get.
|
29
|
+
* @returns The containing loop node of the specified node, or `null`.
|
30
|
+
*/
|
31
|
+
function getContainingLoopNode(node) {
|
32
|
+
for (let currentNode = node; currentNode.parent; currentNode = currentNode.parent) {
|
33
|
+
const parent = currentNode.parent;
|
34
|
+
switch (parent.type) {
|
35
|
+
case utils_1.AST_NODE_TYPES.WhileStatement:
|
36
|
+
case utils_1.AST_NODE_TYPES.DoWhileStatement:
|
37
|
+
return parent;
|
38
|
+
case utils_1.AST_NODE_TYPES.ForStatement:
|
39
|
+
// `init` is outside of the loop.
|
40
|
+
if (parent.init !== currentNode) {
|
41
|
+
return parent;
|
42
|
+
}
|
43
|
+
break;
|
44
|
+
case utils_1.AST_NODE_TYPES.ForInStatement:
|
45
|
+
case utils_1.AST_NODE_TYPES.ForOfStatement:
|
46
|
+
// `right` is outside of the loop.
|
47
|
+
if (parent.right !== currentNode) {
|
48
|
+
return parent;
|
49
|
+
}
|
50
|
+
break;
|
51
|
+
case utils_1.AST_NODE_TYPES.ArrowFunctionExpression:
|
52
|
+
case utils_1.AST_NODE_TYPES.FunctionExpression:
|
53
|
+
case utils_1.AST_NODE_TYPES.FunctionDeclaration:
|
54
|
+
// We don't need to check nested functions.
|
55
|
+
// We need to check nested functions only in case of IIFE.
|
56
|
+
if (SKIPPED_IIFE_NODES.has(parent)) {
|
57
|
+
break;
|
58
|
+
}
|
59
|
+
return null;
|
60
|
+
default:
|
61
|
+
break;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
return null;
|
65
|
+
}
|
66
|
+
/**
|
67
|
+
* Gets the containing loop node of a given node.
|
68
|
+
* If the loop was nested, this returns the most outer loop.
|
69
|
+
* @param node A node to get. This is a loop node.
|
70
|
+
* @param excludedNode A node that the result node should not include.
|
71
|
+
* @returns The most outer loop node.
|
72
|
+
*/
|
73
|
+
function getTopLoopNode(node, excludedNode) {
|
74
|
+
const border = excludedNode ? excludedNode.range[1] : 0;
|
75
|
+
let retv = node;
|
76
|
+
let containingLoopNode = node;
|
77
|
+
while (containingLoopNode && containingLoopNode.range[0] >= border) {
|
78
|
+
retv = containingLoopNode;
|
79
|
+
containingLoopNode = getContainingLoopNode(containingLoopNode);
|
80
|
+
}
|
81
|
+
return retv;
|
82
|
+
}
|
83
|
+
/**
|
84
|
+
* Checks whether a given reference which refers to an upper scope's variable is
|
85
|
+
* safe or not.
|
86
|
+
* @param loopNode A containing loop node.
|
87
|
+
* @param reference A reference to check.
|
88
|
+
* @returns `true` if the reference is safe or not.
|
89
|
+
*/
|
90
|
+
function isSafe(loopNode, reference) {
|
91
|
+
const variable = reference.resolved;
|
92
|
+
const definition = variable?.defs[0];
|
93
|
+
const declaration = definition?.parent;
|
94
|
+
const kind = declaration?.type === utils_1.AST_NODE_TYPES.VariableDeclaration
|
95
|
+
? declaration.kind
|
96
|
+
: '';
|
97
|
+
// type references are all safe
|
98
|
+
// this only really matters for global types that haven't been configured
|
99
|
+
if (reference.isTypeReference) {
|
100
|
+
return true;
|
101
|
+
}
|
102
|
+
// Variables which are declared by `const` is safe.
|
103
|
+
if (kind === 'const') {
|
104
|
+
return true;
|
105
|
+
}
|
106
|
+
/*
|
107
|
+
* Variables which are declared by `let` in the loop is safe.
|
108
|
+
* It's a different instance from the next loop step's.
|
109
|
+
*/
|
110
|
+
if (kind === 'let' &&
|
111
|
+
declaration &&
|
112
|
+
declaration.range[0] > loopNode.range[0] &&
|
113
|
+
declaration.range[1] < loopNode.range[1]) {
|
114
|
+
return true;
|
115
|
+
}
|
116
|
+
/*
|
117
|
+
* WriteReferences which exist after this border are unsafe because those
|
118
|
+
* can modify the variable.
|
119
|
+
*/
|
120
|
+
const border = getTopLoopNode(loopNode, kind === 'let' ? declaration : null).range[0];
|
121
|
+
/**
|
122
|
+
* Checks whether a given reference is safe or not.
|
123
|
+
* The reference is every reference of the upper scope's variable we are
|
124
|
+
* looking now.
|
125
|
+
*
|
126
|
+
* It's safe if the reference matches one of the following condition.
|
127
|
+
* - is readonly.
|
128
|
+
* - doesn't exist inside a local function and after the border.
|
129
|
+
*
|
130
|
+
* @param upperRef A reference to check.
|
131
|
+
* @returns `true` if the reference is safe.
|
132
|
+
*/
|
133
|
+
function isSafeReference(upperRef) {
|
134
|
+
const id = upperRef.identifier;
|
135
|
+
return (!upperRef.isWrite() ||
|
136
|
+
(variable?.scope.variableScope === upperRef.from.variableScope &&
|
137
|
+
id.range[0] < border));
|
138
|
+
}
|
139
|
+
return variable?.references.every(isSafeReference) ?? false;
|
140
|
+
}
|
21
141
|
/**
|
22
142
|
* Reports functions which match the following condition:
|
23
143
|
* - has a loop node in ancestors.
|
@@ -31,8 +151,19 @@ exports.default = (0, util_1.createRule)({
|
|
31
151
|
return;
|
32
152
|
}
|
33
153
|
const references = context.sourceCode.getScope(node).through;
|
154
|
+
if (!(node.async || node.generator) && isIIFE(node)) {
|
155
|
+
const isFunctionExpression = node.type === utils_1.AST_NODE_TYPES.FunctionExpression;
|
156
|
+
// Check if the function is referenced elsewhere in the code
|
157
|
+
const isFunctionReferenced = isFunctionExpression && node.id
|
158
|
+
? references.some(r => r.identifier.name === node.id?.name)
|
159
|
+
: false;
|
160
|
+
if (!isFunctionReferenced) {
|
161
|
+
SKIPPED_IIFE_NODES.add(node);
|
162
|
+
return;
|
163
|
+
}
|
164
|
+
}
|
34
165
|
const unsafeRefs = references
|
35
|
-
.filter(r => !isSafe(loopNode, r))
|
166
|
+
.filter(r => r.resolved && !isSafe(loopNode, r))
|
36
167
|
.map(r => r.identifier.name);
|
37
168
|
if (unsafeRefs.length > 0) {
|
38
169
|
context.report({
|
@@ -49,120 +180,8 @@ exports.default = (0, util_1.createRule)({
|
|
49
180
|
};
|
50
181
|
},
|
51
182
|
});
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
* We don't need to check nested functions, so this ignores those.
|
56
|
-
* `Scope.through` contains references of nested functions.
|
57
|
-
*
|
58
|
-
* @param node An AST node to get.
|
59
|
-
* @returns The containing loop node of the specified node, or `null`.
|
60
|
-
*/
|
61
|
-
function getContainingLoopNode(node) {
|
62
|
-
for (let currentNode = node; currentNode.parent; currentNode = currentNode.parent) {
|
63
|
-
const parent = currentNode.parent;
|
64
|
-
switch (parent.type) {
|
65
|
-
case utils_1.AST_NODE_TYPES.WhileStatement:
|
66
|
-
case utils_1.AST_NODE_TYPES.DoWhileStatement:
|
67
|
-
return parent;
|
68
|
-
case utils_1.AST_NODE_TYPES.ForStatement:
|
69
|
-
// `init` is outside of the loop.
|
70
|
-
if (parent.init !== currentNode) {
|
71
|
-
return parent;
|
72
|
-
}
|
73
|
-
break;
|
74
|
-
case utils_1.AST_NODE_TYPES.ForInStatement:
|
75
|
-
case utils_1.AST_NODE_TYPES.ForOfStatement:
|
76
|
-
// `right` is outside of the loop.
|
77
|
-
if (parent.right !== currentNode) {
|
78
|
-
return parent;
|
79
|
-
}
|
80
|
-
break;
|
81
|
-
case utils_1.AST_NODE_TYPES.ArrowFunctionExpression:
|
82
|
-
case utils_1.AST_NODE_TYPES.FunctionExpression:
|
83
|
-
case utils_1.AST_NODE_TYPES.FunctionDeclaration:
|
84
|
-
// We don't need to check nested functions.
|
85
|
-
return null;
|
86
|
-
default:
|
87
|
-
break;
|
88
|
-
}
|
89
|
-
}
|
90
|
-
return null;
|
91
|
-
}
|
92
|
-
/**
|
93
|
-
* Gets the containing loop node of a given node.
|
94
|
-
* If the loop was nested, this returns the most outer loop.
|
95
|
-
* @param node A node to get. This is a loop node.
|
96
|
-
* @param excludedNode A node that the result node should not include.
|
97
|
-
* @returns The most outer loop node.
|
98
|
-
*/
|
99
|
-
function getTopLoopNode(node, excludedNode) {
|
100
|
-
const border = excludedNode ? excludedNode.range[1] : 0;
|
101
|
-
let retv = node;
|
102
|
-
let containingLoopNode = node;
|
103
|
-
while (containingLoopNode && containingLoopNode.range[0] >= border) {
|
104
|
-
retv = containingLoopNode;
|
105
|
-
containingLoopNode = getContainingLoopNode(containingLoopNode);
|
106
|
-
}
|
107
|
-
return retv;
|
108
|
-
}
|
109
|
-
/**
|
110
|
-
* Checks whether a given reference which refers to an upper scope's variable is
|
111
|
-
* safe or not.
|
112
|
-
* @param loopNode A containing loop node.
|
113
|
-
* @param reference A reference to check.
|
114
|
-
* @returns `true` if the reference is safe or not.
|
115
|
-
*/
|
116
|
-
function isSafe(loopNode, reference) {
|
117
|
-
const variable = reference.resolved;
|
118
|
-
const definition = variable?.defs[0];
|
119
|
-
const declaration = definition?.parent;
|
120
|
-
const kind = declaration?.type === utils_1.AST_NODE_TYPES.VariableDeclaration
|
121
|
-
? declaration.kind
|
122
|
-
: '';
|
123
|
-
// type references are all safe
|
124
|
-
// this only really matters for global types that haven't been configured
|
125
|
-
if (reference.isTypeReference) {
|
126
|
-
return true;
|
127
|
-
}
|
128
|
-
// Variables which are declared by `const` is safe.
|
129
|
-
if (kind === 'const') {
|
130
|
-
return true;
|
131
|
-
}
|
132
|
-
/*
|
133
|
-
* Variables which are declared by `let` in the loop is safe.
|
134
|
-
* It's a different instance from the next loop step's.
|
135
|
-
*/
|
136
|
-
if (kind === 'let' &&
|
137
|
-
declaration &&
|
138
|
-
declaration.range[0] > loopNode.range[0] &&
|
139
|
-
declaration.range[1] < loopNode.range[1]) {
|
140
|
-
return true;
|
141
|
-
}
|
142
|
-
/*
|
143
|
-
* WriteReferences which exist after this border are unsafe because those
|
144
|
-
* can modify the variable.
|
145
|
-
*/
|
146
|
-
const border = getTopLoopNode(loopNode, kind === 'let' ? declaration : null)
|
147
|
-
.range[0];
|
148
|
-
/**
|
149
|
-
* Checks whether a given reference is safe or not.
|
150
|
-
* The reference is every reference of the upper scope's variable we are
|
151
|
-
* looking now.
|
152
|
-
*
|
153
|
-
* It's safe if the reference matches one of the following condition.
|
154
|
-
* - is readonly.
|
155
|
-
* - doesn't exist inside a local function and after the border.
|
156
|
-
*
|
157
|
-
* @param upperRef A reference to check.
|
158
|
-
* @returns `true` if the reference is safe.
|
159
|
-
*/
|
160
|
-
function isSafeReference(upperRef) {
|
161
|
-
const id = upperRef.identifier;
|
162
|
-
return (!upperRef.isWrite() ||
|
163
|
-
(variable?.scope.variableScope === upperRef.from.variableScope &&
|
164
|
-
id.range[0] < border));
|
165
|
-
}
|
166
|
-
return variable?.references.every(isSafeReference) ?? false;
|
183
|
+
function isIIFE(node) {
|
184
|
+
return (node.parent.type === utils_1.AST_NODE_TYPES.CallExpression &&
|
185
|
+
node.parent.callee === node);
|
167
186
|
}
|
168
187
|
//# sourceMappingURL=no-loop-func.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"no-loop-func.js","sourceRoot":"","sources":["../../src/rules/no-loop-func.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAO1D,kCAAqC;AACrC,iEAA8D;AAE9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,cAAc,CAAC,CAAC;AAKnD,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,sFAAsF;YACxF,eAAe,EAAE,IAAI;SACtB;QACD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;QAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;QAChC,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ
|
1
|
+
{"version":3,"file":"no-loop-func.js","sourceRoot":"","sources":["../../src/rules/no-loop-func.ts"],"names":[],"mappings":"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"}
|
@@ -41,13 +41,13 @@ exports.default = (0, util_1.createRule)({
|
|
41
41
|
],
|
42
42
|
create(context, [options]) {
|
43
43
|
const CLASS_DECLARATION_MERGE_NODES = new Set([
|
44
|
+
utils_1.AST_NODE_TYPES.ClassDeclaration,
|
44
45
|
utils_1.AST_NODE_TYPES.TSInterfaceDeclaration,
|
45
46
|
utils_1.AST_NODE_TYPES.TSModuleDeclaration,
|
46
|
-
utils_1.AST_NODE_TYPES.ClassDeclaration,
|
47
47
|
]);
|
48
48
|
const FUNCTION_DECLARATION_MERGE_NODES = new Set([
|
49
|
-
utils_1.AST_NODE_TYPES.TSModuleDeclaration,
|
50
49
|
utils_1.AST_NODE_TYPES.FunctionDeclaration,
|
50
|
+
utils_1.AST_NODE_TYPES.TSModuleDeclaration,
|
51
51
|
]);
|
52
52
|
const ENUM_DECLARATION_MERGE_NODES = new Set([
|
53
53
|
utils_1.AST_NODE_TYPES.TSEnumDeclaration,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"no-redeclare.js","sourceRoot":"","sources":["../../src/rules/no-redeclare.ts"],"names":[],"mappings":";;AAEA,oEAA6D;AAC7D,oDAA0D;AAE1D,kCAA8E;AAU9E,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,iCAAiC;YAC9C,eAAe,EAAE,IAAI;SACtB;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,8BAA8B;YAC1C,mBAAmB,EACjB,4DAA4D;YAC9D,kBAAkB,EAChB,wDAAwD;SAC3D;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,cAAc,EAAE;wBACd,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,2DAA2D;qBAC9D;oBACD,sBAAsB,EAAE;wBACtB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,oFAAoF;qBACvF;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,cAAc,EAAE,IAAI;YACpB,sBAAsB,EAAE,IAAI;SAC7B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAiB;YAC5D,sBAAc,CAAC,
|
1
|
+
{"version":3,"file":"no-redeclare.js","sourceRoot":"","sources":["../../src/rules/no-redeclare.ts"],"names":[],"mappings":";;AAEA,oEAA6D;AAC7D,oDAA0D;AAE1D,kCAA8E;AAU9E,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,iCAAiC;YAC9C,eAAe,EAAE,IAAI;SACtB;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,8BAA8B;YAC1C,mBAAmB,EACjB,4DAA4D;YAC9D,kBAAkB,EAChB,wDAAwD;SAC3D;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,cAAc,EAAE;wBACd,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,2DAA2D;qBAC9D;oBACD,sBAAsB,EAAE;wBACtB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,oFAAoF;qBACvF;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,cAAc,EAAE,IAAI;YACpB,sBAAsB,EAAE,IAAI;SAC7B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAiB;YAC5D,sBAAc,CAAC,gBAAgB;YAC/B,sBAAc,CAAC,sBAAsB;YACrC,sBAAc,CAAC,mBAAmB;SACnC,CAAC,CAAC;QACH,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAAiB;YAC/D,sBAAc,CAAC,mBAAmB;YAClC,sBAAc,CAAC,mBAAmB;SACnC,CAAC,CAAC;QACH,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAiB;YAC3D,sBAAc,CAAC,iBAAiB;YAChC,sBAAc,CAAC,mBAAmB;SACnC,CAAC,CAAC;QAEH,QAAQ,CAAC,CAAC,mBAAmB,CAAC,QAAiC;YAQ7D,IACE,OAAO,CAAC,cAAc;gBACtB,6BAA6B,IAAI,QAAQ;gBACzC,CAAC,QAAQ,CAAC,2BAA2B,KAAK,UAAU;oBAClD,QAAQ,CAAC,2BAA2B,KAAK,UAAU,CAAC,EACtD,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC5B,CAAC;YAED,IACE,8BAA8B,IAAI,QAAQ;gBAC1C,QAAQ,CAAC,4BAA4B,EACrC,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,4BAA4B,EAAE,CAAC;oBAC5D,MAAM;wBACJ,GAAG,EAAE,IAAA,8CAAuC,EAC1C,OAAO,CAAC,UAAU,EAClB,OAAO,EACP,QAAQ,CAAC,IAAI,CACd;wBACD,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAChB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW;iBACrC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACV,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,EAAE,CAAC,MAAM;aAClB,CAAC,CAAC;gBACH,yEAAyE;iBACxE,MAAM,CACL,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,CACjE,CAAC;YAEJ,IAAI,OAAO,CAAC,sBAAsB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7D;gBACE,qBAAqB;gBACrB,WAAW,CAAC,KAAK,CACf,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACb,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,sBAAsB,CACxD,EACD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED;gBACE,2BAA2B;gBAC3B,WAAW,CAAC,KAAK,CACf,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB,CACnE,EACD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED;gBACE,sCAAsC;gBACtC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,6BAA6B,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAC/C,EACD,CAAC;oBACD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CACnC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,CAChE,CAAC;oBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5B,2BAA2B;wBAC3B,OAAO;oBACT,CAAC;oBAED,sEAAsE;oBACtE,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,UAAU,EAAE,CAAC;wBACxC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAClE,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED;gBACE,sCAAsC;gBACtC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,gCAAgC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAClD,EACD,CAAC;oBACD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CACtC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB,CACnE,CAAC;oBACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC/B,2BAA2B;wBAC3B,OAAO;oBACT,CAAC;oBAED,yEAAyE;oBACzE,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,aAAa,EAAE,CAAC;wBAC3C,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAClE,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED;gBACE,2BAA2B;gBAC3B,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,EACD,CAAC;oBACD,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAClC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,CACjE,CAAC;oBACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC3B,2BAA2B;wBAC3B,OAAO;oBACT,CAAC;oBAED,qEAAqE;oBACrE,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,SAAS,EAAE,CAAC;wBACvC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAClE,CAAC;oBACD,OAAO;gBACT,CAAC;YACH,CAAC;YAED,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,WAAW,EAAE,CAAC;gBACzC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAClE,CAAC;QACH,CAAC;QAED,SAAS,oBAAoB,CAAC,KAA2B;YACvD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACvC,MAAM,CAAC,WAAW,EAAE,GAAG,iBAAiB,CAAC,GACvC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAEhC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBAED;;;;mBAIG;gBACH,MAAM,eAAe,GACnB,WAAW,CAAC,IAAI,KAAK,SAAS;oBAC5B,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,oBAAoB,CAAC;gBAC3B,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAEnC,6BAA6B;gBAC7B,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,iBAAiB,EAAE,CAAC;oBACpD,MAAM,SAAS,GACb,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC;oBAE7D,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACjD,CAAC;yBAAM,IAAI,GAAG,EAAE,CAAC;wBACf,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED;;WAEG;QACH,SAAS,aAAa,CAAC,IAAmB;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD;;;eAGG;YACH,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACzB,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,OAAO;YACL,uBAAuB,EAAE,aAAa;YAEtC,cAAc,EAAE,aAAa;YAC7B,cAAc,EAAE,aAAa;YAC7B,cAAc,EAAE,aAAa;YAE7B,YAAY,EAAE,aAAa;YAC3B,mBAAmB,EAAE,aAAa;YAClC,kBAAkB,EAAE,aAAa;YACjC,OAAO,CAAC,IAAI;gBACV,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEhD,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAE5B,6CAA6C;gBAC7C,IACE,KAAK,CAAC,IAAI,KAAK,yBAAS,CAAC,MAAM;oBAC/B,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;oBACpB,iDAAiD;oBACjD,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAC1C,CAAC;oBACD,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YACD,eAAe,EAAE,aAAa;SAC/B,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
@@ -99,11 +99,11 @@ exports.default = (0, util_1.createRule)({
|
|
99
99
|
const aliasTypes = new Set([
|
100
100
|
utils_1.AST_NODE_TYPES.TSArrayType,
|
101
101
|
utils_1.AST_NODE_TYPES.TSImportType,
|
102
|
-
utils_1.AST_NODE_TYPES.TSTypeReference,
|
103
|
-
utils_1.AST_NODE_TYPES.TSLiteralType,
|
104
|
-
utils_1.AST_NODE_TYPES.TSTypeQuery,
|
105
102
|
utils_1.AST_NODE_TYPES.TSIndexedAccessType,
|
103
|
+
utils_1.AST_NODE_TYPES.TSLiteralType,
|
106
104
|
utils_1.AST_NODE_TYPES.TSTemplateLiteralType,
|
105
|
+
utils_1.AST_NODE_TYPES.TSTypeQuery,
|
106
|
+
utils_1.AST_NODE_TYPES.TSTypeReference,
|
107
107
|
]);
|
108
108
|
/**
|
109
109
|
* Determines if the composition type is supported by the allowed flags.
|