UNPKG

@shayanthenerd/eslint-config

Version:

A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style

35 lines (33 loc) 1.57 kB
import { isEnabled } from "../utils/isEnabled.js"; import { defaultOptions } from "../utils/options/defaultOptions.js"; //#region src/rules/tailwind.ts function getTailwindRules(options) { const { tailwind, stylistic } = options.configs; const { multilineSort, ignoredUnregisteredClasses: userIgnoredUnregisteredClasses } = isEnabled(tailwind) ? tailwind : defaultOptions.configs.tailwind; const { indent, useTabs, maxLineLength } = isEnabled(stylistic) ? stylistic : defaultOptions.configs.stylistic; const isTailwindV4 = isEnabled(tailwind) && tailwind.entryPoint; const tailwindRules = { "@stylistic/max-len": "off", "css/no-duplicate-imports": "off", "better-tailwindcss/no-duplicate-classes": "error", "better-tailwindcss/no-deprecated-classes": "error", "better-tailwindcss/no-conflicting-classes": "error", "better-tailwindcss/enforce-shorthand-classes": "warn", "better-tailwindcss/no-unnecessary-whitespace": "warn", "better-tailwindcss/enforce-consistent-class-order": "warn", "better-tailwindcss/enforce-consistent-variable-syntax": "warn", "better-tailwindcss/enforce-consistent-important-position": "warn", "better-tailwindcss/no-unregistered-classes": [isTailwindV4 ? "warn" : "off", { detectComponentClasses: true, ignore: userIgnoredUnregisteredClasses }], "better-tailwindcss/enforce-consistent-line-wrapping": [multilineSort ? "warn" : "off", { preferSingleLine: true, printWidth: maxLineLength, indent: useTabs ? "tab" : indent }] }; return tailwindRules; } //#endregion export { getTailwindRules };