blob: 781e54ee3194cc261afdb5aa39d4825407f3343d [file] [log] [blame]
{
"rulesDirectory": ["node_modules/codelyzer", "node_modules/rxjs-tslint"],
"rules": {
"align": [true, "parameters", "arguments", "statements", "members", "elements"],
"adjacent-overload-signatures": true,
"arrow-parens": [true, "ban-single-arg-parens"],
"arrow-return-shorthand": true,
"ban-comma-operator": true,
"ban": [
true,
"eval",
["describe", "only"],
{
"name": ["it", "only"],
"message": "don't focus tests"
},
{
"name": ["chai", "assert", "equal"],
"message": "Use 'strictEqual' instead."
}
],
"ban-types": {
"options": [["Object", "Avoid using the `Object` type. Did you mean `object`?"], ["Array", "Avoid using the `Array` type. Did you mean `array`?"]]
},
"binary-expression-operand-order": true,
"callable-types": true,
"class-name": true,
"comment-format": [true, "check-space"],
"curly": true,
"encoding": true,
"eofline": true,
"forin": true,
"import-spacing": false,
"indent": [true, "spaces"],
"interface-name": [true, "never-prefix"],
"interface-over-type-literal": true,
"jsdoc-format": [true, "check-multiline-start"],
"label-position": true,
"linebreak-style": [true, "LF"],
"max-classes-per-file": [true, 1],
"max-line-length": [true, { "limit": 160, "ignore-pattern": "^import |^export {(.*?)}" }],
"max-file-line-count": [true, 500],
"completed-docs": true,
"member-access": [true, "check-parameter-property", "check-accessor", "check-constructor"],
"member-ordering": [
true,
{
"order": [
"public-static-field",
"public-static-method",
"protected-static-field",
"protected-static-method",
"private-static-field",
"private-static-method",
"public-instance-field",
"protected-instance-field",
"private-instance-field",
"public-constructor",
"protected-constructor",
"private-constructor",
"public-instance-method",
"protected-instance-method",
"private-instance-method"
]
}
],
"newline-before-return": true,
"newline-per-chained-call": false,
"new-parens": true,
"no-angle-bracket-type-assertion": false,
"no-any": false,
"no-arg": true,
"no-bitwise": true,
"no-conditional-assignment": true,
"no-consecutive-blank-lines": true,
"no-irregular-whitespace": true,
"no-console": [true, "debug", "info", "time", "timeEnd", "trace"],
"no-construct": true,
"no-debugger": true,
"no-default-export": true,
"no-duplicate-imports": true,
"no-mergeable-namespace": true,
"no-duplicate-super": true,
"no-duplicate-switch-case": true,
"no-duplicate-variable": true,
"no-dynamic-delete": true,
"no-empty": false,
"no-empty-interface": true,
"no-eval": true,
"no-implicit-dependencies": false,
"no-import-side-effect": [
true,
{
"ignore-module": "(\\.html|\\.css)$"
}
],
"no-inferrable-types": false,
"no-internal-module": true,
"no-invalid-template-strings": true,
"no-invalid-this": true,
"no-magic-numbers": false,
"no-misused-new": true,
"no-namespace": [true, "allow-declarations"],
"no-non-null-assertion": true,
"no-null-keyword": false,
"no-object-literal-type-assertion": true,
"no-parameter-reassignment": true,
"no-parameter-properties": false,
"no-reference": true,
"no-reference-import": true,
"no-return-await": true,
"no-require-imports": true,
"no-shadowed-variable": true,
"no-sparse-arrays": true,
"no-submodule-imports": false,
"no-string-literal": false,
"no-string-throw": true,
"no-switch-case-fall-through": true,
"no-this-assignment": true,
"no-trailing-whitespace": true,
"no-unnecessary-callback-wrapper": true,
"no-unnecessary-class": false,
"no-unnecessary-initializer": true,
"no-unsafe-finally": true,
"no-unused-expression": [true, "allow-fast-null-checks", "allow-new"],
"no-use-before-declare": true,
"no-var-keyword": true,
"no-var-requires": true,
"number-literal-format": true,
"object-literal-key-quotes": [true, "consistent-as-needed"],
"object-literal-shorthand": true,
"object-literal-sort-keys": false,
"one-line": [true, "check-catch", "check-finally", "check-else", "check-open-brace", "check-whitespace"],
"one-variable-per-declaration": false,
"only-arrow-functions": [true, "allow-declarations", "allow-named-functions"],
"ordered-imports": [
true,
{
"named-imports-order": "lowercase-first"
}
],
"prefer-conditional-expression": [true, "check-else-if"],
"prefer-const": true,
"prefer-for-of": true,
"prefer-function-over-method": false,
"prefer-method-signature": true,
"prefer-object-spread": true,
"prefer-switch": true,
"prefer-template": true,
"quotemark": [true, "single"],
"radix": false,
"rxjs-collapse-imports": true,
"rxjs-proper-imports": true,
"rxjs-pipeable-operators-only": true,
"rxjs-no-static-observable-methods": true,
"semicolon": [true, "always"],
"space-before-function-paren": [true, "never"],
"space-within-parens": [true, 0],
"switch-default": true,
"switch-final-break": [true, "always"],
"trailing-comma": [
true,
{
"multiline": {
"objects": "always",
"arrays": "always",
"functions": "never",
"typeLiterals": "never"
},
"esSpecCompliant": true
}
],
"triple-equals": true,
"typedef": [
true,
"parameter",
"property-declaration",
"variable-declaration",
"member-variable-declaration",
"object-destructuring",
"array-destructuring"
],
"typedef-whitespace": [
true,
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
}
],
"type-literal-delimiter": true,
"unified-signatures": true,
"use-isnan": true,
"variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore", "allow-pascal-case"],
"whitespace": [
true,
"check-branch",
"check-decl",
"check-operator",
"check-module",
"check-separator",
"check-rest-spread",
"check-type",
"check-typecast",
"check-type-operator",
"check-preblock"
],
"directive-selector": [true, "attribute", "app", "camelCase"],
"component-selector": [true, "element", "app", "kebab-case"],
"use-input-property-decorator": true,
"use-output-property-decorator": true,
"use-host-property-decorator": true,
"no-input-rename": true,
"no-output-rename": true,
"use-life-cycle-interface": true,
"use-pipe-transform-interface": true,
"component-class-suffix": true,
"directive-class-suffix": true,
"rxjs-no-unsafe-catch": { "severity": "warn" },
"rxjs-no-unsafe-first": { "severity": "warn" },
"rxjs-no-nested-subscribe": { "severity": "warn" },
"rxjs-no-unsafe-takeuntil": { "severity": "warn" }
},
"linterOptions": {
"exclude": ["**/*.spec.ts", "**/testing/*.ts", "**/lib/**/*.ts"]
},
"extends": ["tslint:latest", "rxjs-tslint-rules", "tslint-config-prettier"]
}