{
    "extends": [
        "eslint:recommended",
        "plugin:@typescript-eslint/eslint-recommended",
        "plugin:@typescript-eslint/recommended"
    ],
    "env": {
        "node": true,
        "es6": true
    },
    "rules": {
        "eqeqeq": 2,
        "no-caller": 2,
        "dot-notation": 2,
        "no-var": 2,
        "prefer-const": 2,
        "prefer-arrow-callback": 2,
        "arrow-body-style": [2, "as-needed"],
        "object-shorthand": 2,

        "@typescript-eslint/explicit-function-return-type": 0,
        "@typescript-eslint/explicit-member-accessibility": 0,
        "@typescript-eslint/no-use-before-define": [2, { "functions": false }]
    }
}
