Skip to content
PluginStats

@eslint/css weekly downloads statistics

By eslint (6 listings) · npm · ESLint plugins

CSS linting plugin for ESLint

View on npm Fresh · Oct 17, 2026

@eslint/css has 282,994 recorded weekly downloads on npm, a decrease of 45.0% over the past 30 days.

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

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

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

Weekly downloads
282,994
Official API · Oct 17, 2026
7-day growth
-49.8%
-280.2K weekly downloads
30-day growth
-45.0%
-231.7K weekly downloads
90-day growth
-34.4%
-148.6K weekly downloads
Rank
#311
Among tracked npm listings

About @eslint/css

ESLint CSS Language Plugin

Overview

This package contains a plugin that allows you to natively lint CSS files using ESLint.

Important: This plugin requires ESLint v9.15.0 or higher and you must be using the new configuration system.

Prerequisites

In order to use the ESLint CSS plugin, you must have the following installed:

1. Node.js 1. ESLint

Installation

You can install ESLint using npm or other package managers:

Then, for Node.js and compatible runtimes:

For Deno (experimental):

Configurations

| Configuration Name | Description |

| recommended | Enables all recommended rules. |

In your eslint.config.js file, import @eslint/css and include the recommended config:

Rules

| Rule Name | Description | Recommended |

| font-family-fallbacks | Enforce use of fallback fonts and a generic font last | yes | | no-duplicate-imports | Disallow duplicate @import rules | yes | | no-duplicate-keyframe-selectors | Disallow duplicate selectors within keyframe blocks | yes | | no-empty-blocks | Disallow empty blocks | yes | | no-important | Disallow !important flags | yes | | no-invalid-at-rule-placement | Disallow invalid placement of at-rules | yes | | no-invalid-at-rules | Disallow invalid at-rules | yes | | no-invalid-named-grid-areas | Disallow invalid named grid areas | yes | | no-invalid-properties | Disallow invalid properties | yes | | no-unmatchable-selectors | Disallow unmatchable selectors | yes | | prefer-logical-properties | Enforce the use of logical properties | no | | relative-font-units | Enforce the use of relative font units | no | | selector-complexity | Disallow and limit CSS selectors | no | | use-baseline | Enforce the use of baseline features | yes | | use-layers | Require use of layers | no |

Note: This plugin does not provide formatting rules. We recommend using a source code formatter such as Prettier for that purpose.

In order to individually configure a rule in your eslint.config.js file, import @eslint/css and configure each rule with a prefix:

You can individually configure, disable, and enable rules in CSS using comments, such as:

Languages

| Language Name | Description |

| css | Parse CSS stylesheets. |

In order to individually configure a language in your eslint.config.js file, import @eslint/css and configure a language:

Tolerant Mode

By default, the CSS parser runs in strict mode, which reports all parsing errors. If you'd like to allow recoverable parsing errors (those that the browser automatically fixes on its own), you can set the tolerant option to true:

Setting tolerant to true is necessary if you are using custom syntax, such as PostCSS plugins, that aren't part of the standard CSS syntax.

Configuring Custom Syntax

The CSS lexer comes prebuilt with a set of known syntax for CSS that is used in rules like no-invalid-properties to validate CSS code. While this works for most cases, there may be cases when you want to define your own extensions to CSS, and this can be done using the customSyntax language option.

The customSyntax option accepts either an object or a function:

Object-based syntax: An object that uses the CSSTree format for defining custom syntax, which allows you to specify at-rules, properties, and some types. For example, suppose you'd like to define a custom at-rule that looks like this:

You can configure that syntax as follows:

Function-based syntax: A function that receives the default CSS syntax data and returns a custom syntax configuration. This is useful when you want to extend the base syntax rather than replace it. For example:

Configuring Tailwind Syntax

Tailwind specifies some extensions to CSS that will otherwise be flagged as invalid by the rules in this plugin. To properly parse Tailwind-specific syntax, install the tailwind-csstree package:

Then include it in your configuration using languageOptions.customSyntax:

Editor and IDE Setup

Visual Studio Code

First, ensure you have the ESLint plugin installed.

Then, edit eslint.validate in your settings.json file to include css:

JetBrains WebStorm

For any JetBrains WebStorm, configure the ESLint scope to include css, such as:

License

Apache 2.0

Sponsors

The following companies, organizations, and individuals support ESLint's ongoing maintenance and development. Become a Sponsor to get your logo on our READMEs and website.

Gold Sponsors

Silver Sponsors

Bronze Sponsors

Technology Sponsors

Technology sponsors allow us to use their products and services for free as part of a contribution to the open source ecosystem and our work.

Description from the npm listing.

  • eslint
  • eslint-plugin
  • eslintplugin
  • css
  • linting

Where @eslint/css 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 16, #11 (overall #311)
All npm: every listing in weekly downloads order
PNG SVG
ESLint plugins252 listings · 13 pages · page 4, #8 (overall #68)
ESLint plugins: every listing in weekly downloads order
PNG SVG

Charts

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

Adoption over time

@eslint/css weekly downloads on npm, last 90 days: 282,994 weekly downloads as of Oct 17, 2026, -34.4% over 90 days.@eslint/cssWeekly downloads on npm · Last 90 days282,994downloads / week-34.4% over 90 days0100K200K300K400K500K600K700KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 20, 2026 – Oct 17, 2026 · 90 observations · Updated Oc…pluginstats.com
@eslint/css weekly downloads on npm, last 90 days: 282,994 weekly downloads as of Oct 17, 2026, -34.4% over 90 days.
PNG SVG

7/30/90-day growth

@eslint/css weekly downloads growth on npm: -49.8% over 7 days, -45.0% over 30 days, -34.4% over 90 days.@eslint/cssWeekly downloads growth on npm282,994downloads / week now7-day growth-280,205 weekly downloads-49.8%30-day growth-231,666 weekly downloads-45.0%90-day growth-148,618 weekly downloads-34.4%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
@eslint/css weekly downloads growth on npm: -49.8% over 7 days, -45.0% over 30 days, -34.4% over 90 days.
PNG SVG

Ranking history

@eslint/css npm ranking history: currently #311 (by weekly downloads).@eslint/cssnpm ranking · by weekly downloads · Last 90 days#311current rank#100#150#200#250#300#350Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 17, 2026 – Oct 18, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
@eslint/css npm ranking history: currently #311 (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 (542)
Recent weekly downloads observations for @eslint/css
Date (UTC)Weekly downloadsChange vs. previous
282,994-62K
345,030+5.3K
339,778-132.5K
472,269-112K
584,3040
584,304+12.2K
572,101+8.9K
563,199+11.8K
551,442+15.4K
536,026+19K
517,050-520
517,570-107.4K
624,951-7.5K
632,419—

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