{ "root": true, "env": { "es2021": true, "node": true }, "parser": "@typescript-eslint/parser", "parserOptions": { "project": "./tsconfig.lint.json" }, "plugins": ["import", "@typescript-eslint", "functional", "fp-ts"], "ignorePatterns": ["scripts/*", "types/*", "client/*", "esbuild-hook.js"], "extends": [ "eslint:recommended", "plugin:eslint-comments/recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking", "plugin:@typescript-eslint/strict", "plugin:import/recommended", "plugin:import/typescript", "plugin:unicorn/recommended", "plugin:security/recommended", "prettier" ], "settings": { "import/resolver": { "typescript": { "project": "tsconfig.json" } } }, "rules": { "import/order": [ "error", { "alphabetize": { "order": "asc", "caseInsensitive": true } } ], "import/no-extraneous-dependencies": "error", "import/no-mutable-exports": "error", "import/no-unused-modules": "error", "unicorn/prefer-module": "warn" }, "overrides": [ { "files": "src/**/*.ts", "excludedFiles": [ "src/index.ts", "*.test.ts", "src/infrastructure/**/*.ts", "src/test-helpers/**/*.ts" ], "extends": [ "plugin:functional/external-recommended", "plugin:functional/recommended", "plugin:functional/stylistic", "plugin:fp-ts/all" ], "rules": { "functional/functional-parameters": "off" } } ] }