{ "env": { "commonjs": true, "es2021": true, "node": true, "mocha": true }, "extends": ["eslint:recommended", "prettier"], "parserOptions": { "ecmaVersion": 12 }, // Typescript config "overrides": [ { "files": ["*.ts"], "parser": "@typescript-eslint/parser", "parserOptions": { "project": "./tsconfig.json" }, "plugins": ["@typescript-eslint", "prettier"], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/eslint-recommended", "prettier" ], "rules": { "prettier/prettier": "error", "@typescript-eslint/no-unused-vars": "error", "@typescript-eslint/no-explicit-any": "warn", "@typescript-eslint/naming-convention": [ "error", { "selector": "default", "format": ["camelCase"] }, { "selector": "variable", "format": ["camelCase", "UPPER_CASE"] }, { "selector": "parameter", "format": ["camelCase"], "leadingUnderscore": "allow" }, { "selector": ["objectLiteralProperty"], "format": ["camelCase", "PascalCase"] }, { "selector": ["classProperty"], "modifiers": ["private", "static"], "format": ["PascalCase", "UPPER_CASE"] }, { "selector": ["classProperty", "classMethod"], "modifiers": ["private"], "format": ["camelCase"], "leadingUnderscore": "require" }, { "selector": ["classProperty", "classMethod"], "modifiers": ["protected"], "format": ["camelCase"], "leadingUnderscore": "require" }, { "selector": "typeLike", "format": ["PascalCase"] }, { "selector": ["enumMember"], "format": ["camelCase", "PascalCase"] }, { "selector": "variable", "types": ["boolean"], "format": ["PascalCase"], "prefix": ["is", "should", "has", "can", "did", "will"] } ] } } ] }