Skip to content
PluginStats

eslint-plugin-import weekly downloads statistics

By import-js · npm · ESLint plugins

Import with sanity.

View on npm Fresh · Oct 17, 2026

eslint-plugin-import has 30,074,157 recorded weekly downloads on npm, a decrease of 45.2% over the past 30 days.

It ranks #15 of 2,255 tracked npm listings by weekly downloads.

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

PluginStats has 543 daily observations since Apr 23, 2025; the latest is from Oct 17, 2026.

Weekly downloads
30,074,157
Official API · Oct 17, 2026
7-day growth
-52.3%
-33M weekly downloads
30-day growth
-45.2%
-24.8M weekly downloads
90-day growth
-46.0%
-25.7M weekly downloads
Rank
#15
Among tracked npm listings

About eslint-plugin-import

eslint-plugin-import

[![github actions][actions-image]][actions-url]

[![coverage][codecov-image]][codecov-url]

This plugin intends to support linting of ES2015+ (ES6+) import/export syntax, and prevent issues with misspelling of file paths and import names. All the goodness that the ES2015+ static module syntax intends to provide, marked up in your editor.

IF YOU ARE USING THIS WITH SUBLIME: see the bottom section for important info.

Rules

💼 Configurations enabled in.\ ⚠️ Configurations set to warn in.\ 🚫 Configurations disabled in.\ ❗ Set in the errors configuration.\ ☑️ Set in the recommended configuration.\ ⌨️ Set in the typescript configuration.\ 🚸 Set in the warnings configuration.\ 🔧 Automatically fixable by the --fix CLI option.\ 💡 Manually fixable by editor suggestions.\ ❌ Deprecated.

Helpful warnings

| Name | Description | 💼 | ⚠️ | 🚫 | 🔧 | 💡 | ❌ |

| export | Forbid any invalid exports, i.e. re-export of the same name. | ❗ ☑️ | | | | | | | no-deprecated | Forbid imported names marked with @deprecated documentation tag. | | | | | | | | no-empty-named-blocks | Forbid empty named import blocks. | | | | 🔧 | 💡 | | | no-extraneous-dependencies | Forbid the use of extraneous packages. | | | | | | | | no-mutable-exports | Forbid the use of mutable exports with var or let. | | | | | | | | no-named-as-default | Forbid use of exported name as identifier of default export. | | ☑️ 🚸 | | | | | | no-named-as-default-member | Forbid use of exported name as property of default export. | | ☑️ 🚸 | | | | | | no-unused-modules | Forbid modules without exports, or exports without matching import in another module. | | | | | | |

Module systems

| Name | Description | 💼 | ⚠️ | 🚫 | 🔧 | 💡 | ❌ |

| no-amd | Forbid AMD require and define calls. | | | | | | | | no-commonjs | Forbid CommonJS require calls and module.exports or exports.*. | | | | | | | | no-import-module-exports | Forbid import statements with CommonJS module.exports. | | | | 🔧 | | | | no-nodejs-modules | Forbid Node.js builtin modules. | | | | | | | | unambiguous | Forbid potentially ambiguous parse goal (script vs. module). | | | | | | |

Static analysis

| Name | Description | 💼 | ⚠️ | 🚫 | 🔧 | 💡 | ❌ |

| default | Ensure a default export is present, given a default import. | ❗ ☑️ | | | | | | | enforce-node-protocol-usage | Enforce either using, or omitting, the node: protocol when importing Node.js builtin modules. | | | | 🔧 | | | | named | Ensure named imports correspond to a named export in the remote file. | ❗ ☑️ | | ⌨️ | | | | | namespace | Ensure imported namespaces contain dereferenced properties as they are dereferenced. | ❗ ☑️ | | | | | | | no-absolute-path | Forbid import of modules using absolute paths. | | | | 🔧 | | | | no-cycle | Forbid a module from importing a module with a dependency path back to itself. | | | | | | | | no-dynamic-require | Forbid require() calls with expressions. | | | | | | | | no-internal-modules | Forbid importing the submodules of other modules. | | | | | | | | no-relative-packages | Forbid importing packages through relative paths. | | | | 🔧 | | | | no-relative-parent-imports | Forbid importing modules from parent directories. | | | | | | | | no-restricted-paths | Enforce which files can be imported in a given folder. | | | | | | | | no-self-import | Forbid a module from importing itself. | | | | | | | | no-unresolved | Ensure imports point to a file/module that can be resolved. | ❗ ☑️ | | | | | | | no-useless-path-segments | Forbid unnecessary path segments in import and require statements. | | | | 🔧 | | | | no-webpack-loader-syntax | Forbid webpack loader syntax in imports. | | | | | | |

Style guide

| Name | Description | 💼 | ⚠️ | 🚫 | 🔧 | 💡 | ❌ |

| consistent-type-specifier-style | Enforce or ban the use of inline type-only markers for named imports. | | | | 🔧 | | | | dynamic-import-chunkname | Enforce a leading comment with the webpackChunkName for dynamic imports. | | | | | 💡 | | | exports-last | Ensure all exports appear after other statements. | | | | | | | | extensions | Ensure consistent use of file extension within the import path. | | | | | | | | first | Ensure all imports appear before other statements. | | | | 🔧 | | | | group-exports | Prefer named exports to be grouped together in a single export declaration | | | | | | | | imports-first | Replaced by import/first. | | | | 🔧 | | ❌ | | max-dependencies | Enforce the maximum number of dependencies a module can have. | | | | | | | | newline-after-import | Enforce a newline after import statements. | | | | 🔧 | | | | no-anonymous-default-export | Forbid anonymous values as default exports. | | | | | | | | no-default-export | Forbid default exports. | | | | | | | | no-duplicates | Forbid repeated import of the same module in multiple places. | | ☑️ 🚸 | | 🔧 | | | | no-named-default | Forbid named default exports. | | | | | | | | no-named-export | Forbid named exports. | | | | | | | | no-namespace | Forbid namespace (a.k.a. "wildcard" *) imports. | | | | 🔧 | | | | no-unassigned-import | Forbid unassigned imports | | | | | | | | order | Enforce a convention in module import order. | | | | 🔧 | | | | prefer-default-export | Prefer a default export if module exports a single name or multiple names. | | | | | | |

eslint-plugin-import for enterprise

Available as part of the Tidelift Subscription.

The maintainers of eslint-plugin-import and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.

Installation

Config - Legacy (.eslintrc)

All rules are off by default. However, you may extend one of the preset configs, or configure them manually in your .eslintrc.(yml|json|js).

• Extending a preset config: • Configuring manually:

Config - Flat (eslint.config.js)…

Description from the npm listing.

  • eslint
  • eslintplugin
  • eslint-plugin
  • es6
  • jsnext
  • modules
  • import
  • export

Where eslint-plugin-import 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,248 listings · 113 pages · page 1, #15 (overall #15)
All npm: every listing in weekly downloads order
PNG SVG
ESLint plugins252 listings · 13 pages · page 1, #6 (overall #6)
ESLint plugins: every listing in weekly downloads order
PNG SVG

Charts

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

Adoption over time

eslint-plugin-import weekly downloads on npm, last 90 days: 30,074,157 weekly downloads as of Oct 17, 2026, -46.0% over 90 days.eslint-plugin-importWeekly downloads on npm · Last 90 days30,074,157downloads / week-46.0% over 90 days30M40M50M60M70M80MJul 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-import weekly downloads on npm, last 90 days: 30,074,157 weekly downloads as of Oct 17, 2026, -46.0% over 90 days.
PNG SVG

7/30/90-day growth

eslint-plugin-import weekly downloads growth on npm: -52.3% over 7 days, -45.2% over 30 days, -46.0% over 90 days.eslint-plugin-importWeekly downloads growth on npm30,074,157downloads / week now7-day growth-32,956,090 weekly downl…-52.3%30-day growth-24,848,557 weekly downl…-45.2%90-day growth-25,653,574 weekly downl…-46.0%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
eslint-plugin-import weekly downloads growth on npm: -52.3% over 7 days, -45.2% over 30 days, -46.0% over 90 days.
PNG SVG

Ranking history

eslint-plugin-import npm ranking history: currently #15 (by weekly downloads).eslint-plugin-importnpm ranking · by weekly downloads · Last 90 days#15current rank#4#6#8#10#12#14#16#18Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 17, 2026 – Oct 18, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
eslint-plugin-import npm ranking history: currently #15 (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 (543)
Recent weekly downloads observations for eslint-plugin-import
Date (UTC)Weekly downloadsChange vs. previous
30,074,157-6.5M
36,590,795+286.3K
36,304,534-13M
49,345,886-13.2M
62,540,7570
62,540,757-603.1K
63,143,899+113.7K
63,030,247+104.2K
62,926,046+480.6K
62,445,406+53.2K
62,392,217+335.7K
62,056,504-12.6M
74,650,133-206.6K
74,856,755—

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