Skip to content

Commit

Permalink
update tslint settings
Browse files Browse the repository at this point in the history
  • Loading branch information
JanST123 committed May 7, 2020
1 parent f1532f2 commit 3b1d5a5
Showing 1 changed file with 105 additions and 160 deletions.
265 changes: 105 additions & 160 deletions tslint.json
Original file line number Diff line number Diff line change
@@ -1,142 +1,84 @@
{
"extends": "tslint:recommended",
"rulesDirectory": ["node_modules/tslint-microsoft-contrib"],
"rules": {

/**
* Security Rules. The following rules should be turned on because they find security issues
* or are recommended in the Microsoft Secure Development Lifecycle (SDL)
*/
"no-banned-terms": true,
"no-cookies": true,
"no-delete-expression": true,
"no-disable-auto-sanitization": true,
"no-document-domain": true,
"no-document-write": true,
"no-duplicate-key": true,
"no-eval": true,
"no-exec-script": true,
"no-function-constructor-with-string-args": true,
"no-http-string": [true, "http://www.example.com/?.*", "http://www.examples.com/?.*"],
"no-inner-html": true,
"no-octal-literal": true,
"no-reserved-keywords": true,
"no-string-based-set-immediate": true,
"no-string-based-set-interval": true,
"no-string-based-set-timeout": true,
"react-no-dangerous-html": true,
"use-strict": [true, "check-module"],

/**
* Common Bugs and Correctness. The following rules should be turned on because they find
* common bug patterns in the code or enforce type safety.
*/
"chai-vague-errors": true,
"callable-types": true,
"class-name": true,
"comment-format": [
true,
"check-space"
],
"curly": true,
"eofline": true,
"forin": true,
"jquery-deferred-must-complete": true,
"label-position": true,
"label-undefined": true,
"mocha-avoid-only": true,
"import-blacklist": [
true
],
"no-any": true,
"import-spacing": true,
"indent": [
true,
"spaces"
],
"interface-over-type-literal": true,
"label-position": true,
"max-line-length": [
true,
280
],
"member-access": false,
"member-ordering": [
true,
[
"static-before-instance",
"variables-before-functions"
]
],
"no-arg": true,
"no-backbone-get-set-outside-model": true,
"no-bitwise": true,
"no-conditional-assignment": true,
"no-console": [true, "debug", "info", /*"log",*/ "time", "timeEnd", "trace"],
"no-constant-condition": true,
"no-control-regex": true,
"no-console": [
true,
"debug",
"info",
"time",
"timeEnd",
"trace"
],
"no-construct": true,
"no-debugger": true,
"no-duplicate-case": true,
"no-duplicate-variable": true,
"no-empty": true,
"no-increment-decrement": true,
"no-invalid-regexp": true,
"no-invalid-this": true,
"no-jquery-raw-elements": true,
"no-regex-spaces": true,
"no-sparse-arrays": true,
"no-stateless-class": true,
"no-string-literal": true,
"no-unnecessary-bind": true,
"no-unnecessary-override": true,
"no-empty": false,
"no-empty-interface": true,
"no-eval": true,
"no-inferrable-types": [
true,
"ignore-params"
],
"no-shadowed-variable": true,
"no-string-literal": false,
"no-string-throw": true,
"no-switch-case-fall-through": true,
"no-trailing-whitespace": true,
"no-unused-expression": true,
"no-unused-variable": true,
"no-use-before-declare": true,
"no-with-statement": true,
"promise-must-complete": true,
"radix": true,
"react-this-binding-issue": true,
"switch-default": true,
"triple-equals": [true, "allow-null-check"],
"use-isnan": true,
"use-named-parameter": true,
"valid-typeof": true,

/**
* Code Clarity. The following rules should be turned on because they make the code
* generally more clear to the reader.
*/
"class-name": true,
"comment-format": [true, "check-space"],
"export-name": true,
"function-name": [ true, {
"method-regex": "^[a-z][\\w\\d]+$",
"private-method-regex": "^[a-z][\\w\\d]+$",
"static-method-regex": "^[a-z][\\w\\d]+$",
"function-regex": "^[a-z][\\w\\d]+$"
}],
"import-name": true,
"interface-name": [true, "always-prefix"],
"jsdoc-format": true,
"max-func-body-length": [true, 150, {"ignore-parameters-to-function-regex": "describe"}],
"max-line-length": [true, 200],
"member-access": true,
"member-ordering": [true, { "order": "fields-first" }],
"missing-jsdoc": true,
"new-parens": true,
"no-construct": true,
"no-constructor-vars": true,
"no-default-export": true,
"no-empty-interfaces": true,
"no-for-in": true,
"no-function-expression": true,
"no-inferrable-types": false, // turn no-inferrable-types off in order to make the code consistent in its use of type decorations
"no-multiline-string": true, // multiline-strings often introduce unnecessary whitespace into the string literals
"no-null-keyword": false, // turn no-null-keyword off and use undefined to mean not initialized and null to mean without a value
"no-relative-imports": false,
"no-require-imports": true,
"no-shadowed-variable": true,
"no-typeof-undefined": true,
"no-unnecessary-local-variable": true,
"no-var-keyword": true,
"no-var-requires": true,
"no-var-self": true,
"object-literal-sort-keys": false, // turn object-literal-sort-keys off and sort keys in a meaningful manner
"one-variable-per-declaration": true,
"prefer-array-literal": true,
"no-var-keyword": false,
"object-literal-sort-keys": false,
"one-line": [
true,
"check-open-brace",
"check-catch",
"check-else",
"check-whitespace"
],
"prefer-const": true,
"typedef": [true, "call-signature", "parameter", "property-declaration", "member-variable-declaration"],
"variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore"],

/**
* Whitespace related rules. The only recommended whitespace strategy is to pick a single format and
* be consistent.
*/
"align": [true, "parameters", "arguments", "statements"],
"curly": true,
"eofline": false,
"indent": [true, "spaces"],
"no-consecutive-blank-lines": true,
"no-empty-line-after-opening-brace": false,
"no-trailing-whitespace": true,
"no-unnecessary-semicolons": true,
"one-line": [true, "check-open-brace", "check-catch", "check-else", "check-whitespace"],
"quotemark": [true, "double"],
"semicolon": [true, "always"],
// forcing trailing commas for multi-line lists results in lists that are easier to reorder and version
// control diffs that are more clear. Many teams like to have multiline be 'always'. There is no
// clear consensus on this rule but the internal MS JavaScript coding standard does discourage it.
"trailing-comma": [true, {"singleline": "never", "multiline": "never"}],
"quotemark": [
true,
"single"
],
"radix": true,
"semicolon": true,
"triple-equals": [
true,
"allow-null-check"
],
"typedef-whitespace": [
true,
{
Expand All @@ -145,39 +87,42 @@
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
},
{
"call-signature": "onespace",
"index-signature": "onespace",
"parameter": "onespace",
"property-declaration": "onespace",
"variable-declaration": "onespace"
}
],
"whitespace": [true, "check-branch", "check-decl", "check-operator", "check-separator", "check-type"],

/**
* Controversial/Configurable rules.
*/
"ban": false, // only enable this if you have some code pattern that you want to ban
"no-internal-module": false, // only enable this if you are not using internal modules
"no-namespace": false, // only enable this if you are not using modules/namespaces
"no-reference": true, // in general you should use a module system and not /// reference imports
"no-unexternalized-strings": false, // the VS Code team has a specific localization process that this rule enforces
// pick one of the two following type-cast formats and use it consistently
"prefer-type-cast": false,
"no-angle-bracket-type-assertion": true,

/**
* Deprecated rules. The following rules are deprecated for various reasons.
*/
"missing-optional-annotation": false, // now supported by TypeScript compiler
"no-duplicate-parameter-names": false, // now supported by TypeScript compiler
"no-missing-visibility-modifiers": true, // use tslint member-access rule instead
"no-multiple-var-decl": false, // use tslint one-variable-per-declaration rule instead
"no-switch-case-fall-through": false, // now supported by TypeScript compiler
"no-unreachable": false, // now supported by TypeScript compiler
"no-unused-imports": false // use tslint no-unused-variable rule instead

"typeof-compare": true,
"unified-signatures": true,
"variable-name": false,
"whitespace": [
true,
"check-branch",
"check-decl",
"check-operator",
"check-separator",
"check-type"
],
"directive-selector": [
true,
"attribute",
"app",
"camelCase"
],
"component-selector": [
true,
"element",
"app",
"kebab-case"
],
"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,
"no-access-missing-member": true,
"templates-use-public": true,
"invoke-injectable": true
}
}

0 comments on commit 3b1d5a5

Please sign in to comment.