pasika 0.10.26 → 0.10.28
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.
- package/dist/eslint/pasika/index.js +36 -5
- package/package.json +1 -1
|
@@ -729,6 +729,7 @@ var noArbitraryTailwindRule = {
|
|
|
729
729
|
|
|
730
730
|
// eslint/rules/unknown-utility.ts
|
|
731
731
|
import { existsSync, readdirSync, readFileSync as readFileSync2, statSync } from "fs";
|
|
732
|
+
import { createRequire as createRequire2 } from "module";
|
|
732
733
|
import path5 from "path";
|
|
733
734
|
var PREFIX_NAMESPACES = {
|
|
734
735
|
bg: ["color"],
|
|
@@ -935,6 +936,31 @@ var STATIC_COLOR_SPECIALS = /* @__PURE__ */ new Set(["transparent", "current", "
|
|
|
935
936
|
var NUMERIC_TOKEN_RE = /^-?(?:\d+\.?\d*|\.\d+)(?:%|px|rem|em)?$/;
|
|
936
937
|
var SIDE_WIDTH_TOKEN_RE = /^(?:x|y|t|r|b|l|s|e)-(?:\d+\.?\d*|\.\d+)(?:%|px|rem|em)?$/;
|
|
937
938
|
var OFFSET_TOKEN_RE = /^offset-(?:\d+\.?\d*|\.\d+)(?:%|px|rem|em)?$/;
|
|
939
|
+
var require2 = createRequire2(import.meta.url);
|
|
940
|
+
var tailwindMerge;
|
|
941
|
+
function getTailwindMerge() {
|
|
942
|
+
if (tailwindMerge !== void 0) return tailwindMerge ?? void 0;
|
|
943
|
+
try {
|
|
944
|
+
const moduleValue = require2("tailwind-merge");
|
|
945
|
+
if (typeof moduleValue === "object" && moduleValue !== null && "twMerge" in moduleValue && typeof moduleValue.twMerge === "function") {
|
|
946
|
+
const merge = moduleValue.twMerge;
|
|
947
|
+
tailwindMerge = (...classLists) => {
|
|
948
|
+
const result = Reflect.apply(merge, void 0, classLists);
|
|
949
|
+
return typeof result === "string" ? result : classLists.join(" ");
|
|
950
|
+
};
|
|
951
|
+
} else {
|
|
952
|
+
tailwindMerge = null;
|
|
953
|
+
}
|
|
954
|
+
} catch {
|
|
955
|
+
tailwindMerge = null;
|
|
956
|
+
}
|
|
957
|
+
return tailwindMerge ?? void 0;
|
|
958
|
+
}
|
|
959
|
+
function isBuiltInTailwindUtility(utility) {
|
|
960
|
+
const twMerge = getTailwindMerge();
|
|
961
|
+
if (!twMerge) return void 0;
|
|
962
|
+
return twMerge(utility, utility) === utility;
|
|
963
|
+
}
|
|
938
964
|
function stylesheetFiles(dir) {
|
|
939
965
|
let entries;
|
|
940
966
|
try {
|
|
@@ -1103,9 +1129,8 @@ function isColorToken(token, inventory) {
|
|
|
1103
1129
|
}
|
|
1104
1130
|
function isKnown(className, inventory) {
|
|
1105
1131
|
if (className.includes("[") || className.includes("(")) return true;
|
|
1106
|
-
const
|
|
1107
|
-
const
|
|
1108
|
-
const utility = segments[segments.length - 1] ?? "";
|
|
1132
|
+
const segments = className.replace(/!+$/, "").split(":");
|
|
1133
|
+
const utility = (segments[segments.length - 1] ?? "").split("/")[0] ?? "";
|
|
1109
1134
|
if (!utility.includes("-")) return true;
|
|
1110
1135
|
const dash = utility.indexOf("-");
|
|
1111
1136
|
const firstTwo = utility.split("-").slice(0, 2).join("-");
|
|
@@ -1124,7 +1149,7 @@ function isKnown(className, inventory) {
|
|
|
1124
1149
|
if (!inventory.defaultsReset && DEFAULT_TOKENS[prefix]?.includes(token)) return true;
|
|
1125
1150
|
return false;
|
|
1126
1151
|
}
|
|
1127
|
-
return !inventory.utilityPrefixes.has(prefix);
|
|
1152
|
+
return isBuiltInTailwindUtility(utility) ?? !inventory.utilityPrefixes.has(prefix);
|
|
1128
1153
|
}
|
|
1129
1154
|
if (NUMERIC_TOKEN_RE.test(token) || SIDE_WIDTH_TOKEN_RE.test(token) || OFFSET_TOKEN_RE.test(token)) return true;
|
|
1130
1155
|
if (PREFIX_BUILTINS[prefix]?.includes(token)) return true;
|
|
@@ -1184,7 +1209,13 @@ var unknownUtilityRule = {
|
|
|
1184
1209
|
return;
|
|
1185
1210
|
}
|
|
1186
1211
|
if (expression.type === "TemplateLiteral") {
|
|
1187
|
-
|
|
1212
|
+
const lastQuasi = expression.quasis.length - 1;
|
|
1213
|
+
for (const [index, quasi] of expression.quasis.entries()) {
|
|
1214
|
+
let value = quasi.value.raw;
|
|
1215
|
+
if (index > 0) value = value.replace(/^\S*/, "");
|
|
1216
|
+
if (index < lastQuasi) value = value.replace(/\S*$/, "");
|
|
1217
|
+
reportUnknownClasses(node, value);
|
|
1218
|
+
}
|
|
1188
1219
|
return;
|
|
1189
1220
|
}
|
|
1190
1221
|
if (expression.type === "LogicalExpression") {
|