123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import js from "@eslint/js";
- import eslintParserTypeScript from "@typescript-eslint/parser";
- import type { Linter } from "eslint";
- import eslintPluginBetterTailwindcss from "eslint-plugin-better-tailwindcss";
- import simpleImportSortPlugin from "eslint-plugin-simple-import-sort";
- import globals from "globals";
- import tseslint from "typescript-eslint";
- export default [
- js.configs.recommended,
- ...tseslint.configs.recommended,
- // ...tailwind.configs["flat/recommended"],
- {
- plugins: {
- "simple-import-sort": simpleImportSortPlugin,
- "better-tailwindcss": eslintPluginBetterTailwindcss,
- },
- ignores: ["**/node_modules/**"],
- languageOptions: {
- parser: eslintParserTypeScript,
- parserOptions: {
- project: true,
- ecmaFeatures: {
- jsx: true,
- },
- },
- globals: {
- ...globals.node,
- ...globals.browser,
- },
- },
- files: ["**/*.{js,mjs,cjs,jsx,tsx,ts}"],
- settings: {
- "better-tailwindcss": {
- entryPoint: "src/main.css",
- },
- },
- rules: {
- ...(eslintPluginBetterTailwindcss.configs["recommended-warn"] ?? {}).rules,
- ...(eslintPluginBetterTailwindcss.configs["stylistic-warn"] ?? {}).rules,
- // "tailwindcss/classnames-order": "off",
- "better-tailwindcss/multiline": [
- "warn",
- {
- group: "newLine",
- printWidth: 100,
- },
- ],
- "better-tailwindcss/no-unregistered-classes": [
- "warn",
- {
- ignore: [
- "^group(?:\\/(\\S*))?$",
- "^peer(?:\\/(\\S*))?$",
- "select_container",
- "convert_to_popup",
- "convert_to_group",
- "target",
- "convert_to_target",
- "job-details-toggle",
- ],
- },
- ],
- },
- },
- ] as Linter.Config[];
|