{
  "defaultSeverity": "error",
  "extends": ["tslint:recommended", "tslint-react"],
  "jsRules": {},
  "rules": {
    "align": [
      true,
      "arguments",
      "elements",
      "members",
      "parameters",
      "statements"
    ],
    "array-type": [true, "generic"],

    // Preferred by Prettier:
    "arrow-parens": [true, "ban-single-arg-parens"],

    "import-spacing": false,
    "indent": [true, "spaces", 2],
    "interface-name": [true, "never-prefix"],

    // Allows us to write inline `style`s. Revisit when we have a more sophisticated
    // CSS-in-JS solution:
    "jsx-no-multiline-js": false,

    "linebreak-style": [true, "LF"],

    // Ignore `import`s to allow Prettier formatting:
    "max-line-length": [true, { "limit": 90, "ignore-pattern": "^import" }],

    "mocha-avoid-only": true,
    // Disabled until we can allow dynamically generated tests:
    // https://github.com/Microsoft/tslint-microsoft-contrib/issues/85#issuecomment-371749352
    "mocha-no-side-effect-code": false,
    "mocha-unneeded-done": true,

    "no-consecutive-blank-lines": [true, 2],
    "object-literal-key-quotes": [true, "as-needed"],
    "object-literal-sort-keys": false,

    // Ignore import sources order until we can specify that we want ordering
    // based on import name vs module name:
    "ordered-imports": [
      true,
      {
        "import-sources-order": "any",
        "named-imports-order": "case-insensitive"
      }
    ],

    "quotemark": [
      true,
      "single",
      "jsx-double",
      "avoid-template",
      "avoid-escape"
    ],

    // Preferred by Prettier:
    "semicolon": [true, "always", "ignore-bound-class-methods"],

    // Preferred by Prettier:
    "trailing-comma": [
      true,
      {
        "singleline": "never",
        "multiline": {
          "objects": "always",
          "arrays": "always",
          "functions": "never",
          "typeLiterals": "always"
        },
        "esSpecCompliant": true
      }
    ]
  },
  "rulesDirectory": ["node_modules/tslint-microsoft-contrib"]
}