Skip to content
PluginStats

eslint-unicorn weekly downloads statistics

By sindresorhus (6 listings) · npm · ESLint plugins

More than 100 powerful ESLint rules

View on npm Fresh · Oct 17, 2026

eslint-unicorn has 28,681 recorded weekly downloads on npm, a decrease of 47.6% over the past 30 days.

It ranks #670 of 2,251 tracked npm listings by weekly downloads.

Over 90 days, weekly downloads changed by +39.2%.

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

Weekly downloads
28,681
Official API · Oct 17, 2026
7-day growth
-27.3%
-10.8K weekly downloads
30-day growth
-47.6%
-26K weekly downloads
90-day growth
+39.2%
+8.1K weekly downloads
Rank
#670
Among tracked npm listings

About eslint-unicorn

eslint-plugin-unicorn

More than 100 powerful ESLint rules

You might want to check out XO, which includes this plugin.

Propose or contribute a new rule ➡

Install

Usage (eslint.config.js)

Requires ESLint >=8.56.0.

Use a preset config or configure each rule in eslint.config.js.

If you don't use the preset, ensure you use the same languageOptions config as below.

ES Module (Recommended)

CommonJS

Usage (legacy: .eslintrc.* or package.json)

Use a preset config or configure each rule in package.json.

If you don't use the preset, ensure you use the same env and parserOptions config as below.

Rules

💼 Configurations enabled in.\ ✅ Set in the recommended configuration.\ 🔧 Automatically fixable by the --fix CLI option.\ 💡 Manually fixable by editor suggestions.

| Name | Description | 💼 | 🔧 | 💡 |

| better-regex | Improve regexes by making them shorter, consistent, and safer. | ✅ | 🔧 | | | catch-error-name | Enforce a specific parameter name in catch clauses. | ✅ | 🔧 | | | consistent-destructuring | Use destructured variables over properties. | | 🔧 | 💡 | | consistent-empty-array-spread | Prefer consistent types when spreading a ternary in an array literal. | ✅ | 🔧 | | | consistent-function-scoping | Move function definitions to the highest possible scope. | ✅ | | | | custom-error-definition | Enforce correct Error subclassing. | | 🔧 | | | empty-brace-spaces | Enforce no spaces between braces. | ✅ | 🔧 | | | error-message | Enforce passing a message value when creating a built-in error. | ✅ | | | | escape-case | Require escape sequences to use uppercase values. | ✅ | 🔧 | | | expiring-todo-comments | Add expiration conditions to TODO comments. | ✅ | | | | explicit-length-check | Enforce explicitly comparing the length or size property of a value. | ✅ | 🔧 | 💡 | | filename-case | Enforce a case style for filenames. | ✅ | | | | import-style | Enforce specific import styles per module. | ✅ | | | | new-for-builtins | Enforce the use of new for all builtins, except String, Number, Boolean, Symbol and BigInt. | ✅ | 🔧 | | | no-abusive-eslint-disable | Enforce specifying rules to disable in eslint-disable comments. | ✅ | | | | no-anonymous-default-export | Disallow anonymous functions and classes as the default export. | ✅ | | 💡 | | no-array-callback-reference | Prevent passing a function reference directly to iterator methods. | ✅ | | 💡 | | no-array-for-each | Prefer for…of over the forEach method. | ✅ | 🔧 | 💡 | | no-array-method-this-argument | Disallow using the this argument in array methods. | ✅ | 🔧 | 💡 | | no-array-push-push | Enforce combining multiple Array#push() into one call. | ✅ | 🔧 | 💡 | | no-array-reduce | Disallow Array#reduce() and Array#reduceRight(). | ✅ | | | | no-await-expression-member | Disallow member access from await expression. | ✅ | 🔧 | | | no-await-in-promise-methods | Disallow using await in Promise method parameters. | ✅ | | 💡 | | no-console-spaces | Do not use leading/trailing space between console.log parameters. | ✅ | 🔧 | | | no-document-cookie | Do not use document.cookie directly. | ✅ | | | | no-empty-file | Disallow empty files. | ✅ | | | | no-for-loop | Do not use a for loop that can be replaced with a for-of loop. | ✅ | 🔧 | 💡 | | no-hex-escape | Enforce the use of Unicode escapes instead of hexadecimal escapes. | ✅ | 🔧 | | | no-instanceof-array | Require Array.isArray() instead of instanceof Array. | ✅ | 🔧 | | | no-invalid-fetch-options | Disallow invalid options in fetch() and new Request(). | ✅ | | | | no-invalid-remove-event-listener | Prevent calling EventTarget#removeEventListener() with the result of an expression. | ✅ | | | | no-keyword-prefix | Disallow identifiers starting with new or class. | | | | | no-length-as-slice-end | Disallow using .length as the end argument of {Array,String,TypedArray}#slice(). | ✅ | 🔧 | | | no-lonely-if | Disallow if statements as the only statement in if blocks without else. | ✅ | 🔧 | | | no-magic-array-flat-depth | Disallow a magic number as the depth argument in Array#flat(…). | ✅ | | | | no-negated-condition | Disallow negated conditions. | ✅ | 🔧 | | | no-negation-in-equality-check | Disallow negated expression in equality check. | ✅ | | 💡 | | no-nested-ternary | Disallow nested ternary expressions. | ✅ | 🔧 | | | no-new-array | Disallow new Array(). | ✅ | 🔧 | 💡 | | no-new-buffer | Enforce the use of Buffer.from() and Buffer.alloc() instead of the deprecated new Buffer(). | ✅ | 🔧 | 💡 | | no-null | Disallow the use of the null literal. | ✅ | 🔧 | 💡 | | no-object-as-default-parameter | Disallow the use of objects as default parameters. | ✅ | | | | no-process-exit | Disallow process.exit(). | ✅ | | | | no-single-promise-in-promise-methods | Disallow passing single-element arrays to Promise methods. | ✅ | 🔧 | 💡 | | no-static-only-class | Disallow classes that only have static members. | ✅ | 🔧 | | | no-thenable | Disallow then property. | ✅ | | | | no-this-assignment | Disallow assigning this to a variable. | ✅ | | | | no-typeof-undefined | Disallow comparing undefined using typeof. | ✅ | 🔧 | 💡 | | no-unnecessary-await | Disallow awaiting non-promise values. | ✅ | 🔧 | | | no-unnecessary-polyfills | Enforce the use of built-in methods instead of unnecessary polyfills. | ✅ | | | | no-unreadable-array-destructuring | Disallow unreadable array destructuring. | ✅ | 🔧 | | | no-unreadable-iife | Disallow unreadable IIFEs. | ✅ | | | | no-unused-properties | Disallow unused object properties. | | | | | no-useless-fallback-in-spread | Disallow useless fallback when spreading in object literals. | ✅ | 🔧 | | | no-useless-length-check | Disallow useless array length check. | ✅ | 🔧 | | | no-useless-promise-resolve-reject | Disallow returning/yielding Promise.resolve/reject() in async functions or promise callbacks | ✅ | 🔧 | | | no-useless-spread | Disallow unnecessary spread. | ✅ | 🔧 | | | no-useless-switch-case | Disallow useless case in switch statements. | ✅ | | 💡 | |…

Description from the npm listing.

  • eslint
  • eslintplugin
  • eslint-plugin
  • unicorn
  • linter
  • lint
  • style
  • xo

Where eslint-unicorn 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 34, #10 (overall #670)
All npm: every listing in weekly downloads order
PNG SVG
ESLint plugins252 listings · 13 pages · page 8, #19 (overall #159)
ESLint plugins: every listing in weekly downloads order
PNG SVG

Charts

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

Adoption over time

eslint-unicorn weekly downloads on npm, last 90 days: 28,681 weekly downloads as of Oct 17, 2026, +39.2% over 90 days.eslint-unicornWeekly downloads on npm · Last 90 days28,681downloads / week+39.2% over 90 days020K40K60K80KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 20, 2026 – Oct 17, 2026 · 90 observations · Updated Oc…pluginstats.com
eslint-unicorn weekly downloads on npm, last 90 days: 28,681 weekly downloads as of Oct 17, 2026, +39.2% over 90 days.
PNG SVG

7/30/90-day growth

eslint-unicorn weekly downloads growth on npm: -27.3% over 7 days, -47.6% over 30 days, +39.2% over 90 days.eslint-unicornWeekly downloads growth on npm28,681downloads / week now7-day growth-10,792 weekly downloads-27.3%30-day growth-26,036 weekly downloads-47.6%90-day growth+8,081 weekly downloads+39.2%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
eslint-unicorn weekly downloads growth on npm: -27.3% over 7 days, -47.6% over 30 days, +39.2% over 90 days.
PNG SVG

Ranking history

eslint-unicorn npm ranking history: currently #670 (by weekly downloads).eslint-unicornnpm ranking · by weekly downloads · Last 90 days#670current rank#668#669#670#671#672Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 18, 2026 – Oct 18, 2026 · 1 observations · Updated Oct 17, 2026pluginstats.com
eslint-unicorn npm ranking history: currently #670 (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-unicorn
Date (UTC)Weekly downloadsChange vs. previous
28,681-2.1K
30,793-2.2K
33,007-6K
39,044-16.4K
55,4360
55,436+13.4K
42,082+2.6K
39,473+1.7K
37,728+2K
35,692-689
36,381+10.8K
25,607-6.8K
32,363-492
32,855—

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