Files
postshop-frontend/eslint.config.mjs
2025-11-22 20:59:28 +05:00

55 lines
1.4 KiB
JavaScript

import { defineConfig, globalIgnores } from "eslint/config";
import nextVitals from "eslint-config-next/core-web-vitals";
import nextTs from "eslint-config-next/typescript";
import tsPlugin from "@typescript-eslint/eslint-plugin";
import tsParser from "@typescript-eslint/parser";
import tanstackPlugin from "@tanstack/eslint-plugin-query";
import importPlugin from "eslint-plugin-import";
export default defineConfig([
...nextVitals,
...nextTs,
// Custom rules for your e-commerce project
{
files: ["**/*.{ts,tsx}"],
languageOptions: {
parser: tsParser
},
plugins: {
"@typescript-eslint": tsPlugin,
"@tanstack/query": tanstackPlugin,
import: importPlugin
},
rules: {
"@typescript-eslint/consistent-type-imports": "error",
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/no-unused-vars": ["error"],
"react-hooks/exhaustive-deps": "error",
"@tanstack/query/exhaustive-deps": "error",
"@tanstack/query/no-unstable-deps": "error",
"import/order": [
"error",
{
"groups": ["builtin", "external", "internal", "parent", "sibling", "index"],
"newlines-between": "always"
}
],
"import/no-default-export": "error",
"no-console": ["warn", { allow: ["warn", "error"] }]
}
},
globalIgnores([
".next/**",
"out/**",
"build/**",
"next-env.d.ts",
])
]);