@typescript-eslint/eslint-plugin 8.0.2-alpha.10 → 8.0.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.
@@ -36,6 +36,7 @@ function parseChecksVoidReturn(checksVoidReturn) {
36
36
  return {
37
37
  arguments: true,
38
38
  attributes: true,
39
+ inheritedMethods: true,
39
40
  properties: true,
40
41
  returns: true,
41
42
  variables: true,
@@ -44,6 +45,7 @@ function parseChecksVoidReturn(checksVoidReturn) {
44
45
  return {
45
46
  arguments: checksVoidReturn.arguments ?? true,
46
47
  attributes: checksVoidReturn.attributes ?? true,
48
+ inheritedMethods: checksVoidReturn.inheritedMethods ?? true,
47
49
  properties: checksVoidReturn.properties ?? true,
48
50
  returns: checksVoidReturn.returns ?? true,
49
51
  variables: checksVoidReturn.variables ?? true,
@@ -60,10 +62,11 @@ exports.default = (0, util_1.createRule)({
60
62
  },
61
63
  messages: {
62
64
  voidReturnArgument: 'Promise returned in function argument where a void return was expected.',
63
- voidReturnVariable: 'Promise-returning function provided to variable where a void return was expected.',
65
+ voidReturnAttribute: 'Promise-returning function provided to attribute where a void return was expected.',
66
+ voidReturnInheritedMethod: "Promise-returning method provided where a void return was expected by extended/implemented type '{{ heritageTypeName }}'.",
64
67
  voidReturnProperty: 'Promise-returning function provided to property where a void return was expected.',
65
68
  voidReturnReturnValue: 'Promise-returning function provided to return value where a void return was expected.',
66
- voidReturnAttribute: 'Promise-returning function provided to attribute where a void return was expected.',
69
+ voidReturnVariable: 'Promise-returning function provided to variable where a void return was expected.',
67
70
  conditional: 'Expected non-Promise value in a boolean conditional.',
68
71
  spread: 'Expected a non-Promise value to be spreaded in an object.',
69
72
  },
@@ -83,6 +86,7 @@ exports.default = (0, util_1.createRule)({
83
86
  properties: {
84
87
  arguments: { type: 'boolean' },
85
88
  attributes: { type: 'boolean' },
89
+ inheritedMethods: { type: 'boolean' },
86
90
  properties: { type: 'boolean' },
87
91
  returns: { type: 'boolean' },
88
92
  variables: { type: 'boolean' },
@@ -131,6 +135,11 @@ exports.default = (0, util_1.createRule)({
131
135
  ...(checksVoidReturn.attributes && {
132
136
  JSXAttribute: checkJSXAttribute,
133
137
  }),
138
+ ...(checksVoidReturn.inheritedMethods && {
139
+ ClassDeclaration: checkClassLikeOrInterfaceNode,
140
+ ClassExpression: checkClassLikeOrInterfaceNode,
141
+ TSInterfaceDeclaration: checkClassLikeOrInterfaceNode,
142
+ }),
134
143
  ...(checksVoidReturn.properties && {
135
144
  Property: checkProperty,
136
145
  }),
@@ -379,6 +388,51 @@ exports.default = (0, util_1.createRule)({
379
388
  });
380
389
  }
381
390
  }
391
+ function checkClassLikeOrInterfaceNode(node) {
392
+ const tsNode = services.esTreeNodeToTSNodeMap.get(node);
393
+ const heritageTypes = getHeritageTypes(checker, tsNode);
394
+ if (!heritageTypes?.length) {
395
+ return;
396
+ }
397
+ for (const nodeMember of tsNode.members) {
398
+ const memberName = nodeMember.name?.getText();
399
+ if (memberName === undefined) {
400
+ // Call/construct/index signatures don't have names. TS allows call signatures to mismatch,
401
+ // and construct signatures can't be async.
402
+ // TODO - Once we're able to use `checker.isTypeAssignableTo` (v8), we can check an index
403
+ // signature here against its compatible index signatures in `heritageTypes`
404
+ continue;
405
+ }
406
+ if (!returnsThenable(checker, nodeMember)) {
407
+ continue;
408
+ }
409
+ for (const heritageType of heritageTypes) {
410
+ checkHeritageTypeForMemberReturningVoid(nodeMember, heritageType, memberName);
411
+ }
412
+ }
413
+ }
414
+ /**
415
+ * Checks `heritageType` for a member named `memberName` that returns void; reports the
416
+ * 'voidReturnInheritedMethod' message if found.
417
+ * @param nodeMember Node member that returns a Promise
418
+ * @param heritageType Heritage type to check against
419
+ * @param memberName Name of the member to check for
420
+ */
421
+ function checkHeritageTypeForMemberReturningVoid(nodeMember, heritageType, memberName) {
422
+ const heritageMember = getMemberIfExists(heritageType, memberName);
423
+ if (heritageMember === undefined) {
424
+ return;
425
+ }
426
+ const memberType = checker.getTypeOfSymbolAtLocation(heritageMember, nodeMember);
427
+ if (!isVoidReturningFunctionType(checker, nodeMember, memberType)) {
428
+ return;
429
+ }
430
+ context.report({
431
+ node: services.tsNodeToESTreeNodeMap.get(nodeMember),
432
+ messageId: 'voidReturnInheritedMethod',
433
+ data: { heritageTypeName: checker.typeToString(heritageType) },
434
+ });
435
+ }
382
436
  function checkJSXAttribute(node) {
383
437
  if (node.value == null ||
384
438
  node.value.type !== utils_1.AST_NODE_TYPES.JSXExpressionContainer) {
@@ -592,4 +646,17 @@ function returnsThenable(checker, node) {
592
646
  .unionTypeParts(type)
593
647
  .some(t => anySignatureIsThenableType(checker, node, t));
594
648
  }
649
+ function getHeritageTypes(checker, tsNode) {
650
+ return tsNode.heritageClauses
651
+ ?.flatMap(clause => clause.types)
652
+ .map(typeExpression => checker.getTypeAtLocation(typeExpression));
653
+ }
654
+ /**
655
+ * @returns The member with the given name in `type`, if it exists.
656
+ */
657
+ function getMemberIfExists(type, memberName) {
658
+ const escapedMemberName = ts.escapeLeadingUnderscores(memberName);
659
+ const symbolMemberMatch = type.getSymbol()?.members?.get(escapedMemberName);
660
+ return (symbolMemberMatch ?? tsutils.getPropertyOfType(type, escapedMemberName));
661
+ }
595
662
  //# sourceMappingURL=no-misused-promises.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-misused-promises.js","sourceRoot":"","sources":["../../src/rules/no-misused-promises.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-misused-promises.js","sourceRoot":"","sources":["../../src/rules/no-misused-promises.ts"],"names":[],"mappings":"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"}
@@ -37,10 +37,89 @@ If you don't want to check conditionals, you can configure the rule with `"check
37
37
 
38
38
  Doing so prevents the rule from looking at code like `if (somePromise)`.
39
39
 
40
- Examples of code for this rule with `checksConditionals: true`:
40
+ ### `checksVoidReturn`
41
+
42
+ Likewise, if you don't want to check functions that return promises where a void return is
43
+ expected, your configuration will look like this:
44
+
45
+ ```json
46
+ {
47
+ "@typescript-eslint/no-misused-promises": [
48
+ "error",
49
+ {
50
+ "checksVoidReturn": false
51
+ }
52
+ ]
53
+ }
54
+ ```
55
+
56
+ You can disable selective parts of the `checksVoidReturn` option by providing an object that disables specific checks. For example, if you don't mind that passing a `() => Promise<void>` to a `() => void` parameter or JSX attribute can lead to a floating unhandled Promise:
57
+
58
+ ```json
59
+ {
60
+ "@typescript-eslint/no-misused-promises": [
61
+ "error",
62
+ {
63
+ "checksVoidReturn": {
64
+ "arguments": false,
65
+ "attributes": false
66
+ }
67
+ }
68
+ ]
69
+ }
70
+ ```
71
+
72
+ The following sub-options are supported:
73
+
74
+ #### `arguments`
75
+
76
+ Disables checking an asynchronous function passed as argument where the parameter type expects a function that returns `void`.
77
+
78
+ #### `attributes`
79
+
80
+ Disables checking an asynchronous function passed as a JSX attribute expected to be a function that returns `void`.
81
+
82
+ #### `inheritedMethods`
83
+
84
+ Disables checking an asynchronous method in a type that extends or implements another type expecting that method to return `void`.
85
+
86
+ :::note
87
+ For now, `no-misused-promises` only checks _named_ methods against extended/implemented types: that is, call/construct/index signatures are ignored. Call signatures are not required in TypeScript to be consistent with one another, and construct signatures cannot be `async` in the first place. Index signature checking may be implemented in the future.
88
+ :::
89
+
90
+ #### `properties`
91
+
92
+ Disables checking an asynchronous function passed as an object property expected to be a function that returns `void`.
93
+
94
+ #### `returns`
95
+
96
+ Disables checking an asynchronous function returned in a function whose return type is a function that returns `void`.
97
+
98
+ #### `variables`
99
+
100
+ Disables checking an asynchronous function used as a variable whose return type is a function that returns `void`.
101
+
102
+ ### `checksSpreads`
103
+
104
+ If you don't want to check object spreads, you can add this configuration:
105
+
106
+ ```json
107
+ {
108
+ "@typescript-eslint/no-misused-promises": [
109
+ "error",
110
+ {
111
+ "checksSpreads": false
112
+ }
113
+ ]
114
+ }
115
+ ```
41
116
 
42
117
  ## Examples
43
118
 
119
+ ### `checksConditionals`
120
+
121
+ Examples of code for this rule with `checksConditionals: true`:
122
+
44
123
  <Tabs>
45
124
  <TabItem value="❌ Incorrect">
46
125
 
@@ -81,45 +160,6 @@ while (await promise) {
81
160
 
82
161
  ### `checksVoidReturn`
83
162
 
84
- Likewise, if you don't want to check functions that return promises where a void return is
85
- expected, your configuration will look like this:
86
-
87
- ```json
88
- {
89
- "@typescript-eslint/no-misused-promises": [
90
- "error",
91
- {
92
- "checksVoidReturn": false
93
- }
94
- ]
95
- }
96
- ```
97
-
98
- You can disable selective parts of the `checksVoidReturn` option by providing an object that disables specific checks.
99
- The following options are supported:
100
-
101
- - `arguments`: Disables checking an asynchronous function passed as argument where the parameter type expects a function that returns `void`
102
- - `attributes`: Disables checking an asynchronous function passed as a JSX attribute expected to be a function that returns `void`
103
- - `properties`: Disables checking an asynchronous function passed as an object property expected to be a function that returns `void`
104
- - `returns`: Disables checking an asynchronous function returned in a function whose return type is a function that returns `void`
105
- - `variables`: Disables checking an asynchronous function used as a variable whose return type is a function that returns `void`
106
-
107
- For example, if you don't mind that passing a `() => Promise<void>` to a `() => void` parameter or JSX attribute can lead to a floating unhandled Promise:
108
-
109
- ```json
110
- {
111
- "@typescript-eslint/no-misused-promises": [
112
- "error",
113
- {
114
- "checksVoidReturn": {
115
- "arguments": false,
116
- "attributes": false
117
- }
118
- }
119
- ]
120
- }
121
- ```
122
-
123
163
  Examples of code for this rule with `checksVoidReturn: true`:
124
164
 
125
165
  <Tabs>
@@ -140,6 +180,15 @@ document.addEventListener('click', async () => {
140
180
  await fetch('/');
141
181
  console.log('synchronous call');
142
182
  });
183
+
184
+ interface MySyncInterface {
185
+ setThing(): void;
186
+ }
187
+ class MyClass implements MySyncInterface {
188
+ async setThing(): Promise<void> {
189
+ this.thing = await fetchThing();
190
+ }
191
+ }
143
192
  ```
144
193
 
145
194
  </TabItem>
@@ -182,6 +231,15 @@ document.addEventListener('click', () => {
182
231
 
183
232
  handler().catch(handleError);
184
233
  });
234
+
235
+ interface MyAsyncInterface {
236
+ setThing(): Promise<void>;
237
+ }
238
+ class MyClass implements MyAsyncInterface {
239
+ async setThing(): Promise<void> {
240
+ this.thing = await fetchThing();
241
+ }
242
+ }
185
243
  ```
186
244
 
187
245
  </TabItem>
@@ -189,19 +247,6 @@ document.addEventListener('click', () => {
189
247
 
190
248
  ### `checksSpreads`
191
249
 
192
- If you don't want to check object spreads, you can add this configuration:
193
-
194
- ```json
195
- {
196
- "@typescript-eslint/no-misused-promises": [
197
- "error",
198
- {
199
- "checksSpreads": false
200
- }
201
- ]
202
- }
203
- ```
204
-
205
250
  Examples of code for this rule with `checksSpreads: true`:
206
251
 
207
252
  <Tabs>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-eslint/eslint-plugin",
3
- "version": "8.0.2-alpha.10",
3
+ "version": "8.0.2-alpha.11",
4
4
  "description": "TypeScript plugin for ESLint",
5
5
  "files": [
6
6
  "dist",
@@ -60,10 +60,10 @@
60
60
  },
61
61
  "dependencies": {
62
62
  "@eslint-community/regexpp": "^4.10.0",
63
- "@typescript-eslint/scope-manager": "8.0.2-alpha.10",
64
- "@typescript-eslint/type-utils": "8.0.2-alpha.10",
65
- "@typescript-eslint/utils": "8.0.2-alpha.10",
66
- "@typescript-eslint/visitor-keys": "8.0.2-alpha.10",
63
+ "@typescript-eslint/scope-manager": "8.0.2-alpha.11",
64
+ "@typescript-eslint/type-utils": "8.0.2-alpha.11",
65
+ "@typescript-eslint/utils": "8.0.2-alpha.11",
66
+ "@typescript-eslint/visitor-keys": "8.0.2-alpha.11",
67
67
  "graphemer": "^1.4.0",
68
68
  "ignore": "^5.3.1",
69
69
  "natural-compare": "^1.4.0",
@@ -74,8 +74,8 @@
74
74
  "@types/marked": "^5.0.2",
75
75
  "@types/mdast": "^4.0.3",
76
76
  "@types/natural-compare": "*",
77
- "@typescript-eslint/rule-schema-to-typescript-types": "8.0.2-alpha.10",
78
- "@typescript-eslint/rule-tester": "8.0.2-alpha.10",
77
+ "@typescript-eslint/rule-schema-to-typescript-types": "8.0.2-alpha.11",
78
+ "@typescript-eslint/rule-tester": "8.0.2-alpha.11",
79
79
  "ajv": "^6.12.6",
80
80
  "cross-env": "^7.0.3",
81
81
  "cross-fetch": "*",