eslint.config.mjs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { fixupPluginRules } from "@eslint/compat";
  2. import tseslint from "typescript-eslint";
  3. import eslint from "@eslint/js";
  4. import deprecationPlugin from "eslint-plugin-deprecation";
  5. import importPlugin from "eslint-plugin-import";
  6. import simpleImportSortPlugin from "eslint-plugin-simple-import-sort";
  7. import tailwind from "eslint-plugin-tailwindcss";
  8. import comments from "@eslint-community/eslint-plugin-eslint-comments/configs"
  9. export default tseslint.config(
  10. {
  11. plugins: {
  12. "@typescript-eslint": tseslint.plugin,
  13. deprecation: fixupPluginRules(deprecationPlugin),
  14. import: fixupPluginRules(importPlugin),
  15. "simple-import-sort": simpleImportSortPlugin,
  16. },
  17. },
  18. {
  19. ignores: ["**/node_modules/**", "**/public/**"],
  20. },
  21. eslint.configs.recommended,
  22. comments.recommended,
  23. ...tseslint.configs.recommendedTypeChecked,
  24. ...tseslint.configs.stylisticTypeChecked,
  25. ...tailwind.configs["flat/recommended"],
  26. {
  27. languageOptions: {
  28. parserOptions: {
  29. projectService: true,
  30. tsconfigRootDir: import.meta.dirname,
  31. ecmaVersion: "latest",
  32. sourceType: "module",
  33. project: ["./tsconfig.json"],
  34. },
  35. },
  36. rules: {
  37. "tailwindcss/no-custom-classname": [
  38. "error",
  39. {
  40. "config": "./tailwind.config.js",
  41. "whitelist": ['select_container', 'convert_to_popup', 'convert_to_group', 'target', 'convert_to_target']
  42. }
  43. ],
  44. }
  45. },
  46. );