UNPKG

eslint-plugin-better-tailwindcss

Version:

auto-wraps tailwind classes after a certain print width or class count into multiple lines to improve readability.

66 lines 2.51 kB
import { enforceConsistentVariableSyntax } from "../rules/enforce-consistent-variable-syntax.js"; import { multiline } from "../rules/multiline.js"; import { noConflictingClasses } from "../rules/no-conflicting-classes.js"; import { noDuplicateClasses } from "../rules/no-duplicate-classes.js"; import { noRestrictedClasses } from "../rules/no-restricted-classes.js"; import { noUnnecessaryWhitespace } from "../rules/no-unnecessary-whitespace.js"; import { noUnregisteredClasses } from "../rules/no-unregistered-classes.js"; import { sortClasses } from "../rules/sort-classes.js"; const plugin = { meta: { name: "better-tailwindcss" }, rules: { [enforceConsistentVariableSyntax.name]: enforceConsistentVariableSyntax.rule, [multiline.name]: multiline.rule, [noConflictingClasses.name]: noConflictingClasses.rule, [noDuplicateClasses.name]: noDuplicateClasses.rule, [noRestrictedClasses.name]: noRestrictedClasses.rule, [noUnnecessaryWhitespace.name]: noUnnecessaryWhitespace.rule, [noUnregisteredClasses.name]: noUnregisteredClasses.rule, [sortClasses.name]: sortClasses.rule } }; const plugins = [plugin.meta.name]; const getStylisticRules = (severity = "warn") => { return { [`${plugin.meta.name}/${multiline.name}`]: severity, [`${plugin.meta.name}/${noDuplicateClasses.name}`]: severity, [`${plugin.meta.name}/${noUnnecessaryWhitespace.name}`]: severity, [`${plugin.meta.name}/${sortClasses.name}`]: severity }; }; const getCorrectnessRules = (severity = "error") => { return { [`${plugin.meta.name}/${noConflictingClasses.name}`]: severity, [`${plugin.meta.name}/${noUnregisteredClasses.name}`]: severity }; }; const createConfig = (name, getRulesFunction) => { return { [`${name}-error`]: { plugins, rules: getRulesFunction("error") }, [`${name}-warn`]: { plugins, rules: getRulesFunction("warn") }, [name]: { plugins, rules: getRulesFunction() } }; }; export const config = { ...plugin, configs: { ...createConfig("stylistic", getStylisticRules), ...createConfig("correctness", getCorrectnessRules), ...createConfig("recommended", severity => ({ ...getStylisticRules(severity), ...getCorrectnessRules(severity) })) } }; //# sourceMappingURL=config.js.map