{
  "extends": [
    "tslint:latest",
    "tslint-sonarts"
  ],
  "rules": {
    "arrow-parens": [
      true,
      "ban-single-arg-parens"
    ],
    "ban": [
      true,
      ["fit"],
      ["fdescribe"],
      ["xit"],
      ["xdescribe"],
      {
        "name": "Object.assign",
        "message": "Use the spread operator instead."
      }
    ],
    "class-name": true,
    "comment-format": [
      true,
      "check-space"
    ],
    "cognitive-complexity": false,
    "curly": false,
    "indent": [
      true,
      "spaces"
    ],
    "interface-name": false,
    "jsdoc-format": true,
    "max-union-size": false,
    "no-big-function": false,
    "no-bitwise": false,
    "no-duplicate-string": false,
    "no-implicit-dependencies": false,
    "no-identical-functions": false,
    "no-internal-module": true,
    "no-namespace": false,
    "no-null-keyword": true,
    "no-reference": false,
    "no-submodule-imports": false,
    "no-trailing-whitespace": true,
    "no-var-keyword": true,
    "object-literal-key-quotes": [
      true,
      "consistent-as-needed"
    ],
    "object-literal-sort-keys": false,
    "one-line": [
      true,
      "check-open-brace",
      "check-whitespace"
    ],
    "ordered-imports": [
      true,
      {
        "import-sources-order": "case-insensitive-legacy",
        "named-imports-order": "lowercase-last"
      }
    ],
    "prefer-const": true,
    "prefer-for-of": false,
    "quotemark": [
      true,
      "double",
      "avoid-escape"
    ],
    "semicolon": [
      true,
      "never"
    ],
    "trailing-comma": [
      true,
      {
        "multiline": {
          "objects": "never",
          "arrays": "never",
          "functions": "never",
          "typeLiterals": "never"
        },
        "esSpecCompliant": 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"
      }
    ],
    "variable-name": false,
    "whitespace": [
      true,
      "check-branch",
      "check-decl",
      "check-operator",
      "check-module",
      "check-separator",
      "check-type"
    ]
  }
}
