{
  "rules": {
    // TypeScript Specific
    "ban-types": [
      true,
      [
        "Object"
      ]
    ],
    "member-access": false,
    "member-ordering": [
      true,
      "static-before-instance",
      "variables-before-functions"
    ],
    "no-any": false,
    "no-import-side-effect": true,
    "no-inferrable-types": false,
    "no-internal-module": false,
    "no-namespace": false,
    "no-non-null-assertion": true,
    "no-reference": true,
    "no-var-requires": false,
    "only-arrow-functions": false,
    "typedef": [
      true,
      "property-declaration"
    ],
    "typedef-whitespace": [
      true,
      {
        "call-signature": "nospace",
        "index-signature": "nospace",
        "parameter": "nospace",
        "property-declaration": "nospace",
        "variable-declaration": "nospace"
      }
    ],
    // Functionality
    "ban": false,
    "curly": false,
    "forin": true,
    "label-position": true,
    "no-arg": true,
    "no-bitwise": true,
    "no-conditional-assignment": true,
    "no-console": [
      true,
      "debug",
      "info",
      "time",
      "timeEnd",
      "trace"
    ],
    "no-construct": true,
    "no-debugger": true,
    "no-duplicate-super": true,
    "no-duplicate-variable": true,
    "no-empty": true,
    "no-eval": false,
    "no-for-in-array": false,
    "no-invalid-this": [
      true,
      "check-function-in-method"
    ],
    "no-null-keyword": false,
    "no-shadowed-variable": false,
    "no-string-literal": false,
    "no-switch-case-fall-through": true,
    "no-unsafe-finally": true,
    "no-unused-expression": true,
    "no-unused-new": true,
    "no-use-before-declare": true,
    "no-var-keyword": true,
    "radix": true,
    "restrict-plus-operands": false,
    "switch-default": false,
    "triple-equals": [
      false,
      "allow-null-check",
      "allow-undefined-check"
    ],
    "use-isnan": true,
    // Maintainability
    "eofline": true,
    "indent": [
      true,
      "tabs"
    ],
    "linebreak-style": false,
    "max-file-line-count": false,
    "max-line-length": false,
    "no-default-export": false,
    "no-mergeable-namespace": true,
    "no-require-imports": false,
    "no-trailing-whitespace": true,
    "object-literal-sort-keys": false,
    "trailing-comma": true,
    // Style
    "align": [
      true,
      "parameters",
      "statements"
    ],
    "arrow-parens": false,
    "class-name": true,
    "comment-format": false,
    "interface-name": false,
    "jsdoc-format": true,
    "match-default-export-name": false,
    "newline-before-return": false,
    "new-parens": true,
    "no-angle-bracket-type-assertion": true,
    "no-consecutive-blank-lines": true,
    "object-literal-key-quotes": false,
    "one-line": [
      true,
      "check-catch",
      "check-finally",
      "check-else",
      "check-open-brace",
      "check-whitespace"
    ],
    "one-variable-per-declaration": true,
    "ordered-imports": false,
    "quotemark": [
      true,
      "single",
      "avoid-escape"
    ],
    "semicolon": true,
    "variable-name": false,
    "whitespace": [
      true,
      "check-branch",
      "check-decl",
      "check-operator",
      "check-separator",
      "check-type"
    ]
  }
}
