eslint-plugin-vue-scoped-css 2.12.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/README.md +23 -54
  2. package/dist/index.d.mts +861 -0
  3. package/dist/index.mjs +5879 -0
  4. package/package.json +63 -63
  5. package/dist/configs/all.d.ts +0 -7
  6. package/dist/configs/all.js +0 -12
  7. package/dist/configs/base.d.ts +0 -5
  8. package/dist/configs/base.js +0 -5
  9. package/dist/configs/flat/all.d.ts +0 -21
  10. package/dist/configs/flat/all.js +0 -14
  11. package/dist/configs/flat/base.d.ts +0 -18
  12. package/dist/configs/flat/base.js +0 -53
  13. package/dist/configs/flat/recommended.d.ts +0 -21
  14. package/dist/configs/flat/recommended.js +0 -14
  15. package/dist/configs/flat/vue2-recommended.d.ts +0 -21
  16. package/dist/configs/flat/vue2-recommended.js +0 -14
  17. package/dist/configs/recommended.d.ts +0 -7
  18. package/dist/configs/recommended.js +0 -12
  19. package/dist/configs/vue3-recommended.d.ts +0 -7
  20. package/dist/configs/vue3-recommended.js +0 -12
  21. package/dist/index.d.ts +0 -88
  22. package/dist/index.js +0 -28
  23. package/dist/options.d.ts +0 -11
  24. package/dist/options.js +0 -13
  25. package/dist/rules/enforce-style-type.d.ts +0 -41
  26. package/dist/rules/enforce-style-type.js +0 -184
  27. package/dist/rules/no-deprecated-deep-combinator.d.ts +0 -19
  28. package/dist/rules/no-deprecated-deep-combinator.js +0 -68
  29. package/dist/rules/no-deprecated-v-enter-v-leave-class.d.ts +0 -20
  30. package/dist/rules/no-deprecated-v-enter-v-leave-class.js +0 -179
  31. package/dist/rules/no-parent-of-v-global.d.ts +0 -19
  32. package/dist/rules/no-parent-of-v-global.js +0 -56
  33. package/dist/rules/no-parsing-error.d.ts +0 -19
  34. package/dist/rules/no-parsing-error.js +0 -62
  35. package/dist/rules/no-unused-keyframes.d.ts +0 -27
  36. package/dist/rules/no-unused-keyframes.js +0 -127
  37. package/dist/rules/no-unused-selector.d.ts +0 -46
  38. package/dist/rules/no-unused-selector.js +0 -194
  39. package/dist/rules/require-scoped.d.ts +0 -28
  40. package/dist/rules/require-scoped.js +0 -81
  41. package/dist/rules/require-selector-used-inside.d.ts +0 -38
  42. package/dist/rules/require-selector-used-inside.js +0 -133
  43. package/dist/rules/require-v-deep-argument.d.ts +0 -19
  44. package/dist/rules/require-v-deep-argument.js +0 -95
  45. package/dist/rules/require-v-global-argument.d.ts +0 -19
  46. package/dist/rules/require-v-global-argument.js +0 -51
  47. package/dist/rules/require-v-slotted-argument.d.ts +0 -19
  48. package/dist/rules/require-v-slotted-argument.js +0 -51
  49. package/dist/rules/v-deep-pseudo-style.d.ts +0 -22
  50. package/dist/rules/v-deep-pseudo-style.js +0 -64
  51. package/dist/rules/v-global-pseudo-style.d.ts +0 -22
  52. package/dist/rules/v-global-pseudo-style.js +0 -64
  53. package/dist/rules/v-slotted-pseudo-style.d.ts +0 -22
  54. package/dist/rules/v-slotted-pseudo-style.js +0 -64
  55. package/dist/styles/ast.d.ts +0 -252
  56. package/dist/styles/ast.js +0 -303
  57. package/dist/styles/context/comment-directive/index.d.ts +0 -23
  58. package/dist/styles/context/comment-directive/index.js +0 -182
  59. package/dist/styles/context/index.d.ts +0 -8
  60. package/dist/styles/context/index.js +0 -48
  61. package/dist/styles/context/style/index.d.ts +0 -56
  62. package/dist/styles/context/style/index.js +0 -178
  63. package/dist/styles/context/vue-components/find-vue.d.ts +0 -4
  64. package/dist/styles/context/vue-components/find-vue.js +0 -92
  65. package/dist/styles/context/vue-components/index.d.ts +0 -11
  66. package/dist/styles/context/vue-components/index.js +0 -288
  67. package/dist/styles/parser/css-parser.d.ts +0 -30
  68. package/dist/styles/parser/css-parser.js +0 -273
  69. package/dist/styles/parser/index.d.ts +0 -3
  70. package/dist/styles/parser/index.js +0 -17
  71. package/dist/styles/parser/scss-parser.d.ts +0 -11
  72. package/dist/styles/parser/scss-parser.js +0 -42
  73. package/dist/styles/parser/selector/css-selector-parser.d.ts +0 -27
  74. package/dist/styles/parser/selector/css-selector-parser.js +0 -309
  75. package/dist/styles/parser/selector/replace-utils.d.ts +0 -55
  76. package/dist/styles/parser/selector/replace-utils.js +0 -372
  77. package/dist/styles/parser/selector/scss-selector-parser.d.ts +0 -8
  78. package/dist/styles/parser/selector/scss-selector-parser.js +0 -44
  79. package/dist/styles/parser/selector/stylus-selector-parser.d.ts +0 -8
  80. package/dist/styles/parser/selector/stylus-selector-parser.js +0 -105
  81. package/dist/styles/parser/stylus-parser.d.ts +0 -11
  82. package/dist/styles/parser/stylus-parser.js +0 -48
  83. package/dist/styles/parser/utils.d.ts +0 -3
  84. package/dist/styles/parser/utils.js +0 -10
  85. package/dist/styles/selectors/index.d.ts +0 -4
  86. package/dist/styles/selectors/index.js +0 -29
  87. package/dist/styles/selectors/query/attribute-tracker.d.ts +0 -4
  88. package/dist/styles/selectors/query/attribute-tracker.js +0 -51
  89. package/dist/styles/selectors/query/elements.d.ts +0 -11
  90. package/dist/styles/selectors/query/elements.js +0 -53
  91. package/dist/styles/selectors/query/index.d.ts +0 -23
  92. package/dist/styles/selectors/query/index.js +0 -664
  93. package/dist/styles/selectors/query/reference-expression.d.ts +0 -3
  94. package/dist/styles/selectors/query/reference-expression.js +0 -43
  95. package/dist/styles/selectors/resolver/css-selector-resolver.d.ts +0 -29
  96. package/dist/styles/selectors/resolver/css-selector-resolver.js +0 -231
  97. package/dist/styles/selectors/resolver/scss-selector-resolver.d.ts +0 -10
  98. package/dist/styles/selectors/resolver/scss-selector-resolver.js +0 -65
  99. package/dist/styles/selectors/resolver/stylus-selector-resolver.d.ts +0 -11
  100. package/dist/styles/selectors/resolver/stylus-selector-resolver.js +0 -165
  101. package/dist/styles/template/at-rule-params/css.d.ts +0 -1
  102. package/dist/styles/template/at-rule-params/css.js +0 -6
  103. package/dist/styles/template/at-rule-params/index.d.ts +0 -2
  104. package/dist/styles/template/at-rule-params/index.js +0 -21
  105. package/dist/styles/template/at-rule-params/scss.d.ts +0 -2
  106. package/dist/styles/template/at-rule-params/scss.js +0 -7
  107. package/dist/styles/template/at-rule-params/stylus.d.ts +0 -2
  108. package/dist/styles/template/at-rule-params/stylus.js +0 -7
  109. package/dist/styles/template/decl-value/css.d.ts +0 -1
  110. package/dist/styles/template/decl-value/css.js +0 -6
  111. package/dist/styles/template/decl-value/index.d.ts +0 -2
  112. package/dist/styles/template/decl-value/index.js +0 -21
  113. package/dist/styles/template/decl-value/scss.d.ts +0 -2
  114. package/dist/styles/template/decl-value/scss.js +0 -7
  115. package/dist/styles/template/decl-value/stylus.d.ts +0 -2
  116. package/dist/styles/template/decl-value/stylus.js +0 -7
  117. package/dist/styles/template/index.d.ts +0 -29
  118. package/dist/styles/template/index.js +0 -209
  119. package/dist/styles/template/interpolation.d.ts +0 -4
  120. package/dist/styles/template/interpolation.js +0 -9
  121. package/dist/styles/template/scss/util.d.ts +0 -3
  122. package/dist/styles/template/scss/util.js +0 -33
  123. package/dist/styles/template/selector/css.d.ts +0 -2
  124. package/dist/styles/template/selector/css.js +0 -6
  125. package/dist/styles/template/selector/index.d.ts +0 -3
  126. package/dist/styles/template/selector/index.js +0 -21
  127. package/dist/styles/template/selector/scss.d.ts +0 -3
  128. package/dist/styles/template/selector/scss.js +0 -7
  129. package/dist/styles/template/selector/stylus.d.ts +0 -3
  130. package/dist/styles/template/selector/stylus.js +0 -7
  131. package/dist/styles/template/stylus/util.d.ts +0 -3
  132. package/dist/styles/template/stylus/util.js +0 -25
  133. package/dist/styles/utils/css-nodes.d.ts +0 -11
  134. package/dist/styles/utils/css-nodes.js +0 -37
  135. package/dist/styles/utils/index.d.ts +0 -2
  136. package/dist/styles/utils/index.js +0 -10
  137. package/dist/styles/utils/nodes.d.ts +0 -3
  138. package/dist/styles/utils/nodes.js +0 -32
  139. package/dist/styles/utils/selectors.d.ts +0 -52
  140. package/dist/styles/utils/selectors.js +0 -170
  141. package/dist/types.d.ts +0 -200
  142. package/dist/types.js +0 -2
  143. package/dist/utils/compat.d.ts +0 -5
  144. package/dist/utils/compat.js +0 -19
  145. package/dist/utils/regexp.d.ts +0 -1
  146. package/dist/utils/regexp.js +0 -18
  147. package/dist/utils/rules.d.ts +0 -5
  148. package/dist/utils/rules.js +0 -96
  149. package/dist/utils/templates.d.ts +0 -10
  150. package/dist/utils/templates.js +0 -99
  151. package/dist/utils/utils.d.ts +0 -3
  152. package/dist/utils/utils.js +0 -13
package/README.md CHANGED
@@ -39,10 +39,15 @@ See [documents](https://future-architect.github.io/eslint-plugin-vue-scoped-css/
39
39
  npm install --save-dev eslint eslint-plugin-vue-scoped-css vue-eslint-parser
40
40
  ```
41
41
 
42
+ If you use SCSS or STYLUS in your project, you also need to run:
43
+
44
+ * SCSS: `npm install --save-dev postcss-scss`
45
+ * Stylus: `npm install --save-dev postcss-styl`
46
+
42
47
  > **Requirements**
43
48
  >
44
- > - ESLint v6.0.0 and above
45
- > - Node.js v12.22.x, v14.17.x, v16.x and above
49
+ > - ESLint v9.38.0 and above
50
+ > - Node.js v20.19.x, v22.13.x, v24.x and above
46
51
 
47
52
  <!--DOCS_IGNORE_END-->
48
53
 
@@ -62,7 +67,7 @@ import eslintPluginVueScopedCSS from 'eslint-plugin-vue-scoped-css';
62
67
  export default [
63
68
  // add more generic rule sets here, such as:
64
69
  // js.configs.recommended,
65
- ...eslintPluginVueScopedCSS.configs['flat/recommended'],
70
+ ...eslintPluginVueScopedCSS.configs['recommended'],
66
71
  {
67
72
  rules: {
68
73
  // override/add rules settings here, such as:
@@ -72,43 +77,23 @@ export default [
72
77
  ];
73
78
  ```
74
79
 
75
- ### Legacy Config (`.eslintrc`)
76
-
77
- Use `.eslintrc.*` file to configure rules. See also: <https://eslint.org/docs/latest/use/configure/>.
78
-
79
- Example **.eslintrc.js**:
80
-
81
- ```js
82
- module.exports = {
83
- extends: [
84
- // add more generic rulesets here, such as:
85
- // 'eslint:recommended',
86
- 'plugin:vue-scoped-css/vue3-recommended'
87
- ],
88
- rules: {
89
- // override/add rules settings here, such as:
90
- // 'vue-scoped-css/no-unused-selector': 'error'
91
- }
92
- }
93
- ```
94
-
95
80
  ## Configs
96
81
 
97
82
  This plugin provides some predefined configs:
98
83
 
99
- ### New Config (`eslint.config.js`)
84
+ - `*.configs['base']` - Settings and rules to enable this plugin
85
+ - `*.configs['recommended']` - `/base`, plus rules for better ways to help you avoid problems for Vue.js 3.x
86
+ - `*.configs['vue2-recommended']` - `/base`, plus rules for better ways to help you avoid problems for Vue.js 2.x
87
+ - `*.configs['all']` - All rules of this plugin are included
100
88
 
101
- - `*.configs['flat/base']` - Settings and rules to enable this plugin
102
- - `*.configs['flat/recommended']` - `/base`, plus rules for better ways to help you avoid problems for Vue.js 3.x
103
- - `*.configs['flat/vue2-recommended']` - `/base`, plus rules for better ways to help you avoid problems for Vue.js 2.x
104
- - `*.configs['flat/all']` - All rules of this plugin are included
89
+ ### Backward-compatible aliases
105
90
 
106
- ### Legacy Config (`.eslintrc`)
91
+ The following `flat/*` aliases are kept for backward compatibility:
107
92
 
108
- - `plugin:vue-scoped-css/base` - Settings and rules to enable this plugin
109
- - `plugin:vue-scoped-css/recommended` - `/base`, plus rules for better ways to help you avoid problems for Vue.js 2.x
110
- - `plugin:vue-scoped-css/vue3-recommended` - `/base`, plus rules for better ways to help you avoid problems for Vue.js 3.x
111
- - `plugin:vue-scoped-css/all` - All rules of this plugin are included
93
+ - `*.configs['flat/base']` `*.configs['base']`
94
+ - `*.configs['flat/recommended']` `*.configs['recommended']`
95
+ - `*.configs['flat/vue2-recommended']` → `*.configs['vue2-recommended']`
96
+ - `*.configs['flat/all']` `*.configs['all']`
112
97
 
113
98
  <!--USAGE_GUIDE_END-->
114
99
  <!--USAGE_SECTION_END-->
@@ -127,18 +112,10 @@ Enforce all the rules in this category with:
127
112
 
128
113
  ```js
129
114
  export default [
130
- ...eslintPluginVueScopedCSS.configs['flat/recommended'],
115
+ ...eslintPluginVueScopedCSS.configs['recommended'],
131
116
  ]
132
117
  ```
133
118
 
134
- or
135
-
136
- ```json
137
- {
138
- "extends": ["plugin:vue-scoped-css/vue3-recommended"]
139
- }
140
- ```
141
-
142
119
  | Rule ID | Description | |
143
120
  |:--------|:------------|:---|
144
121
  | [vue-scoped-css/enforce-style-type](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/enforce-style-type.html) | enforce the `<style>` tags to be plain or have the `scoped` or `module` attribute | |
@@ -150,6 +127,9 @@ or
150
127
  | [vue-scoped-css/require-v-deep-argument](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/require-v-deep-argument.html) | require selector argument to be passed to `::v-deep()` | :wrench: |
151
128
  | [vue-scoped-css/require-v-global-argument](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/require-v-global-argument.html) | require selector argument to be passed to `::v-global()` | |
152
129
  | [vue-scoped-css/require-v-slotted-argument](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/require-v-slotted-argument.html) | require selector argument to be passed to `::v-slotted()` | |
130
+ | [vue-scoped-css/v-deep-pseudo-style](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/v-deep-pseudo-style.html) | enforce `:deep()`/`::v-deep()` style | :wrench: |
131
+ | [vue-scoped-css/v-global-pseudo-style](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/v-global-pseudo-style.html) | enforce `:global()`/`::v-global()` style | :wrench: |
132
+ | [vue-scoped-css/v-slotted-pseudo-style](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/v-slotted-pseudo-style.html) | enforce `:slotted()`/`::v-slotted()` style | :wrench: |
153
133
 
154
134
  ## Recommended for Vue.js 2.x
155
135
 
@@ -157,18 +137,10 @@ Enforce all the rules in this category with:
157
137
 
158
138
  ```js
159
139
  export default [
160
- ...eslintPluginVueScopedCSS.configs['flat/vue2-recommended'],
140
+ ...eslintPluginVueScopedCSS.configs['vue2-recommended'],
161
141
  ]
162
142
  ```
163
143
 
164
- or
165
-
166
- ```json
167
- {
168
- "extends": ["plugin:vue-scoped-css/recommended"]
169
- }
170
- ```
171
-
172
144
  | Rule ID | Description | |
173
145
  |:--------|:------------|:---|
174
146
  | [vue-scoped-css/enforce-style-type](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/enforce-style-type.html) | enforce the `<style>` tags to be plain or have the `scoped` or `module` attribute | |
@@ -195,9 +167,6 @@ For example:
195
167
  |:--------|:------------|:---|
196
168
  | [vue-scoped-css/no-deprecated-v-enter-v-leave-class](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/no-deprecated-v-enter-v-leave-class.html) | disallow v-enter and v-leave classes. | |
197
169
  | [vue-scoped-css/require-selector-used-inside](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/require-selector-used-inside.html) | disallow selectors defined that is not used inside `<template>` | |
198
- | [vue-scoped-css/v-deep-pseudo-style](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/v-deep-pseudo-style.html) | enforce `:deep()`/`::v-deep()` style | :wrench: |
199
- | [vue-scoped-css/v-global-pseudo-style](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/v-global-pseudo-style.html) | enforce `:global()`/`::v-global()` style | :wrench: |
200
- | [vue-scoped-css/v-slotted-pseudo-style](https://future-architect.github.io/eslint-plugin-vue-scoped-css/rules/v-slotted-pseudo-style.html) | enforce `:slotted()`/`::v-slotted()` style | :wrench: |
201
170
 
202
171
  ## Deprecated
203
172