{ "extends": "tslint:latest", "defaultSeverity": "error", "jsRules": {}, "rules": { "array-type": [true, "array"], "arrow-parens": [true, "ban-single-arg-parens"], "curly": [true, "ignore-same-line"], "indent": [true, "tabs", 2], "quotemark": false, "member-access": [true, "no-public"], "no-empty": [true, "allow-empty-catch", "allow-empty-functions"], "no-string-literal": false, "interface-over-type-literal": false, // TODO: turn on "prefer-const": false, // I do want to bring this down to 120 at some point but maybe later "max-line-length": { "severity": "warning", "options": { "limit": 140, "ignore-pattern": "\\.replace\\(('\\[|/)|^\\s*(// \\s*)?(return |(let |const )?[a-zA-Z0-9$.]+ \\+?= (\\$\\()?|[a-zA-Z0-9$.]+\\()?['\"`]" } }, "interface-name": false, "forin": false, // maybe one day "member-ordering": false, "max-classes-per-file": false, // they look weird in `new class {...}` "new-parens": false, "no-bitwise": false, "no-console": false, "only-arrow-functions": false, "prefer-conditional-expression": false, "no-shadowed-variable": [true, {"temporalDeadZone": false}], "no-switch-case-fall-through": true, "object-literal-sort-keys": false, "object-literal-key-quotes": false, "trailing-comma": [ true, { "multiline": { "objects": "always", "arrays": "always", "functions": "never", "typeLiterals": "always" }, "singleline": "never", "esSpecCompliant": true } ], "semicolon": [true, "always", "strict-bound-class-methods"], "space-before-function-paren": [true, {"anonymous": "always", "named": "never", "asyncArrow": "always"}] }, "rulesDirectory": [] }