1
16
17const factoryBase = {
18 parser: "@typescript-eslint/parser",
19 parserOptions: {
20 ecmaVersion: 2022,
21 sourceType: "module",
22 },
23 plugins: ["@typescript-eslint"],
24 extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
25 env: {
26 node: true,
27 es2022: true,
28 },
29 ignorePatterns: ["node_modules", "dist", "build", ".next", "coverage", "prisma/generated"],
30 rules: {
31
32 "no-eval": "error",
33 "no-implied-eval": "error",
34 "no-new-func": "error",
35 "no-unsafe-negation": "error",
36 "no-prototype-builtins": "error",
37 "no-var": "error",
38 "prefer-const": "error",
39 eqeqeq: ["error", "smart"],
40 "no-debugger": "error",
41
42 "no-console": ["warn", { allow: ["warn", "error"] }],
43 "@typescript-eslint/no-explicit-any": "warn",
44 "@typescript-eslint/no-unused-vars": [
45 "warn",
46 { argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
47 ],
48 },
49 overrides: [
50 {
51 files: ["**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts"],
52 rules: {
53 "@typescript-eslint/no-explicit-any": "off",
54 },
55 },
56 ],
57};
58
59export default factoryBase;
60