Skip to content

Instantly share code, notes, and snippets.

@ochebotar
Created May 22, 2018 06:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ochebotar/7c488e8f55fe428eb2067e3554bb73c2 to your computer and use it in GitHub Desktop.
Save ochebotar/7c488e8f55fe428eb2067e3554bb73c2 to your computer and use it in GitHub Desktop.
TsLint preset for Angular development
{
"rulesDirectory": [
"node_modules/codelyzer"
],
"rules": {
"prefer-object-spread": true,
"object-literal-shorthand": true,
"object-literal-key-quotes": [
true,
"as-needed"
],
"no-unnecessary-class": [
true,
"allow-constructor-only",
"allow-static-only",
"allow-empty-class"
],
"no-implicit-dependencies": true,
"no-unnecessary-initializer": true,
"only-arrow-functions": [
true,
"allow-declarations",
"allow-named-functions"
],
"align": [
true,
"parameters",
"statements"
],
"trailing-comma": [
true,
{
"multiline": "never",
"singleline": "never",
"esSpecCompliant": true
}
],
"no-invalid-this": [
true,
"check-function-in-method"
],
"arrow-parens": [
true,
"ban-single-arg-parens"
],
"array-type": [
true,
"generic"
],
"no-sparse-arrays": true,
"arrow-return-shorthand": true,
"new-parens": true,
"no-misused-new": true,
"no-duplicate-super": true,
"no-duplicate-imports": true,
"no-require-imports": true,
"no-default-export": true,
"no-return-await": true,
"no-reference": true,
"no-null-keyword": true,
"no-non-null-assertion": true,
"prefer-function-over-method": [
true,
"allow-public",
"allow-protected"
],
"no-duplicate-variable": [
true,
"check-parameters"
],
"prefer-method-signature": true,
"adjacent-overload-signatures": true,
"callable-types": true,
"class-name": true,
"comment-format": [
true,
"check-space",
"check-lowercase",
{"ignore-words": ["TODO"]}
],
"jsdoc-format": true,
"curly": [
true,
"as-needed"
],
"no-redundant-jsdoc": true,
"switch-default": true,
"eofline": true,
"no-duplicate-switch-case": true,
"encoding": true,
"max-file-line-count": [true, 1500],
"cyclomatic-complexity": [
true,
20
],
"no-unsafe-finally": true,
"import-blacklist": [
true
],
"import-spacing": true,
"indent": [
true,
"spaces",
2
],
"interface-over-type-literal": true,
"label-position": true,
"max-line-length": [
true,
140
],
"member-access": [
true,
"no-public"
],
"member-ordering": [
true,
"public-before-private",
"static-before-instance",
"variables-before-functions"
],
"ordered-imports": [
true,
{
"import-sources-order": "any",
"named-imports-order": "case-insensitive",
"grouped-imports": true
}
],
"prefer-conditional-expression": [
true,
"check-else-if"
],
"prefer-while": true,
"prefer-for-of": true,
"forin": true,
"no-arg": true,
"no-bitwise": true,
"use-isnan": true,
"no-conditional-assignment": true,
"no-console": [
true,
"log",
"debug",
"info",
"time",
"timeEnd",
"trace"
],
"no-construct": true,
"no-debugger": true,
"no-empty": true,
"no-empty-interface": true,
"no-eval": true,
"no-inferrable-types": true,
"no-angle-bracket-type-assertion": true,
"no-shadowed-variable": [
true,
{
"temporalDeadZone": false
}
],
"one-variable-per-declaration": [
true,
"ignore-for-loop"
],
"no-string-literal": false,
"no-string-throw": true,
"no-switch-case-fall-through": true,
"no-trailing-whitespace": true,
"no-namespace": true,
"no-internal-module": true,
"no-unused-expression": [
true,
"allow-fast-null-checks"
],
"no-use-before-declare": true,
"no-var-keyword": true,
"object-literal-sort-keys": false,
"newline-before-return": true,
"newline-per-chained-call": true,
"one-line": [
true,
"check-open-brace",
"check-whitespace",
"check-else",
"check-catch",
"check-finally"
],
"no-consecutive-blank-lines": [
true,
1
],
"prefer-const": true,
"quotemark": [
true,
"single",
"avoid-template",
"avoid-escape"
],
"prefer-template": true,
"no-invalid-template-strings": true,
"binary-expression-operand-order": true,
"no-dynamic-delete": true,
"radix": true,
"semicolon": [
true,
"always",
"strict-bound-class-methods"
],
"triple-equals": [
true,
"allow-null-check"
],
"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"
}
],
"space-before-function-paren": [
true,
{
"anonymous": "never",
"named": "never",
"asyncArrow": "always",
"method": "never",
"constructor": "never"
}
],
"space-within-parens": 0,
"typeof-compare": true,
"unified-signatures": true,
"variable-name": [
true,
"check-format",
"allow-leading-underscore",
"ban-keywords"
],
"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,
"no-access-missing-member": true,
"templates-use-public": true,
"invoke-injectable": true
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment