{
  "defaultSeverity": "error",
  "extends": ["tslint:recommended", "tslint-react", "tslint-microsoft-contrib"],
  "jsRules": {},
  "rules": {
    "align": false,
    "newline-per-chained-call": false,
    "array-type": [true, "generic"],
    "arrow-parens": [true, "ban-single-arg-parens"],
    "import-spacing": false,
    "indent": [true, "spaces", 2],
    "interface-name": [true, "never-prefix"],
    "jsx-no-multiline-js": false,
    "jsx-no-lambda": false,
    "react-this-binding-issue": false,
    "linebreak-style": [true, "LF"],
    "max-line-length": false,
    "mocha-avoid-only": true,
    "mocha-no-side-effect-code": false,
    "mocha-unneeded-done": true,
    "no-angle-bracket-type-assertion": true,
    "no-consecutive-blank-lines": [true, 2],
    "object-literal-key-quotes": [true, "as-needed"],
    "object-literal-sort-keys": false,
    "no-async-without-await": true,
    "ordered-imports": [
      true,
      {
        "import-sources-order": "any",
        "named-imports-order": "case-insensitive"
      }
    ],
    "quotemark": [true, "single", "jsx-double", "avoid-template", "avoid-escape"],
    "semicolon": [true, "always", "ignore-bound-class-methods"],
    "trailing-comma": [
      true,
      {
        "singleline": "never",
        "multiline": {
          "objects": "always",
          "arrays": "always",
          "functions": "never",
          "typeLiterals": "always"
        },
        "esSpecCompliant": true
      }
    ],
    "variable-name": [true, "check-format", "allow-leading-underscore", "allow-pascal-case"],
    "function-name": [
      true,
      {
        "function-regex": "^(TEST_)?(_)?[a-z][\\w\\d]+$",
        "method-regex": "^(TEST_)?(_)?[a-z][\\w\\d]+$",
        "private-method-regex": "^(TEST_)?(_)?[a-z][\\w\\d]+$",
        "protected-method-regex": "^(TEST_)?(_)?[a-z][\\w\\d]+$",
        "static-method-regex": "^[a-zA-Z][\\w\\d]+$"
      }
    ],
    "no-implicit-dependencies": [true, ["electron"]],
    "completed-docs": false,
    "export-name": false,
    "no-any": false,
    "no-increment-decrement": false,
    "no-object-literal-type-assertion": false,
    "no-relative-imports": false,
    "no-unsafe-any": false,
    "typedef": false,
    "possible-timing-attack": false,
    "no-null-keyword": false,
    "import-name": false,
    "missing-jsdoc": false,
    "no-reserved-keywords": false,
    "no-single-line-block-comment": false,
    "no-use-before-declare": false,
    "prefer-array-literal": false,
    "prefer-method-signature": false,
    "prefer-type-cast": false,
    "strict-boolean-expressions": false,
    "no-promise-as-boolean": true,
    "await-promise": true,
    "no-suspicious-comment": false,
    "no-backbone-get-set-outside-model": false,
    "underscore-consistent-invocation": false,
    "newline-before-return": false,
    "number-literal-format": false,
    "no-unnecessary-local-variable": false,
    "no-unnecessary-type-assertion": false,
    "react-no-dangerous-html": [
      true,
      {
        "file": "ts/components/session/SessionHTMLRenderer.tsx",
        "method": "<unknown>",
        "comment": "Usage has been approved by Maxim on 13 Dec 2019"
      }
    ],
    "max-func-body-length": [true, 150]
  },
  "rulesDirectory": ["node_modules/tslint-microsoft-contrib"]
}
