Skip to content
PluginStats

eslint-plugin-svelte weekly downloads statistics

By sveltejs (3 listings) · npm · ESLint plugins

ESLint plugin for Svelte using AST

View on npm Fresh · Oct 17, 2026

eslint-plugin-svelte has 871,492 recorded weekly downloads on npm, a decrease of 33.9% over the past 30 days.

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

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

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

Weekly downloads
871,492
Official API · Oct 17, 2026
7-day growth
-48.1%
-808.5K weekly downloads
30-day growth
-33.9%
-447K weekly downloads
90-day growth
-36.9%
-510K weekly downloads
Rank
#198
Among tracked npm listings

About eslint-plugin-svelte

eslint-plugin-svelte

ESLint plugin for Svelte using AST

Live Demo • Documentation • Discord

Introduction

eslint-plugin-svelte is the official ESLint plugin for Svelte.\ It leverages the AST generated by svelte-eslint-parser to provide custom linting for Svelte.\

[!NOTE]

eslint-plugin-svelte and svelte-eslint-parser cannot be used alongside eslint-plugin-svelte3.

Installation

CLI

The recommended way to get started is to use the CLI.

See the CLI docs for more details.

Manual Setup

[!NOTE]

Requirements:

- ESLint v8.57.1, v9.0.0, and above - Node.js v18.18.0, v20.9.0, v21.1.0 and above

Usage

Use eslint.config.js to configure rules. See ESLint documentation for more details.

Configuration

JavaScript project

TypeScript project

[!WARNING] The TypeScript parser uses a singleton internally, meaning it only respects the options provided during its initial initialization. If you try to change the options for a different file or override them later, the parser will ignore the new options, which may lead to errors. For more context, see typescript-eslint/typescript-eslint#6778.

Svelte config inside vite.config.js

The Svelte config can also be passed to the sveltekit() or svelte() plugin in vite.config.js; SvelteKit 3 projects do this by default. Use @sveltejs/load-config to load it:

Available Configurations

This plugin provides the following configurations:

• svelte.configs.base - Required for Svelte parsing. Does not include any rules. Ideal for building a custom configurations. • svelte.configs.recommended - Extends base and includes rules for best practices. • svelte.configs.prettier - Extends base and disables rules that may conflict with Prettier. Prettier still needs to be configured to work with Svelte, for example, by using prettier-plugin-svelte. • svelte.configs.all - Not Recommended - Extends base and includes all rules. Subject to change with every major and minor release. Use at your own risk.

For more details, see the rule list to explore the rules provided by this plugin.

settings.svelte

You can customize the behavior of this plugin using specific settings.

SvelteKit versions are detected from the installed @sveltejs/kit package, falling back to its dependency range in package.json. The plugin recognizes SvelteKit 1, 2, and 3, including SvelteKit 3 prereleases. Version-specific rules run only for the versions they support.

For SvelteKit 3 projects using a custom routes directory, set settings.svelte.kit.files.routes to match the files.routes option passed to the sveltekit Vite plugin. SvelteKit 3 no longer uses svelte.config.js; see the official migration guide.

Editor Integrations

Visual Studio Code\ Install dbaeumer.vscode-eslint.\ Configure .svelte files in .vscode/settings.json:

Migration Guide

If you’re migrating from eslint-plugin-svelte@1 or @ota-meshi/eslint-plugin-svelte, see the migration guide.

Versioning Policy

This project follows Semantic Versioning. Unlike ESLint’s versioning policy, new rules may be added to the recommended config in minor releases. If these rules cause unwanted warnings, you can disable them.

Rules

:wrench: Indicates that the rule is fixable, and using --fix option on the command line can automatically fix some of the reported problems.\ :bulb: Indicates that some problems reported by the rule are manually fixable by editor suggestions.\ :star: Indicates that the rule is included in the plugin:svelte/recommended config.

Possible Errors

These rules relate to possible syntax or logic errors in Svelte code:

| Rule ID | Description | |

| svelte/infinite-reactive-loop | Svelte runtime prevents calling the same reactive statement twice in a microtask. But between different microtask, it doesn't prevent. | :star: | | svelte/no-bind-value-on-checkable-inputs | disallow useless bind:value on and | :bulb: | | svelte/no-conflicting-module-names | disallow a .svelte component and a same-named runes module (e.g. Foo.svelte and Foo.svelte.ts) from coexisting | | | svelte/no-dom-manipulating | disallow DOM manipulating | :star: | | svelte/no-dupe-else-if-blocks | disallow duplicate conditions in {#if} / {:else if} chains | :star: | | svelte/no-dupe-on-directives | disallow duplicate on: directives | :star: | | svelte/no-dupe-style-properties | disallow duplicate style properties | :star: | | svelte/no-dupe-use-directives | disallow duplicate use: directives | :star: | | svelte/no-nested-style-tag | disallow elements nested inside other elements or blocks | | | svelte/no-not-function-handler | disallow use of not function in event handler | :star: | | svelte/no-object-in-text-mustaches | disallow objects in text mustache interpolation | :star: | | svelte/no-raw-special-elements | Checks for invalid raw HTML elements | :star::wrench: | | svelte/no-reactive-reassign | disallow reassigning reactive values | :star: | | svelte/no-shorthand-style-property-overrides | disallow shorthand style properties that override related longhand properties | :star: | | svelte/no-store-async | disallow using async/await inside svelte stores because it causes issues with the auto-unsubscribing features | :star: | | svelte/no-top-level-browser-globals | disallow using top-level browser global variables | | | svelte/no-unknown-style-directive-property | disallow unknown style:property | :star: | | svelte/prefer-svelte-reactivity | disallow using mutable instances of built-in classes where a reactive alternative is provided by svelte/reactivity | :star: | | svelte/require-store-callbacks-use-set-param | store callbacks must use set param | :bulb: | | svelte/require-store-reactive-access | disallow to use of the store itself as an operand. Need to use $ prefix or get function. | :star::wrench: | | svelte/valid-compile | disallow warnings when compiling. | | | svelte/valid-style-parse | require valid style element parsing | |

Security Vulnerability

These rules relate to security vulnerabilities in Svelte code:

| Rule ID | Description | |…

Description from the npm listing.

  • eslint
  • eslint-plugin
  • eslintplugin
  • svelte
  • sveltejs

Where eslint-plugin-svelte 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 10, #18 (overall #198)
All npm: every listing in weekly downloads order
PNG SVG
ESLint plugins252 listings · 13 pages · page 2, #19 (overall #39)
ESLint plugins: every listing in weekly downloads order
PNG SVG

Charts

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

Adoption over time

eslint-plugin-svelte weekly downloads on npm, last 90 days: 871,492 weekly downloads as of Oct 17, 2026, -36.9% over 90 days.eslint-plugin-svelteWeekly downloads on npm · Last 90 days871,492downloads / week-36.9% over 90 days800K1M1.2M1.4M1.6M1.8M2MJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 20, 2026 – Oct 17, 2026 · 90 observations · Updated Oc…pluginstats.com
eslint-plugin-svelte weekly downloads on npm, last 90 days: 871,492 weekly downloads as of Oct 17, 2026, -36.9% over 90 days.
PNG SVG

7/30/90-day growth

eslint-plugin-svelte weekly downloads growth on npm: -48.1% over 7 days, -33.9% over 30 days, -36.9% over 90 days.eslint-plugin-svelteWeekly downloads growth on npm871,492downloads / week now7-day growth-808,536 weekly downloads-48.1%30-day growth-446,964 weekly downloads-33.9%90-day growth-510,007 weekly downloads-36.9%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
eslint-plugin-svelte weekly downloads growth on npm: -48.1% over 7 days, -33.9% over 30 days, -36.9% over 90 days.
PNG SVG

Ranking history

eslint-plugin-svelte npm ranking history: currently #198 (by weekly downloads).eslint-plugin-sveltenpm ranking · by weekly downloads · Last 90 days#198current rank#60#80#100#120#140#160#180#200Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 17, 2026 – Oct 18, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
eslint-plugin-svelte npm ranking history: currently #198 (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-plugin-svelte
Date (UTC)Weekly downloadsChange vs. previous
871,492-209.3K
1,080,752+28.1K
1,052,629-322.7K
1,375,352-341.3K
1,716,6930
1,716,693+1.5K
1,715,208+35.2K
1,680,028+22.2K
1,657,821+15.5K
1,642,356-5.5K
1,647,825+21.2K
1,626,651-304.8K
1,931,459+13.6K
1,917,886—

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