From 3626a673cf8117cc995245cd86e466e2553e9b0e Mon Sep 17 00:00:00 2001 From: Brad Zacher Date: Sun, 10 May 2020 13:40:09 -0700 Subject: [PATCH] feat(eslint-plugin): [no-floating-promises] ignore void operator by default (#2003) --- .../docs/rules/no-floating-promises.md | 5 +- .../src/rules/no-floating-promises.ts | 2 +- .../tests/rules/no-floating-promises.test.ts | 105 +++++++++--------- 3 files changed, 58 insertions(+), 54 deletions(-) diff --git a/packages/eslint-plugin/docs/rules/no-floating-promises.md b/packages/eslint-plugin/docs/rules/no-floating-promises.md index 9ed1f23455a..bda8c26b785 100644 --- a/packages/eslint-plugin/docs/rules/no-floating-promises.md +++ b/packages/eslint-plugin/docs/rules/no-floating-promises.md @@ -56,7 +56,8 @@ type Options = { }; const defaults = { - ignoreVoid: false, + ignoreVoid: true, + ignoreIIFE: false, }; ``` @@ -76,6 +77,8 @@ void returnsPromise(); void Promise.reject('value'); ``` +With this option set to `true`, and if you are using `no-void`, you should turn on the [`allowAsAStatement`](https://eslint.org/docs/rules/no-void#allowasstatement) option. + ### `ignoreIIFE` This allows you to skip checking of async iife diff --git a/packages/eslint-plugin/src/rules/no-floating-promises.ts b/packages/eslint-plugin/src/rules/no-floating-promises.ts index 2a0c86e5011..deb4ee5c00f 100644 --- a/packages/eslint-plugin/src/rules/no-floating-promises.ts +++ b/packages/eslint-plugin/src/rules/no-floating-promises.ts @@ -48,7 +48,7 @@ export default util.createRule({ }, defaultOptions: [ { - ignoreVoid: false, + ignoreVoid: true, ignoreIIFE: false, }, ], diff --git a/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts b/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts index e5c0ea5210f..e7dfe710f15 100644 --- a/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts +++ b/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts @@ -398,19 +398,19 @@ async function test() { errors: [ { line: 3, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 4, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 5, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 6, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -450,19 +450,19 @@ async function test() { errors: [ { line: 3, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 4, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 5, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 6, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -478,19 +478,19 @@ async function test() { errors: [ { line: 3, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 4, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 5, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 6, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -508,19 +508,19 @@ async function test() { errors: [ { line: 5, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 6, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 7, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 8, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -534,11 +534,11 @@ async function test() { errors: [ { line: 3, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 4, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -553,15 +553,15 @@ async function test() { errors: [ { line: 3, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 4, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 5, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -571,6 +571,7 @@ async function test() { void Promise.resolve(); } `, + options: [{ ignoreVoid: false }], errors: [ { line: 3, @@ -588,7 +589,7 @@ async function test() { errors: [ { line: 4, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -601,7 +602,7 @@ async function test() { errors: [ { line: 3, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -619,19 +620,19 @@ async function test() { errors: [ { line: 5, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 6, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 7, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 8, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -646,7 +647,7 @@ async function test() { errors: [ { line: 5, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -664,19 +665,19 @@ async function test() { errors: [ { line: 5, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 6, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 7, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 8, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -695,19 +696,19 @@ async function test() { errors: [ { line: 6, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 7, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 8, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 9, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -728,11 +729,11 @@ async function test() { errors: [ { line: 10, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 11, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -762,15 +763,15 @@ async function test() { errors: [ { line: 18, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 19, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 20, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -783,7 +784,7 @@ async function test() { errors: [ { line: 2, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -796,7 +797,7 @@ async function test() { errors: [ { line: 2, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -805,7 +806,7 @@ async function test() { errors: [ { line: 1, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -818,7 +819,7 @@ async function test() { errors: [ { line: 3, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -834,7 +835,7 @@ async function test() { errors: [ { line: 4, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -847,7 +848,7 @@ async function test() { errors: [ { line: 2, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -861,7 +862,7 @@ async function test() { errors: [ { line: 3, - messageId: 'floating', + messageId: 'floatingVoid', }, ], }, @@ -879,19 +880,19 @@ async function test() { errors: [ { line: 4, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 5, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 6, - messageId: 'floating', + messageId: 'floatingVoid', }, { line: 7, - messageId: 'floating', + messageId: 'floatingVoid', }, ], },