Registry / testing / eslint-plugin-vue-scoped-css

eslint-plugin-vue-scoped-css

JSON →
library3.0.0jsnpmunverified

ESLint plugin providing linting rules for scoped CSS in Vue.js components. Current stable version is 3.0.0, released in 2025, with active maintenance and regular releases (major every ~2 years). It supports CSS Level 4 selectors, SCSS (via postcss-scss), and Stylus (via postcss-styl), parsing <style>, <template>, and <script> blocks. Key differentiators: dedicated scoped CSS rules (e.g., no-unused-selector, no-deprecated-deep-combinator), built-in TypeScript types, and flat config support (ESLint >=9.38.0). Unlike generic CSS linting plugins, it understands Vue's scoped attributes and deep selectors.

npm install eslint-plugin-vue-scoped-css
INSTALL
IMPORT
SIG · ESLINT-PLUGIN-VUE-
E
eslint-plugin-vue-scoped-css
testingjavascriptv3.0.0
Install
—
Import
—
Disk
—
Pass rate
0/ 6
Env Coverage0 / 6
glibc
18–22
musl
18–22
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18–226 runs
build_error
glibc
node 18–226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
✓ import plugin from 'eslint-plugin-vue-scoped-css'
✗ const plugin = require('eslint-plugin-vue-scoped-css')
ESM-only since v3 – CommonJS require() is not supported.
configs
✓ import plugin from 'eslint-plugin-vue-scoped-css'; plugin.configs['recommended']
✗ require('eslint-plugin-vue-scoped-css').configs['recommended']
Use bracket notation for named configs; flat configs under configs key.
rules
✓ import plugin from 'eslint-plugin-vue-scoped-css'; plugin.rules['vue-scoped-css/no-unused-selector']
✗ plugin.rules['no-unused-selector']
Rule names are prefixed with 'vue-scoped-css/'.

Flat config example with recommended preset and custom rules.

// eslint.config.js import plugin from 'eslint-plugin-vue-scoped-css'; export default [ ...plugin.configs['recommended'], { rules: { 'vue-scoped-css/no-unused-selector': 'error', 'vue-scoped-css/no-deprecated-deep-combinator': 'warn' } } ];
Debug
Known issues
breakingv3.0.0 drops support for legacy eslintrc configs and Node.js <20.19.
fix
Migrate to eslint.config.js flat config and upgrade Node.js to ^20.19.0 || ^22.13.0 || >=24.
affects: >=3.0.0
deprecatedFlat config aliases prefixed with 'flat/' (e.g., 'flat/base') are deprecated and will be removed in a future major version.
fix
Use unprefixed configs like 'base' or 'recommended' directly.
affects: >=3.0.0
gotchaMissing optional peer deps (postcss-scss, postcss-styl) cause runtime errors when using SCSS or Stylus in components.
fix
Install the appropriate peer: npm install --save-dev postcss-scss (for SCSS) or postcss-styl (for Stylus).
affects: *
Errors
Common errors & fixes
Error: Cannot find module 'postcss-scss'
Missing optional peer dependency for SCSS parsing.
fix
npm install --save-dev postcss-scss
Error: Failed to load config 'eslint-plugin-vue-scoped-css/recommended'
Using legacy eslintrc config format with v3+ which only supports flat config.
fix
Use eslint.config.js with import plugin from 'eslint-plugin-vue-scoped-css'; ...plugin.configs['recommended']
TypeError: plugin is not a function
Incorrectly destructuring the default import.
fix
Use import plugin from 'eslint-plugin-vue-scoped-css' (default import), not named imports like { recommended }.
Upgrade
Version history
3.0.0latest on npm
Audit
Dependencies
eslintrequiredpeer dependency – plugin runs inside ESLint
vue-eslint-parserrequiredpeer dependency – parses Vue SFCs
postcss-scssoptionaloptional peer – required for SCSS support
postcss-styloptionaloptional peer – required for Stylus support
Agent activity
4 hits · last 30 days
node
4
Resources
eslint-plugin-vue-scoped-css — npm install eslint-plugin-vue-scoped-css · libregistry