@shayanthenerd/eslint-config
Version:
A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style
31 lines (30 loc) • 1.11 kB
JavaScript
import { globs } from "../helpers/globs.mjs";
import { isEnabled } from "../utils/isEnabled.mjs";
import { defaultOptions } from "../helpers/options/defaultOptions.mjs";
import { getCssRules } from "../rules/css.mjs";
import eslintPluginCss from "@eslint/css";
import { mergeConfigs } from "eslint-flat-config-utils";
import eslintPluginUnicorn from "eslint-plugin-unicorn";
import { tailwind3, tailwind4 } from "tailwind-csstree";
//#region src/configs/css.ts
function getCssConfig(options) {
const { css, unicorn, tailwind } = options.configs;
const { overrides } = isEnabled(css) ? css : defaultOptions.configs.css;
const tailwindSyntax = isEnabled(tailwind) && tailwind.entryPoint ? tailwind4 : tailwind3;
return mergeConfigs({
name: "shayanthenerd/css",
files: [globs.css],
plugins: {
css: eslintPluginCss,
...isEnabled(unicorn) && { unicorn: eslintPluginUnicorn }
},
language: "css/css",
languageOptions: {
tolerant: true,
customSyntax: isEnabled(tailwind) ? tailwindSyntax : void 0
},
rules: getCssRules(options)
}, overrides);
}
//#endregion
export { getCssConfig };