diff --git a/rules/promise.js b/rules/promise.js new file mode 100644 index 0000000..7c20d2a --- /dev/null +++ b/rules/promise.js @@ -0,0 +1,16 @@ +module.exports = { + plugins: ['promise'], + extends: ['plugin:promise/recommended'], + + rules: { + // Require returning inside each `then()` to create readable and reusable Promise chains. + // https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/always-return.md + // In use cases that don't assume a return value, such as `React.Suspense`, this rule can be confusing. + 'promise/always-return': ['warn', { ignoreLastCallback: true }], + + // Disallow nested `then()` or `catch()` statements. + // https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/no-nesting.md + // Disallowing nesting may actually increase complexity. + 'promise/no-nesting': ['off'], + }, +};