npm / eslint-plugin-svelte
eslint-plugin-svelte
What changed in eslint-plugin-svelte 2 to 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-07.
10 breaking2 deprecations10 new APIs and options9 behavior and defaults1 tooling8 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initeslint-plugin-svelte 336 changes
Breaking changes 6
Support for old ESLint versions was dropped.
The plugin is now an ESM-only package.
The rule was updated to follow Svelte 5.
The rule was renamed to no-raw-special-elements.
The recommended config enables 20 additional rules, which may introduce breaking lint errors.
The plugin upgraded to svelte-eslint-parser v1.
Deprecations 2
The rule was deprecated.
The rule was deprecated.
New APIs and options 10
Adds the prefer-attribute-interpolation rule for configuring ESLint checks.
Adds the no-conflicting-module-names rule.
A new rule was added.
A new rule was added; it was later renamed to no-raw-special-elements in this release.
A new rule was added.
A new rule was added.
A new rule was added.
Support for the Svelte boundary element was added.
A new rule was added.
The valid-compile rule now supports warningFilter.
Behavior and default changes 9
The all configuration excludes deprecated rules while keeping active rules enabled.
The recommended config enables this rule on SvelteKit 3, reporting internal links and navigation calls that omit resolve().
The rule now provides a suggestion.
Transitions are now allowed by default.
The rule was removed from the recommended rules.
The rule was removed from the recommended config.
Version information is detected from node_modules when it is not specified in package.json, including pnpm catalogs.
The base config now includes this file pattern.
The rule now supports Svelte 5.
Tooling 1
The rule now supports typescript-eslint v8.
Fixes and other changes 8
Fixes false positives for TypeScript components when
ecmaFeatures.globalReturnis enabled.Recognizes
browserfrom SvelteKit's$app/envalias as a browser guard.Diagnostics are limited to the opening each tag instead of covering the whole block.
Rule conditions recognize SvelteKit 3, including prereleases.
Each blocks without an item are now supported.
The rule no longer crashes with ESLint v9.16.0.
The rule ignores css_unused_selector compile errors when a style tag has the global attribute.
The rule now allows children.
eslint-plugin-svelte 24 changes
Breaking changes 4
The package was renamed from @ota-meshi/eslint-plugin-svelte; replace the package name in package.json.
Version 2 is an independent eslint-plugin rather than an alias for eslint-plugin-svelte3; use eslint-plugin-svelte3 for the previous behavior.
The preset namespace changed from plugin:@ota-meshi/svelte/recommended to plugin:svelte/recommended.
Rule configuration moved from the @ota-meshi/svelte namespace to the svelte namespace.