Skip to content
PluginStats

eslint-plugin-no-floating-promise weekly downloads statistics

By SebastienGllmt · npm · ESLint plugins

Detects missing await on async function calls

View on npm Fresh · Oct 17, 2026

eslint-plugin-no-floating-promise has 17,117 recorded weekly downloads on npm, a decrease of 64.4% over the past 30 days.

It ranks #792 of 2,256 tracked npm listings by weekly downloads.

Over 90 days, weekly downloads changed by -70.4%.

PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.

Weekly downloads
17,117
Official API · Oct 17, 2026
7-day growth
-57.8%
-23.5K weekly downloads
30-day growth
-64.4%
-30.9K weekly downloads
90-day growth
-70.4%
-40.7K weekly downloads
Rank
#792
Among tracked npm listings

About eslint-plugin-no-floating-promise

eslint-plugin-no-floating-promise

Detects missing await on async function calls

STOP: Are you a Flow or a Typescript user? Prefer these: • Flow: link • Typescript: link

Installation

You'll first need to install ESLint:

Next, install eslint-plugin-no-floating-promise:

Note: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-no-floating-promise globally.

Usage

Add no-floating-promise to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

Then configure the rules you want to use under the rules section.

If you're using flat config (eslint.config.js), which is default configuration format for eslint since v.9.0.0:

Rule definition

_The --fix option on the command line automatically fixes problems reported by this rule._

Promises that are never awaited can cause unexpected behavior because they may be scheduled to execute at an unexpected time.

It's easy to accidentally make this mistake. For example, suppose we have the code

but the code gets refactored so that writing to the database is asynchronous.

Rule Details

This rule will fire for any call to an async function that both

• not used (not assigned to a variable, not the return type of a function, etc.) • not awaited on

Examples of incorrect code for this rule:

Examples of correct code for this rule:

You may catch additional errors by combining this rule with no-unused-expression.

For example the following will not be considered an error by this plugin, but no-unused-expression will complain that fooResult is never used.

When Not To Use It

If you often make use of asynchronous functions were you explicitly do not want to await on them.

Notable design decisions

Promises returned by non-async functions

It's possible for a function to return a promise and not be async (as seen in test cases for this rule). My rule can leverage type annotations to detect these cases but if no type annotation is present, then no error is reported. We could modify this rule to traverse into the AST to see if the return is a promise or not but this sounds more expensive and would still not catch all cases so I didn't include this logic.

Additionally, TypeAnnotations are only generated for explicit Flow types so this rule can't take advantage of Flow inference. You could argue this rule would be more effective if implemented directly in Flow but this rule can still catch cases for vanilla Javascript so it didn't feel right to make Flow a dependency for this kind of linting.

Scope of the rule

Currently using then or catch silences this rule

You could argue this is desired since it avoids false-positive where developers explicitly do not want to await. I'm open to feedback about whether or not people want this behavior.

Missing await in non-async context

Right now my rule reports an error in the following case

However, adding an await here is not possible because bar is not an async function. In fact, my auto-fix rule would add an await in front of foo which would result in a compiler error.

However, likely this actually is an error and the user actually should make bar an async function. However, I am open to disabling this rule in this context if that's what people want.

Limitations

1) It cannot make use of Flow inference (you need to explicitly specify types) 2) It does not work across file boundaries (if import a function from a different file, you don't have any information) 3) It doesn't work on member function calls (foo.bar() will not detect an error even if bar is an async function)

Description from the npm listing.

  • eslint
  • eslintplugin
  • eslint-plugin
  • Flow
  • async

Where eslint-plugin-no-floating-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.

All npm2,256 listings · 113 pages · page 40, #12 (overall #792)
All npm: every listing in weekly downloads order
PNG SVG
ESLint plugins253 listings · 13 pages · page 10, #17 (overall #197)
ESLint plugins: every listing in weekly downloads order
PNG SVG

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

eslint-plugin-no-floating-promise weekly downloads on npm, last 90 days: 17,117 weekly downloads as of Oct 17, 2026, -70.4% over 90 days.eslint-plugin-no-floating-promiseWeekly downloads on npm · Last 90 days17,117downloads / week-70.4% over 90 days020K40K60K80KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 21, 2026 – Oct 17, 2026 · 89 observations · Updated Oc…pluginstats.com
eslint-plugin-no-floating-promise weekly downloads on npm, last 90 days: 17,117 weekly downloads as of Oct 17, 2026, -70.4% over 90 days.
PNG SVG

7/30/90-day growth

eslint-plugin-no-floating-promise weekly downloads growth on npm: -57.8% over 7 days, -64.4% over 30 days, -70.4% over 90 days.eslint-plugin-no-floating-promiseWeekly downloads growth on npm17,117downloads / week now7-day growth-23,466 weekly downloads-57.8%30-day growth-30,931 weekly downloads-64.4%90-day growth-40,722 weekly downloads-70.4%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
eslint-plugin-no-floating-promise weekly downloads growth on npm: -57.8% over 7 days, -64.4% over 30 days, -70.4% over 90 days.
PNG SVG

Ranking history

eslint-plugin-no-floating-promise npm ranking history: currently #792 (by weekly downloads).eslint-plugin-no-floating-promisenpm ranking · by weekly downloads · Last 90 days#792current rank#790#791#792#793#794Jul 21Aug 5Aug 20Sep 4Sep 19Oct 4Oct 19rankOct 18, 2026 – Oct 19, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
eslint-plugin-no-floating-promise npm ranking history: currently #792 (by weekly downloads).
PNG SVG

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 (121)
Recent weekly downloads observations for eslint-plugin-no-floating-promise
Date (UTC)Weekly downloadsChange vs. previous
17,117-2.3K
19,394+15
19,379-10K
29,338-10.3K
39,6720
39,672-1.2K
40,891+308
40,583+208
40,375+839
39,536-5K
44,515-1.4K
45,888-10.3K
56,210-798
57,008—

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-no-floating-promise. First seen Oct 16, 2026; last successful collection Oct 19, 2026. See the methodology.