{
  "root": true,

  "env": {
    "node": true,
    "jest": true
  },

  "parser": "@typescript-eslint/parser",

  "extends": [
    "plugin:@typescript-eslint/recommended-requiring-type-checking",
    // TODO: make this work with typescript
    // "plugin:node/recommended"
    "prettier"
  ],

  "plugins": ["@typescript-eslint", "node", "security"],

  "parserOptions": {
    "project": "./tsconfig.json"
  },

  "globals": {
    "__statics": true,
    "process": true
  },

  // add your custom rules here
  "rules": {
    "no-debugger": "error",
    "no-process-exit": "off",
    "security/detect-non-literal-fs-filename": "warn",
    "security/detect-unsafe-regex": "error",
    "security/detect-buffer-noassert": "error",
    "security/detect-child-process": "warn",
    "security/detect-disable-mustache-escape": "error",
    "security/detect-eval-with-expression": "error",
    "security/detect-no-csrf-before-method-override": "error",
    "security/detect-non-literal-regexp": "error",
    "security/detect-non-literal-require": "warn",
    "security/detect-object-injection": "warn",
    "security/detect-possible-timing-attacks": "error",
    "security/detect-pseudoRandomBytes": "error",
    "space-before-function-paren": "off",
    "@typescript-eslint/default-param-last": "off",
    "@typescript-eslint/strict-boolean-expressions": 0,
    "no-return-await": "warn",
    "@typescript-eslint/return-await": "off"
  }
}