@knisterpeter/standard-tslint
Version:
My personal standard tslint configuration
153 lines (152 loc) • 4.38 kB
JSON
{
"extends": "./tslint-base.json",
"rules": {
"adjacent-overload-signatures": true,
"ban-types": {
"options": [
["Object", "Avoid using the `Object` type. Did you mean `object`?"],
["Function", "Avoid using the `Function` type. Prefer a specific function type, like `() => void`."],
["Boolean", "Avoid using the `Boolean` type. Did you mean `boolean`?"],
["Number", "Avoid using the `Number` type. Did you mean `number`?"],
["String", "Avoid using the `String` type. Did you mean `string`?"],
["Symbol", "Avoid using the `Symbol` type. Did you mean `symbol`?"]
]
},
"align": [true, "statements"],
"array-type": [true, "array"],
"arrow-parens": false,
"arrow-return-shorthand": [true],
"await-promise": true,
"class-name": true,
"comment-format": [
true,
"check-space",
"check-lowercase"
],
"curly": true,
"cyclomatic-complexity": [true, 6],
"deprecation": {
"options": true,
"severity": "warning"
},
"eofline": true,
"forin": true,
"indent": [true, "spaces"],
"import-spacing": true,
"interface-name": [true, "never-prefix"],
"jsdoc-format": true,
"label-position": true,
"max-line-length": [true, 120],
"member-access": true,
"member-ordering": [true, {"order": [
"static-field",
"static-method",
"instance-field",
"constructor",
"instance-method"
]}],
"new-parens": true,
"no-angle-bracket-type-assertion": true,
"no-any": false,
"no-arg": true,
"no-bitwise": true,
"no-conditional-assignment": true,
"no-consecutive-blank-lines": [true, 1],
"no-construct": true,
"no-debugger": true,
"no-duplicate-super": true,
"no-empty": true,
"no-eval": true,
"no-floating-promises": true,
"no-implicit-dependencies": true,
"no-inferrable-types": [true],
"no-internal-module": true,
"no-misused-new": true,
"no-object-literal-type-assertion": true,
"no-parameter-properties": true,
"no-reference": true,
"no-reference-import": true,
"no-require-imports": false,
"no-return-await": true,
"no-shadowed-variable": false,
"no-string-throw": true,
"no-switch-case-fall-through": false,
"no-trailing-whitespace": [true, "ignore-comments", "ignore-jsdoc", "ignore-template-strings"],
"no-unnecessary-type-assertion": true,
"no-unused-expression": true,
"no-var-keyword": true,
"no-var-requires": true,
"number-literal-format": true,
"object-literal-key-quotes": [true, "as-needed"],
"object-literal-shorthand": true,
"one-line": [true,
"check-catch",
"check-else",
"check-finally",
"check-open-brace",
"check-whitespace"
],
"one-variable-per-declaration": [true,
"ignore-for-loop"
],
"ordered-imports": [true, {
"import-sources-order": "case-insensitive",
"named-imports-order": "any"
}],
"prefer-const": true,
"prefer-for-of": true,
"prefer-method-signature": true,
"prefer-template": [true, "allow-single-concat"],
"prefer-readonly": true,
"promise-function-async": true,
"quotemark": [
true,
"single",
"jsx-double",
"avoid-escape"
],
"radix": true,
"semicolon": [true, "always"],
"space-before-function-paren": [true, "never"],
"trailing-comma": [true,
{
"multiline": "never",
"singleline": "never"
}
],
"triple-equals": [true],
"typedef": [
true,
"call-signature",
"property-declaration"
],
"typedef-whitespace": [
true,
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
},
{
"call-signature": "onespace",
"index-signature": "onespace",
"parameter": "onespace",
"property-declaration": "onespace",
"variable-declaration": "onespace"
}
],
"unified-signatures": false,
"use-isnan": true,
"whitespace": [
true,
"check-branch",
"check-decl",
"check-operator",
"check-separator",
"check-type",
"check-typecast"
]
}
}