{"id":19954,"library":"eslint-plugin-svelte3","title":"eslint-plugin-svelte3","description":"An ESLint plugin for linting Svelte v3 components. Version 4.0.0 transforms Svelte compiler errors/warnings into ESLint messages, lints script blocks and template expressions with existing rules, and respects Svelte scoping (stores, reactive declarations). Requires ESLint 8+ and Svelte 3.2+. Differentiates from svelte-eslint-parser by being processor-based and using the Svelte compiler directly; deprecated in favor of eslint-plugin-svelte for Svelte 4+.","status":"deprecated","version":"4.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/sveltejs/eslint-plugin-svelte3","tags":["javascript","eslint","eslintplugin","svelte","sveltejs"],"install":[{"cmd":"npm install eslint-plugin-svelte3","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-svelte3","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-svelte3","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency - plugin requires ESLint 8+ to function","package":"eslint","optional":false},{"reason":"Peer dependency - uses svelte/compiler internally","package":"svelte","optional":false}],"imports":[{"note":"Must be 'svelte3/svelte3' not just 'svelte3'","wrong":"processor: 'svelte3'","symbol":"processor","correct":"module.exports = { plugins: ['svelte3'], overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }] }"},{"note":"Function form enables dynamic require; boolean true loads peer dependency","wrong":"settings: { svelte3: { typescript: true } }","symbol":"settings.svelte3/typescript","correct":"settings: { 'svelte3/typescript': () => require('typescript') }"},{"note":"Use @typescript-eslint/parser (v2+) not the deprecated typescript-eslint-parser","wrong":"parser: 'typescript-eslint-parser'","symbol":"config with TypeScript parser","correct":"parser: '@typescript-eslint/parser', plugins: ['svelte3','@typescript-eslint']"}],"quickstart":{"code":"// .eslintrc.js\nmodule.exports = {\n  parserOptions: {\n    ecmaVersion: 2019,\n    sourceType: 'module'\n  },\n  env: {\n    es6: true,\n    browser: true\n  },\n  plugins: ['svelte3'],\n  overrides: [\n    {\n      files: ['*.svelte'],\n      processor: 'svelte3/svelte3'\n    }\n  ],\n  rules: {\n    'no-unused-vars': ['error', { varsIgnorePattern: '^\\\\$' }]\n  },\n  settings: {\n    'svelte3/ignore-styles': () => true // ignore CSS linting\n  }\n};\n","lang":"javascript","description":"Basic ESLint config for Svelte v3 using eslint-plugin-svelte3 processor, ignoring CSS styles."},"warnings":[{"fix":"Migrate to eslint-plugin-svelte (https://github.com/sveltejs/eslint-plugin-svelte)","message":"This plugin is deprecated. Svelte 4+ users should use eslint-plugin-svelte with svelte-eslint-parser.","severity":"deprecated","affected_versions":">=4.0.0"},{"fix":"Upgrade to ESLint 8+ or stick with v3 (deprecated) if using older ESLint.","message":"Version 4.0.0 requires ESLint 8+. ESLint 6/7 are no longer supported.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Set processor to 'svelte3/svelte3' in overrides.","message":"Processor must be 'svelte3/svelte3', not 'svelte3'. The default export is not a processor.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Add 'svelte3/typescript': () => require('typescript') to settings.","message":"TypeScript mode requires passing the typescript package to settings.svelte3/typescript. Without it, template expressions are not linted.","severity":"gotcha","affected_versions":">=3.0.0"},{"fix":"Use a function: 'svelte3/ignore-styles': () => true","message":"Setting 'svelte3/ignore-styles' returns a function now; in v3 it was a boolean. Booleans may cause unexpected behavior.","severity":"deprecated","affected_versions":">=4.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run: npm install --save-dev eslint-plugin-svelte3","cause":"Plugin not installed or not in node_modules.","error":"ESLint couldn't find the plugin \"eslint-plugin-svelte3\"."},{"fix":"Ensure eslint is properly installed and your config includes 'eslint:recommended' or the rule explicitly.","cause":"eslint-plugin-svelte3 does not define rules; it only provides a processor. The rule comes from eslint core.","error":"Definition for rule 'no-unused-vars' was not found."},{"fix":"Install: npm install --save-dev @typescript-eslint/parser","cause":"Missing @typescript-eslint/parser package when using TypeScript.","error":"Failed to load parser '@typescript-eslint/parser'."},{"fix":"Upgrade to >=1.0.0: npm install eslint-plugin-svelte3@latest","cause":"Using an older version (<1.0.0) that didn't export the processor this way.","error":"The 'svelte3/svelte3' processor is not exported from the plugin."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}