{ "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"] }