{
 "extends": "tslint:latest",
 "rules": {
  "no-unnecessary-type-assertion": true,

  "array-type": [true, "array"],
  "ban": [true, "setInterval", "setTimeout"],
  "ban-types": {
   "options": [
    ["Object", "Avoid using the `Object` type. Did you mean `object`?"],
    [
     "Function",
     "Avoid using the `Function` type. Prefer a specific function type, like `() => void`, or use `ts.AnyFunction`."
    ],
    ["Boolean", "Avoid using the `Boolean` type. Did you mean `boolean`?"],
    ["Number", "Avoid using the `Number` type. Did you mean `number`?"],
    ["String", "Avoid using the `String` type. Did you mean `string`?"]
   ]
  },
  "boolean-trivia": true,
  "class-name": true,
  "comment-format": [true, "check-space"],
  "curly": [true, "ignore-same-line"],
  "debug-assert": true,
  "indent": [true, "spaces"],
  "interface-name": [true, "never-prefix"],
  "interface-over-type-literal": true,
  "jsdoc-format": true,
  "linebreak-style": [true, "CRLF"],
  "next-line": [true, "check-catch", "check-else"],
  "no-bom": true,
  "no-double-space": true,
  "no-eval": true,
  "no-in-operator": true,
  "no-increment-decrement": true,
  "no-inferrable-types": true,
  "no-internal-module": true,
  "no-null-keyword": true,
  "no-switch-case-fall-through": true,
  "no-trailing-whitespace": [true, "ignore-template-strings"],
  "no-type-assertion-whitespace": true,
  "no-unnecessary-qualifier": true,
  "no-var-keyword": true,
  "object-literal-shorthand": true,
  "object-literal-surrounding-space": true,
  "one-line": [true, "check-open-brace", "check-whitespace"],
  "prefer-const": true,
  "quotemark": [true, "double", "avoid-escape"],
  "semicolon": [true, "always", "ignore-bound-class-methods"],
  "space-within-parens": true,
  "triple-equals": true,
  "type-operator-spacing": 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"
   }
  ],
  "whitespace": [
   true,
   "check-branch",
   "check-decl",
   "check-operator",
   "check-module",
   "check-separator",
   "check-type"
  ],

  "no-implicit-dependencies": [true, "dev"],
  "object-literal-key-quotes": [true, "consistent-as-needed"],
  "variable-name": [
   true,
   "ban-keywords",
   "check-format",
   "allow-leading-underscore"
  ],

  "arrow-parens": false,
  "arrow-return-shorthand": false,
  "ban-types": false,
  "forin": false,
  "member-access": false,
  "no-conditional-assignment": false,
  "no-console": false,
  "no-debugger": false,
  "no-empty-interface": false,
  "no-object-literal-type-assertion": false,
  "no-shadowed-variable": false,
  "no-submodule-imports": false,
  "no-var-requires": false,
  "ordered-imports": false,
  "prefer-conditional-expression": false,
  "radix": false,
  "trailing-comma": false,

  "align": false,
  "eofline": false,
  "max-line-length": false,
  "no-consecutive-blank-lines": false,
  "space-before-function-paren": false,

  "ban-comma-operator": false,
  "max-classes-per-file": false,
  "member-ordering": false,
  "no-angle-bracket-type-assertion": false,
  "no-bitwise": false,
  "no-namespace": false,
  "no-reference": false,
  "object-literal-sort-keys": false,
  "one-variable-per-declaration": false
 }
}
