eslint-plugin-better-tailwindcss
Version:
auto-wraps tailwind classes after a certain print width or class count into multiple lines to improve readability.
31 lines • 1.18 kB
JavaScript
import { lintClasses } from "../utils/lint.js";
import { createRule } from "../utils/rule.js";
import { isConcatenatedClass, isConcatenatedLiteral } from "../utils/utils.js";
export const noConcatenatedClasses = createRule({
autofix: false,
category: "correctness",
description: "Disallow concatenated classes in Tailwind CSS class strings.",
docs: "https://github.com/schoero/eslint-plugin-better-tailwindcss/blob/main/docs/rules/no-concatenated-classes.md",
name: "no-concatenated-classes",
recommended: true,
messages: {
concatenated: "Concatenated classes may be purged by Tailwind CSS. Avoid dynamic class construction."
},
lintLiterals: (ctx, literals) => lintLiterals(ctx, literals)
});
function lintLiterals(ctx, literals) {
for (const literal of literals) {
if (!isConcatenatedLiteral(literal)) {
continue;
}
lintClasses(ctx, literal, (_, index) => {
if (!isConcatenatedClass(literal, index)) {
return;
}
return {
id: "concatenated"
};
});
}
}
//# sourceMappingURL=no-concatenated-classes.js.map