{
    "root": true,
    "env": {
        "node": true
    },
    "parser": "@typescript-eslint/parser",
    "plugins": [
        "@typescript-eslint",
        "import"
    ],
    "extends": [ 
        "standard",
        "plugin:@typescript-eslint/eslint-recommended",
        "plugin:@typescript-eslint/recommended"
    ],
    "parserOptions": {
        "ecmaVersion": "latest",
        "sourceType": "module"
    },
    "rules": {
        "indent": ["error", 4],
        "padded-blocks": "off",
        "camelcase": "off",
        "no-use-before-define": "off",
        "no-useless-constructor": 0,
        "comma-dangle": "off",
        "space-before-function-paren": ["error", {
            "anonymous": "never",
            "named": "never",
            "asyncArrow": "always"
        }],
        "@typescript-eslint/comma-dangle": ["error", "always-multiline"],
        "@typescript-eslint/no-explicit-any": "off",
        "@typescript-eslint/no-non-null-assertion": "off",
        "operator-linebreak": ["error", "before"],
        "@typescript-eslint/no-unused-vars": ["error", {
            "vars": "all", 
            "args": "after-used", 
            "ignoreRestSiblings": true,
            "argsIgnorePattern": "^_",
            "varsIgnorePattern": "^_",
            "caughtErrorsIgnorePattern": "^_"
        }]
    },
    "globals": {
        "NodeJS": true
    }
}
