OpenSlides/client/tslint.json
Sean e702843f07 Update linting rules
Includes strickt(er) tslint line-length of 120, with an exception
for import statements (prettier does not like these)
2020-04-22 16:24:08 +02:00

108 lines
3.6 KiB
JSON

{
"rulesDirectory": ["node_modules/codelyzer"],
"linterOptions": {
"exclude": ["src/polyfills.ts", "src/test.ts", "src/app/shared/shared.module.ts"]
},
"rules": {
"array-type": [true, "array"],
"arrow-return-shorthand": true,
"arrow-parens": false,
"callable-types": true,
"class-name": true,
"deprecation": {
"severity": "warn"
},
"forin": true,
"import-blacklist": [true, "rxjs/Rx"],
"interface-name": false,
"interface-over-type-literal": true,
"label-position": true,
"max-line-length": [true, { "limit": 120, "ignore-pattern": "^import [^,]+ from" }],
"member-access": false,
"member-ordering": [
true,
{
"order": ["static-field", "instance-field", "static-method", "instance-method"]
}
],
"no-arg": true,
"no-bitwise": true,
"no-console": [
true,
"table",
"clear",
"count",
"countReset",
"info",
"time",
"timeEnd",
"timeline",
"timelineEnd",
"trace"
],
"no-consecutive-blank-lines": false,
"no-construct": true,
"no-debugger": true,
"no-duplicate-super": true,
"no-empty": false,
"no-empty-interface": false,
"no-eval": true,
"no-inferrable-types": [true, "ignore-params"],
"no-misused-new": true,
"no-non-null-assertion": true,
"no-shadowed-variable": true,
"no-string-literal": false,
"no-string-throw": true,
"no-switch-case-fall-through": true,
"no-unnecessary-initializer": true,
"no-unused-expression": true,
"no-use-before-declare": true,
"no-var-keyword": true,
"object-literal-key-quotes": [true, "as-needed"],
"object-literal-sort-keys": false,
"ordered-imports": [
true,
{
"import-source-order": "case-sensitive",
"grouped-imports": true,
"groups": [
{
"name": "angular",
"match": "^@angular",
"order": 10
},
{
"name": "internal dependencies",
"match": "^(app/|\\.?\\./).*",
"order": 30
},
{
"name": "external dependencies",
"_match": "^(?!(app/|\\.?\\./)).*",
"match": ".*",
"order": 20
}
],
"named-imports-order": "case-insensitive",
"module-source-path": "basename"
}
],
"prefer-const": true,
"radix": true,
"triple-equals": [true, "allow-null-check"],
"unified-signatures": true,
"variable-name": false,
"whitespace": [true, "check-branch", "check-decl", "check-operator", "check-separator", "check-type"],
"no-output-on-prefix": true,
"no-inputs-metadata-property": true,
"no-outputs-metadata-property": true,
"no-host-metadata-property": true,
"no-input-rename": true,
"no-output-rename": true,
"use-lifecycle-interface": true,
"use-pipe-transform-interface": true,
"component-class-suffix": true,
"directive-class-suffix": true
}
}