{ "extends": [ "tslint:recommended", "rxjs-tslint-rules" ], "rules": { "array-type": false, "arrow-parens": false, "deprecation": { "severity": "warning" }, "component-class-suffix": true, "contextual-lifecycle": true, "directive-class-suffix": true, "directive-selector": [ true, "attribute", "app", "camelCase" ], "component-selector": [ true, "element", "app", "kebab-case" ], "import-blacklist": [ true, "rxjs/Rx" ], "interface-name": false, "max-classes-per-file": false, "max-line-length": [ true, { "limit": 140, "ignore-pattern": "^import |^export {(.*?)}|class [a-zA-Z]+ implements |// " } ], "member-access": false, "member-ordering": [ true, { "order": [ "public-static-field", "private-static-field", "public-instance-field", "private-instance-field", "public-constructor", "private-constructor", "public-instance-method", "protected-instance-method", "private-instance-method", "public-static-method", "protected-static-method", "private-static-method" ] } ], "no-consecutive-blank-lines": [ true, 1 ], "no-console": [ true, "debug", "info", "time", "timeEnd", "trace" ], "no-empty": [ true, "allow-empty-functions" ], "no-inferrable-types": [ true, "ignore-params" ], "no-non-null-assertion": true, "no-redundant-jsdoc": true, "no-switch-case-fall-through": true, "no-var-requires": false, "object-literal-key-quotes": [ true, "as-needed" ], "object-literal-sort-keys": false, "ordered-imports": false, "quotemark": [ true, "single" ], "no-conflicting-lifecycle": true, "no-host-metadata-property": true, "no-input-rename": true, "no-inputs-metadata-property": true, "no-output-native": true, "no-output-on-prefix": true, "no-output-rename": true, "no-outputs-metadata-property": true, "template-banana-in-box": true, "template-no-negated-async": true, "use-lifecycle-interface": true, "use-pipe-transform-interface": true, "origin-ordered-imports": [ true ], "rx-subject-restrictions": true, "ban-types": [ true, [ "Object", "Use {} instead." ], [ "String" ] ], "no-unnecessary-class": [ true, "allow-constructor-only", "allow-static-only", "allow-empty-class" ], "no-for-in-array": true, "typedef": [ true, "call-signature", "property-declaration", "object-destructuring", "arrow-call-signature" ], "no-unused": true, "no-return-undefined": true, "no-collapsible-if": true, "arrow-return-shorthand": [ true, "multiline" ], "no-static-this": true, "template-use-track-by-function": true, "prefer-template": true, "contextual-decorator": false, "no-pipe-impure": true, "component-max-inline-declarations": true, "no-attribute-decorator": true, "no-forward-ref": true, "no-lifecycle-call": true, "template-no-call-expression": true, "no-unused-css": true, "prefer-output-readonly": true, "template-conditional-complexity": true, "use-pipe-decorator": true, "use-component-view-encapsulation": true, "no-queries-metadata-property": true, "prefer-inline-decorator": false, "import-destructuring-spacing": true, "newline-before-return": false, "no-trailing-whitespace": true, "space-within-parens": true, "space-before-function-paren": [ true, { "anonymous": "never", "named": "never", "asyncArrow": "always", "method": "never", "constructor": "never" } ], "max-file-line-count": [ true, 400 ], "cyclomatic-complexity": [ true, 20 ], "encoding": true, "no-unsafe-finally": true, "no-duplicate-switch-case": true, "increment-decrement": [ true, "allow-post" ], "triple-equals": [ true, "allow-null-check" ], "no-invalid-template-strings": true, "no-unnecessary-type-assertion": true, "callable-types": true, "no-reference": true, "no-default-import": true, "no-default-export": true, "no-require-imports": true, "no-duplicate-imports": true, "no-import-side-effect": [ true, { "ignore-module": "(hammerjs|core-js|zone.js)" } ], "no-implicit-dependencies": [ true, "dev" ], "no-unnecessary-initializer": true, "no-var-keyword": true, "prefer-const": true, "no-return-await": true, "no-unnecessary-callback-wrapper": true, "no-arg": true, "eofline": true, "no-tautology-expression": true, "use-isnan": true, "restrict-plus-operands": true, "no-this-assignment": true, "no-invalid-this": [ true, "check-function-in-method" ], "no-unbound-method": true, "prefer-readonly": true, "radix": false, "no-misused-new": true, "no-duplicate-super": true, "rxjs-no-compat": true, "rxjs-no-internal": true, "unnecessary-else": [ true, { "allow-else-if": true } ], "no-any": [ true, { "ignore-rest-args": true } ], "variable-name": { "options": [ "ban-keywords", "check-format", "allow-leading-underscore", "allow-pascal-case" ] }, "trailing-comma": [ true, { "multiline": { "objects": "ignore", "arrays": "ignore", "functions": "never", "typeLiterals": "ignore" }, "esSpecCompliant": true } ] }, "rulesDirectory": [ "codelyzer", "node_modules/tslint-origin-ordered-imports-rule/dist", "node_modules/tslint-rxjs-subject-restrictions-rule/dist", "node_modules/tslint-consistent-codestyle/rules" ], "linterOptions": { "exclude": [ "**/*-routing.module.ts", "src/polyfills.ts", "src/test.ts", "**/*.po.ts" ] } }