{
    "env": {
        "browser": true,
        "es2021": true
    },
    "extends": [
        "eslint:recommended",
        "plugin:@typescript-eslint/recommended",
        "plugin:security/recommended"
    ],
    "plugins": [
        "security"
    ],
    "rules": {
        "quotes": ["warn", "double"],                               // Enabled for auto fixing
        "prefer-const": "off",
        "prefer-spread": "off",
        "no-var": "off",
        "no-extra-boolean-cast": "off",
        "prefer-rest-params": "off",
        "no-case-declarations": "off",
        "no-prototype-builtins": "off",
        "no-useless-escape": "off",                                 // Suppressing Error -- need to Review Later
        "no-trailing-spaces": [ "warn", { "skipBlankLines": true }],// Enabled for auto fixing
        "no-const-assign": "error",
        "comma-dangle": [ "error", "never" ],                       // Enabled for auto fixing
        "security/detect-object-injection": "off",                  // Suppress Warning -- need to Review Later
        "@typescript-eslint/ban-types": "off",
        "@typescript-eslint/no-unused-vars": [ "warn", { "vars": "all", "args": "none", "argsIgnorePattern": "^_", "ignoreRestSiblings": true } ],
        "@typescript-eslint/triple-slash-reference": "off",
        "@typescript-eslint/no-inferrable-types": "off",
        "@typescript-eslint/no-this-alias": "off",
        "@typescript-eslint/no-explicit-any": "off",
        "@typescript-eslint/no-empty-function": "off",
        "@typescript-eslint/no-empty-interface": "off",
        "@typescript-eslint/no-var-requires": "off",
        "@typescript-eslint/explicit-module-boundary-types": "off",
        "@typescript-eslint/no-extra-semi": "error",                // Enabled for auto fixing
        "@typescript-eslint/no-non-null-assertion": "error"
    }
}
