Skip to content
PluginStats

eslint-plugin-storybook weekly downloads statistics

By storybookjs (2 listings) · npm · ESLint plugins

Storybook ESLint Plugin: Best practice rules for writing stories

View on npm Stale · Oct 18, 2026

eslint-plugin-storybook has 4,487,383 recorded weekly downloads on npm, a decrease of 44.5% over the past 30 days, ranking #135 of 2,391 tracked listings.

Weekly downloads
4,487,383
Official API · Oct 18, 2026
7-day growth
-50.0%
-4.5M weekly downloads
30-day growth
-44.5%
-3.6M weekly downloads
90-day growth
-48.2%
-4.2M weekly downloads
Rank
#135
Among tracked npm listings

About eslint-plugin-storybook

<p align="center"> <a href="https://storybook.js.org/?ref=readme"> <img src="https://user-images.githubusercontent.com/321738/63501763-88dbf600-c4cc-11e9-96cd-94adadc2fd72.png" alt="Storybook" width="400" /> </a> </p> <p align="center">Build bulletproof UI components faster</p> <br/> <p align="center"> <a href="https://discord.gg/storybook"> <img src="https://img.shields.io/badge/discord-join-7289DA.svg?logo=discord&longCache=true&style=flat" /> </a> <a href="https://storybook.js.org/community/?ref=readme"> <img src="https://img.shields.io/badge/community-join-4BC424.svg" alt="Storybook Community" /> </a> <a href="#backers"> <img src="https://opencollective.com/storybook/backers/badge.svg" alt="Backers on Open Collective" /> </a> <a href="#sponsors"> <img src="https://opencollective.com/storybook/sponsors/badge.svg" alt="Sponsors on Open Collective" /> </a> <a href="https://twitter.com/intent/follow?screen_name=storybookjs"> <img src="https://badgen.net/twitter/follow/storybookjs?icon=twitter&label=%40storybookjs" alt="Official Twitter Handle" /> </a> </p>

eslint-plugin-storybook

Best practice rules for Storybook

Installation

You'll first need to install ESLint:

npm install eslint --save-dev
# or
yarn add eslint --dev

Next, install eslint-plugin-storybook:

npm install eslint-plugin-storybook --save-dev
# or
yarn add eslint-plugin-storybook --dev

The plugin bundles the CSF helpers it needs, so you do not need to install storybook just to load the ESLint plugin (for example in a shared monorepo ESLint preset).

And finally, add this to your .eslintignore file:

// Inside your .eslintignore file
!.storybook

This allows for this plugin to also lint your configuration files inside the .storybook folder, so that you always have a correct configuration and don't face any issues regarding mistyped addon names, for instance.

For more info on why this line is required in the .eslintignore file, check this ESLint documentation.

If you are using flat config style, add this to your configuration file:

import { defineConfig, globalIgnores } from 'eslint/config';

export default defineConfig([
  globalIgnores(['!.storybook'], 'Include Storybook Directory'),
  // ...
]);

ESLint compatibility

Use the following table to use the correct version of this package, based on the version of ESLint you're using:

ESLint versionStorybook plugin version
^9.0.0^0.10.0
^8.57.0^0.10.0
^7.0.0~0.9.0

Usage

Configuration (.eslintrc)

Use .eslintrc.* file to configure rules in ESLint < v9. See also: https://eslint.org/docs/latest/use/configure/.

Add plugin:storybook/recommended to the extends section of your .eslintrc configuration file. Note that we can omit the eslint-plugin- prefix:

{
  // extend plugin:storybook/<configuration>, such as:
  "extends": ["plugin:storybook/recommended"]
}

This plugin will only be applied to files following the *.stories.* (we recommend this) or *.story.* pattern. This is an automatic configuration, so you don't have to do anything.

Overriding/disabling rules

Optionally, you can override, add or disable rules settings. You likely don't want these settings to be applied in every file, so make sure that you add a overrides section in your .eslintrc.* file that applies the overrides only to your stories files.

{
  "overrides": [
    {
      // or whatever matches stories specified in .storybook/main.js
      "files": ['**/*.stories.@(ts|tsx|js|jsx|mjs|cjs)'],
      "rules": {
        // example of overriding a rule
        'storybook/hierarchy-separator': 'error',
        // example of disabling a rule
        'storybook/default-exports': 'off',
      }
    }
  ]
}
Configuration (eslint.config.[c|m]?js)

Use eslint.config.[c|m]?js file to configure rules using the flat config style. This is the default in ESLint v9, but can be used starting from ESLint v8.57.0. See also: https://eslint.org/docs/latest/use/configure/configuration-files-new.

import storybook from 'eslint-plugin-storybook';

export default [
  // add more generic rulesets here, such as:
  // js.configs.recommended,
  ...storybook.configs['flat/recommended'],

  // something ...
];

In case you are using utility functions from tools like tseslint, you might need to set the plugin a little differently:

import storybook from 'eslint-plugin-storybook';
import somePlugin from 'some-plugin';
import tseslint from 'typescript-eslint';

export default tseslint.config(
  somePlugin,
  storybook.configs['flat/recommended'] // notice that it is not destructured
);
Overriding/disabling rules

Optionally, you can override, add or disable rules settings. You likely don't want these settings to be applied in every file, so make sure that you add a flat config section in your eslint.config.[m|c]?js file that applies the overrides only to your stories files.

import storybook from 'eslint-plugin-storybook';

export default [
  // ...

  ...storybook.configs['flat/recommended'],
  {
    files: ['**/*.stories.@(ts|tsx|js|jsx|mjs|cjs)'],
    rules: {
      // example of overriding a rule
      'storybook/hierarchy-separator': 'error',
      // example of disabling a rule
      'storybook/default-exports': 'off',
    },
  },

  // something ...
];
Usage with oxlint…

Description from the npm listing.

  • eslint
  • eslintplugin
  • eslint-plugin
  • storybook

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

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

Adoption over time

eslint-plugin-storybook weekly downloads on npm, last 90 days: 4,487,383 weekly downloads as of Oct 18, 2026, -48.2% over 90 days.eslint-plugin-storybookWeekly downloads on npm · Last 90 days4,487,383downloads / week-48.2% over 90 days4M5M6M7M8M9M10M11MJul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 23, 2026 – Oct 18, 2026 · 88 observations · Updated Oc…pluginstats.com
eslint-plugin-storybook weekly downloads on npm, last 90 days: 4,487,383 weekly downloads as of Oct 18, 2026, -48.2% over 90 days.

7/30/90-day growth

eslint-plugin-storybook weekly downloads growth on npm: -50.0% over 7 days, -44.5% over 30 days, -48.2% over 90 days.eslint-plugin-storybookWeekly downloads growth on npm4,487,383downloads / week now7-day growth-4,488,637 weekly downlo…-50.0%30-day growth-3,604,661 weekly downlo…-44.5%90-day growth-4,183,276 weekly downlo…-48.2%Growth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
eslint-plugin-storybook weekly downloads growth on npm: -50.0% over 7 days, -44.5% over 30 days, -48.2% over 90 days.

Ranking history

eslint-plugin-storybook npm ranking history: currently #135 (by weekly downloads).eslint-plugin-storybooknpm ranking · by weekly downloads · Last 90 days#135current rank#40#60#80#100#120#140Jul 23Aug 7Aug 22Sep 6Sep 21Oct 6Oct 21rankOct 17, 2026 – Oct 21, 2026 · 5 observations · Updated Oct 18, 2026pluginstats.com
eslint-plugin-storybook npm ranking history: currently #135 (by weekly downloads).

Listing placement

All npm2,389 listings · 120 pages · 1,195 shown · page 7, #15 (overall #135)
All npm: every listing in weekly downloads order

Listing placement

ESLint plugins258 listings · 13 pages · page 1, #13 (overall #13)
ESLint plugins: every listing in weekly downloads order

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.

Each band is one page of 20. Weekly downloads on a linear 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.

Recent observations

Full history (543)
Recent weekly downloads observations for eslint-plugin-storybook
Date (UTC)Weekly downloadsChange vs. previous
4,487,383+468.3K
4,019,056-530.3K
4,549,360+23K
4,526,363-2.1M
6,592,480-2.2M
8,777,4110
8,777,411-198.6K
8,976,020+48.4K
8,927,595+16.4K
8,911,223+78.3K
8,832,904+34.6K
8,798,313+193.7K
8,604,592-2.1M
10,667,549—

Similar npm ESLint plugins plugins

All 20 eslint-plugin-storybook alternatives

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