{
  "extends": "tslint:latest",
  "linterOptions": {
    "exclude": [
      "../node_modules"
    ]
  },
  "rules": {
    "adjacent-overload-signatures": true,
    "align": [
      true,
      "parameters",
      "statements",
      "arguments"
    ],
    "array-type": [
      true,
      "array-simple"
    ],
    "arrow-parens": [
      true,
      "ban-single-arg-parens"
    ],
    "arrow-return-shorthand": true,
    "callable-types": true,
    "class-name": true,
    "comment-format": [
      true,
      "check-space"
    ],
    "curly": false,
    "cyclomatic-complexity": [
      true,
      20
    ],
    "eofline": true,
    "forin": true,
    "indent": [
      true,
      "spaces"
    ],
    "interface-name": [
      true,
      "never-prefix"
    ],
    "interface-over-type-literal": false,
    "import-spacing": true,
    "max-classes-per-file": false,
    "max-line-length": [
      true,
      140
    ],
    "member-access": [
      true,
      "no-public"
    ],
    "member-ordering": false,
    "newline-before-return": true,
    "no-angle-bracket-type-assertion": true,
    "no-any": false,
    "no-arg": true,
    "no-bitwise": false,
    "no-conditional-assignment": true,
    "no-consecutive-blank-lines": [
      true,
      3
    ],
    "no-console": false,
    "no-construct": true,
    "no-default-export": true,
    "no-duplicate-super": true,
    "no-duplicate-variable": true,
    "no-dynamic-delete": true,
    "no-empty": false,
    "no-implicit-dependencies": false,
    "no-import-side-effect": true,
    "no-inferrable-types": [
      true,
      "ignore-params"
    ],
    "no-invalid-template-strings": true,
    "no-invalid-this": true,
    "no-namespace": false,
    "no-object-literal-type-assertion": false,
    "no-parameter-reassignment": true,
    "no-misused-new": true,
    "no-redundant-jsdoc": false,
    "no-return-await": true,
    "no-shadowed-variable": true,
    "no-sparse-arrays": true,
    "no-string-literal": false,
    "no-string-throw": true,
    "no-submodule-imports": false,
    "no-trailing-whitespace": true,
    "no-unnecessary-class": [
      true,
      "allow-empty-class",
      "allow-static-only"
    ],
    "no-unnecessary-initializer": true,
    "no-unused-expression": false,
    "no-use-before-declare": true,
    "no-var-keyword": true,
    "no-var-requires": false,
    "object-literal-key-quotes": [
      false,
      "as-needed"
    ],
    "object-literal-shorthand": true,
    "object-literal-sort-keys": false,
    "one-line": [
      true,
      "check-open-brace",
      "check-whitespace"
    ],
    "one-variable-per-declaration": true,
    "only-arrow-functions": true,
    "ordered-imports": false,
    "prefer-conditional-expression": true,
    "prefer-const": true,
    "prefer-object-spread": true,
    "prefer-switch": [
      true,
      {
        "min-cases": 3
      }
    ],
    "prefer-template": [
      true,
      "allow-single-concat"
    ],
    "quotemark": [
      true,
      "single",
      "jsx-double"
    ],
    "radix": true,
    "semicolon": [
      true,
      "always"
    ],
    "trailing-comma": [
      true,
      {
        "multiline": {
          "arrays": "always",
          "objects": "always",
          "functions": "never",
          "imports": "always",
          "exports": "always",
          "typeLiterals": "always"
        },
        "singleline": "never"
      }
    ],
    "triple-equals": true,
    "type-literal-delimiter": [
      true
    ],
    "typedef-whitespace": [
      true,
      {
        "call-signature": "nospace",
        "index-signature": "nospace",
        "parameter": "nospace",
        "property-declaration": "nospace",
        "variable-declaration": "nospace"
      },
      {
        "call-signature": "onespace",
        "index-signature": "onespace",
        "parameter": "onespace",
        "property-declaration": "onespace",
        "variable-declaration": "onespace"
      }
    ],
    "unified-signatures": true,
    "use-isnan": true,
    "variable-name": [
      false,
      "ban-keywords",
      "check-format"
    ],
    "whitespace": [
      true,
      "check-branch",
      "check-decl",
      "check-module",
      "check-operator",
      "check-postbrace",
      "check-preblock",
      "check-rest-spread",
      "check-separator",
      "check-type",
      "check-typecast",
      "check-type-operator"
    ]
  }
}
