@typescript-eslint/eslint-plugin 8.21.1-alpha.5 → 8.21.1-alpha.6

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.
@@ -107,86 +107,112 @@ exports.default = (0, util_1.createRule)({
107
107
  create(context, [{ ignoreIntersections, ignoreUnions }]) {
108
108
  const parserServices = (0, util_1.getParserServices)(context);
109
109
  const { sourceCode } = context;
110
+ function report(messageId, constituentNode, data) {
111
+ const getUnionOrIntersectionToken = (where, at) => sourceCode[`getTokens${where}`](constituentNode, {
112
+ filter: token => ['&', '|'].includes(token.value) &&
113
+ constituentNode.parent.range[0] <= token.range[0] &&
114
+ token.range[1] <= constituentNode.parent.range[1],
115
+ }).at(at);
116
+ const beforeUnionOrIntersectionToken = getUnionOrIntersectionToken('Before', -1);
117
+ let afterUnionOrIntersectionToken;
118
+ let bracketBeforeTokens;
119
+ let bracketAfterTokens;
120
+ if (beforeUnionOrIntersectionToken) {
121
+ bracketBeforeTokens = sourceCode.getTokensBetween(beforeUnionOrIntersectionToken, constituentNode);
122
+ bracketAfterTokens = sourceCode.getTokensAfter(constituentNode, {
123
+ count: bracketBeforeTokens.length,
124
+ });
125
+ }
126
+ else {
127
+ afterUnionOrIntersectionToken = (0, util_1.nullThrows)(getUnionOrIntersectionToken('After', 0), util_1.NullThrowsReasons.MissingToken('union or intersection token', 'duplicate type constituent'));
128
+ bracketAfterTokens = sourceCode.getTokensBetween(constituentNode, afterUnionOrIntersectionToken);
129
+ bracketBeforeTokens = sourceCode.getTokensBefore(constituentNode, {
130
+ count: bracketAfterTokens.length,
131
+ });
132
+ }
133
+ context.report({
134
+ loc: {
135
+ start: constituentNode.loc.start,
136
+ end: (bracketAfterTokens.at(-1) ?? constituentNode).loc.end,
137
+ },
138
+ node: constituentNode,
139
+ messageId,
140
+ data,
141
+ fix: fixer => [
142
+ beforeUnionOrIntersectionToken,
143
+ ...bracketBeforeTokens,
144
+ constituentNode,
145
+ ...bracketAfterTokens,
146
+ afterUnionOrIntersectionToken,
147
+ ].flatMap(token => (token ? fixer.remove(token) : [])),
148
+ });
149
+ }
150
+ function checkDuplicateRecursively(unionOrIntersection, constituentNode, uniqueConstituents, cachedTypeMap, forEachNodeType) {
151
+ const type = parserServices.getTypeAtLocation(constituentNode);
152
+ if (tsutils.isIntrinsicErrorType(type)) {
153
+ return;
154
+ }
155
+ const duplicatedPrevious = uniqueConstituents.find(ele => isSameAstNode(ele, constituentNode)) ??
156
+ cachedTypeMap.get(type);
157
+ if (duplicatedPrevious) {
158
+ report('duplicate', constituentNode, {
159
+ type: unionOrIntersection,
160
+ previous: sourceCode.getText(duplicatedPrevious),
161
+ });
162
+ return;
163
+ }
164
+ forEachNodeType?.(type, constituentNode);
165
+ cachedTypeMap.set(type, constituentNode);
166
+ uniqueConstituents.push(constituentNode);
167
+ if ((unionOrIntersection === 'Union' &&
168
+ constituentNode.type === utils_1.AST_NODE_TYPES.TSUnionType) ||
169
+ (unionOrIntersection === 'Intersection' &&
170
+ constituentNode.type === utils_1.AST_NODE_TYPES.TSIntersectionType)) {
171
+ for (const constituent of constituentNode.types) {
172
+ checkDuplicateRecursively(unionOrIntersection, constituent, uniqueConstituents, cachedTypeMap, forEachNodeType);
173
+ }
174
+ }
175
+ }
110
176
  function checkDuplicate(node, forEachNodeType) {
111
177
  const cachedTypeMap = new Map();
112
- node.types.reduce((uniqueConstituents, constituentNode) => {
113
- const constituentNodeType = parserServices.getTypeAtLocation(constituentNode);
114
- if (tsutils.isIntrinsicErrorType(constituentNodeType)) {
115
- return uniqueConstituents;
116
- }
117
- const report = (messageId, data) => {
118
- const getUnionOrIntersectionToken = (where, at) => sourceCode[`getTokens${where}`](constituentNode, {
119
- filter: token => ['&', '|'].includes(token.value),
120
- }).at(at);
121
- const beforeUnionOrIntersectionToken = getUnionOrIntersectionToken('Before', -1);
122
- let afterUnionOrIntersectionToken;
123
- let bracketBeforeTokens;
124
- let bracketAfterTokens;
125
- if (beforeUnionOrIntersectionToken) {
126
- bracketBeforeTokens = sourceCode.getTokensBetween(beforeUnionOrIntersectionToken, constituentNode);
127
- bracketAfterTokens = sourceCode.getTokensAfter(constituentNode, {
128
- count: bracketBeforeTokens.length,
129
- });
130
- }
131
- else {
132
- afterUnionOrIntersectionToken = (0, util_1.nullThrows)(getUnionOrIntersectionToken('After', 0), util_1.NullThrowsReasons.MissingToken('union or intersection token', 'duplicate type constituent'));
133
- bracketAfterTokens = sourceCode.getTokensBetween(constituentNode, afterUnionOrIntersectionToken);
134
- bracketBeforeTokens = sourceCode.getTokensBefore(constituentNode, {
135
- count: bracketAfterTokens.length,
136
- });
137
- }
138
- context.report({
139
- loc: {
140
- start: constituentNode.loc.start,
141
- end: (bracketAfterTokens.at(-1) ?? constituentNode).loc.end,
142
- },
143
- node: constituentNode,
144
- messageId,
145
- data,
146
- fix: fixer => [
147
- beforeUnionOrIntersectionToken,
148
- ...bracketBeforeTokens,
149
- constituentNode,
150
- ...bracketAfterTokens,
151
- afterUnionOrIntersectionToken,
152
- ].flatMap(token => (token ? fixer.remove(token) : [])),
153
- });
154
- };
155
- const duplicatePrevious = uniqueConstituents.find(ele => isSameAstNode(ele, constituentNode)) ?? cachedTypeMap.get(constituentNodeType);
156
- if (duplicatePrevious) {
157
- report('duplicate', {
158
- type: node.type === utils_1.AST_NODE_TYPES.TSIntersectionType
159
- ? 'Intersection'
160
- : 'Union',
161
- previous: sourceCode.getText(duplicatePrevious),
162
- });
163
- return uniqueConstituents;
164
- }
165
- forEachNodeType?.(constituentNodeType, report);
166
- cachedTypeMap.set(constituentNodeType, constituentNode);
167
- return [...uniqueConstituents, constituentNode];
168
- }, []);
178
+ const uniqueConstituents = [];
179
+ const unionOrIntersection = node.type === utils_1.AST_NODE_TYPES.TSIntersectionType
180
+ ? 'Intersection'
181
+ : 'Union';
182
+ for (const type of node.types) {
183
+ checkDuplicateRecursively(unionOrIntersection, type, uniqueConstituents, cachedTypeMap, forEachNodeType);
184
+ }
169
185
  }
170
186
  return {
171
187
  ...(!ignoreIntersections && {
172
- TSIntersectionType: checkDuplicate,
188
+ TSIntersectionType(node) {
189
+ if (node.parent.type === utils_1.AST_NODE_TYPES.TSIntersectionType) {
190
+ return;
191
+ }
192
+ checkDuplicate(node);
193
+ },
173
194
  }),
174
195
  ...(!ignoreUnions && {
175
- TSUnionType: (node) => checkDuplicate(node, (constituentNodeType, report) => {
176
- const maybeTypeAnnotation = node.parent;
177
- if (maybeTypeAnnotation.type === utils_1.AST_NODE_TYPES.TSTypeAnnotation) {
178
- const maybeIdentifier = maybeTypeAnnotation.parent;
179
- if (maybeIdentifier.type === utils_1.AST_NODE_TYPES.Identifier &&
180
- maybeIdentifier.optional) {
181
- const maybeFunction = maybeIdentifier.parent;
182
- if ((0, util_1.isFunctionOrFunctionType)(maybeFunction) &&
183
- maybeFunction.params.includes(maybeIdentifier) &&
184
- tsutils.isTypeFlagSet(constituentNodeType, ts.TypeFlags.Undefined)) {
185
- report('unnecessary');
196
+ TSUnionType: (node) => {
197
+ if (node.parent.type === utils_1.AST_NODE_TYPES.TSUnionType) {
198
+ return;
199
+ }
200
+ checkDuplicate(node, (constituentNodeType, constituentNode) => {
201
+ const maybeTypeAnnotation = node.parent;
202
+ if (maybeTypeAnnotation.type === utils_1.AST_NODE_TYPES.TSTypeAnnotation) {
203
+ const maybeIdentifier = maybeTypeAnnotation.parent;
204
+ if (maybeIdentifier.type === utils_1.AST_NODE_TYPES.Identifier &&
205
+ maybeIdentifier.optional) {
206
+ const maybeFunction = maybeIdentifier.parent;
207
+ if ((0, util_1.isFunctionOrFunctionType)(maybeFunction) &&
208
+ maybeFunction.params.includes(maybeIdentifier) &&
209
+ tsutils.isTypeFlagSet(constituentNodeType, ts.TypeFlags.Undefined)) {
210
+ report('unnecessary', constituentNode);
211
+ }
186
212
  }
187
213
  }
188
- }
189
- }),
214
+ });
215
+ },
190
216
  }),
191
217
  };
192
218
  },
@@ -1 +1 @@
1
- {"version":3,"file":"no-duplicate-type-constituents.js","sourceRoot":"","sources":["../../src/rules/no-duplicate-type-constituents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-duplicate-type-constituents.js","sourceRoot":"","sources":["../../src/rules/no-duplicate-type-constituents.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-eslint/eslint-plugin",
3
- "version": "8.21.1-alpha.5",
3
+ "version": "8.21.1-alpha.6",
4
4
  "description": "TypeScript plugin for ESLint",
5
5
  "files": [
6
6
  "dist",
@@ -61,10 +61,10 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@eslint-community/regexpp": "^4.10.0",
64
- "@typescript-eslint/scope-manager": "8.21.1-alpha.5",
65
- "@typescript-eslint/type-utils": "8.21.1-alpha.5",
66
- "@typescript-eslint/utils": "8.21.1-alpha.5",
67
- "@typescript-eslint/visitor-keys": "8.21.1-alpha.5",
64
+ "@typescript-eslint/scope-manager": "8.21.1-alpha.6",
65
+ "@typescript-eslint/type-utils": "8.21.1-alpha.6",
66
+ "@typescript-eslint/utils": "8.21.1-alpha.6",
67
+ "@typescript-eslint/visitor-keys": "8.21.1-alpha.6",
68
68
  "graphemer": "^1.4.0",
69
69
  "ignore": "^5.3.1",
70
70
  "natural-compare": "^1.4.0",
@@ -75,8 +75,8 @@
75
75
  "@types/marked": "^5.0.2",
76
76
  "@types/mdast": "^4.0.3",
77
77
  "@types/natural-compare": "*",
78
- "@typescript-eslint/rule-schema-to-typescript-types": "8.21.1-alpha.5",
79
- "@typescript-eslint/rule-tester": "8.21.1-alpha.5",
78
+ "@typescript-eslint/rule-schema-to-typescript-types": "8.21.1-alpha.6",
79
+ "@typescript-eslint/rule-tester": "8.21.1-alpha.6",
80
80
  "ajv": "^6.12.6",
81
81
  "cross-env": "^7.0.3",
82
82
  "cross-fetch": "*",