eslint.config.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import comments from "@eslint-community/eslint-plugin-eslint-comments/configs";
  2. import { fixupPluginRules } from "@eslint/compat";
  3. import js 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 globals from "globals";
  9. import tseslint from "typescript-eslint";
  10. export default tseslint.config(
  11. js.configs.recommended,
  12. importPlugin.flatConfigs.recommended,
  13. comments.recommended,
  14. ...tseslint.configs.recommended,
  15. ...tailwind.configs["flat/recommended"],
  16. {
  17. plugins: {
  18. "@typescript-eslint": tseslint.plugin,
  19. deprecation: fixupPluginRules(deprecationPlugin),
  20. import: fixupPluginRules(importPlugin),
  21. "simple-import-sort": simpleImportSortPlugin,
  22. },
  23. ignores: ["**/node_modules/**", "**/public/**"],
  24. languageOptions: {
  25. parserOptions: {
  26. projectService: true,
  27. tsconfigRootDir: import.meta.dirname,
  28. ecmaVersion: "latest",
  29. sourceType: "module",
  30. project: ["./tsconfig.json"],
  31. },
  32. globals: {
  33. ...globals.node,
  34. },
  35. },
  36. files: ["**/*.{js,mjs,cjs}"],
  37. rules: {
  38. "tailwindcss/no-custom-classname": [
  39. "error",
  40. {
  41. config: "./tailwind.config.js",
  42. whitelist: [
  43. "select_container",
  44. "convert_to_popup",
  45. "convert_to_group",
  46. "target",
  47. "convert_to_target",
  48. ],
  49. },
  50. ],
  51. "import/no-named-as-default": "off",
  52. },
  53. },
  54. );