@typescript-eslint/eslint-plugin 6.0.1-alpha.9 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -107,7 +107,9 @@ exports.default = util.createRule({
107
107
  'always-multiline': forceCommaIfMultiline,
108
108
  'only-multiline': allowCommaIfMultiline,
109
109
  never: forbidComma,
110
- ignore: undefined,
110
+ // https://github.com/typescript-eslint/typescript-eslint/issues/7220
111
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/no-empty-function
112
+ ignore: () => { },
111
113
  };
112
114
  function last(nodes) {
113
115
  return nodes[nodes.length - 1] ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"comma-dangle.js","sourceRoot":"","sources":["../../src/rules/comma-dangle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comma-dangle.js","sourceRoot":"","sources":["../../src/rules/comma-dangle.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,10 @@ const tsutils = __importStar(require("ts-api-utils"));
28
28
  const ts = __importStar(require("typescript"));
29
29
  const util = __importStar(require("../util"));
30
30
  const util_1 = require("../util");
31
+ const messageBase = 'Promises must be awaited, end with a call to .catch, or end with a call to .then with a rejection handler.';
32
+ const messageBaseVoid = 'Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler' +
33
+ ' or be explicitly marked as ignored with the `void` operator.';
34
+ const messageRejectionHandler = 'A rejection handler that is not a function will be ignored.';
31
35
  exports.default = util.createRule({
32
36
  name: 'no-floating-promises',
33
37
  meta: {
@@ -38,11 +42,12 @@ exports.default = util.createRule({
38
42
  },
39
43
  hasSuggestions: true,
40
44
  messages: {
41
- floating: 'Promises must be awaited, end with a call to .catch, or end with a call to .then with a rejection handler.',
45
+ floating: messageBase,
42
46
  floatingFixAwait: 'Add await operator.',
43
- floatingVoid: 'Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler' +
44
- ' or be explicitly marked as ignored with the `void` operator.',
47
+ floatingVoid: messageBaseVoid,
45
48
  floatingFixVoid: 'Add void operator to ignore.',
49
+ floatingUselessRejectionHandler: messageBase + ' ' + messageRejectionHandler,
50
+ floatingUselessRejectionHandlerVoid: messageBaseVoid + ' ' + messageRejectionHandler,
46
51
  },
47
52
  schema: [
48
53
  {
@@ -53,7 +58,7 @@ exports.default = util.createRule({
53
58
  type: 'boolean',
54
59
  },
55
60
  ignoreIIFE: {
56
- description: 'Whether to ignore async IIFEs (Immediately Invocated Function Expressions).',
61
+ description: 'Whether to ignore async IIFEs (Immediately Invoked Function Expressions).',
57
62
  type: 'boolean',
58
63
  },
59
64
  },
@@ -80,11 +85,14 @@ exports.default = util.createRule({
80
85
  if (expression.type === utils_1.AST_NODE_TYPES.ChainExpression) {
81
86
  expression = expression.expression;
82
87
  }
83
- if (isUnhandledPromise(checker, expression)) {
88
+ const { isUnhandled, nonFunctionHandler } = isUnhandledPromise(checker, expression);
89
+ if (isUnhandled) {
84
90
  if (options.ignoreVoid) {
85
91
  context.report({
86
92
  node,
87
- messageId: 'floatingVoid',
93
+ messageId: nonFunctionHandler
94
+ ? 'floatingUselessRejectionHandlerVoid'
95
+ : 'floatingVoid',
88
96
  suggest: [
89
97
  {
90
98
  messageId: 'floatingFixVoid',
@@ -107,7 +115,9 @@ exports.default = util.createRule({
107
115
  else {
108
116
  context.report({
109
117
  node,
110
- messageId: 'floating',
118
+ messageId: nonFunctionHandler
119
+ ? 'floatingUselessRejectionHandler'
120
+ : 'floating',
111
121
  suggest: [
112
122
  {
113
123
  messageId: 'floatingFixAwait',
@@ -150,13 +160,21 @@ exports.default = util.createRule({
150
160
  utils_1.AST_NODE_TYPES.ArrowFunctionExpression ||
151
161
  node.expression.callee.type === utils_1.AST_NODE_TYPES.FunctionExpression));
152
162
  }
163
+ function isValidRejectionHandler(rejectionHandler) {
164
+ return (services.program
165
+ .getTypeChecker()
166
+ .getTypeAtLocation(services.esTreeNodeToTSNodeMap.get(rejectionHandler))
167
+ .getCallSignatures().length > 0);
168
+ }
153
169
  function isUnhandledPromise(checker, node) {
154
170
  // First, check expressions whose resulting types may not be promise-like
155
171
  if (node.type === utils_1.AST_NODE_TYPES.SequenceExpression) {
156
172
  // Any child in a comma expression could return a potentially unhandled
157
173
  // promise, so we check them all regardless of whether the final returned
158
174
  // value is promise-like.
159
- return node.expressions.some(item => isUnhandledPromise(checker, item));
175
+ return (node.expressions
176
+ .map(item => isUnhandledPromise(checker, item))
177
+ .find(result => result.isUnhandled) ?? { isUnhandled: false });
160
178
  }
161
179
  if (!options.ignoreVoid &&
162
180
  node.type === utils_1.AST_NODE_TYPES.UnaryExpression &&
@@ -167,20 +185,48 @@ exports.default = util.createRule({
167
185
  }
168
186
  // Check the type. At this point it can't be unhandled if it isn't a promise
169
187
  if (!isPromiseLike(checker, services.esTreeNodeToTSNodeMap.get(node))) {
170
- return false;
188
+ return { isUnhandled: false };
171
189
  }
172
190
  if (node.type === utils_1.AST_NODE_TYPES.CallExpression) {
173
- // If the outer expression is a call, it must be either a `.then()` or
174
- // `.catch()` that handles the promise.
175
- return (!isPromiseCatchCallWithHandler(node) &&
176
- !isPromiseThenCallWithRejectionHandler(node) &&
177
- !isPromiseFinallyCallWithHandler(node));
191
+ // If the outer expression is a call, a `.catch()` or `.then()` with
192
+ // rejection handler handles the promise.
193
+ const catchRejectionHandler = getRejectionHandlerFromCatchCall(node);
194
+ if (catchRejectionHandler) {
195
+ if (isValidRejectionHandler(catchRejectionHandler)) {
196
+ return { isUnhandled: false };
197
+ }
198
+ else {
199
+ return { isUnhandled: true, nonFunctionHandler: true };
200
+ }
201
+ }
202
+ const thenRejectionHandler = getRejectionHandlerFromThenCall(node);
203
+ if (thenRejectionHandler) {
204
+ if (isValidRejectionHandler(thenRejectionHandler)) {
205
+ return { isUnhandled: false };
206
+ }
207
+ else {
208
+ return { isUnhandled: true, nonFunctionHandler: true };
209
+ }
210
+ }
211
+ // `x.finally()` is transparent to resolution of the promise, so check `x`.
212
+ // ("object" in this context is the `x` in `x.finally()`)
213
+ const promiseFinallyObject = getObjectFromFinallyCall(node);
214
+ if (promiseFinallyObject) {
215
+ return isUnhandledPromise(checker, promiseFinallyObject);
216
+ }
217
+ // All other cases are unhandled.
218
+ return { isUnhandled: true };
178
219
  }
179
220
  else if (node.type === utils_1.AST_NODE_TYPES.ConditionalExpression) {
180
221
  // We must be getting the promise-like value from one of the branches of the
181
222
  // ternary. Check them directly.
182
- return (isUnhandledPromise(checker, node.alternate) ||
183
- isUnhandledPromise(checker, node.consequent));
223
+ const alternateResult = isUnhandledPromise(checker, node.alternate);
224
+ if (alternateResult.isUnhandled) {
225
+ return alternateResult;
226
+ }
227
+ else {
228
+ return isUnhandledPromise(checker, node.consequent);
229
+ }
184
230
  }
185
231
  else if (node.type === utils_1.AST_NODE_TYPES.MemberExpression ||
186
232
  node.type === utils_1.AST_NODE_TYPES.Identifier ||
@@ -188,16 +234,21 @@ exports.default = util.createRule({
188
234
  // If it is just a property access chain or a `new` call (e.g. `foo.bar` or
189
235
  // `new Promise()`), the promise is not handled because it doesn't have the
190
236
  // necessary then/catch call at the end of the chain.
191
- return true;
237
+ return { isUnhandled: true };
192
238
  }
193
239
  else if (node.type === utils_1.AST_NODE_TYPES.LogicalExpression) {
194
- return (isUnhandledPromise(checker, node.left) ||
195
- isUnhandledPromise(checker, node.right));
240
+ const leftResult = isUnhandledPromise(checker, node.left);
241
+ if (leftResult.isUnhandled) {
242
+ return leftResult;
243
+ }
244
+ else {
245
+ return isUnhandledPromise(checker, node.right);
246
+ }
196
247
  }
197
248
  // We conservatively return false for all other types of expressions because
198
249
  // we don't want to accidentally fail if the promise is handled internally but
199
250
  // we just can't tell.
200
- return false;
251
+ return { isUnhandled: false };
201
252
  }
202
253
  },
203
254
  });
@@ -238,22 +289,33 @@ function isFunctionParam(checker, param, node) {
238
289
  }
239
290
  return false;
240
291
  }
241
- function isPromiseCatchCallWithHandler(expression) {
242
- return (expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
292
+ function getRejectionHandlerFromCatchCall(expression) {
293
+ if (expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
243
294
  expression.callee.property.type === utils_1.AST_NODE_TYPES.Identifier &&
244
295
  expression.callee.property.name === 'catch' &&
245
- expression.arguments.length >= 1);
296
+ expression.arguments.length >= 1) {
297
+ return expression.arguments[0];
298
+ }
299
+ else {
300
+ return undefined;
301
+ }
246
302
  }
247
- function isPromiseThenCallWithRejectionHandler(expression) {
248
- return (expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
303
+ function getRejectionHandlerFromThenCall(expression) {
304
+ if (expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
249
305
  expression.callee.property.type === utils_1.AST_NODE_TYPES.Identifier &&
250
306
  expression.callee.property.name === 'then' &&
251
- expression.arguments.length >= 2);
307
+ expression.arguments.length >= 2) {
308
+ return expression.arguments[1];
309
+ }
310
+ else {
311
+ return undefined;
312
+ }
252
313
  }
253
- function isPromiseFinallyCallWithHandler(expression) {
254
- return (expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
314
+ function getObjectFromFinallyCall(expression) {
315
+ return expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
255
316
  expression.callee.property.type === utils_1.AST_NODE_TYPES.Identifier &&
256
- expression.callee.property.name === 'finally' &&
257
- expression.arguments.length >= 1);
317
+ expression.callee.property.name === 'finally'
318
+ ? expression.callee.object
319
+ : undefined;
258
320
  }
259
321
  //# sourceMappingURL=no-floating-promises.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-floating-promises.js","sourceRoot":"","sources":["../../src/rules/no-floating-promises.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAA0D;AAC1D,sDAAwC;AACxC,+CAAiC;AAEjC,8CAAgC;AAChC,kCAA6C;AAe7C,kBAAe,IAAI,CAAC,UAAU,CAAqB;IACjD,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EACT,6DAA6D;YAC/D,WAAW,EAAE,aAAa;YAC1B,oBAAoB,EAAE,IAAI;SAC3B;QACD,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACR,QAAQ,EACN,4GAA4G;YAC9G,gBAAgB,EAAE,qBAAqB;YACvC,YAAY,EACV,wGAAwG;gBACxG,+DAA+D;YACjE,eAAe,EAAE,8BAA8B;SAChD;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,UAAU,EAAE;wBACV,WAAW,EAAE,uCAAuC;wBACpD,IAAI,EAAE,SAAS;qBAChB;oBACD,UAAU,EAAE;wBACV,WAAW,EACT,6EAA6E;wBAC/E,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,IAAI,EAAE,SAAS;KAChB;IACD,cAAc,EAAE;QACd;YACE,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,KAAK;SAClB;KACF;IAED,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAElD,OAAO;YACL,mBAAmB,CAAC,IAAI;gBACtB,IAAI,OAAO,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;oBAC3C,OAAO;iBACR;gBAED,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBAEjC,IAAI,UAAU,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe,EAAE;oBACtD,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;iBACpC;gBAED,IAAI,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;oBAC3C,IAAI,OAAO,CAAC,UAAU,EAAE;wBACtB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,cAAc;4BACzB,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,iBAAiB;oCAC5B,GAAG,CAAC,KAAK;wCACP,MAAM,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAC/C,IAAI,CAAC,UAAU,CAChB,CAAC;wCACF,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE;4CACvC,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;yCAC9C;6CAAM;4CACL,OAAO;gDACL,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;gDACtC,KAAK,CAAC,oBAAoB,CACxB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC1C,GAAG,CACJ;6CACF,CAAC;yCACH;oCACH,CAAC;iCACF;6BACF;yBACF,CAAC,CAAC;qBACJ;yBAAM;wBACL,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,UAAU;4BACrB,OAAO,EAAE;gCACP;oCACE,SAAS,EAAE,kBAAkB;oCAC7B,GAAG,CAAC,KAAK;wCACP,IACE,UAAU,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;4CAClD,UAAU,CAAC,QAAQ,KAAK,MAAM,EAC9B;4CACA,OAAO,KAAK,CAAC,gBAAgB,CAC3B,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAC9C,OAAO,CACR,CAAC;yCACH;wCACD,MAAM,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAC/C,IAAI,CAAC,UAAU,CAChB,CAAC;wCACF,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE;4CACvC,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;yCAC/C;6CAAM;4CACL,OAAO;gDACL,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;gDACvC,KAAK,CAAC,oBAAoB,CACxB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC1C,GAAG,CACJ;6CACF,CAAC;yCACH;oCACH,CAAC;iCACF;6BACF;yBACF,CAAC,CAAC;qBACJ;iBACF;YACH,CAAC;SACF,CAAC;QAEF,SAAS,2BAA2B,CAAC,IAAa;YAChD,MAAM,QAAQ,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI;gBACzB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACvE,OAAO,cAAc,GAAG,yBAAkB,CAAC,KAAK,CAAC;QACnD,CAAC;QAED,SAAS,WAAW,CAAC,IAAkC;YACrD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EAAE;gBAC1D,OAAO,KAAK,CAAC;aACd;YAED,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc;gBACtD,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;oBAC1B,sBAAc,CAAC,uBAAuB;oBACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB,CAAC,CACrE,CAAC;QACJ,CAAC;QAED,SAAS,kBAAkB,CACzB,OAAuB,EACvB,IAAmB;YAEnB,yEAAyE;YACzE,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB,EAAE;gBACnD,uEAAuE;gBACvE,yEAAyE;gBACzE,yBAAyB;gBACzB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aACzE;YAED,IACE,CAAC,OAAO,CAAC,UAAU;gBACnB,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;gBAC5C,IAAI,CAAC,QAAQ,KAAK,MAAM,EACxB;gBACA,yEAAyE;gBACzE,4EAA4E;gBAC5E,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACnD;YAED,4EAA4E;YAC5E,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;gBACrE,OAAO,KAAK,CAAC;aACd;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EAAE;gBAC/C,sEAAsE;gBACtE,uCAAuC;gBACvC,OAAO,CACL,CAAC,6BAA6B,CAAC,IAAI,CAAC;oBACpC,CAAC,qCAAqC,CAAC,IAAI,CAAC;oBAC5C,CAAC,+BAA+B,CAAC,IAAI,CAAC,CACvC,CAAC;aACH;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,qBAAqB,EAAE;gBAC7D,4EAA4E;gBAC5E,gCAAgC;gBAChC,OAAO,CACL,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBAC3C,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAC7C,CAAC;aACH;iBAAM,IACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;gBAC7C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBACvC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,aAAa,EAC1C;gBACA,2EAA2E;gBAC3E,2EAA2E;gBAC3E,qDAAqD;gBACrD,OAAO,IAAI,CAAC;aACb;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,EAAE;gBACzD,OAAO,CACL,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;oBACtC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CACxC,CAAC;aACH;YAED,4EAA4E;YAC5E,8EAA8E;YAC9E,sBAAsB;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,6EAA6E;AAC7E,0EAA0E;AAC1E,EAAE;AACF,0GAA0G;AAC1G,SAAS,aAAa,CAAC,OAAuB,EAAE,IAAa;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE;QACtE,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,SAAS;SACV;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/D,IACE,oBAAoB,CAClB,QAAQ,EACR,SAAS,CAAC,EAAE,CACV,SAAS,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;YAChC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YACvD,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAC1D,EACD;YACA,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAa,EACb,OAA6C;IAE7C,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAC5C,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACvC,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CACtB,OAAuB,EACvB,KAAgB,EAChB,IAAa;IAEb,MAAM,IAAI,GAAwB,OAAO,CAAC,eAAe,CACvD,OAAO,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAC/C,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAC5C,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,6BAA6B,CACpC,UAAmC;IAEnC,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QAC1D,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;QAC7D,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO;QAC3C,UAAU,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,qCAAqC,CAC5C,UAAmC;IAEnC,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QAC1D,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;QAC7D,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;QAC1C,UAAU,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,UAAmC;IAEnC,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QAC1D,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;QAC7D,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;QAC7C,UAAU,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"no-floating-promises.js","sourceRoot":"","sources":["../../src/rules/no-floating-promises.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const utils_1 = require("@typescript-eslint/utils");
27
+ const path_1 = require("path");
28
+ const ts = __importStar(require("typescript"));
27
29
  const util = __importStar(require("../util"));
28
30
  exports.default = util.createRule({
29
31
  name: 'no-unnecessary-type-constraint',
@@ -49,12 +51,23 @@ exports.default = util.createRule({
49
51
  [utils_1.AST_NODE_TYPES.TSAnyKeyword, 'any'],
50
52
  [utils_1.AST_NODE_TYPES.TSUnknownKeyword, 'unknown'],
51
53
  ]);
52
- const inJsx = context.getFilename().toLowerCase().endsWith('tsx');
54
+ function checkRequiresGenericDeclarationDisambiguation(filename) {
55
+ const pathExt = (0, path_1.extname)(filename).toLocaleLowerCase();
56
+ switch (pathExt) {
57
+ case ts.Extension.Cts:
58
+ case ts.Extension.Mts:
59
+ case ts.Extension.Tsx:
60
+ return true;
61
+ default:
62
+ return false;
63
+ }
64
+ }
65
+ const requiresGenericDeclarationDisambiguation = checkRequiresGenericDeclarationDisambiguation(context.getFilename());
53
66
  const source = context.getSourceCode();
54
67
  const checkNode = (node, inArrowFunction) => {
55
68
  const constraint = unnecessaryConstraints.get(node.constraint.type);
56
69
  function shouldAddTrailingComma() {
57
- if (!inArrowFunction || !inJsx) {
70
+ if (!inArrowFunction || !requiresGenericDeclarationDisambiguation) {
58
71
  return false;
59
72
  }
60
73
  // Only <T>() => {} would need trailing comma
@@ -1 +1 @@
1
- {"version":3,"file":"no-unnecessary-type-constraint.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-constraint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAA0D;AAE1D,8CAAgC;AAUhC,kBAAe,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,mDAAmD;YAChE,WAAW,EAAE,aAAa;SAC3B;QACD,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACR,qBAAqB,EACnB,+FAA+F;YACjG,2BAA2B,EACzB,qDAAqD;SACxD;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACnB;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,iFAAiF;QACjF,sFAAsF;QACtF,yFAAyF;QACzF,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;YACrC,CAAC,sBAAc,CAAC,YAAY,EAAE,KAAK,CAAC;YACpC,CAAC,sBAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC;SAC7C,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAEvC,MAAM,SAAS,GAAG,CAChB,IAAiC,EACjC,eAAwB,EAClB,EAAE;YACR,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpE,SAAS,sBAAsB;gBAC7B,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,EAAE;oBAC9B,OAAO,KAAK,CAAC;iBACd;gBACD,6CAA6C;gBAC7C,OAAO,CACJ,IAAI,CAAC,MAA8C,CAAC,MAAM,CAAC,MAAM;oBAChE,CAAC;oBACH,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG;oBAC5C,CAAC,IAAI,CAAC,OAAO,CACd,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,EAAE;gBACd,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE;wBACJ,UAAU;wBACV,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;qBACrB;oBACD,OAAO,EAAE;wBACP;4BACE,SAAS,EAAE,6BAA6B;4BACxC,IAAI,EAAE;gCACJ,UAAU;6BACX;4BACD,GAAG,CAAC,KAAK;gCACP,OAAO,KAAK,CAAC,gBAAgB,CAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9C,sBAAsB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC;4BACJ,CAAC;yBACF;qBACF;oBACD,SAAS,EAAE,uBAAuB;oBAClC,IAAI;iBACL,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QAEF,OAAO;YACL,0FAA0F,CACxF,IAAiC;gBAEjC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,oFAAoF,CAClF,IAAiC;gBAEjC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"no-unnecessary-type-constraint.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-constraint.ts"],"names":[],"mappings":"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"}
@@ -309,8 +309,7 @@ function isMergableExported(variable) {
309
309
  * @returns True if the variable is exported, false if not.
310
310
  */
311
311
  function isExported(variable) {
312
- const definition = variable.defs[0];
313
- if (definition) {
312
+ return variable.defs.some(definition => {
314
313
  let node = definition.node;
315
314
  if (node.type === utils_1.AST_NODE_TYPES.VariableDeclarator) {
316
315
  node = node.parent;
@@ -319,8 +318,7 @@ function isExported(variable) {
319
318
  return false;
320
319
  }
321
320
  return node.parent.type.indexOf('Export') === 0;
322
- }
323
- return false;
321
+ });
324
322
  }
325
323
  /**
326
324
  * Determines if the variable is used.
@@ -1 +1 @@
1
- {"version":3,"file":"collectUnusedVariables.js","sourceRoot":"","sources":["../../src/util/collectUnusedVariables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collectUnusedVariables.js","sourceRoot":"","sources":["../../src/util/collectUnusedVariables.ts"],"names":[],"mappings":"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"}
@@ -83,7 +83,7 @@ With this option set to `true`, and if you are using `no-void`, you should turn
83
83
 
84
84
  ### `ignoreIIFE`
85
85
 
86
- This allows you to skip checking of async IIFEs (Immediately Invocated function Expressions).
86
+ This allows you to skip checking of async IIFEs (Immediately Invoked function Expressions).
87
87
 
88
88
  Examples of **correct** code for this rule with `{ ignoreIIFE: true }`:
89
89
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-eslint/eslint-plugin",
3
- "version": "6.0.1-alpha.9+7e456dcc0",
3
+ "version": "6.1.0",
4
4
  "description": "TypeScript plugin for ESLint",
5
5
  "files": [
6
6
  "dist",
@@ -57,10 +57,10 @@
57
57
  },
58
58
  "dependencies": {
59
59
  "@eslint-community/regexpp": "^4.5.1",
60
- "@typescript-eslint/scope-manager": "6.0.1-alpha.9+7e456dcc0",
61
- "@typescript-eslint/type-utils": "6.0.1-alpha.9+7e456dcc0",
62
- "@typescript-eslint/utils": "6.0.1-alpha.9+7e456dcc0",
63
- "@typescript-eslint/visitor-keys": "6.0.1-alpha.9+7e456dcc0",
60
+ "@typescript-eslint/scope-manager": "6.1.0",
61
+ "@typescript-eslint/type-utils": "6.1.0",
62
+ "@typescript-eslint/utils": "6.1.0",
63
+ "@typescript-eslint/visitor-keys": "6.1.0",
64
64
  "debug": "^4.3.4",
65
65
  "graphemer": "^1.4.0",
66
66
  "ignore": "^5.2.4",
@@ -74,8 +74,8 @@
74
74
  "@types/marked": "*",
75
75
  "@types/natural-compare": "*",
76
76
  "@types/prettier": "*",
77
- "@typescript-eslint/rule-schema-to-typescript-types": "6.0.0",
78
- "@typescript-eslint/rule-tester": "6.0.1-alpha.9+7e456dcc0",
77
+ "@typescript-eslint/rule-schema-to-typescript-types": "6.1.0",
78
+ "@typescript-eslint/rule-tester": "6.1.0",
79
79
  "ajv": "^6.12.6",
80
80
  "chalk": "^5.3.0",
81
81
  "cross-fetch": "*",
@@ -100,5 +100,5 @@
100
100
  "type": "opencollective",
101
101
  "url": "https://opencollective.com/typescript-eslint"
102
102
  },
103
- "gitHead": "7e456dcc0fc0b336bda72e1a95aa7debd6c2879f"
103
+ "gitHead": "d98f1e811a6a06128a86f10824b6005984dc8265"
104
104
  }