{
    "rules": {
      "no-internal-module": 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"
        }
      ],
      "await-promise": true,
      "curly": [true, "ignore-same-line"],
      "deprecation": true,
      "label-position": true,
      "no-arg": true,
      "no-conditional-assignment": true,
      "no-duplicate-imports": true,
      "no-duplicate-variable": true,
      "no-empty": true,
      "no-eval": true,
      "no-reference-import": true,
      "no-return-await": true,
      "no-switch-case-fall-through": true,
      "no-unused-expression": [true, "allow-fast-null-checks", "allow-tagged-template"],
      "no-var-keyword": true,
      "radix": true,
      "space-within-parens": [true, 0],
      "triple-equals": [
        true,
        "allow-null-check"
      ],
      "use-isnan": true,
      "eofline": true,
      "ter-indent": [
        true,
        2,
        {
          "SwitchCase": 1
        }
      ],
      "no-trailing-whitespace": true,
      "trailing-comma": [
        true,
        {
          "multiline": "never",
          "singleline": "never"
        }
      ],
      "class-name": true,
      "comment-format": [
        true,
        "check-space"
      ],
      "jsdoc-format": true,
      "new-parens": true,
      "no-angle-bracket-type-assertion": true,
      "no-consecutive-blank-lines": true,
      "no-floating-promises": true,
      "no-misused-new": true,
      "no-string-throw": true,
      "no-unnecessary-qualifier": true,
      "no-unnecessary-type-assertion": true,
      "one-line": [
        true,
        "check-catch",
        "check-finally",
        "check-else",
        "check-open-brace",
        "check-whitespace"
      ],
      "one-variable-per-declaration": true,
      "quotemark": [
        true,
        "single",
        "avoid-escape",
        "jsx-single"
      ],
      "semicolon": [
        true,
        "always"
      ],
      "strict-type-predicates": true,
      "space-before-function-paren": [true, "never"],
      "unified-signatures": true,
      "variable-name": [
        true,
        "ban-keywords",
        "check-format",
        "allow-leading-underscore",
        "allow-pascal-case"
      ],
      "whitespace": [
        true,
        "check-branch",
        "check-decl",
        "check-operator",
        // "check-module",
        "check-rest-spread",
        "check-type",
        "check-typecast",
        "check-type-operator",
        "check-preblock"
      ],
      // TSLint ESLint rules.
      "no-constant-condition": [
        true,
        {
          "checkLoops": false
        }
      ],
      "no-control-regex": true,
      "no-duplicate-case": true,
      "no-empty-character-class": true,
      "no-ex-assign": true,
      "no-extra-boolean-cast": true,
      "no-inner-declarations": [
        true,
        "functions"
      ],
      "no-invalid-regexp": true,
      "ter-no-irregular-whitespace": true,
      "no-regex-spaces": true,
      "ter-no-sparse-arrays": true,
      "ter-func-call-spacing": [true, "never"],
      "no-unexpected-multiline": true,
      "valid-typeof": true,
      "ter-arrow-spacing": [
        true,
        {
          "before": true,
          "after": true
        }
      ],
      "no-multi-spaces": true,
      "handle-callback-err": [
        true,
        "^(e|err|error)$"
      ],
      "block-spacing": [
        true,
        "always"
      ],
      "brace-style": [
        true,
        "1tbs",
        {
          "allowSingleLine": true
        }
      ],
      "object-curly-spacing": [true, "always"]
    }
  }