eslint-plugin-vue-scoped-css 2.5.1 → 2.6.1

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.
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  const lodash_1 = __importDefault(require("lodash"));
6
6
  const context_1 = require("../styles/context");
7
+ const compat_1 = require("../utils/compat");
7
8
  const styleTypesAttrs = ["scoped", "module"];
8
9
  module.exports = {
9
10
  meta: {
@@ -51,7 +52,8 @@ module.exports = {
51
52
  return {};
52
53
  }
53
54
  const reporter = (0, context_1.getCommentDirectivesReporter)(context);
54
- const tokenStore = (_b = (_a = context.parserServices).getTemplateBodyTokenStore) === null || _b === void 0 ? void 0 : _b.call(_a);
55
+ const sourceCode = (0, compat_1.getSourceCode)(context);
56
+ const tokenStore = (_b = (_a = sourceCode.parserServices).getTemplateBodyTokenStore) === null || _b === void 0 ? void 0 : _b.call(_a);
55
57
  const { options } = context;
56
58
  const allows = (_d = (_c = options[0]) === null || _c === void 0 ? void 0 : _c.allows) !== null && _d !== void 0 ? _d : ["scoped"];
57
59
  const singleAllow = allows.length === 1 && allows[0];
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  const context_1 = require("../styles/context");
3
3
  const selectors_1 = require("../styles/utils/selectors");
4
+ const compat_1 = require("../utils/compat");
4
5
  module.exports = {
5
6
  meta: {
6
7
  docs: {
@@ -34,7 +35,7 @@ module.exports = {
34
35
  },
35
36
  fix(fixer) {
36
37
  var _a, _b;
37
- const sourceCodeText = context.getSourceCode().text;
38
+ const sourceCodeText = (0, compat_1.getSourceCode)(context).text;
38
39
  const range = [...node.range];
39
40
  let newText = "::v-deep";
40
41
  if ((_a = sourceCodeText[range[0] - 1]) === null || _a === void 0 ? void 0 : _a.trim()) {
@@ -2,6 +2,7 @@
2
2
  const template_1 = require("../styles/template");
3
3
  const context_1 = require("../styles/context");
4
4
  const style_1 = require("../styles/context/style");
5
+ const compat_1 = require("../utils/compat");
5
6
  module.exports = {
6
7
  meta: {
7
8
  docs: {
@@ -37,7 +38,7 @@ module.exports = {
37
38
  return {};
38
39
  }
39
40
  const reporter = (0, context_1.getCommentDirectivesReporter)(context);
40
- const sourceCode = context.getSourceCode();
41
+ const sourceCode = (0, compat_1.getSourceCode)(context);
41
42
  function report(node) {
42
43
  const paramsStartIndex = node.range[0] +
43
44
  node.identifier.length +
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  const context_1 = require("../styles/context");
3
+ const compat_1 = require("../utils/compat");
3
4
  module.exports = {
4
5
  meta: {
5
6
  deprecated: true,
@@ -30,7 +31,8 @@ module.exports = {
30
31
  return {};
31
32
  }
32
33
  const reporter = (0, context_1.getCommentDirectivesReporter)(context);
33
- const tokenStore = (_b = (_a = context.parserServices).getTemplateBodyTokenStore) === null || _b === void 0 ? void 0 : _b.call(_a);
34
+ const sourceCode = (0, compat_1.getSourceCode)(context);
35
+ const tokenStore = (_b = (_a = sourceCode.parserServices).getTemplateBodyTokenStore) === null || _b === void 0 ? void 0 : _b.call(_a);
34
36
  function reportAlways(node) {
35
37
  reporter.report({
36
38
  node: node.startTag,
@@ -2,6 +2,7 @@
2
2
  const context_1 = require("../styles/context");
3
3
  const selectors_1 = require("../styles/utils/selectors");
4
4
  const css_nodes_1 = require("../styles/utils/css-nodes");
5
+ const compat_1 = require("../utils/compat");
5
6
  module.exports = {
6
7
  meta: {
7
8
  docs: {
@@ -53,8 +54,7 @@ module.exports = {
53
54
  node.range[0] + node.value.length,
54
55
  nextNode.range[0],
55
56
  ];
56
- if (context
57
- .getSourceCode()
57
+ if ((0, compat_1.getSourceCode)(context)
58
58
  .text.slice(...betweenRange)
59
59
  .trim()) {
60
60
  return null;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  const context_1 = require("../styles/context");
3
3
  const selectors_1 = require("../styles/utils/selectors");
4
+ const compat_1 = require("../utils/compat");
4
5
  module.exports = {
5
6
  meta: {
6
7
  docs: {
@@ -32,7 +33,7 @@ module.exports = {
32
33
  loc: node.loc,
33
34
  messageId: expected === ":deep" ? "expectedDeep" : "expectedVDeep",
34
35
  fix(fixer) {
35
- const nodeText = context.getSourceCode().text.slice(...node.range);
36
+ const nodeText = (0, compat_1.getSourceCode)(context).text.slice(...node.range);
36
37
  return fixer.replaceTextRange(node.range, nodeText.replace(/^(\s*)(?::deep|::v-deep)(\s*\()/u, (_, prefix, suffix) => `${prefix}${expected}${suffix}`));
37
38
  },
38
39
  });
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  const context_1 = require("../styles/context");
3
3
  const selectors_1 = require("../styles/utils/selectors");
4
+ const compat_1 = require("../utils/compat");
4
5
  module.exports = {
5
6
  meta: {
6
7
  docs: {
@@ -32,7 +33,7 @@ module.exports = {
32
33
  loc: node.loc,
33
34
  messageId: expected === ":global" ? "expectedGlobal" : "expectedVGlobal",
34
35
  fix(fixer) {
35
- const nodeText = context.getSourceCode().text.slice(...node.range);
36
+ const nodeText = (0, compat_1.getSourceCode)(context).text.slice(...node.range);
36
37
  return fixer.replaceTextRange(node.range, nodeText.replace(/^(\s*)(?::global|::v-global)(\s*\()/u, (_, prefix, suffix) => `${prefix}${expected}${suffix}`));
37
38
  },
38
39
  });
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  const context_1 = require("../styles/context");
3
3
  const selectors_1 = require("../styles/utils/selectors");
4
+ const compat_1 = require("../utils/compat");
4
5
  module.exports = {
5
6
  meta: {
6
7
  docs: {
@@ -32,7 +33,7 @@ module.exports = {
32
33
  loc: node.loc,
33
34
  messageId: expected === ":slotted" ? "expectedSlotted" : "expectedVSlotted",
34
35
  fix(fixer) {
35
- const nodeText = context.getSourceCode().text.slice(...node.range);
36
+ const nodeText = (0, compat_1.getSourceCode)(context).text.slice(...node.range);
36
37
  return fixer.replaceTextRange(node.range, nodeText.replace(/^(\s*)(?::slotted|::v-slotted)(\s*\()/u, (_, prefix, suffix) => `${prefix}${expected}${suffix}`));
37
38
  },
38
39
  });
@@ -7,9 +7,10 @@ const comment_directive_1 = require("./comment-directive");
7
7
  Object.defineProperty(exports, "CommentDirectivesReporter", { enumerable: true, get: function () { return comment_directive_1.CommentDirectivesReporter; } });
8
8
  const vue_components_1 = require("./vue-components");
9
9
  Object.defineProperty(exports, "VueComponentContext", { enumerable: true, get: function () { return vue_components_1.VueComponentContext; } });
10
+ const compat_1 = require("../../utils/compat");
10
11
  const CACHE = new WeakMap();
11
12
  function getCache(context) {
12
- const sourceCode = context.getSourceCode();
13
+ const sourceCode = (0, compat_1.getSourceCode)(context);
13
14
  const { ast } = sourceCode;
14
15
  if (CACHE.has(ast)) {
15
16
  return CACHE.get(ast);
@@ -3,16 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createStyleContexts = exports.StyleContextImpl = exports.isValidStyleContext = void 0;
4
4
  const parser_1 = require("../../parser");
5
5
  const css_nodes_1 = require("../../utils/css-nodes");
6
+ const compat_1 = require("../../../utils/compat");
6
7
  function getInvalidEOFError(context, style) {
7
- const node = context.getSourceCode().ast;
8
+ const node = (0, compat_1.getSourceCode)(context).ast;
8
9
  const body = node.templateBody;
9
10
  let errors = body === null || body === void 0 ? void 0 : body.errors;
10
11
  let inDocumentFragment = false;
11
12
  if (errors == null) {
12
- if (!context.parserServices.getDocumentFragment) {
13
+ const sourceCode = (0, compat_1.getSourceCode)(context);
14
+ if (!sourceCode.parserServices.getDocumentFragment) {
13
15
  return null;
14
16
  }
15
- const df = context.parserServices.getDocumentFragment();
17
+ const df = sourceCode.parserServices.getDocumentFragment();
16
18
  inDocumentFragment = true;
17
19
  errors = df === null || df === void 0 ? void 0 : df.errors;
18
20
  if (errors == null) {
@@ -34,11 +36,11 @@ function getInvalidEOFError(context, style) {
34
36
  }
35
37
  function getStyleElements(context) {
36
38
  let document = null;
37
- if (context.parserServices.getDocumentFragment) {
38
- document = context.parserServices.getDocumentFragment();
39
+ const sourceCode = (0, compat_1.getSourceCode)(context);
40
+ if (sourceCode.parserServices.getDocumentFragment) {
41
+ document = sourceCode.parserServices.getDocumentFragment();
39
42
  }
40
43
  else {
41
- const sourceCode = context.getSourceCode();
42
44
  const { ast } = sourceCode;
43
45
  const templateBody = ast.templateBody;
44
46
  if (templateBody) {
@@ -74,7 +76,7 @@ function isValidStyleContext(context) {
74
76
  exports.isValidStyleContext = isValidStyleContext;
75
77
  class StyleContextImpl {
76
78
  constructor(style, context) {
77
- const sourceCode = context.getSourceCode();
79
+ const sourceCode = (0, compat_1.getSourceCode)(context);
78
80
  this.styleElement = style;
79
81
  this.sourceCode = sourceCode;
80
82
  const { startTag, endTag } = style;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const vue_eslint_parser_1 = require("vue-eslint-parser");
4
4
  const nodes_1 = require("../../utils/nodes");
5
+ const compat_1 = require("../../../utils/compat");
5
6
  const traverseNodes = vue_eslint_parser_1.AST.traverseNodes;
6
7
  function getVueComponentObject(node) {
7
8
  if (node.type !== "ExportDefaultDeclaration") {
@@ -43,7 +44,7 @@ function findVueComponent(context) {
43
44
  if (cached !== undefined && cached.cachedAt > Date.now() - 1000) {
44
45
  return cached.component;
45
46
  }
46
- const sourceCode = context.getSourceCode();
47
+ const sourceCode = (0, compat_1.getSourceCode)(context);
47
48
  const componentComments = sourceCode
48
49
  .getAllComments()
49
50
  .filter((comment) => comment.value.includes("@vue/component"));
@@ -7,6 +7,7 @@ exports.createVueComponentContext = exports.VueComponentContext = void 0;
7
7
  const vue_eslint_parser_1 = require("vue-eslint-parser");
8
8
  const find_vue_1 = __importDefault(require("./find-vue"));
9
9
  const utils_1 = require("../../../utils/utils");
10
+ const compat_1 = require("../../../utils/compat");
10
11
  const traverseNodes = vue_eslint_parser_1.AST.traverseNodes;
11
12
  const UNKNOWN = Symbol("unknown");
12
13
  class VueComponentContext {
@@ -160,7 +161,7 @@ function extractVueComponentComputed(computedNode, context) {
160
161
  function getClassesOperatedByClassList(vueNode, refNames, isRoot, context) {
161
162
  const results = [];
162
163
  traverseNodes(vueNode, {
163
- visitorKeys: context.getSourceCode().visitorKeys,
164
+ visitorKeys: (0, compat_1.getSourceCode)(context).visitorKeys,
164
165
  enterNode(node) {
165
166
  if (node.type !== "CallExpression" ||
166
167
  node.callee.type !== "MemberExpression") {
@@ -198,7 +199,7 @@ function getReturnStatements(body, context) {
198
199
  const returnStatements = [];
199
200
  const skipNodes = [];
200
201
  traverseNodes(body, {
201
- visitorKeys: context.getSourceCode().visitorKeys,
202
+ visitorKeys: (0, compat_1.getSourceCode)(context).visitorKeys,
202
203
  enterNode(node) {
203
204
  if (skipNodes.length) {
204
205
  return;
@@ -35,6 +35,8 @@ function getAttributeValueNodes(element, name, context) {
35
35
  if (expression == null) {
36
36
  continue;
37
37
  }
38
+ if (expression.type === "VGenericExpression")
39
+ continue;
38
40
  const expressions = (0, reference_expression_1.getReferenceExpressions)(expression, context);
39
41
  if (!expressions) {
40
42
  return null;
@@ -10,6 +10,7 @@ const template_1 = require("../../template");
10
10
  const templates_1 = require("../../../utils/templates");
11
11
  const style_1 = require("../../context/style");
12
12
  const reference_expression_1 = require("./reference-expression");
13
+ const compat_1 = require("../../../utils/compat");
13
14
  const TRANSITION_CLASS_BASES = [
14
15
  "enter",
15
16
  "enter-from",
@@ -43,7 +44,7 @@ exports.QueryContext = QueryContext;
43
44
  class VueDocumentQueryContext extends QueryContext {
44
45
  constructor(context, options) {
45
46
  super();
46
- const sourceCode = context.getSourceCode();
47
+ const sourceCode = (0, compat_1.getSourceCode)(context);
47
48
  const { ast } = sourceCode;
48
49
  this.elements = ast.templateBody
49
50
  ? [...genDescendantElements([ast.templateBody])]
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getReferenceExpressions = void 0;
4
4
  const context_1 = require("../../context");
5
+ const compat_1 = require("../../../utils/compat");
5
6
  function getReferenceExpressions(expression, context) {
6
7
  var _a, _b, _c, _d;
7
8
  if (expression.type === "ConditionalExpression") {
@@ -37,7 +38,7 @@ function getReferenceExpressions(expression, context) {
37
38
  exports.getReferenceExpressions = getReferenceExpressions;
38
39
  function withinTemplate(expr, context) {
39
40
  var _a;
40
- const templateBody = context.getSourceCode().ast.templateBody;
41
+ const templateBody = (0, compat_1.getSourceCode)(context).ast.templateBody;
41
42
  const templateRange = (_a = templateBody === null || templateBody === void 0 ? void 0 : templateBody.range) !== null && _a !== void 0 ? _a : [0, 0];
42
43
  return templateRange[0] <= expr.range[0] && expr.range[1] <= templateRange[1];
43
44
  }
@@ -4,13 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getStringFromNode = exports.unwrapTypesExpression = void 0;
7
- const eslint_utils_1 = __importDefault(require("eslint-utils"));
7
+ const eslint_utils_1 = __importDefault(require("@eslint-community/eslint-utils"));
8
+ const compat_1 = require("../../utils/compat");
8
9
  function unwrapTypesExpression(node) {
9
10
  return (node === null || node === void 0 ? void 0 : node.type) === "TSAsExpression" ? node.expression : node;
10
11
  }
11
12
  exports.unwrapTypesExpression = unwrapTypesExpression;
12
13
  function getStringFromNode(node, context) {
13
- const evaluated = eslint_utils_1.default.getStaticValue(node, getScope(context.getSourceCode().scopeManager, node));
14
+ const evaluated = eslint_utils_1.default.getStaticValue(node, getScope((0, compat_1.getSourceCode)(context).scopeManager, node));
14
15
  if (evaluated && typeof evaluated.value === "string") {
15
16
  return evaluated.value;
16
17
  }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCwd = exports.getPhysicalFilename = exports.getFilename = exports.getSourceCode = void 0;
4
+ const eslint_compat_utils_1 = require("eslint-compat-utils");
5
+ function getSourceCode(context) {
6
+ return (0, eslint_compat_utils_1.getSourceCode)(context);
7
+ }
8
+ exports.getSourceCode = getSourceCode;
9
+ function getFilename(context) {
10
+ return (0, eslint_compat_utils_1.getFilename)(context);
11
+ }
12
+ exports.getFilename = getFilename;
13
+ function getPhysicalFilename(context) {
14
+ return (0, eslint_compat_utils_1.getPhysicalFilename)(context);
15
+ }
16
+ exports.getPhysicalFilename = getPhysicalFilename;
17
+ function getCwd(context) {
18
+ return (0, eslint_compat_utils_1.getCwd)(context);
19
+ }
20
+ exports.getCwd = getCwd;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isVDirectiveKeyV6 = exports.getArgument = exports.isVBind = exports.isVDirective = exports.findAttribute = exports.isTransitionGroupElement = exports.isTransitionElement = exports.isVElement = exports.getElements = void 0;
4
+ const compat_1 = require("./compat");
4
5
  function getElements(context, predicate) {
5
- const node = context.getSourceCode().ast;
6
+ const node = (0, compat_1.getSourceCode)(context).ast;
6
7
  const body = node.templateBody;
7
8
  if (!body) {
8
9
  return [];
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isDefined = exports.hasTemplateBlock = void 0;
4
+ const compat_1 = require("./compat");
4
5
  function hasTemplateBlock(context) {
5
- const sourceCode = context.getSourceCode();
6
+ const sourceCode = (0, compat_1.getSourceCode)(context);
6
7
  const { ast } = sourceCode;
7
8
  return Boolean(ast.templateBody);
8
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-vue-scoped-css",
3
- "version": "2.5.1",
3
+ "version": "2.6.1",
4
4
  "description": "ESLint plugin for Scoped CSS in Vue.js",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -52,7 +52,7 @@
52
52
  ],
53
53
  "devDependencies": {
54
54
  "@changesets/cli": "^2.24.2",
55
- "@ota-meshi/eslint-plugin": "^0.15.0",
55
+ "@ota-meshi/eslint-plugin": "^0.15.1",
56
56
  "@svitejs/changesets-changelog-github-compact": "^1.1.0",
57
57
  "@types/eslint": "^8.0.0",
58
58
  "@types/eslint-visitor-keys": "^1.0.0",
@@ -66,26 +66,27 @@
66
66
  "eslint": "^8.0.0",
67
67
  "eslint-config-prettier": "^9.0.0",
68
68
  "eslint-plugin-eslint-comments": "^3.2.0",
69
- "eslint-plugin-eslint-plugin": "^5.0.0",
70
- "eslint-plugin-json-schema-validator": "^4.0.0",
69
+ "eslint-plugin-eslint-plugin": "^5.2.1",
70
+ "eslint-plugin-json-schema-validator": "^4.6.1",
71
71
  "eslint-plugin-jsonc": "^2.0.0",
72
72
  "eslint-plugin-n": "^16.0.0",
73
+ "eslint-plugin-node-dependencies": "^0.11.1",
73
74
  "eslint-plugin-prettier": "^5.0.0",
74
- "eslint-plugin-regexp": "^1.0.0",
75
- "eslint-plugin-vue": "^9.0.0",
75
+ "eslint-plugin-regexp": "^2.0.0",
76
+ "eslint-plugin-vue": "^9.19.2",
76
77
  "eslint-plugin-vue-scoped-css": "^2.0.0",
77
78
  "eslint-plugin-yml": "^1.0.0",
78
79
  "mocha": "^10.0.0",
79
80
  "nyc": "^15.1.0",
80
81
  "pack": "^2.2.0",
81
- "prettier": "^3.0.0",
82
+ "prettier": "^3.1.0",
82
83
  "raw-loader": "^4.0.1",
83
84
  "rimraf": "^3.0.2",
84
85
  "semver": "^7.3.2",
85
- "stylelint": "^15.0.0",
86
+ "stylelint": "^16.0.0",
86
87
  "stylelint-config-recommended-vue": "^1.1.0",
87
- "stylelint-config-standard": "^34.0.0",
88
- "stylelint-stylus": "^0.18.0",
88
+ "stylelint-config-standard": "^35.0.0",
89
+ "stylelint-stylus": "^1.0.0",
89
90
  "ts-node": "^10.9.1",
90
91
  "typescript": "^5.0.0",
91
92
  "vue-eslint-editor": "^1.1.0",
@@ -93,7 +94,8 @@
93
94
  "vuepress": "^1.8.2"
94
95
  },
95
96
  "dependencies": {
96
- "eslint-utils": "^3.0.0",
97
+ "@eslint-community/eslint-utils": "^4.4.0",
98
+ "eslint-compat-utils": "^0.1.2",
97
99
  "lodash": "^4.17.21",
98
100
  "postcss": "^8.4.31",
99
101
  "postcss-safe-parser": "^6.0.0",