eslint-plugin-promise icon indicating copy to clipboard operation
eslint-plugin-promise copied to clipboard

`promise/always-return` should not be reported when process exits

Open nandi95 opened this issue 1 year ago • 1 comments
trafficstars

Description

If I do process.exit(0); in a .then callback no return value should be expected from the callback as after the exit the rest of the code is unreachable.

Steps to Reproduce

 void fetch(
     'my-url',
     {
         method: 'POST',
         headers: {
             // eslint-disable-next-line @typescript-eslint/naming-convention
             'Content-Type': 'application/json'
         },
         body: JSON.stringify({...})
     }
     // eslint-disable-next-line promise/always-return (this should not be needed)
 ).then(() => {
     task.stop();
     process.exit(0);
});

Expected behavior: not to report issue when process exists

Actual behavior: issue reported

Versions

[Please fill this in if you are submitting a bug report]

  • Node version: 21.6.1
  • ESLint version: ^8.23.1
  • eslint-plugin-promise version: ^6.0.0

nandi95 avatar Feb 08 '24 23:02 nandi95

I think you should use eslint-plugin-n with process-exit-as-throw. If you do then something probably is wrong 🤔

But, I am not sure that this should be in the promise plugin.

scagood avatar May 07 '24 13:05 scagood

I think it is reasonable to have an exception like this specific to Promise rules.

brettz9 avatar Jul 20 '24 10:07 brettz9

:tada: This issue has been resolved in version 6.6.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

github-actions[bot] avatar Jul 21 '24 23:07 github-actions[bot]