{
  "extends": ["tslint:recommended", "tslint:latest"],
  "jsRules": {
    "adjacent-overload-signatures": false,
    "member-access": false,
    "no-constant-condition": false,
    "prefer-const": true
  },
  "rules": {
    "adjacent-overload-signatures": {
      "severity": "warn"
    },
    "align": {
      "options": ["arguments", "parameters"],
      "severity": "warn"
    },
    "array-bracket-spacing": {
      "options": ["never"],
      "severity": "warn"
    },
    "arrow-parens": false,
    "block-spacing": {
      "options": ["always"],
      "severity": "warn"
    },
    "brace-style": {
      "options": [
        "1tbs",
        {
          "allowSingleLine": true
        }
      ],
      "severity": "warn"
    },
    "callable-types": false,
    "completed-docs": false,
    "conditional-expression-parens": false,
    "cyclomatic-complexity": false,
    "decorator-not-allowed": false,
    "eofline": {
      "severity": "warn"
    },
    "export-name": false,
    "forin": false,
    "function-name": false,
    "import-destructuring-spacing": {
      "severity": "warn"
    },
    "import-name": false,
    "import-spacing": {
      "severity": "warn"
    },
    "indent": {
      "options": ["spaces", 2],
      "severity": "warn"
    },
    "interface-name": false,
    "jsdoc-format": {
      "severity": "warn"
    },
    "jsx-alignment": {
      "severity": "warn"
    },
    "jsx-attribute-spacing": {
      "options": "never",
      "severity": "warn"
    },
    "jsx-curly-spacing": {
      "options": "never",
      "severity": "warn"
    },
    "jsx-equals-spacing": {
      "options": "never",
      "severity": "warn"
    },
    "jsx-expression-spacing": false,
    "jsx-no-closing-bracket-newline": false,
    "jsx-no-multiline-js": false,
    "jsx-wrap-multiline": {
      "severity": "warn"
    },
    "linebreak-style": {
      "options": "LF",
      "severity": "warn"
    },
    "literal-spacing": {
      "options": {
        "array": ["never"],
        "import": ["never"],
        "object": ["never"]
      },
      "severity": "warn"
    },
    "match-default-export-name": false,
    "max-classes-per-file": false,
    "max-func-body-length": false,
    "max-line-length": {
      "options": [140],
      "severity": "warn"
    },
    "member-access": [true, "check-accessor", "check-constructor"],
    "member-ordering": [
      false,
      {
        "order": [
          "public-static-field",
          "protected-static-field",
          "private-static-field",
          "public-instance-field",
          "protected-instance-field",
          "private-instance-field",
          "public-static-method",
          "protected-static-method",
          "private-static-method",
          "public-constructor",
          "protected-constructor",
          "private-constructor",
          "public-instance-method",
          "protected-instance-method",
          "private-instance-method"
        ]
      }
    ],
    "missing-jsdoc": false,
    "mocha-no-side-effect-code": false,
    "multiline-arrow": false,
    "new-parens": true,
    "newline-before-return": false,
    "newline-per-chained-call": {
      "severity": "warn"
    },
    "no-angle-bracket-type-assertion": false,
    "no-any": false,
    "no-bitwise": false,
    "no-consecutive-blank-lines": {
      "options": [1],
      "severity": "warn"
    },
    "no-console": {
      "severity": "warn"
    },
    "no-constant-condition": {
      "severity": "warn"
    },
    "no-default-export": false,
    "no-duplicate-imports": {
      "severity": "warn"
    },
    "no-duplicate-switch-case": true,
    "no-duplicate-variable": [true, "check-parameters"],
    "no-empty": false,
    "no-empty-interface": false,
    "no-empty-line-after-opening-brace": false,
    "no-ex-assign": true,
    "no-extra-boolean-cast": false,
    "no-extra-semi": false,
    "no-function-expression": false,
    "no-implicit-dependencies": true,
    "no-import-side-effect": false,
    "no-increment-decrement": false,
    "no-inner-declarations": true,
    "no-irregular-whitespace": false,
    "no-multi-spaces": {
      "options": {
        "exceptions": {},
        "ignoreEOLComments": false
      },
      "severity": "warn"
    },
    "no-non-null-assertion": false,
    "no-null-keyword": false,
    "no-object-literal-type-assertion": false,
    "no-parameter-properties": false,
    "no-parameter-reassignment": false,
    "no-redundant-jsdoc": false,
    "no-reference": false,
    "no-relative-imports": false,
    "no-require-imports": false,
    "no-reserved-keywords": false,
    "no-semicolon-interface": false,
    "no-shadowed-variable": [
      true,
      {
        "class": true,
        "enum": true,
        "function": false,
        "interface": false,
        "namespace": true,
        "typeAlias": false,
        "typeParameter": false
      }
    ],
    "no-single-line-block-comment": false,
    "no-sparse-arrays": true,
    "no-string-throw": true,
    "no-submodule-imports": false,
    "no-switch-case-fall-through": true,
    "no-trailing-whitespace": {
      "severity": "warn"
    },
    "no-unnecessary-class": false,
    "no-unnecessary-field-initialization": false,
    "no-unnecessary-initializer": {
      "severity": "warn"
    },
    "no-unnecessary-parens-for-arrow-function-arguments": false,
    "no-unnecessary-semicolons": {
      "options": ["always"],
      "severity": "warn"
    },
    "no-unsafe-any": false,
    "no-unused-expression": {
      "options": ["allow-fast-null-checks"],
      "severity": "warn"
    },
    "no-use-before-declare": true,
    "no-var-requires": false,
    "number-literal-format": {
      "severity": "warn"
    },
    "object-curly-spacing": {
      "options": "always",
      "severity": "warn"
    },
    "object-literal-key-quotes": {
      "options": "as-needed",
      "severity": "warn"
    },
    "object-literal-shorthand": {
      "severity": "warn"
    },
    "object-literal-sort-keys": false,
    "one-line": {
      "options": ["check-open-brace", "check-whitespace", "check-else", "check-catch", "check-finally"],
      "severity": "warn"
    },
    "one-variable-per-declaration": {
      "options": "ignore-for-loop",
      "severity": "warn"
    },
    "ordered-imports": [
      false,
      {
        "grouped-imports": true,
        "import-sources-order": "any",
        "named-imports-order": "case-insensitive"
      }
    ],
    "prefer-const": true,
    "prefer-object-spread": {
      "severity": "warn"
    },
    "prefer-type-cast": false,
    "promise-function-async": false,
    "quotemark": {
      "options": ["single", "avoid-template", "avoid-escape"],
      "severity": "warn"
    },
    "react-tsx-curly-spacing": false,
    "semicolon": {
      "options": ["never", "strict-bound-class-methods"],
      "severity": "warn"
    },
    "space-before-function-paren": {
      "options": {
        "anonymous": "never",
        "asyncArrow": "always",
        "constructor": "never",
        "method": "never",
        "named": "never"
      },
      "severity": "warn"
    },
    "space-in-parens": {
      "options": ["never"],
      "severity": "warn"
    },
    "space-within-parens": {
      "options": [0],
      "severity": "warn"
    },
    "strict-boolean-expressions": false,
    "switch-default": false,
    "switch-final-break": false,
    "ter-arrow-parens": [false, "as-needed"],
    "ter-arrow-spacing": {
      "options": {
        "after": true,
        "before": true
      },
      "severity": "warn"
    },
    "ter-computed-property-spacing": {
      "options": ["never"],
      "severity": "warn"
    },
    "ter-func-call-spacing": {
      "options": ["never"],
      "severity": "warn"
    },
    "ter-indent": {
      "options": [
        2,
        {
          "ArrayExpression": 1,
          "CallExpression": {
            "arguments": 1
          },
          "FunctionDeclaration": {
            "body": 1,
            "parameters": 1
          },
          "FunctionExpression": {
            "body": 1,
            "parameters": 1
          },
          "ImportDeclaration": 1,
          "MemberExpression": 1,
          "ObjectExpression": 1,
          "SwitchCase": 1,
          "VariableDeclarator": 1,
          "flatTernaryExpressions": false,
          "ignoredNodes": ["JSXElement", "JSXElement *"],
          "outerIIFEBody": 1
        }
      ],
      "severity": "warn"
    },
    "ter-max-len": {
      "options": [250],
      "severity": "warn"
    },
    "ter-no-irregular-whitespace": {
      "severity": "warn"
    },
    "ter-no-self-compare": {
      "severity": "warn"
    },
    "ter-no-sparse-arrays": true,
    "ter-no-tabs": {
      "severity": "warn"
    },
    "ter-padded-blocks": [
      false,
      {
        "blocks": "never",
        "classes": "never",
        "switches": "never"
      }
    ],
    "trailing-comma": {
      "options": {
        "esSpecCompliant": true,
        "multiline": "never",
        "singleline": "never"
      },
      "severity": "warn"
    },
    "triple-equals": true,
    "type-literal-delimiter": false,
    "typedef": false,
    "typedef-whitespace": {
      "options": [
        {
          "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"
        }
      ],
      "severity": "warn"
    },
    "unified-signatures": false,
    "variable-name": false,
    "whitespace": {
      "options": [
        "check-branch",
        "check-decl",
        "check-operator",
        "check-module",
        "check-separator",
        "check-rest-spread",
        "check-type",
        "check-typecast",
        "check-type-operator",
        "check-preblock"
      ],
      "severity": "warn"
    }
  }
}
