{
    "env": {
        "node": true,
        "browser": true,
        "commonjs": true,
        "es2021": true,
        "jest": true
    },
    "extends": "eslint:recommended",
    "overrides": [],
    "parserOptions": {
        "ecmaVersion": "latest"
    },
    "rules": {
        "linebreak-style": 0,
        "quotes": ["warn", "single", { "avoidEscape": true }],
        "semi": ["error", "always"],
        "camelcase": ["warn", { "properties": "never" }],
        "prefer-template": "warn",
        "curly": ["warn", "multi-line", "consistent"],
        "no-unused-vars": ["warn", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^(CommandInteraction|Client)$" }],
        "prefer-const": ["warn", { "destructuring": "all", "ignoreReadBeforeAssign": true }],
        "no-var": "error",
        "no-constant-condition": ["error", { "checkLoops": false }],
        "no-throw-literal": "error",
        "array-callback-return": ["error", { "allowImplicit": true }],
        "default-param-last": "error",
        "prefer-arrow-callback": "error",
        "no-duplicate-imports": "error",
        "eqeqeq": ["error", "always"], // smart
        "no-unneeded-ternary": "error",
        "no-empty": ["error", { "allowEmptyCatch": true }]
    }
}
