eslint-plugin-promise weekly downloads statistics
By eslint-community (4 listings) · npm · ESLint plugins
Enforce best practices for JavaScript promises
eslint-plugin-promise has 2,749,699 recorded weekly downloads on npm, a decrease of 53.6% over the past 30 days.
It ranks #145 of 2,251 tracked npm listings by weekly downloads.
Over 90 days, weekly downloads changed by -59.4%.
PluginStats has 543 daily observations since Apr 23, 2025; the latest is from Oct 17, 2026.
About eslint-plugin-promise
eslint-plugin-promise
Enforce best practices for JavaScript promises.
• Installation • Usage • Rules • Maintainers • License
Installation
You'll first need to install ESLint:
Next, install eslint-plugin-promise:
Note: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-promise globally.
Usage
Add promise to the plugins section of your .eslintrc.json configuration file. You can omit the eslint-plugin- prefix:
Then configure the rules you want to use under the rules section.
or start with the recommended rule set:
• eslint.config.js: • .eslintrc.*:
Rules
💼 Configurations enabled in.\ ⚠️ Configurations set to warn in.\ 🚫 Configurations disabled in.\ ✅ Set in the flat/recommended configuration.\ ✅ Set in the recommended configuration.\ 🔧 Automatically fixable by the --fix CLI option.
| Name | Description | 💼 | ⚠️ | 🚫 | 🔧 |
| always-return | Require returning inside each then() to create readable and reusable Promise chains. | ✅ | | | | | avoid-new | Disallow creating new promises outside of utility libs (use [util.promisify][] instead). | | | ✅ | | | catch-or-return | Enforce the use of catch() on un-returned promises. | ✅ | | | | | no-callback-in-promise | Disallow calling cb() inside of a then() (use [util.callbackify][] instead). | | ✅ | | | | no-multiple-resolved | Disallow creating new promises with paths that resolve multiple times. | | | | | | no-native | Require creating a Promise constructor before using it in an ES5 environment. | | | ✅ | | | no-nesting | Disallow nested then() or catch() statements. | | ✅ | | | | no-new-statics | Disallow calling new on a Promise static method. | ✅ | | | 🔧 | | no-promise-in-callback | Disallow using promises inside of callbacks. | | ✅ | | | | no-return-in-finally | Disallow return statements in finally(). | | ✅ | | | | no-return-wrap | Disallow wrapping values in Promise.resolve or Promise.reject when not needed. | ✅ | | | | | param-names | Enforce consistent param names and ordering when creating new promises. | ✅ | | | | | prefer-await-to-callbacks | Prefer async/await to the callback pattern. | | | | | | prefer-await-to-then | Prefer await to then()/catch()/finally() for reading Promise values. | | | | | | prefer-catch | Prefer catch to then(a, b)/then(null, b) for handling errors. | | | | 🔧 | | spec-only | Disallow use of non-standard Promise static methods. | | | | | | valid-params | Enforces the proper number of arguments are passed to Promise functions. | | ✅ | | |
Maintainers
• Jamund Ferguson - [@xjamundx][] • Macklin Underdown - [@macklinu][] • Aadit M Shah - [@aaditmshah][]
License
• (c) MMXV jden - ISC license. • (c) 2016 Jamund Ferguson - ISC license.
[util.callbackify]: https://nodejs.org/docs/latest/api/util.html#utilcallbackifyoriginal
Description from the npm listing.
- eslint
- eslintplugin
- eslint-plugin
- promise
- promises
Where eslint-plugin-promise sits in the listing
Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Recent observations
Full history (543)Similar npm ESLint plugins plugins
Data source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/eslint-plugin-promise. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.