@typescript-eslint/eslint-plugin 7.11.1-alpha.9 → 7.12.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.
@@ -236,9 +236,8 @@ function getNodeType(node) {
236
236
  switch (node.type) {
237
237
  case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition:
238
238
  case utils_1.AST_NODE_TYPES.MethodDefinition:
239
- return node.kind;
240
239
  case utils_1.AST_NODE_TYPES.TSMethodSignature:
241
- return 'method';
240
+ return node.kind;
242
241
  case utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration:
243
242
  return 'call-signature';
244
243
  case utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration:
@@ -1 +1 @@
1
- {"version":3,"file":"member-ordering.js","sourceRoot":"","sources":["../../src/rules/member-ordering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"member-ordering.js","sourceRoot":"","sources":["../../src/rules/member-ordering.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,7 @@ exports.default = (0, util_1.createRule)({
65
65
  description: 'Whether to ignore async IIFEs (Immediately Invoked Function Expressions).',
66
66
  type: 'boolean',
67
67
  },
68
+ allowForKnownSafePromises: util_1.readonlynessOptionsSchema.properties.allow,
68
69
  },
69
70
  additionalProperties: false,
70
71
  },
@@ -75,11 +76,15 @@ exports.default = (0, util_1.createRule)({
75
76
  {
76
77
  ignoreVoid: true,
77
78
  ignoreIIFE: false,
79
+ allowForKnownSafePromises: util_1.readonlynessOptionsDefaults.allow,
78
80
  },
79
81
  ],
80
82
  create(context, [options]) {
81
83
  const services = (0, util_1.getParserServices)(context);
82
84
  const checker = services.program.getTypeChecker();
85
+ // TODO: #5439
86
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
87
+ const allowForKnownSafePromises = options.allowForKnownSafePromises;
83
88
  return {
84
89
  ExpressionStatement(node) {
85
90
  if (options.ignoreIIFE && isAsyncIife(node)) {
@@ -193,10 +198,10 @@ exports.default = (0, util_1.createRule)({
193
198
  const tsNode = services.esTreeNodeToTSNodeMap.get(node);
194
199
  // Check the type. At this point it can't be unhandled if it isn't a promise
195
200
  // or array thereof.
196
- if (isPromiseArray(checker, tsNode)) {
201
+ if (isPromiseArray(tsNode)) {
197
202
  return { isUnhandled: true, promiseArray: true };
198
203
  }
199
- if (!isPromiseLike(checker, tsNode)) {
204
+ if (!isPromiseLike(tsNode)) {
200
205
  return { isUnhandled: false };
201
206
  }
202
207
  if (node.type === utils_1.AST_NODE_TYPES.CallExpression) {
@@ -257,49 +262,53 @@ exports.default = (0, util_1.createRule)({
257
262
  // we just can't tell.
258
263
  return { isUnhandled: false };
259
264
  }
260
- },
261
- });
262
- function isPromiseArray(checker, node) {
263
- const type = checker.getTypeAtLocation(node);
264
- for (const ty of tsutils
265
- .unionTypeParts(type)
266
- .map(t => checker.getApparentType(t))) {
267
- if (checker.isArrayType(ty)) {
268
- const arrayType = checker.getTypeArguments(ty)[0];
269
- if (isPromiseLike(checker, node, arrayType)) {
270
- return true;
265
+ function isPromiseArray(node) {
266
+ const type = checker.getTypeAtLocation(node);
267
+ for (const ty of tsutils
268
+ .unionTypeParts(type)
269
+ .map(t => checker.getApparentType(t))) {
270
+ if (checker.isArrayType(ty)) {
271
+ const arrayType = checker.getTypeArguments(ty)[0];
272
+ if (isPromiseLike(node, arrayType)) {
273
+ return true;
274
+ }
275
+ }
276
+ if (checker.isTupleType(ty)) {
277
+ for (const tupleElementType of checker.getTypeArguments(ty)) {
278
+ if (isPromiseLike(node, tupleElementType)) {
279
+ return true;
280
+ }
281
+ }
282
+ }
271
283
  }
284
+ return false;
272
285
  }
273
- if (checker.isTupleType(ty)) {
274
- for (const tupleElementType of checker.getTypeArguments(ty)) {
275
- if (isPromiseLike(checker, node, tupleElementType)) {
286
+ // Modified from tsutils.isThenable() to only consider thenables which can be
287
+ // rejected/caught via a second parameter. Original source (MIT licensed):
288
+ //
289
+ // https://github.com/ajafff/tsutils/blob/49d0d31050b44b81e918eae4fbaf1dfe7b7286af/util/type.ts#L95-L125
290
+ function isPromiseLike(node, type) {
291
+ type ??= checker.getTypeAtLocation(node);
292
+ // Ignore anything specified by `allowForKnownSafePromises` option.
293
+ if (allowForKnownSafePromises.some(allowedType => (0, util_1.typeMatchesSpecifier)(type, allowedType, services.program))) {
294
+ return false;
295
+ }
296
+ for (const ty of tsutils.unionTypeParts(checker.getApparentType(type))) {
297
+ const then = ty.getProperty('then');
298
+ if (then === undefined) {
299
+ continue;
300
+ }
301
+ const thenType = checker.getTypeOfSymbolAtLocation(then, node);
302
+ if (hasMatchingSignature(thenType, signature => signature.parameters.length >= 2 &&
303
+ isFunctionParam(checker, signature.parameters[0], node) &&
304
+ isFunctionParam(checker, signature.parameters[1], node))) {
276
305
  return true;
277
306
  }
278
307
  }
308
+ return false;
279
309
  }
280
- }
281
- return false;
282
- }
283
- // Modified from tsutils.isThenable() to only consider thenables which can be
284
- // rejected/caught via a second parameter. Original source (MIT licensed):
285
- //
286
- // https://github.com/ajafff/tsutils/blob/49d0d31050b44b81e918eae4fbaf1dfe7b7286af/util/type.ts#L95-L125
287
- function isPromiseLike(checker, node, type) {
288
- type ??= checker.getTypeAtLocation(node);
289
- for (const ty of tsutils.unionTypeParts(checker.getApparentType(type))) {
290
- const then = ty.getProperty('then');
291
- if (then === undefined) {
292
- continue;
293
- }
294
- const thenType = checker.getTypeOfSymbolAtLocation(then, node);
295
- if (hasMatchingSignature(thenType, signature => signature.parameters.length >= 2 &&
296
- isFunctionParam(checker, signature.parameters[0], node) &&
297
- isFunctionParam(checker, signature.parameters[1], node))) {
298
- return true;
299
- }
300
- }
301
- return false;
302
- }
310
+ },
311
+ });
303
312
  function hasMatchingSignature(type, matcher) {
304
313
  for (const t of tsutils.unionTypeParts(type)) {
305
314
  if (t.getCallSignatures().some(matcher)) {
@@ -1 +1 @@
1
- {"version":3,"file":"no-floating-promises.js","sourceRoot":"","sources":["../../src/rules/no-floating-promises.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-floating-promises.js","sourceRoot":"","sources":["../../src/rules/no-floating-promises.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAA0D;AAC1D,sDAAwC;AACxC,+CAAiC;AAGjC,kCAQiB;AAoBjB,MAAM,WAAW,GACf,4GAA4G,CAAC;AAE/G,MAAM,eAAe,GACnB,wGAAwG;IACxG,+DAA+D,CAAC;AAElE,MAAM,uBAAuB,GAC3B,6DAA6D,CAAC;AAEhE,MAAM,mBAAmB,GACvB,kIAAkI,CAAC;AAErI,MAAM,uBAAuB,GAC3B,kIAAkI;IAClI,4EAA4E,CAAC;AAE/E,kBAAe,IAAA,iBAAU,EAAqB;IAC5C,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,EAAE,WAAW;YACrB,gBAAgB,EAAE,qBAAqB;YACvC,YAAY,EAAE,eAAe;YAC7B,eAAe,EAAE,8BAA8B;YAC/C,+BAA+B,EAC7B,WAAW,GAAG,GAAG,GAAG,uBAAuB;YAC7C,mCAAmC,EACjC,eAAe,GAAG,GAAG,GAAG,uBAAuB;YACjD,oBAAoB,EAAE,mBAAmB;YACzC,wBAAwB,EAAE,uBAAuB;SAClD;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,2EAA2E;wBAC7E,IAAI,EAAE,SAAS;qBAChB;oBACD,yBAAyB,EAAE,gCAAyB,CAAC,UAAU,CAAC,KAAK;iBACtE;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,IAAI,EAAE,SAAS;KAChB;IACD,cAAc,EAAE;QACd;YACE,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,KAAK;YACjB,yBAAyB,EAAE,kCAA2B,CAAC,KAAK;SAC7D;KACF;IAED,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAClD,cAAc;QACd,oEAAoE;QACpE,MAAM,yBAAyB,GAAG,OAAO,CAAC,yBAA0B,CAAC;QAErE,OAAO;YACL,mBAAmB,CAAC,IAAI;gBACtB,IAAI,OAAO,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,OAAO;gBACT,CAAC;gBAED,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBAEjC,IAAI,UAAU,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe,EAAE,CAAC;oBACvD,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;gBACrC,CAAC;gBAED,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,GACrD,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAE1C,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,OAAO,CAAC,UAAU;gCAC3B,CAAC,CAAC,0BAA0B;gCAC5B,CAAC,CAAC,sBAAsB;yBAC3B,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;wBAC9B,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,kBAAkB;gCAC3B,CAAC,CAAC,qCAAqC;gCACvC,CAAC,CAAC,cAAc;4BAClB,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,CAAC;4CACxC,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wCAC/C,CAAC;wCACD,OAAO;4CACL,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;4CACtC,KAAK,CAAC,oBAAoB,CACxB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC1C,GAAG,CACJ;yCACF,CAAC;oCACJ,CAAC;iCACF;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,kBAAkB;gCAC3B,CAAC,CAAC,iCAAiC;gCACnC,CAAC,CAAC,UAAU;4BACd,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,CAAC;4CACD,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;wCACJ,CAAC;wCACD,MAAM,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAC/C,IAAI,CAAC,UAAU,CAChB,CAAC;wCACF,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;4CACxC,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wCAChD,CAAC;wCACD,OAAO;4CACL,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;4CACvC,KAAK,CAAC,oBAAoB,CACxB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC1C,GAAG,CACJ;yCACF,CAAC;oCACJ,CAAC;iCACF;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;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,IAAA,4BAAqB,EAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClE,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,CAAC;gBAC3D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;gBACzB,sBAAc,CAAC,uBAAuB;gBACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB,CAClE,CAAC;QACJ,CAAC;QAED,SAAS,uBAAuB,CAAC,gBAA+B;YAC9D,OAAO,CACL,QAAQ,CAAC,OAAO;iBACb,cAAc,EAAE;iBAChB,iBAAiB,CAChB,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CACrD;iBACA,iBAAiB,EAAE,CAAC,MAAM,GAAG,CAAC,CAClC,CAAC;QACJ,CAAC;QAED,SAAS,kBAAkB,CACzB,OAAuB,EACvB,IAAmB;YAMnB,yEAAyE;YACzE,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB,EAAE,CAAC;gBACpD,uEAAuE;gBACvE,yEAAyE;gBACzE,yBAAyB;gBACzB,OAAO,CACL,IAAI,CAAC,WAAW;qBACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;qBAC9C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAChE,CAAC;YACJ,CAAC;YAED,IACE,CAAC,OAAO,CAAC,UAAU;gBACnB,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;gBAC5C,IAAI,CAAC,QAAQ,KAAK,MAAM,EACxB,CAAC;gBACD,yEAAyE;gBACzE,4EAA4E;gBAC5E,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAExD,4EAA4E;YAC5E,oBAAoB;YAEpB,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;YACnD,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAChC,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EAAE,CAAC;gBAChD,oEAAoE;gBACpE,yCAAyC;gBAEzC,MAAM,qBAAqB,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,IAAI,uBAAuB,CAAC,qBAAqB,CAAC,EAAE,CAAC;wBACnD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;oBAChC,CAAC;oBACD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;gBACzD,CAAC;gBAED,MAAM,oBAAoB,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC;gBACnE,IAAI,oBAAoB,EAAE,CAAC;oBACzB,IAAI,uBAAuB,CAAC,oBAAoB,CAAC,EAAE,CAAC;wBAClD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;oBAChC,CAAC;oBACD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;gBACzD,CAAC;gBAED,2EAA2E;gBAC3E,yDAAyD;gBACzD,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAC5D,IAAI,oBAAoB,EAAE,CAAC;oBACzB,OAAO,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAC3D,CAAC;gBAED,iCAAiC;gBACjC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,wBAAwB,EAAE,CAAC;gBACjE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,4EAA4E;gBAC5E,gCAAgC;gBAChC,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpE,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC;oBAChC,OAAO,eAAe,CAAC;gBACzB,CAAC;gBACD,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACtD,CAAC;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,CAAC;gBACD,2EAA2E;gBAC3E,2EAA2E;gBAC3E,qDAAqD;gBACrD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,EAAE,CAAC;gBAC1D,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC3B,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;YAED,4EAA4E;YAC5E,8EAA8E;YAC9E,sBAAsB;YACtB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,SAAS,cAAc,CAAC,IAAa;YACnC,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC7C,KAAK,MAAM,EAAE,IAAI,OAAO;iBACrB,cAAc,CAAC,IAAI,CAAC;iBACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,IAAI,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;wBACnC,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC5B,KAAK,MAAM,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC5D,IAAI,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC;4BAC1C,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6EAA6E;QAC7E,0EAA0E;QAC1E,EAAE;QACF,0GAA0G;QAC1G,SAAS,aAAa,CAAC,IAAa,EAAE,IAAc;YAClD,IAAI,KAAK,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAEzC,mEAAmE;YACnE,IACE,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAC3C,IAAA,2BAAoB,EAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,CAC1D,EACD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,OAAO,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/D,IACE,oBAAoB,CAClB,QAAQ,EACR,SAAS,CAAC,EAAE,CACV,SAAS,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;oBAChC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;oBACvD,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAC1D,EACD,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,oBAAoB,CAC3B,IAAa,EACb,OAA6C;IAE7C,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;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,CAAC;QAC7C,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gCAAgC,CACvC,UAAmC;IAEnC,IACE,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,EAChC,CAAC;QACD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,+BAA+B,CACtC,UAAmC;IAEnC,IACE,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,EAChC,CAAC;QACD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAmC;IAEnC,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QAC/D,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;QAC7D,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;QAC7C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM;QAC1B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -31,7 +31,7 @@ exports.default = (0, util_1.createRule)({
31
31
  meta: {
32
32
  type: 'suggestion',
33
33
  docs: {
34
- description: 'Disallow async functions which have no `await` expression',
34
+ description: 'Disallow async functions which do not return promises and have no `await` expression',
35
35
  recommended: 'recommended',
36
36
  requiresTypeChecking: true,
37
37
  extendsBaseRule: true,
@@ -1 +1 @@
1
- {"version":3,"file":"require-await.js","sourceRoot":"","sources":["../../src/rules/require-await.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"require-await.js","sourceRoot":"","sources":["../../src/rules/require-await.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,8 @@ exports.default = (0, util_1.createRule)({
43
43
  nonPromiseAwait: 'Returning an awaited value that is not a promise is not allowed.',
44
44
  disallowedPromiseAwait: 'Returning an awaited promise is not allowed in this context.',
45
45
  requiredPromiseAwait: 'Returning an awaited promise is required in this context.',
46
+ requiredPromiseAwaitSuggestion: 'Add `await` before the expression. Use caution as this may impact control flow.',
47
+ disallowedPromiseAwaitSuggestion: 'Remove `await` before the expression. Use caution as this may impact control flow.',
46
48
  },
47
49
  schema: [
48
50
  {
@@ -65,49 +67,75 @@ exports.default = (0, util_1.createRule)({
65
67
  function exitFunction() {
66
68
  scopeInfoStack.pop();
67
69
  }
68
- function inTry(node) {
69
- let ancestor = node.parent;
70
- while (ancestor && !ts.isFunctionLike(ancestor)) {
71
- if (ts.isTryStatement(ancestor)) {
72
- return true;
73
- }
74
- ancestor = ancestor.parent;
75
- }
76
- return false;
77
- }
78
- function inCatch(node) {
79
- let ancestor = node.parent;
80
- while (ancestor && !ts.isFunctionLike(ancestor)) {
81
- if (ts.isCatchClause(ancestor)) {
82
- return true;
83
- }
84
- ancestor = ancestor.parent;
70
+ /**
71
+ * Tests whether a node is inside of an explicit error handling context
72
+ * (try/catch/finally) in a way that throwing an exception will have an
73
+ * impact on the program's control flow.
74
+ */
75
+ function affectsExplicitErrorHandling(node) {
76
+ // If an error-handling block is followed by another error-handling block,
77
+ // control flow is affected by whether promises in it are awaited or not.
78
+ // Otherwise, we need to check recursively for nested try statements until
79
+ // we get to the top level of a function or the program. If by then,
80
+ // there's no offending error-handling blocks, it doesn't affect control
81
+ // flow.
82
+ const tryAncestorResult = findContainingTryStatement(node);
83
+ if (tryAncestorResult == null) {
84
+ return false;
85
85
  }
86
- return false;
87
- }
88
- function isReturnPromiseInFinally(node) {
89
- let ancestor = node.parent;
90
- while (ancestor && !ts.isFunctionLike(ancestor)) {
91
- if (ts.isTryStatement(ancestor.parent) &&
92
- ts.isBlock(ancestor) &&
93
- ancestor.parent.end === ancestor.end) {
86
+ const { tryStatement, block } = tryAncestorResult;
87
+ switch (block) {
88
+ case 'try':
89
+ // Try blocks are always followed by either a catch or finally,
90
+ // so exceptions thrown here always affect control flow.
94
91
  return true;
92
+ case 'catch':
93
+ // Exceptions thrown in catch blocks followed by a finally block affect
94
+ // control flow.
95
+ if (tryStatement.finallyBlock != null) {
96
+ return true;
97
+ }
98
+ // Otherwise recurse.
99
+ return affectsExplicitErrorHandling(tryStatement);
100
+ case 'finally':
101
+ return affectsExplicitErrorHandling(tryStatement);
102
+ default: {
103
+ const __never = block;
104
+ throw new Error(`Unexpected block type: ${String(__never)}`);
95
105
  }
96
- ancestor = ancestor.parent;
97
106
  }
98
- return false;
99
107
  }
100
- function hasFinallyBlock(node) {
108
+ /**
109
+ * A try _statement_ is the whole thing that encompasses try block,
110
+ * catch clause, and finally block. This function finds the nearest
111
+ * enclosing try statement (if present) for a given node, and reports which
112
+ * part of the try statement the node is in.
113
+ */
114
+ function findContainingTryStatement(node) {
115
+ let child = node;
101
116
  let ancestor = node.parent;
102
117
  while (ancestor && !ts.isFunctionLike(ancestor)) {
103
118
  if (ts.isTryStatement(ancestor)) {
104
- return !!ancestor.finallyBlock;
119
+ let block;
120
+ if (child === ancestor.tryBlock) {
121
+ block = 'try';
122
+ }
123
+ else if (child === ancestor.catchClause) {
124
+ block = 'catch';
125
+ }
126
+ else if (child === ancestor.finallyBlock) {
127
+ block = 'finally';
128
+ }
129
+ return {
130
+ tryStatement: ancestor,
131
+ block: (0, util_1.nullThrows)(block, 'Child of a try statement must be a try block, catch clause, or finally block'),
132
+ };
105
133
  }
134
+ child = ancestor;
106
135
  ancestor = ancestor.parent;
107
136
  }
108
- return false;
137
+ return undefined;
109
138
  }
110
- // function findTokensToRemove()
111
139
  function removeAwait(fixer, node) {
112
140
  // Should always be an await node; but let's be safe.
113
141
  /* istanbul ignore if */ if (!(0, util_1.isAwaitExpression)(node)) {
@@ -163,29 +191,27 @@ exports.default = (0, util_1.createRule)({
163
191
  if (isAwait && !isThenable) {
164
192
  // any/unknown could be thenable; do not auto-fix
165
193
  const useAutoFix = !((0, util_1.isTypeAnyType)(type) || (0, util_1.isTypeUnknownType)(type));
166
- const fix = (fixer) => removeAwait(fixer, node);
167
194
  context.report({
168
195
  messageId: 'nonPromiseAwait',
169
196
  node,
170
- ...(useAutoFix
171
- ? { fix }
172
- : {
173
- suggest: [
174
- {
175
- messageId: 'nonPromiseAwait',
176
- fix,
177
- },
178
- ],
179
- }),
197
+ ...fixOrSuggest(useAutoFix, {
198
+ messageId: 'nonPromiseAwait',
199
+ fix: fixer => removeAwait(fixer, node),
200
+ }),
180
201
  });
181
202
  return;
182
203
  }
204
+ const affectsErrorHandling = affectsExplicitErrorHandling(expression);
205
+ const useAutoFix = !affectsErrorHandling;
183
206
  if (option === 'always') {
184
207
  if (!isAwait && isThenable) {
185
208
  context.report({
186
209
  messageId: 'requiredPromiseAwait',
187
210
  node,
188
- fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)),
211
+ ...fixOrSuggest(useAutoFix, {
212
+ messageId: 'requiredPromiseAwaitSuggestion',
213
+ fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)),
214
+ }),
189
215
  });
190
216
  }
191
217
  return;
@@ -195,31 +221,33 @@ exports.default = (0, util_1.createRule)({
195
221
  context.report({
196
222
  messageId: 'disallowedPromiseAwait',
197
223
  node,
198
- fix: fixer => removeAwait(fixer, node),
224
+ ...fixOrSuggest(useAutoFix, {
225
+ messageId: 'disallowedPromiseAwaitSuggestion',
226
+ fix: fixer => removeAwait(fixer, node),
227
+ }),
199
228
  });
200
229
  }
201
230
  return;
202
231
  }
203
232
  if (option === 'in-try-catch') {
204
- const isInTryCatch = inTry(expression) || inCatch(expression);
205
- if (isAwait && !isInTryCatch) {
233
+ if (isAwait && !affectsErrorHandling) {
206
234
  context.report({
207
235
  messageId: 'disallowedPromiseAwait',
208
236
  node,
209
- fix: fixer => removeAwait(fixer, node),
237
+ ...fixOrSuggest(useAutoFix, {
238
+ messageId: 'disallowedPromiseAwaitSuggestion',
239
+ fix: fixer => removeAwait(fixer, node),
240
+ }),
210
241
  });
211
242
  }
212
- else if (!isAwait && isInTryCatch) {
213
- if (inCatch(expression) && !hasFinallyBlock(expression)) {
214
- return;
215
- }
216
- if (isReturnPromiseInFinally(expression)) {
217
- return;
218
- }
243
+ else if (!isAwait && affectsErrorHandling) {
219
244
  context.report({
220
245
  messageId: 'requiredPromiseAwait',
221
246
  node,
222
- fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)),
247
+ ...fixOrSuggest(useAutoFix, {
248
+ messageId: 'requiredPromiseAwaitSuggestion',
249
+ fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)),
250
+ }),
223
251
  });
224
252
  }
225
253
  return;
@@ -263,4 +291,7 @@ exports.default = (0, util_1.createRule)({
263
291
  };
264
292
  },
265
293
  });
294
+ function fixOrSuggest(useFix, suggestion) {
295
+ return useFix ? { fix: suggestion.fix } : { suggest: [suggestion] };
296
+ }
266
297
  //# sourceMappingURL=return-await.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"return-await.js","sourceRoot":"","sources":["../../src/rules/return-await.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"return-await.js","sourceRoot":"","sources":["../../src/rules/return-await.ts"],"names":[],"mappings":"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"}
@@ -583,6 +583,22 @@ This allows you to emulate the old `interface-name-prefix` rule.
583
583
  }
584
584
  ```
585
585
 
586
+ ### Enforce that function names are either in camelCase or PascalCase
587
+
588
+ Function names are typically camelCase, but UI library components (especially JSX, such as React and Solid) use PascalCase to distinguish them from intrinsic elements. If you are writing function components, consider allowing both camelCase and PascalCase for functions.
589
+
590
+ ```json
591
+ {
592
+ "@typescript-eslint/naming-convention": [
593
+ "error",
594
+ {
595
+ "selector": "function",
596
+ "format": ["camelCase", "PascalCase"]
597
+ }
598
+ ]
599
+ }
600
+ ```
601
+
586
602
  ### Enforce that variable and function names are in camelCase
587
603
 
588
604
  This allows you to lint multiple type with same pattern.
@@ -11,9 +11,13 @@ import TabItem from '@theme/TabItem';
11
11
 
12
12
  Deleting dynamically computed keys can be dangerous and in some cases not well optimized.
13
13
  Using the `delete` operator on keys that aren't runtime constants could be a sign that you're using the wrong data structures.
14
- Using `Object`s with added and removed keys can cause occasional edge case bugs, such as if a key is named `"hasOwnProperty"`.
14
+ Consider using a `Map` or `Set` if you’re using an object as a key-value collection.
15
15
 
16
- > Consider using a `Map` or `Set` if you’re storing collections of objects.
16
+ Dynamically adding and removing keys from objects can cause occasional edge case bugs. For example, some objects use "hidden properties" (such as `__data`) for private storage, and deleting them can break the object's internal state. Furthermore, [`delete`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete) cannot remove inherited properties or non-configurable properties. This makes it interact badly with anything more complicated than a plain object:
17
+
18
+ - The [`length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length) of an array is non-configurable, and deleting it is a runtime error.
19
+ - You can't remove properties on the prototype of an object, such as deleting methods from class instances.
20
+ - Sometimes, `delete` only removes the own property, leaving the inherited property intact. For example, deleting the [`name`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name) property of a function only removes the own property, but there's also a `Function.prototype.name` property that remains.
17
21
 
18
22
  ## Examples
19
23
 
@@ -119,6 +119,63 @@ await (async function () {
119
119
  })();
120
120
  ```
121
121
 
122
+ ### `allowForKnownSafePromises`
123
+
124
+ This option allows marking specific types as "safe" to be floating. For example, you may need to do this in the case of libraries whose APIs return Promises whose rejections are safely handled by the library.
125
+
126
+ This option takes an array of type specifiers to consider safe.
127
+ Each item in the array must have one of the following forms:
128
+
129
+ - A type defined in a file (`{ from: "file", name: "Foo", path: "src/foo-file.ts" }` with `path` being an optional path relative to the project root directory)
130
+ - A type from the default library (`{ from: "lib", name: "PromiseLike" }`)
131
+ - A type from a package (`{ from: "package", name: "Foo", package: "foo-lib" }`, this also works for types defined in a typings package).
132
+
133
+ Examples of code for this rule with:
134
+
135
+ ```json
136
+ {
137
+ "allowForKnownSafePromises": [
138
+ { "from": "file", "name": "SafePromise" },
139
+ { "from": "lib", "name": "PromiseLike" },
140
+ { "from": "package", "name": "Bar", "package": "bar-lib" }
141
+ ]
142
+ }
143
+ ```
144
+
145
+ <Tabs>
146
+ <TabItem value="❌ Incorrect">
147
+
148
+ ```ts option='{"allowForKnownSafePromises":[{"from":"file","name":"SafePromise"},{"from":"lib","name":"PromiseLike"},{"from":"package","name":"Bar","package":"bar-lib"}]}'
149
+ let promise: Promise<number> = Promise.resolve(2);
150
+ promise;
151
+
152
+ function returnsPromise(): Promise<number> {
153
+ return Promise.resolve(42);
154
+ }
155
+
156
+ returnsPromise();
157
+ ```
158
+
159
+ </TabItem>
160
+ <TabItem value="✅ Correct">
161
+
162
+ ```ts option='{"allowForKnownSafePromises":[{"from":"file","name":"SafePromise"},{"from":"lib","name":"PromiseLike"},{"from":"package","name":"Bar","package":"bar-lib"}]}'
163
+ // promises can be marked as safe by using branded types
164
+ type SafePromise = Promise<number> & { __linterBrands?: string };
165
+
166
+ let promise: SafePromise = Promise.resolve(2);
167
+ promise;
168
+
169
+ function returnsSafePromise(): SafePromise {
170
+ return Promise.resolve(42);
171
+ }
172
+
173
+ returnsSafePromise();
174
+ ```
175
+
176
+ </TabItem>
177
+ </Tabs>
178
+
122
179
  ## When Not To Use It
123
180
 
124
181
  This rule can be difficult to enable on large existing projects that set up many floating Promises.
@@ -47,3 +47,8 @@ We generally recommend using `@typescript-eslint/no-unused-vars` to flag unused
47
47
  :::tip
48
48
  Editors such as VS Code will still generally "grey out" unused variables even if `noUnusedLocals` and `noUnusedParameters` are not enabled in a project.
49
49
  :::
50
+
51
+ Also see similar rules provided by ESLint:
52
+
53
+ - [`no-unused-private-class-members`](https://eslint.org/docs/latest/rules/no-unused-private-class-members)
54
+ - [`no-unused-labels`](https://eslint.org/docs/latest/rules/no-unused-labels)
@@ -142,11 +142,12 @@ interface Foo {
142
142
 
143
143
  Some complex types cannot easily be made readonly, for example the `HTMLElement` type or the `JQueryStatic` type from `@types/jquery`. This option allows you to globally disable reporting of such types.
144
144
 
145
- Each item must be one of:
145
+ This option takes an array of type specifiers to ignore.
146
+ Each item in the array must have one of the following forms:
146
147
 
147
- - A type defined in a file (`{from: "file", name: "Foo", path: "src/foo-file.ts"}` with `path` being an optional path relative to the project root directory)
148
- - A type from the default library (`{from: "lib", name: "Foo"}`)
149
- - A type from a package (`{from: "package", name: "Foo", package: "foo-lib"}`, this also works for types defined in a typings package).
148
+ - A type defined in a file (`{ from: "file", name: "Foo", path: "src/foo-file.ts" }` with `path` being an optional path relative to the project root directory)
149
+ - A type from the default library (`{ from: "lib", name: "Foo" }`)
150
+ - A type from a package (`{ from: "package", name: "Foo", package: "foo-lib" }`, this also works for types defined in a typings package).
150
151
 
151
152
  Additionally, a type may be defined just as a simple string, which then matches the type independently of its origin.
152
153
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: 'Disallow async functions which have no `await` expression.'
2
+ description: 'Disallow async functions which do not return promises and have no `await` expression.'
3
3
  ---
4
4
 
5
5
  import Tabs from '@theme/Tabs';
@@ -10,7 +10,7 @@ import TabItem from '@theme/TabItem';
10
10
  > See **https://typescript-eslint.io/rules/require-await** for documentation.
11
11
 
12
12
  This rule extends the base [`eslint/require-await`](https://eslint.org/docs/rules/require-await) rule.
13
- It uses type information to add support for `async` functions that return a `Promise`.
13
+ It uses type information to allow promise-returning functions to be marked as `async` without containing an `await` expression.
14
14
 
15
15
  ## Examples
16
16
 
@@ -26,13 +26,15 @@ const defaultOptions: Options = 'in-try-catch';
26
26
 
27
27
  ### `in-try-catch`
28
28
 
29
- Requires that a returned promise must be `await`ed in `try-catch-finally` blocks, and disallows it elsewhere.
30
- Specifically:
29
+ In cases where returning an unawaited promise would cause unexpected error-handling control flow, the rule enforces that `await` must be used.
30
+ Otherwise, the rule enforces that `await` must _not_ be used.
31
31
 
32
- - if you `return` a promise within a `try`, then it must be `await`ed.
33
- - if you `return` a promise within a `catch`, and there **_is no_** `finally`, then it **_must not_** be `await`ed.
34
- - if you `return` a promise within a `catch`, and there **_is a_** `finally`, then it **_must_** be `await`ed.
35
- - if you `return` a promise within a `finally`, then it **_must not_** be `await`ed.
32
+ Listing the error-handling cases exhaustively:
33
+
34
+ - if you `return` a promise within a `try`, then it must be `await`ed, since it will always be followed by a `catch` or `finally`.
35
+ - if you `return` a promise within a `catch`, and there is _no_ `finally`, then it must _not_ be `await`ed.
36
+ - if you `return` a promise within a `catch`, and there _is_ a `finally`, then it _must_ be `await`ed.
37
+ - if you `return` a promise within a `finally`, then it must not be `await`ed.
36
38
 
37
39
  Examples of code with `in-try-catch`:
38
40
 
@@ -42,23 +44,34 @@ Examples of code with `in-try-catch`:
42
44
  ```ts option='"in-try-catch"'
43
45
  async function invalidInTryCatch1() {
44
46
  try {
45
- return Promise.resolve('try');
46
- } catch (e) {}
47
+ return Promise.reject('try');
48
+ } catch (e) {
49
+ // Doesn't execute due to missing await.
50
+ }
47
51
  }
48
52
 
49
53
  async function invalidInTryCatch2() {
50
54
  try {
51
55
  throw new Error('error');
52
56
  } catch (e) {
53
- return await Promise.resolve('catch');
57
+ // Unnecessary await; rejections here don't impact control flow.
58
+ return await Promise.reject('catch');
54
59
  }
55
60
  }
56
61
 
62
+ // Prints 'starting async work', 'cleanup', 'async work done'.
57
63
  async function invalidInTryCatch3() {
64
+ async function doAsyncWork(): Promise<void> {
65
+ console.log('starting async work');
66
+ await new Promise(resolve => setTimeout(resolve, 1000));
67
+ console.log('async work done');
68
+ }
69
+
58
70
  try {
59
71
  throw new Error('error');
60
72
  } catch (e) {
61
- return Promise.resolve('catch');
73
+ // Missing await.
74
+ return doAsyncWork();
62
75
  } finally {
63
76
  console.log('cleanup');
64
77
  }
@@ -70,7 +83,8 @@ async function invalidInTryCatch4() {
70
83
  } catch (e) {
71
84
  throw new Error('error2');
72
85
  } finally {
73
- return await Promise.resolve('finally');
86
+ // Unnecessary await; rejections here don't impact control flow.
87
+ return await Promise.reject('finally');
74
88
  }
75
89
  }
76
90
 
@@ -89,23 +103,32 @@ async function invalidInTryCatch6() {
89
103
  ```ts option='"in-try-catch"'
90
104
  async function validInTryCatch1() {
91
105
  try {
92
- return await Promise.resolve('try');
93
- } catch (e) {}
106
+ return await Promise.reject('try');
107
+ } catch (e) {
108
+ // Executes as expected.
109
+ }
94
110
  }
95
111
 
96
112
  async function validInTryCatch2() {
97
113
  try {
98
114
  throw new Error('error');
99
115
  } catch (e) {
100
- return Promise.resolve('catch');
116
+ return Promise.reject('catch');
101
117
  }
102
118
  }
103
119
 
120
+ // Prints 'starting async work', 'async work done', 'cleanup'.
104
121
  async function validInTryCatch3() {
122
+ async function doAsyncWork(): Promise<void> {
123
+ console.log('starting async work');
124
+ await new Promise(resolve => setTimeout(resolve, 1000));
125
+ console.log('async work done');
126
+ }
127
+
105
128
  try {
106
129
  throw new Error('error');
107
130
  } catch (e) {
108
- return await Promise.resolve('catch');
131
+ return await doAsyncWork();
109
132
  } finally {
110
133
  console.log('cleanup');
111
134
  }
@@ -117,7 +140,7 @@ async function validInTryCatch4() {
117
140
  } catch (e) {
118
141
  throw new Error('error2');
119
142
  } finally {
120
- return Promise.resolve('finally');
143
+ return Promise.reject('finally');
121
144
  }
122
145
  }
123
146
 
@@ -105,7 +105,8 @@ log();
105
105
  ## When Not To Use It
106
106
 
107
107
  If your project dynamically changes `this` scopes around in a way TypeScript has difficulties modeling, this rule may not be viable to use.
108
- One likely difficult pattern is if your code intentionally waits to bind methods after use, such as by passing a `scope: this` along with the method.
108
+ For example, some functions have an additional parameter for specifying the `this` context, such as `Reflect.apply`, and array methods like `Array.prototype.map`.
109
+ This semantic is not easily expressed by TypeScript.
109
110
  You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule.
110
111
 
111
112
  If you're wanting to use `toBeCalled` and similar matches in `jest` tests, you can disable this rule for your test files in favor of [`eslint-plugin-jest`'s version of this rule](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/unbound-method.mdx).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-eslint/eslint-plugin",
3
- "version": "7.11.1-alpha.9",
3
+ "version": "7.12.0",
4
4
  "description": "TypeScript plugin for ESLint",
5
5
  "files": [
6
6
  "dist",
@@ -62,10 +62,10 @@
62
62
  },
63
63
  "dependencies": {
64
64
  "@eslint-community/regexpp": "^4.10.0",
65
- "@typescript-eslint/scope-manager": "7.11.1-alpha.9",
66
- "@typescript-eslint/type-utils": "7.11.1-alpha.9",
67
- "@typescript-eslint/utils": "7.11.1-alpha.9",
68
- "@typescript-eslint/visitor-keys": "7.11.1-alpha.9",
65
+ "@typescript-eslint/scope-manager": "7.12.0",
66
+ "@typescript-eslint/type-utils": "7.12.0",
67
+ "@typescript-eslint/utils": "7.12.0",
68
+ "@typescript-eslint/visitor-keys": "7.12.0",
69
69
  "graphemer": "^1.4.0",
70
70
  "ignore": "^5.3.1",
71
71
  "natural-compare": "^1.4.0",
@@ -76,8 +76,8 @@
76
76
  "@types/marked": "^5.0.2",
77
77
  "@types/mdast": "^4.0.3",
78
78
  "@types/natural-compare": "*",
79
- "@typescript-eslint/rule-schema-to-typescript-types": "7.11.1-alpha.9",
80
- "@typescript-eslint/rule-tester": "7.11.1-alpha.9",
79
+ "@typescript-eslint/rule-schema-to-typescript-types": "7.12.0",
80
+ "@typescript-eslint/rule-tester": "7.12.0",
81
81
  "ajv": "^6.12.6",
82
82
  "cross-env": "^7.0.3",
83
83
  "cross-fetch": "*",