{
  "root": true,
  "parser": "@typescript-eslint/parser",
  "parserOptions": { "project": "./tsconfig.json" },
  "env": { "es6": true },
  "ignorePatterns": [
    "node_modules",
    "build",
    "coverage",
    "src/lib/schema/ajv/*.js"
  ],
  "extends": ["bitauth"],
  // "globals": { "BigInt": true, "console": true, "WebAssembly": true },
  "rules": {
    "@typescript-eslint/no-unsafe-enum-comparison": "off"
  },
  "overrides": [
    /*
     * Require all test files to import functionality from the entry point
     * (to test that exports are available to consumers as expected).
     */
    {
      "files": ["**.spec.ts", "**.bench.ts"],
      "rules": {
        "import/no-restricted-paths": [
          "error",
          {
            "zones": [
              {
                "target": "./src",
                "from": "./src/lib",
                "except": ["lib.ts", "(.*).helper.ts", "(.*).json"]
              }
            ]
          }
        ],
        "@typescript-eslint/naming-convention": "off",
        "@typescript-eslint/no-magic-numbers": "off",
        "functional/no-expression-statements": "off",
        "functional/no-conditional-statements": "off",
        "functional/functional-parameters": "off",
        "functional/immutable-data": "off",
        "functional/no-return-void": "off"
      }
    }
  ]
}
