UNPKG

@nivalis/eslint-config

Version:

ESLint shareable flat config used at Nivalis Studio

44 lines (43 loc) 1.87 kB
import { GLOB_REACT } from "./index.js"; import { defineConfig } from "eslint/config"; import path from "node:path"; import { existsSync } from "node:fs"; import tailwind from "eslint-plugin-better-tailwindcss"; //#region src/configs/tailwindcss.ts const tailwindcss = (options) => { if (options === false) return defineConfig([]); const configPath = path.join(process.cwd(), options?.configPath ?? "./tailwind.config.ts"); if (!existsSync(configPath)) throw new Error(`Tailwind config not found. The file ${configPath} does not exist. Please check your configuration.`); const cssGlobalPath = path.join(process.cwd(), options?.cssGlobalPath ?? "./src/styles/globals.css"); if (!existsSync(cssGlobalPath)) throw new Error(`Tailwind css globals files not found. The file ${cssGlobalPath} does not exist. Please check your configuration.`); return defineConfig([{ name: "nivalis/tailwindcss", files: [GLOB_REACT], plugins: { "better-tailwindcss": tailwind }, settings: { "better-tailwindcss": { callees: [ "cn", "classnames", "clsx", "cva" ], entryPoint: cssGlobalPath, tailwindConfig: configPath } }, rules: { "better-tailwindcss/enforce-consistent-class-order": "off", "better-tailwindcss/enforce-consistent-important-position": "off", "better-tailwindcss/enforce-consistent-line-wrapping": "off", "better-tailwindcss/enforce-consistent-variable-syntax": "error", "better-tailwindcss/enforce-shorthand-classes": "warn", "better-tailwindcss/no-conflicting-classes": "error", "better-tailwindcss/no-deprecated-classes": "error", "better-tailwindcss/no-duplicate-classes": "error", "better-tailwindcss/no-restricted-classes": "error", "better-tailwindcss/no-unnecessary-whitespace": "warn", "better-tailwindcss/no-unregistered-classes": "off" } }]); }; //#endregion export { tailwindcss };