{ "root": true, "parser": "@typescript-eslint/parser", "plugins": [ "@typescript-eslint" ], "env": { "node": true }, "extends": [ "plugin:@typescript-eslint/eslint-recommended" ], "rules": { "brace-style": ["error", "allman"], "@typescript-eslint/no-namespace": "off", "@typescript-eslint/no-empty-interface": "off", "@typescript-eslint/no-explicit-any": "off", // We use a bunch of these. "@typescript-eslint/no-unused-vars": "off", // Typescript compiler already checks--Will grey out variable. "@typescript-eslint/no-var-requires": "error", "@typescript-eslint/explicit-module-boundary-types": ["error", { "allowArgumentsExplicitlyTypedAsAny": true }], "@typescript-eslint/naming-convention": ["error", { "selector": "default", "format": ["camelCase"], "leadingUnderscore": "allow" }, { "selector": "typeLike", "format": ["PascalCase"] }, { "selector": "objectLiteralProperty", "format": ["PascalCase", "camelCase", "snake_case"], "leadingUnderscore": "allow" }, { "selector": "typeProperty", "format": ["PascalCase", "camelCase"], "leadingUnderscore": "allow" }, { "selector": "enumMember", "format": ["UPPER_CASE"] }, { "selector": "property", "modifiers": ["readonly", "static"], "format": ["UPPER_CASE"] }] }, "overrides": [{ "files": [ "src/loaders/**/*.ts" ], "rules": { "@typescript-eslint/no-var-requires": "off" } }, { "files": [ "**/vitest.config.ts" ], "rules": { "@typescript-eslint/naming-convention": ["error", { "selector": "objectLiteralProperty", "format": null }] } }] }