eslint-plugin-better-tailwindcss 4.3.2 → 4.4.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.
Files changed (178) hide show
  1. package/README.md +35 -0
  2. package/lib/api/defaults.d.ts +15 -0
  3. package/lib/api/defaults.d.ts.map +1 -1
  4. package/lib/api/types.d.ts +7 -2
  5. package/lib/api/types.d.ts.map +1 -1
  6. package/lib/api/types.js +4 -1
  7. package/lib/api/types.js.map +1 -1
  8. package/lib/async-utils/escape.d.ts.map +1 -1
  9. package/lib/async-utils/escape.js +2 -1
  10. package/lib/async-utils/escape.js.map +1 -1
  11. package/lib/async-utils/fs.d.ts +1 -1
  12. package/lib/async-utils/fs.d.ts.map +1 -1
  13. package/lib/async-utils/fs.js +2 -6
  14. package/lib/async-utils/fs.js.map +1 -1
  15. package/lib/async-utils/operations.d.ts +2 -0
  16. package/lib/async-utils/operations.d.ts.map +1 -1
  17. package/lib/async-utils/regex.d.ts +3 -0
  18. package/lib/async-utils/regex.d.ts.map +1 -0
  19. package/lib/async-utils/regex.js +32 -0
  20. package/lib/async-utils/regex.js.map +1 -0
  21. package/lib/async-utils/worker.d.ts.map +1 -1
  22. package/lib/async-utils/worker.js +3 -2
  23. package/lib/async-utils/worker.js.map +1 -1
  24. package/lib/configs/config.d.ts +2921 -33
  25. package/lib/configs/config.d.ts.map +1 -1
  26. package/lib/configs/config.js +4 -0
  27. package/lib/configs/config.js.map +1 -1
  28. package/lib/options/callees/cc.js +2 -2
  29. package/lib/options/callees/cc.js.map +1 -1
  30. package/lib/options/callees/clb.js +3 -3
  31. package/lib/options/callees/clb.js.map +1 -1
  32. package/lib/options/callees/clsx.js +2 -2
  33. package/lib/options/callees/clsx.js.map +1 -1
  34. package/lib/options/callees/cn.js +2 -2
  35. package/lib/options/callees/cn.js.map +1 -1
  36. package/lib/options/callees/cnb.js +2 -2
  37. package/lib/options/callees/cnb.js.map +1 -1
  38. package/lib/options/callees/ctl.js +1 -1
  39. package/lib/options/callees/ctl.js.map +1 -1
  40. package/lib/options/callees/cva.js +3 -3
  41. package/lib/options/callees/cva.js.map +1 -1
  42. package/lib/options/callees/cx.js +2 -2
  43. package/lib/options/callees/cx.js.map +1 -1
  44. package/lib/options/callees/dcnb.js +2 -2
  45. package/lib/options/callees/dcnb.js.map +1 -1
  46. package/lib/options/callees/objstr.js +2 -2
  47. package/lib/options/callees/objstr.js.map +1 -1
  48. package/lib/options/callees/tv.js +6 -6
  49. package/lib/options/callees/tv.js.map +1 -1
  50. package/lib/options/callees/twJoin.js +1 -1
  51. package/lib/options/callees/twJoin.js.map +1 -1
  52. package/lib/options/callees/twMerge.js +1 -1
  53. package/lib/options/callees/twMerge.js.map +1 -1
  54. package/lib/options/default-options.d.ts +31 -1
  55. package/lib/options/default-options.d.ts.map +1 -1
  56. package/lib/options/default-options.js +9 -3
  57. package/lib/options/default-options.js.map +1 -1
  58. package/lib/options/descriptions.d.ts +308 -2
  59. package/lib/options/descriptions.d.ts.map +1 -1
  60. package/lib/options/descriptions.js +3 -2
  61. package/lib/options/descriptions.js.map +1 -1
  62. package/lib/options/migrate.js +29 -12
  63. package/lib/options/migrate.js.map +1 -1
  64. package/lib/options/schemas/common.d.ts +4 -0
  65. package/lib/options/schemas/common.d.ts.map +1 -1
  66. package/lib/options/schemas/common.js +3 -0
  67. package/lib/options/schemas/common.js.map +1 -1
  68. package/lib/options/schemas/selectors.d.ts +806 -5
  69. package/lib/options/schemas/selectors.d.ts.map +1 -1
  70. package/lib/options/schemas/selectors.js +42 -11
  71. package/lib/options/schemas/selectors.js.map +1 -1
  72. package/lib/options/tags/twc.d.ts +36 -0
  73. package/lib/options/tags/twc.d.ts.map +1 -0
  74. package/lib/options/tags/twc.js +26 -0
  75. package/lib/options/tags/twc.js.map +1 -0
  76. package/lib/options/tags/twx.d.ts +36 -0
  77. package/lib/options/tags/twx.d.ts.map +1 -0
  78. package/lib/options/tags/twx.js +26 -0
  79. package/lib/options/tags/twx.js.map +1 -0
  80. package/lib/parsers/angular.d.ts.map +1 -1
  81. package/lib/parsers/angular.js +22 -12
  82. package/lib/parsers/angular.js.map +1 -1
  83. package/lib/parsers/es.d.ts +11 -2
  84. package/lib/parsers/es.d.ts.map +1 -1
  85. package/lib/parsers/es.js +249 -55
  86. package/lib/parsers/es.js.map +1 -1
  87. package/lib/parsers/svelte.d.ts.map +1 -1
  88. package/lib/parsers/svelte.js +6 -64
  89. package/lib/parsers/svelte.js.map +1 -1
  90. package/lib/parsers/vue.d.ts.map +1 -1
  91. package/lib/parsers/vue.js +5 -65
  92. package/lib/parsers/vue.js.map +1 -1
  93. package/lib/rules/enforce-canonical-classes.d.ts +172 -2
  94. package/lib/rules/enforce-canonical-classes.d.ts.map +1 -1
  95. package/lib/rules/enforce-consistent-class-order.d.ts +172 -2
  96. package/lib/rules/enforce-consistent-class-order.d.ts.map +1 -1
  97. package/lib/rules/enforce-consistent-class-order.js +14 -2
  98. package/lib/rules/enforce-consistent-class-order.js.map +1 -1
  99. package/lib/rules/enforce-consistent-important-position.d.ts +172 -2
  100. package/lib/rules/enforce-consistent-important-position.d.ts.map +1 -1
  101. package/lib/rules/enforce-consistent-important-position.js +2 -1
  102. package/lib/rules/enforce-consistent-important-position.js.map +1 -1
  103. package/lib/rules/enforce-consistent-line-wrapping.d.ts +172 -2
  104. package/lib/rules/enforce-consistent-line-wrapping.d.ts.map +1 -1
  105. package/lib/rules/enforce-consistent-line-wrapping.js +30 -0
  106. package/lib/rules/enforce-consistent-line-wrapping.js.map +1 -1
  107. package/lib/rules/enforce-consistent-variable-syntax.d.ts +172 -2
  108. package/lib/rules/enforce-consistent-variable-syntax.d.ts.map +1 -1
  109. package/lib/rules/enforce-consistent-variable-syntax.js +3 -2
  110. package/lib/rules/enforce-consistent-variable-syntax.js.map +1 -1
  111. package/lib/rules/enforce-consistent-variant-order.d.ts +426 -0
  112. package/lib/rules/enforce-consistent-variant-order.d.ts.map +1 -0
  113. package/lib/rules/enforce-consistent-variant-order.js +75 -0
  114. package/lib/rules/enforce-consistent-variant-order.js.map +1 -0
  115. package/lib/rules/enforce-logical-properties.d.ts +426 -0
  116. package/lib/rules/enforce-logical-properties.d.ts.map +1 -0
  117. package/lib/rules/enforce-logical-properties.js +118 -0
  118. package/lib/rules/enforce-logical-properties.js.map +1 -0
  119. package/lib/rules/enforce-shorthand-classes.d.ts +172 -2
  120. package/lib/rules/enforce-shorthand-classes.d.ts.map +1 -1
  121. package/lib/rules/no-conflicting-classes.d.ts +172 -2
  122. package/lib/rules/no-conflicting-classes.d.ts.map +1 -1
  123. package/lib/rules/no-deprecated-classes.d.ts +173 -3
  124. package/lib/rules/no-deprecated-classes.d.ts.map +1 -1
  125. package/lib/rules/no-duplicate-classes.d.ts +172 -2
  126. package/lib/rules/no-duplicate-classes.d.ts.map +1 -1
  127. package/lib/rules/no-restricted-classes.d.ts +172 -2
  128. package/lib/rules/no-restricted-classes.d.ts.map +1 -1
  129. package/lib/rules/no-unknown-classes.d.ts +172 -2
  130. package/lib/rules/no-unknown-classes.d.ts.map +1 -1
  131. package/lib/rules/no-unknown-classes.js +8 -7
  132. package/lib/rules/no-unknown-classes.js.map +1 -1
  133. package/lib/rules/no-unnecessary-whitespace.d.ts +172 -2
  134. package/lib/rules/no-unnecessary-whitespace.d.ts.map +1 -1
  135. package/lib/tailwindcss/dissect-classes.async.v3.d.ts.map +1 -1
  136. package/lib/tailwindcss/dissect-classes.async.v3.js +4 -3
  137. package/lib/tailwindcss/dissect-classes.async.v3.js.map +1 -1
  138. package/lib/tailwindcss/dissect-classes.async.v4.d.ts.map +1 -1
  139. package/lib/tailwindcss/dissect-classes.async.v4.js +6 -5
  140. package/lib/tailwindcss/dissect-classes.async.v4.js.map +1 -1
  141. package/lib/tailwindcss/tailwind.async.worker.v3.js +5 -0
  142. package/lib/tailwindcss/tailwind.async.worker.v3.js.map +1 -1
  143. package/lib/tailwindcss/tailwind.async.worker.v4.js +6 -0
  144. package/lib/tailwindcss/tailwind.async.worker.v4.js.map +1 -1
  145. package/lib/tailwindcss/variant-order.async.v3.d.ts +3 -0
  146. package/lib/tailwindcss/variant-order.async.v3.d.ts.map +1 -0
  147. package/lib/tailwindcss/variant-order.async.v3.js +4 -0
  148. package/lib/tailwindcss/variant-order.async.v3.js.map +1 -0
  149. package/lib/tailwindcss/variant-order.async.v4.d.ts +3 -0
  150. package/lib/tailwindcss/variant-order.async.v4.d.ts.map +1 -0
  151. package/lib/tailwindcss/variant-order.async.v4.js +18 -0
  152. package/lib/tailwindcss/variant-order.async.v4.js.map +1 -0
  153. package/lib/tailwindcss/variant-order.d.ts +11 -0
  154. package/lib/tailwindcss/variant-order.d.ts.map +1 -0
  155. package/lib/tailwindcss/variant-order.js +15 -0
  156. package/lib/tailwindcss/variant-order.js.map +1 -0
  157. package/lib/types/rule.d.ts +27 -5
  158. package/lib/types/rule.d.ts.map +1 -1
  159. package/lib/types/rule.js +7 -0
  160. package/lib/types/rule.js.map +1 -1
  161. package/lib/utils/context.js +5 -5
  162. package/lib/utils/context.js.map +1 -1
  163. package/lib/utils/matchers.d.ts +1 -3
  164. package/lib/utils/matchers.d.ts.map +1 -1
  165. package/lib/utils/matchers.js +56 -37
  166. package/lib/utils/matchers.js.map +1 -1
  167. package/lib/utils/project.d.ts +4 -0
  168. package/lib/utils/project.d.ts.map +1 -0
  169. package/lib/utils/project.js +22 -0
  170. package/lib/utils/project.js.map +1 -0
  171. package/lib/utils/rule.d.ts +1 -1
  172. package/lib/utils/rule.d.ts.map +1 -1
  173. package/lib/utils/rule.js +50 -10
  174. package/lib/utils/rule.js.map +1 -1
  175. package/lib/utils/utils.d.ts.map +1 -1
  176. package/lib/utils/utils.js +6 -5
  177. package/lib/utils/utils.js.map +1 -1
  178. package/package.json +22 -21
package/lib/parsers/es.js CHANGED
@@ -1,5 +1,5 @@
1
- import { MatcherType } from "../types/rule.js";
2
- import { findMatchingParentNodes, getLiteralNodesByMatchers, isIndexedAccessLiteral, isInsideConditionalExpressionTest, isInsideDisallowedBinaryExpression, isInsideLogicalExpressionLeft, isInsideMemberExpression, matchesPathPattern } from "../utils/matchers.js";
1
+ import { MATCHER_RESULT, MatcherType } from "../types/rule.js";
2
+ import { getLiteralNodesByMatchers, isIndexedAccessLiteral, isInsideConditionalExpressionTest, isInsideDisallowedBinaryExpression, isInsideLogicalExpressionLeft, isInsideMemberExpression, matchesPathPattern } from "../utils/matchers.js";
3
3
  import { createObjectPathElement, deduplicateLiterals, getContent, getIndentation, getQuotes, getWhitespace, isGenericNodeWithParent, matchesName } from "../utils/utils.js";
4
4
  export const ES_CONTAINER_TYPES_TO_REPLACE_QUOTES = [
5
5
  "ArrayExpression",
@@ -33,6 +33,26 @@ export function getLiteralsByESVariableDeclarator(ctx, node, selectors) {
33
33
  }, []);
34
34
  return literals.filter(deduplicateLiterals);
35
35
  }
36
+ export function getLiteralsByESExportDefaultDeclaration(ctx, node, selectors) {
37
+ const literals = selectors.reduce((literals, selector) => {
38
+ if (!matchesName(selector.name, "default")) {
39
+ return literals;
40
+ }
41
+ if (!isESExportDefaultExpression(node.declaration)) {
42
+ return literals;
43
+ }
44
+ if (!selector.match) {
45
+ literals.push(...getLiteralsByESExpression(ctx, [node.declaration]));
46
+ return literals;
47
+ }
48
+ if (isESArrowFunctionExpression(node.declaration) || isESCallExpression(node.declaration) || isESFunctionExpression(node.declaration)) {
49
+ return literals;
50
+ }
51
+ literals.push(...getLiteralsByESMatchers(ctx, node.declaration, selector.match));
52
+ return literals;
53
+ }, []);
54
+ return literals.filter(deduplicateLiterals);
55
+ }
36
56
  export function getLiteralsByESCallExpression(ctx, node, selectors) {
37
57
  if (isNestedCurriedCall(node)) {
38
58
  return [];
@@ -41,34 +61,62 @@ export function getLiteralsByESCallExpression(ctx, node, selectors) {
41
61
  if (!callChain) {
42
62
  return [];
43
63
  }
44
- const { baseCalleeName, calls } = callChain;
64
+ const calleePath = getESCalleeName(callChain[0].callee, "path");
65
+ const calleeName = getESCalleeName(callChain[0].callee, "name");
45
66
  const literals = selectors.reduce((literals, selector) => {
46
- const selectorName = selector.path ?? selector.name;
47
- if (!selectorName || !matchesName(selectorName, baseCalleeName)) {
67
+ if (!selector.path && !selector.name ||
68
+ (!selector.path || !matchesName(selector.path, calleePath)) &&
69
+ (!selector.name || !matchesName(selector.name, calleeName))) {
48
70
  return literals;
49
71
  }
50
- const targetCalls = getTargetCalls(calls, selector.callTarget);
72
+ const targetCall = selector.targetCall ?? selector.callTarget;
73
+ const targetCalls = getTargetCalls(callChain, targetCall);
51
74
  for (const targetCall of targetCalls) {
75
+ const targetArguments = getTargetArguments(targetCall.arguments, selector.targetArgument);
52
76
  if (!selector.match) {
53
- literals.push(...getLiteralsByESExpression(ctx, targetCall.arguments));
77
+ literals.push(...getLiteralsByESExpression(ctx, targetArguments));
54
78
  continue;
55
79
  }
56
- literals.push(...getLiteralsByESMatchers(ctx, targetCall, selector.match));
80
+ for (const targetArgument of targetArguments) {
81
+ literals.push(...getLiteralsByESMatchers(ctx, targetArgument, selector.match));
82
+ }
57
83
  }
58
84
  return literals;
59
85
  }, []);
60
86
  return literals.filter(deduplicateLiterals);
61
87
  }
62
88
  export function getLiteralsByTaggedTemplateExpression(ctx, node, selectors) {
89
+ const tagPath = getTaggedTemplateName(node.tag, "path");
90
+ const tagName = getTaggedTemplateName(node.tag, "name");
91
+ if (!tagPath && !tagName) {
92
+ return [];
93
+ }
63
94
  const literals = selectors.reduce((literals, selector) => {
64
- if (!isTaggedTemplateSymbol(node.tag)) {
95
+ if (!selector.path && !selector.name ||
96
+ (!selector.path || !matchesName(selector.path, tagPath)) &&
97
+ (!selector.name || !matchesName(selector.name, tagName))) {
65
98
  return literals;
66
99
  }
67
- if (!matchesName(selector.name, node.tag.name)) {
100
+ if (!selector.match) {
101
+ literals.push(...getLiteralsByESTemplateLiteral(ctx, node.quasi));
102
+ return literals;
103
+ }
104
+ literals.push(...getLiteralsByESMatchers(ctx, node, selector.match));
105
+ return literals;
106
+ }, []);
107
+ return literals.filter(deduplicateLiterals);
108
+ }
109
+ export function getLiteralsByESBareTemplateLiteral(ctx, node, selectors) {
110
+ const leadingComment = getLeadingComment(ctx, node);
111
+ if (isTaggedTemplateLiteral(node) || !leadingComment) {
112
+ return [];
113
+ }
114
+ const literals = selectors.reduce((literals, selector) => {
115
+ if (!selector.name || !matchesName(selector.name, leadingComment)) {
68
116
  return literals;
69
117
  }
70
118
  if (!selector.match) {
71
- literals.push(...getLiteralsByESTemplateLiteral(ctx, node.quasi));
119
+ literals.push(...getLiteralsByESTemplateLiteral(ctx, node));
72
120
  return literals;
73
121
  }
74
122
  literals.push(...getLiteralsByESMatchers(ctx, node, selector.match));
@@ -170,9 +218,6 @@ function getMultilineQuotes(node) {
170
218
  }
171
219
  function getLiteralsByESExpression(ctx, args) {
172
220
  return args.reduce((acc, node) => {
173
- if (node.type === "SpreadElement") {
174
- return acc;
175
- }
176
221
  acc.push(...getLiteralsByESLiteralNode(ctx, node));
177
222
  return acc;
178
223
  }, []);
@@ -274,10 +319,12 @@ export function getESObjectPath(node) {
274
319
  }
275
320
  }
276
321
  if (isESStringLike(node) && isInsideObjectValue(node)) {
277
- const property = findMatchingParentNodes(node, [(node) => {
278
- return isESNode(node) && node.type === "Property";
279
- }])[0];
280
- return getESObjectPath(property);
322
+ const property = findMatchingParentNodes(node, (node) => {
323
+ return isESNode(node) && node.type === "Property";
324
+ });
325
+ if (property) {
326
+ return getESObjectPath(property);
327
+ }
281
328
  }
282
329
  if (isESObjectKey(node)) {
283
330
  const property = node.parent;
@@ -327,6 +374,15 @@ export function isInsideObjectValue(node) {
327
374
  }
328
375
  return isInsideObjectValue(node.parent);
329
376
  }
377
+ function findMatchingParentNodes(node, matchesNode) {
378
+ if (!isGenericNodeWithParent(node)) {
379
+ return;
380
+ }
381
+ if (matchesNode(node.parent)) {
382
+ return node.parent;
383
+ }
384
+ return findMatchingParentNodes(node.parent, matchesNode);
385
+ }
330
386
  export function isESSimpleStringLiteral(node) {
331
387
  return (node.type === "Literal" &&
332
388
  "value" in node &&
@@ -355,6 +411,24 @@ export function isESArrowFunctionExpression(node) {
355
411
  export function isESFunctionExpression(node) {
356
412
  return node.type === "FunctionExpression";
357
413
  }
414
+ export function isESFunctionDeclaration(node) {
415
+ return node.type === "FunctionDeclaration";
416
+ }
417
+ export function isESAnonymousFunction(node) {
418
+ if (isESArrowFunctionExpression(node)) {
419
+ return true;
420
+ }
421
+ if (isESFunctionExpression(node) && node.id === null) {
422
+ return true;
423
+ }
424
+ return false;
425
+ }
426
+ export function isESArrowFunctionWithoutBody(node) {
427
+ return isESArrowFunctionExpression(node) && node.body.type !== "BlockStatement";
428
+ }
429
+ export function isESReturnStatement(node) {
430
+ return node.type === "ReturnStatement";
431
+ }
358
432
  function getESMemberExpressionPropertyName(node) {
359
433
  if (!node.computed && node.property.type === "Identifier") {
360
434
  return node.property.name;
@@ -363,7 +437,7 @@ function getESMemberExpressionPropertyName(node) {
363
437
  return node.property.value;
364
438
  }
365
439
  }
366
- function getESCalleeName(node) {
440
+ function getESCalleeName(node, type) {
367
441
  if (node.type === "Identifier" && "name" in node && typeof node.name === "string") {
368
442
  return node.name;
369
443
  }
@@ -372,15 +446,37 @@ function getESCalleeName(node) {
372
446
  if (memberNode.object.type === "Super") {
373
447
  return;
374
448
  }
375
- const object = getESCalleeName(memberNode.object);
449
+ const object = getESCalleeName(memberNode.object, type);
376
450
  const property = getESMemberExpressionPropertyName(memberNode);
377
- if (!object || !property) {
451
+ if (!property) {
452
+ return;
453
+ }
454
+ if (type === "name") {
455
+ return property;
456
+ }
457
+ if (!object) {
378
458
  return;
379
459
  }
380
460
  return `${object}.${property}`;
381
461
  }
382
462
  if (node.type === "ChainExpression" && "expression" in node) {
383
- return getESCalleeName(node.expression);
463
+ return getESCalleeName(node.expression, type);
464
+ }
465
+ }
466
+ function getTaggedTemplateName(node, type) {
467
+ if (node.type === "Identifier" && "name" in node && typeof node.name === "string" &&
468
+ hasESNodeParentExtension(node) &&
469
+ isTaggedTemplateExpression(node.parent)) {
470
+ return node.name;
471
+ }
472
+ if (node.type === "MemberExpression") {
473
+ return getESCalleeName(node, type);
474
+ }
475
+ if (node.type === "CallExpression") {
476
+ return getESCalleeName(node.callee, type);
477
+ }
478
+ if (node.type === "ChainExpression" && "expression" in node) {
479
+ return getTaggedTemplateName(node.expression, type);
384
480
  }
385
481
  }
386
482
  function isNestedCurriedCall(node) {
@@ -393,45 +489,71 @@ function getCurriedCallChain(node) {
393
489
  currentCall = currentCall.callee;
394
490
  calls.unshift(currentCall);
395
491
  }
396
- const baseCalleeName = getESCalleeName(currentCall.callee);
397
- if (!baseCalleeName) {
398
- return;
492
+ return calls;
493
+ }
494
+ function getTargetCalls(callChain, callTarget) {
495
+ return getTargetItems(callChain, callTarget, "first");
496
+ }
497
+ function getTargetArguments(args, argumentTarget) {
498
+ const expressionArgs = args.map((arg) => {
499
+ return arg.type === "SpreadElement"
500
+ ? arg.argument
501
+ : arg;
502
+ });
503
+ if (typeof argumentTarget !== "number") {
504
+ return getTargetItems(expressionArgs, argumentTarget, "all");
399
505
  }
400
- return {
401
- baseCalleeName,
402
- calls
403
- };
506
+ if (args.length === 0) {
507
+ return [];
508
+ }
509
+ const index = argumentTarget >= 0
510
+ ? argumentTarget
511
+ : args.length + argumentTarget;
512
+ if (index < 0 || index >= args.length) {
513
+ return [];
514
+ }
515
+ const targetArg = args[index];
516
+ return [targetArg.type === "SpreadElement" ? targetArg.argument : targetArg];
404
517
  }
405
- function getTargetCalls(calls, callTarget) {
406
- if (calls.length === 0) {
518
+ function getTargetItems(items, target, defaultTarget) {
519
+ if (items.length === 0) {
407
520
  return [];
408
521
  }
409
- if (callTarget === "all") {
410
- return calls;
522
+ if (target === "all" || target === undefined && defaultTarget === "all") {
523
+ return items;
411
524
  }
412
- if (callTarget === "last") {
413
- return [calls[calls.length - 1]];
525
+ if (target === "last") {
526
+ return [items[items.length - 1]];
414
527
  }
415
- if (callTarget === undefined || callTarget === "first") {
416
- return [calls[0]];
528
+ if (target === undefined || target === "first") {
529
+ return [items[0]];
417
530
  }
418
- const index = callTarget >= 0
419
- ? callTarget
420
- : calls.length + callTarget;
421
- if (index < 0 || index >= calls.length) {
531
+ const index = target >= 0
532
+ ? target
533
+ : items.length + target;
534
+ if (index < 0 || index >= items.length) {
422
535
  return [];
423
536
  }
424
- return [calls[index]];
537
+ return [items[index]];
425
538
  }
426
539
  function isTaggedTemplateExpression(node) {
427
540
  return node.type === "TaggedTemplateExpression";
428
541
  }
429
- function isTaggedTemplateSymbol(node) {
430
- return node.type === "Identifier" && !!node.parent && isTaggedTemplateExpression(node.parent);
542
+ function isTaggedTemplateLiteral(node) {
543
+ return hasESNodeParentExtension(node) && isTaggedTemplateExpression(node.parent);
431
544
  }
432
545
  export function isESVariableDeclarator(node) {
433
546
  return node.type === "VariableDeclarator";
434
547
  }
548
+ function isESExportDefaultExpression(node) {
549
+ if (node.type === "FunctionDeclaration") {
550
+ return false;
551
+ }
552
+ if (node.type === "ClassDeclaration") {
553
+ return false;
554
+ }
555
+ return true;
556
+ }
435
557
  function isESVariableSymbol(node) {
436
558
  return node.type === "Identifier" && !!node.parent && isESVariableDeclarator(node.parent);
437
559
  }
@@ -450,6 +572,18 @@ function getIsInterpolated(ctx, raw) {
450
572
  const braces = getBracesByString(ctx, raw);
451
573
  return !!braces.closingBraces || !!braces.openingBraces;
452
574
  }
575
+ function getLeadingComment(ctx, node) {
576
+ try {
577
+ const token = ctx.sourceCode.getTokenBefore(node, { includeComments: true });
578
+ if (token && isESTokenComment(token)) {
579
+ return token.value.trim();
580
+ }
581
+ }
582
+ catch { }
583
+ }
584
+ function isESTokenComment(token) {
585
+ return (token.type === "Block" || token.type === "Line") && typeof token.value === "string";
586
+ }
453
587
  function getStringConcatenationMeta(node, isConcatenatedLeft = false, isConcatenatedRight = false) {
454
588
  if (!hasESNodeParentExtension(node)) {
455
589
  return {
@@ -463,11 +597,59 @@ function getStringConcatenationMeta(node, isConcatenatedLeft = false, isConcaten
463
597
  }
464
598
  return getStringConcatenationMeta(parent, isConcatenatedLeft, isConcatenatedRight);
465
599
  }
466
- function getESMatcherFunctions(matchers) {
600
+ export function getESMatcherFunctions(matchers, options) {
467
601
  return matchers.reduce((matcherFunctions, matcher) => {
468
602
  switch (matcher.type) {
603
+ case MatcherType.AnonymousFunctionReturn: {
604
+ matcherFunctions.push(node => {
605
+ if (isESNode(node) && (isESCallExpression(node) ||
606
+ isESVariableDeclarator(node))) {
607
+ return MATCHER_RESULT.UNCROSSABLE_BOUNDARY;
608
+ }
609
+ if (!isESNode(node) ||
610
+ !hasESNodeParentExtension(node) ||
611
+ !isESAnonymousFunction(node)) {
612
+ return MATCHER_RESULT.NO_MATCH;
613
+ }
614
+ // return matchers directly if the arrow function immediately returns
615
+ if (isESArrowFunctionWithoutBody(node)) {
616
+ return [(node) => {
617
+ if (!isESNode(node) ||
618
+ !hasESNodeParentExtension(node) ||
619
+ !isESArrowFunctionWithoutBody(node.parent) ||
620
+ node !== node.parent.body) {
621
+ return MATCHER_RESULT.NO_MATCH;
622
+ }
623
+ return getESMatcherFunctions(matcher.match, options);
624
+ }];
625
+ }
626
+ // create a matcher function that first matches the return statement and then the final matchers
627
+ return [(node) => {
628
+ if (isESNode(node) && (isESCallExpression(node) ||
629
+ isESArrowFunctionExpression(node) ||
630
+ isESVariableDeclarator(node) ||
631
+ isESFunctionExpression(node) ||
632
+ isESFunctionDeclaration(node))) {
633
+ return MATCHER_RESULT.UNCROSSABLE_BOUNDARY;
634
+ }
635
+ if (!isESNode(node) ||
636
+ !hasESNodeParentExtension(node) ||
637
+ !isESReturnStatement(node)) {
638
+ return MATCHER_RESULT.NO_MATCH;
639
+ }
640
+ return getESMatcherFunctions(matcher.match, options);
641
+ }];
642
+ });
643
+ break;
644
+ }
469
645
  case MatcherType.String: {
470
- matcherFunctions.push((node) => {
646
+ matcherFunctions.push(node => {
647
+ if (isESNode(node) && (isESCallExpression(node) ||
648
+ isESArrowFunctionExpression(node) ||
649
+ isESVariableDeclarator(node) ||
650
+ isESFunctionExpression(node))) {
651
+ return MATCHER_RESULT.UNCROSSABLE_BOUNDARY;
652
+ }
471
653
  if (!isESNode(node) ||
472
654
  !hasESNodeParentExtension(node) ||
473
655
  isInsideDisallowedBinaryExpression(node) ||
@@ -476,14 +658,20 @@ function getESMatcherFunctions(matchers) {
476
658
  isIndexedAccessLiteral(node) ||
477
659
  isESObjectKey(node) ||
478
660
  isInsideObjectValue(node)) {
479
- return false;
661
+ return MATCHER_RESULT.NO_MATCH;
480
662
  }
481
- return isESStringLike(node);
663
+ return isESStringLike(node) || !!options?.isStringLikeNode?.(node);
482
664
  });
483
665
  break;
484
666
  }
485
667
  case MatcherType.ObjectKey: {
486
- matcherFunctions.push((node) => {
668
+ matcherFunctions.push(node => {
669
+ if (isESNode(node) && (isESCallExpression(node) ||
670
+ isESArrowFunctionExpression(node) ||
671
+ isESVariableDeclarator(node) ||
672
+ isESFunctionExpression(node))) {
673
+ return MATCHER_RESULT.UNCROSSABLE_BOUNDARY;
674
+ }
487
675
  if (!isESNode(node) ||
488
676
  !hasESNodeParentExtension(node) ||
489
677
  !isESObjectKey(node) ||
@@ -492,18 +680,24 @@ function getESMatcherFunctions(matchers) {
492
680
  isInsideLogicalExpressionLeft(node) ||
493
681
  isInsideMemberExpression(node) ||
494
682
  isIndexedAccessLiteral(node)) {
495
- return false;
683
+ return MATCHER_RESULT.NO_MATCH;
496
684
  }
497
685
  const path = getESObjectPath(node);
498
686
  if (!path || !matcher.path) {
499
- return true;
687
+ return MATCHER_RESULT.MATCH;
500
688
  }
501
689
  return matchesPathPattern(path, matcher.path);
502
690
  });
503
691
  break;
504
692
  }
505
693
  case MatcherType.ObjectValue: {
506
- matcherFunctions.push((node) => {
694
+ matcherFunctions.push(node => {
695
+ if (isESNode(node) && (isESCallExpression(node) ||
696
+ isESArrowFunctionExpression(node) ||
697
+ isESVariableDeclarator(node) ||
698
+ isESFunctionExpression(node))) {
699
+ return MATCHER_RESULT.UNCROSSABLE_BOUNDARY;
700
+ }
507
701
  if (!isESNode(node) ||
508
702
  !hasESNodeParentExtension(node) ||
509
703
  !isInsideObjectValue(node) ||
@@ -512,12 +706,12 @@ function getESMatcherFunctions(matchers) {
512
706
  isInsideLogicalExpressionLeft(node) ||
513
707
  isESObjectKey(node) ||
514
708
  isIndexedAccessLiteral(node) ||
515
- !isESStringLike(node)) {
516
- return false;
709
+ !isESStringLike(node) && !options?.isStringLikeNode?.(node)) {
710
+ return MATCHER_RESULT.NO_MATCH;
517
711
  }
518
712
  const path = getESObjectPath(node);
519
713
  if (!path || !matcher.path) {
520
- return true;
714
+ return MATCHER_RESULT.MATCH;
521
715
  }
522
716
  return matchesPathPattern(path, matcher.path);
523
717
  });
@@ -1 +1 @@
1
- {"version":3,"file":"es.js","sourceRoot":"","sources":["../../src/parsers/es.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"es.js","sourceRoot":"","sources":["../../src/parsers/es.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../src/parsers/svelte.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAEV,eAAe,EACf,eAAe,EAQf,cAAc,EAEf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAEV,OAAO,EAIR,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAqC,MAAM,kCAAkC,CAAC;AAG7G,eAAO,MAAM,wCAAwC,UAGpD,CAAC;AAEF,eAAO,MAAM,uCAAuC,EAAE,MAAM,EAC3D,CAAC;AAGF,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG,eAAe,EAAE,CAOvG;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG,eAAe,EAAE,CAOvG;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,EAAE,CA6BzI;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,EAAE,CAyBzI"}
1
+ {"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../src/parsers/svelte.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAEV,eAAe,EACf,eAAe,EAQf,cAAc,EAEf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAEV,OAAO,EAIR,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAqC,MAAM,kCAAkC,CAAC;AAG7G,eAAO,MAAM,wCAAwC,UAGpD,CAAC;AAEF,eAAO,MAAM,uCAAuC,EAAE,MAAM,EAC3D,CAAC;AAGF,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG,eAAe,EAAE,CAOvG;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG,eAAe,EAAE,CAOvG;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,EAAE,CA6BzI;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,EAAE,CAyBzI"}
@@ -1,6 +1,5 @@
1
- import { ES_CONTAINER_TYPES_TO_REPLACE_QUOTES, getESObjectPath, getLiteralsByESLiteralNode, hasESNodeParentExtension, isESNode, isESObjectKey, isESStringLike, isInsideObjectValue } from "./es.js";
2
- import { MatcherType } from "../types/rule.js";
3
- import { getLiteralNodesByMatchers, isIndexedAccessLiteral, isInsideConditionalExpressionTest, isInsideDisallowedBinaryExpression, isInsideLogicalExpressionLeft, isInsideMemberExpression, matchesPathPattern } from "../utils/matchers.js";
1
+ import { ES_CONTAINER_TYPES_TO_REPLACE_QUOTES, getESMatcherFunctions, getLiteralsByESLiteralNode, hasESNodeParentExtension, isESStringLike } from "./es.js";
2
+ import { getLiteralNodesByMatchers } from "../utils/matchers.js";
4
3
  import { addAttribute, deduplicateLiterals, getContent, getIndentation, getQuotes, getWhitespace, matchesName } from "../utils/utils.js";
5
4
  export const SVELTE_CONTAINER_TYPES_TO_REPLACE_QUOTES = [
6
5
  ...ES_CONTAINER_TYPES_TO_REPLACE_QUOTES,
@@ -196,67 +195,10 @@ function isSvelteMustacheTag(node) {
196
195
  "kind" in node && node.kind === "text";
197
196
  }
198
197
  function getSvelteMatcherFunctions(matchers) {
199
- return matchers.reduce((matcherFunctions, matcher) => {
200
- switch (matcher.type) {
201
- case MatcherType.String: {
202
- matcherFunctions.push((node) => {
203
- if (!isESNode(node) ||
204
- !hasESNodeParentExtension(node) ||
205
- isInsideDisallowedBinaryExpression(node) ||
206
- isInsideConditionalExpressionTest(node) ||
207
- isInsideLogicalExpressionLeft(node) ||
208
- isIndexedAccessLiteral(node) ||
209
- isESObjectKey(node) ||
210
- isInsideObjectValue(node)) {
211
- return false;
212
- }
213
- return isESStringLike(node) || isSvelteStringLiteral(node) || isSvelteName(node);
214
- });
215
- break;
216
- }
217
- case MatcherType.ObjectKey: {
218
- matcherFunctions.push((node) => {
219
- if (!isESNode(node) ||
220
- !hasESNodeParentExtension(node) ||
221
- !isESObjectKey(node) ||
222
- isInsideDisallowedBinaryExpression(node) ||
223
- isInsideConditionalExpressionTest(node) ||
224
- isInsideLogicalExpressionLeft(node) ||
225
- isInsideMemberExpression(node) ||
226
- isIndexedAccessLiteral(node)) {
227
- return false;
228
- }
229
- const path = getESObjectPath(node);
230
- if (!path || !matcher.path) {
231
- return true;
232
- }
233
- return matchesPathPattern(path, matcher.path);
234
- });
235
- break;
236
- }
237
- case MatcherType.ObjectValue: {
238
- matcherFunctions.push((node) => {
239
- if (!isESNode(node) ||
240
- !hasESNodeParentExtension(node) ||
241
- !isInsideObjectValue(node) ||
242
- isInsideDisallowedBinaryExpression(node) ||
243
- isInsideConditionalExpressionTest(node) ||
244
- isInsideLogicalExpressionLeft(node) ||
245
- isESObjectKey(node) ||
246
- isIndexedAccessLiteral(node) ||
247
- !isESStringLike(node) && !isSvelteStringLiteral(node)) {
248
- return false;
249
- }
250
- const path = getESObjectPath(node);
251
- if (!path || !matcher.path) {
252
- return true;
253
- }
254
- return matchesPathPattern(path, matcher.path);
255
- });
256
- break;
257
- }
198
+ return getESMatcherFunctions(matchers, {
199
+ isStringLikeNode(node) {
200
+ return isSvelteName(node) || isSvelteStringLiteral(node);
258
201
  }
259
- return matcherFunctions;
260
- }, []);
202
+ });
261
203
  }
262
204
  //# sourceMappingURL=svelte.js.map