{

    "extends": "../.eslintrc.json",

    "parserOptions": {

        "tsconfigRootDir": "src",

        "project": "./tsconfig-base.json"

    },

    "rules": {

        "@typescript-eslint/no-unnecessary-qualifier": "error",

        "@typescript-eslint/no-unnecessary-type-assertion": "error",

        "no-restricted-globals": ["error",

            { "name": "setTimeout" },

            { "name": "clearTimeout" },

            { "name": "setInterval" },

            { "name": "clearInterval" },

            { "name": "setImmediate" },

            { "name": "clearImmediate" },

            { "name": "performance" },

            { "name": "Iterator" },

            { "name": "Map" },

            { "name": "ReadonlyMap" },

            { "name": "Set" },

            { "name": "ReadonlySet" }

        ]

    },

    "overrides": [

        {

            "files": ["lib/*.d.ts"],

            "rules": {

                "@typescript-eslint/interface-name-prefix": "off",

                "@typescript-eslint/prefer-function-type": "off",

                "@typescript-eslint/unified-signatures": "off",



                // scripts/eslint/rules

                "local/no-keywords": "off",



                // eslint

                "no-var": "off",

                "no-restricted-globals": "off"

            }

        },

        {

            "files": ["lib/es2019.array.d.ts"],

            "rules": {

                "@typescript-eslint/array-type": "off"

            }

        },

        {

            "files": ["debug/**", "harness/**", "testRunner/**"],

            "rules": {

                "no-restricted-globals": "off"

            }

        }

    ]

}