tslint-microsoft-contrib/tslint.json

315 строки
8.4 KiB
JSON
Исходник Обычный вид История

2015-08-21 08:36:28 +03:00
{
"rulesDirectory": [
"dist/src"
],
2015-08-21 08:36:28 +03:00
"rules": {
2017-05-12 09:19:49 +03:00
"array-type": [true, "array"],
2017-02-17 20:55:59 +03:00
"arrow-return-shorthand": false,
"await-promise": false,
"adjacent-overload-signatures": false,
"align": [
false
],
"arrow-parens": false,
"ban": false,
"callable-types": true,
"chai-prefer-contains-to-index-of": true,
"chai-vague-errors": true,
"class-name": true,
"comment-format": [
false
],
"completed-docs": [
false
],
"curly": true,
"cyclomatic-complexity": [
false
],
"eofline": false,
"export-name": true,
"file-header": [
false
],
"forin": true,
"function-name": true,
"import-blacklist": false,
"import-name": true,
"import-spacing": true,
"indent": [
true,
"spaces"
],
"insecure-random": true,
"interface-name": false,
"interface-over-type-literal": false,
"jquery-deferred-must-complete": true,
"jsdoc-format": false,
"label-position": true,
"linebreak-style": [
true,
"LF"
],
"max-classes-per-file": [
false
],
"max-file-line-count": [
false
],
"max-func-body-length": [
true,
100,
{
"ignore-parameters-to-function-regex": "^describe$"
}
],
"max-line-length": [
true,
140
],
2016-09-16 21:39:10 +03:00
"member-access": true,
"member-ordering": [
false
],
"missing-jsdoc": true,
"missing-optional-annotation": false,
"mocha-avoid-only": true,
"mocha-no-side-effect-code": true,
"mocha-unneeded-done": true,
2016-05-17 10:17:09 +03:00
"new-parens": true,
"no-angle-bracket-type-assertion": false,
"no-any": false,
"no-arg": true,
"no-backbone-get-set-outside-model": true,
2015-08-21 08:36:28 +03:00
"no-banned-terms": true,
"no-bitwise": true,
"no-boolean-literal-compare": false,
"no-conditional-assignment": true,
"no-consecutive-blank-lines": [
true
],
"no-console": [
true,
"debug",
"error",
"info",
"log",
"time",
"timeEnd",
"trace"
],
"no-constant-condition": true,
"no-construct": true,
"no-control-regex": true,
2015-08-21 08:36:28 +03:00
"no-cookies": true,
"no-debugger": true,
2016-05-17 10:17:09 +03:00
"no-default-export": true,
2015-08-21 08:36:28 +03:00
"no-delete-expression": true,
"no-disable-auto-sanitization": true,
"no-document-domain": true,
"no-document-write": true,
"no-duplicate-case": false,
"no-duplicate-parameter-names": false,
2017-05-11 21:13:34 +03:00
"no-duplicate-super": true,
"no-duplicate-variable": true,
"no-empty": true,
"no-empty-interface": true,
"no-empty-interfaces": false,
"no-empty-line-after-opening-brace": false,
"no-eval": true,
2015-08-21 08:36:28 +03:00
"no-exec-script": true,
"no-floating-promises": false,
"no-for-in": true,
"no-for-in-array": false,
2015-08-21 08:36:28 +03:00
"no-function-constructor-with-string-args": true,
"no-function-expression": true,
"no-http-string": [
true,
"http://www.example.com/?.*",
"http://www.examples.com/?.*"
],
2017-05-11 21:15:07 +03:00
"no-import-side-effect": true,
2015-08-21 08:36:28 +03:00
"no-increment-decrement": true,
"no-inferrable-types": false,
"no-inferred-empty-object-type": false,
"no-inner-html": true,
"no-internal-module": false,
"no-invalid-regexp": true,
"no-invalid-template-strings": true,
2016-05-17 10:17:09 +03:00
"no-invalid-this": true,
"no-jquery-raw-elements": true,
"no-magic-numbers": false,
"no-mergeable-namespace": false,
"no-missing-visibility-modifiers": false,
"no-misused-new": true,
"no-multiline-string": [ false ],
"no-multiple-var-decl": false,
2016-05-17 10:17:09 +03:00
"no-namespace": false,
"no-null-keyword": true,
2015-08-21 08:36:28 +03:00
"no-octal-literal": true,
"no-parameter-properties": false,
2016-09-30 09:46:44 +03:00
"no-reference": true,
"no-reference-import": true,
"no-regex-spaces": true,
"no-require-imports": true,
2015-08-21 08:36:28 +03:00
"no-reserved-keywords": true,
"no-shadowed-variable": true,
"no-single-line-block-comment": true,
"no-sparse-arrays": true,
#000 un-deprate some rules function-name / variable-name rule. - we allow much more configuration than tslint. - for example, you can define a convention for privates, and a different convention for statics no-reserved-keywords / variable-name - the variable-name rule is not enough to pass the tests for no-reserved-keywords - we have more keywords and more usages missing-jsdoc / file-header - missing-jsdoc makes sure you have a top level JSDoc comment somewhere. comment could be at start of file, start of module, or start of class - file-header makes sure you have a top level text at start of file no-unnecessary-field-initialization / TSLint no-unnecessary-initializer - these are actually different rules - tslint analyzes everything *except* class members: https://github.com/palantir/tslint/blob/master/src/rules/noUnnecessaryInitializerRule.ts - our rule analyzes *only* class members prefer-array-literal / TSLint array-type - these are not drop in replacements. Our rule does a fair bit more than the base TSLint rule. prefer-type-cast / no-angle-bracket-type-assertion - These rules are actually opposites of each other - TSLint claims to be opinionated, so if they don't like a rule then they don't accept it into their ruleset - They told me they don't want this rule in the base product promise-must-complete / TSLint no-floating-promises - These rules are coded fairly differently, and are not replacements - It appears that the tslint rule does not satisfy the unit tests for promise-must-complete. - no-floating-promises requires type checking react-tsx-curly-spacing / tslint-react jsx-curly-spacing rule. - I generally don't recommend tslint-react over tslint-microsoft-contrib - There is a ton of overlap between the two projects
2017-12-18 17:15:40 +03:00
"no-stateless-class": false,
2015-08-21 08:36:28 +03:00
"no-string-based-set-immediate": true,
"no-string-based-set-interval": true,
"no-string-based-set-timeout": true,
"no-string-literal": true,
"no-string-throw": true,
"no-suspicious-comment": true,
"no-switch-case-fall-through": false,
2015-08-21 08:36:28 +03:00
"no-trailing-whitespace": true,
"no-typeof-undefined": true,
"no-unbound-method": false,
"no-unnecessary-bind": true,
"no-unnecessary-callback-wrapper": true,
"no-unnecessary-field-initialization": true,
"no-unnecessary-initializer": true,
"no-unnecessary-local-variable": true,
"no-unnecessary-override": true,
"no-unnecessary-qualifier": false,
"no-unnecessary-semicolons": true,
"no-unsafe-any": false,
"no-unsafe-finally": true,
"no-unsupported-browser-code": false,
2015-08-21 08:36:28 +03:00
"no-unused-expression": true,
"no-use-before-declare": true,
"no-var-keyword": true,
2015-08-21 08:36:28 +03:00
"no-var-requires": true,
#000 un-deprate some rules function-name / variable-name rule. - we allow much more configuration than tslint. - for example, you can define a convention for privates, and a different convention for statics no-reserved-keywords / variable-name - the variable-name rule is not enough to pass the tests for no-reserved-keywords - we have more keywords and more usages missing-jsdoc / file-header - missing-jsdoc makes sure you have a top level JSDoc comment somewhere. comment could be at start of file, start of module, or start of class - file-header makes sure you have a top level text at start of file no-unnecessary-field-initialization / TSLint no-unnecessary-initializer - these are actually different rules - tslint analyzes everything *except* class members: https://github.com/palantir/tslint/blob/master/src/rules/noUnnecessaryInitializerRule.ts - our rule analyzes *only* class members prefer-array-literal / TSLint array-type - these are not drop in replacements. Our rule does a fair bit more than the base TSLint rule. prefer-type-cast / no-angle-bracket-type-assertion - These rules are actually opposites of each other - TSLint claims to be opinionated, so if they don't like a rule then they don't accept it into their ruleset - They told me they don't want this rule in the base product promise-must-complete / TSLint no-floating-promises - These rules are coded fairly differently, and are not replacements - It appears that the tslint rule does not satisfy the unit tests for promise-must-complete. - no-floating-promises requires type checking react-tsx-curly-spacing / tslint-react jsx-curly-spacing rule. - I generally don't recommend tslint-react over tslint-microsoft-contrib - There is a ton of overlap between the two projects
2017-12-18 17:15:40 +03:00
"no-var-self": false,
"no-void-expression": false,
"no-with-statement": true,
"non-literal-require": true,
"non-literal-fs-path": true,
"object-literal-key-quotes": [
true,
"as-needed"
],
"object-literal-shorthand": false,
"object-literal-sort-keys": false,
"one-line": [
true,
"check-open-brace",
"check-catch",
"check-else",
"check-whitespace"
],
"one-variable-per-declaration": true,
"only-arrow-functions": [true, "allow-declarations", "allow-named-functions"],
"ordered-imports": [
false
],
"possible-timing-attack": true,
"prefer-array-literal": true,
"prefer-const": true,
"prefer-for-of": false,
"prefer-function-over-method": false,
"prefer-method-signature": true,
"prefer-readonly": true,
"prefer-template": false,
"prefer-type-cast": true,
"strict-type-predicates": false,
"promise-function-async": false,
"promise-must-complete": true,
"quotemark": [
true,
"single"
],
"radix": false,
"react-a11y-anchors": true,
"react-a11y-aria-unsupported-elements": true,
"react-a11y-event-has-role": true,
"react-a11y-image-button-has-alt": true,
"react-a11y-img-has-alt": true,
"react-a11y-lang": true,
"react-a11y-meta": true,
"react-a11y-props": true,
"react-a11y-proptypes": true,
"react-a11y-role": true,
"react-a11y-role-has-required-aria-props": true,
"react-a11y-role-supports-aria-props": true,
"react-a11y-tabindex-no-positive": true,
"react-a11y-titles": true,
"react-anchor-blank-noopener": true,
"react-iframe-missing-sandbox": true,
"react-no-dangerous-html": true,
"react-this-binding-issue": true,
"react-tsx-curly-spacing": false,
"react-unused-props-and-state": true,
"restrict-plus-operands": false,
"semicolon": [
true,
"ignore-bound-class-methods"
],
"space-before-function-paren": false,
"strict-boolean-expressions": false,
"switch-default": false,
"trailing-comma": [
true,
{
"singleline": "never",
"multiline": "never"
}
],
"triple-equals": [
true,
"allow-null-check"
],
"typedef": [
true,
"parameter",
"property-declaration",
"member-variable-declaration"
],
"typedef-whitespace": [
false
],
"typeof-compare": false,
"underscore-consistent-invocation": true,
"unified-signatures": true,
"use-isnan": true,
"use-named-parameter": true,
#000 un-deprate some rules function-name / variable-name rule. - we allow much more configuration than tslint. - for example, you can define a convention for privates, and a different convention for statics no-reserved-keywords / variable-name - the variable-name rule is not enough to pass the tests for no-reserved-keywords - we have more keywords and more usages missing-jsdoc / file-header - missing-jsdoc makes sure you have a top level JSDoc comment somewhere. comment could be at start of file, start of module, or start of class - file-header makes sure you have a top level text at start of file no-unnecessary-field-initialization / TSLint no-unnecessary-initializer - these are actually different rules - tslint analyzes everything *except* class members: https://github.com/palantir/tslint/blob/master/src/rules/noUnnecessaryInitializerRule.ts - our rule analyzes *only* class members prefer-array-literal / TSLint array-type - these are not drop in replacements. Our rule does a fair bit more than the base TSLint rule. prefer-type-cast / no-angle-bracket-type-assertion - These rules are actually opposites of each other - TSLint claims to be opinionated, so if they don't like a rule then they don't accept it into their ruleset - They told me they don't want this rule in the base product promise-must-complete / TSLint no-floating-promises - These rules are coded fairly differently, and are not replacements - It appears that the tslint rule does not satisfy the unit tests for promise-must-complete. - no-floating-promises requires type checking react-tsx-curly-spacing / tslint-react jsx-curly-spacing rule. - I generally don't recommend tslint-react over tslint-microsoft-contrib - There is a ton of overlap between the two projects
2017-12-18 17:15:40 +03:00
"valid-typeof": false,
2015-08-21 08:36:28 +03:00
"variable-name": true,
"whitespace": [
true,
"check-branch",
"check-decl",
"check-operator",
"check-separator",
"check-type"
],
2017-12-18 16:06:43 +03:00
"no-useless-files": true,
"ban-comma-operator": true,
"binary-expression-operand-order": false,
"deprecation": false,
"encoding": true,
"no-duplicate-imports": true,
"no-duplicate-switch-case": true,
"no-implicit-dependencies": true,
"no-irregular-whitespace": true,
"no-object-literal-type-assertion": true,
"no-parameter-reassignment": false,
"no-redundant-jsdoc": true,
"no-return-await": true,
"no-submodule-imports": true,
"no-this-assignment": true,
"no-unnecessary-class": true,
"no-unnecessary-type-assertion": false,
"number-literal-format": true,
"prefer-conditional-expression": false,
"prefer-object-spread": true,
"prefer-switch": false,
"space-within-parens": true,
"switch-final-break": true,
"type-literal-delimiter": false,
"use-default-type-parameter": false
2015-08-21 08:36:28 +03:00
}
}