Initial Commit - NG UI
[osm/NG-UI.git] / tslint.json
diff --git a/tslint.json b/tslint.json
new file mode 100644 (file)
index 0000000..ba584e0
--- /dev/null
@@ -0,0 +1,299 @@
+{
+    "linterOptions" : {
+        "exclude" : [
+          "package.json"
+        ]
+      },
+    "defaultSeverity": "error",
+    "rules": {
+        "insecure-random": false,
+        "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-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,
+        "non-literal-require": true,
+        "possible-timing-attack": true,
+        "react-anchor-blank-noopener": true,
+        "react-iframe-missing-sandbox": true,
+        "react-no-dangerous-html": true,
+        "forin": true,
+        "jquery-deferred-must-complete": true,
+        "label-position": true,
+        "mocha-avoid-only": true,
+        "mocha-no-side-effect-code": true,
+        "no-any": true,
+        "no-arg": true,
+        "no-backbone-get-set-outside-model": true,
+        "no-bitwise": true,
+        "no-conditional-assignment": true,
+        "no-console": false,
+        "no-constant-condition": true,
+        "no-control-regex": 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-misused-new": true,
+        "no-regex-spaces": true,
+        "no-sparse-arrays": true,
+        "no-stateless-class": true,
+        "no-string-literal": true,
+        "no-string-throw": true,
+        "no-unnecessary-bind": true,
+        "no-unnecessary-initializer": true,
+        "no-unnecessary-override": true,
+        "no-unsafe-finally": true,
+        "no-unused-expression": true,
+        "no-with-statement": true,
+        "promise-must-complete": true,
+        "radix": true,
+        "react-this-binding-issue": true,
+        "react-unused-props-and-state": true,
+        "switch-default": true,
+        "triple-equals": [
+            true,
+            "allow-null-check"
+        ],
+        "use-isnan": true,
+        "use-named-parameter": true,
+        "valid-typeof": true,
+        "adjacent-overload-signatures": true,
+        "array-type": [
+            true,
+            "array"
+        ],
+        "arrow-parens": true,
+        "callable-types": true,
+        "chai-prefer-contains-to-index-of": true,
+        "chai-vague-errors": true,
+        "class-name": true,
+        "comment-format": true,
+        "export-name": true,
+        "function-name": true,
+        "import-name": true,
+        "interface-name": false,
+        "jsdoc-format": true,
+        "max-classes-per-file": [
+            true,
+            3
+        ],
+        "max-file-line-count": true,
+        "max-func-body-length": [
+            true,
+            100,
+            {
+                "ignore-parameters-to-function-regex": "describe"
+            }
+        ],
+        "max-line-length": [
+            true,
+            140
+        ],
+        "member-access": true,
+        "member-ordering": [
+            true,
+            {
+                "order": "fields-first"
+            }
+        ],
+        "missing-jsdoc": true,
+        "mocha-unneeded-done": true,
+        "new-parens": true,
+        "no-construct": true,
+        "no-default-export": true,
+        "no-empty-interface": true,
+        "no-for-in": true,
+        "no-function-expression": true,
+        "no-inferrable-types": false,
+        "no-multiline-string": true,
+        "no-null-keyword": false,
+        "no-parameter-properties": true,
+        "no-relative-imports": false,
+        "no-require-imports": true,
+        "no-shadowed-variable": true,
+        "no-typeof-undefined": true,
+        "no-unnecessary-field-initialization": true,
+        "no-unnecessary-local-variable": true,
+        "no-var-keyword": true,
+        "no-var-requires": true,
+        "no-var-self": true,
+        "object-literal-sort-keys": false,
+        "one-variable-per-declaration": true,
+        "only-arrow-functions": [
+            true,
+            "allow-declarations",
+            "allow-named-functions"
+        ],
+        "ordered-imports": true,
+        "prefer-array-literal": true,
+        "prefer-const": true,
+        "prefer-for-of": true,
+        "prefer-method-signature": true,
+        "typedef": [
+            true,
+            "call-signature",
+            "arrow-call-signature",
+            "parameter",
+            "arrow-parameter",
+            "property-declaration",
+            "variable-declaration",
+            "member-variable-declaration"
+        ],
+        "underscore-consistent-invocation": true,
+        "unified-signatures": true,
+        "variable-name": true,
+        "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,
+        "align": [
+            true,
+            "statements"
+        ],
+        "curly": true,
+        "eofline": true,
+        "import-spacing": true,
+        "indent": [
+            true,
+            "spaces"
+        ],
+        "linebreak-style": false,
+        "no-consecutive-blank-lines": true,
+        "no-empty-line-after-opening-brace": true,
+        "no-trailing-whitespace": true,
+        "no-unnecessary-semicolons": true,
+        "object-literal-key-quotes": [
+            true,
+            "as-needed"
+        ],
+        "one-line": [
+            false
+        ],
+        "quotemark": [
+            true,
+            "single"
+        ],
+        "react-tsx-curly-spacing": true,
+        "semicolon": [
+            true,
+            "always"
+        ],
+        "trailing-comma": [
+            true,
+            {
+                "singleline": "never",
+                "multiline": "never"
+            }
+        ],
+        "typedef-whitespace": false,
+        "whitespace": [
+            true,
+            "check-branch",
+            "check-decl",
+            "check-operator",
+            "check-separator",
+            "check-type"
+        ],
+        "ban": false,
+        "cyclomatic-complexity": true,
+        "file-header": false,
+        "import-blacklist": false,
+        "interface-over-type-literal": true,
+        "no-internal-module": true,
+        "no-magic-numbers": true,
+        "no-mergeable-namespace": false,
+        "no-namespace": true,
+        "no-reference": true,
+        "no-unexternalized-strings": true,
+        "object-literal-shorthand": true,
+        "no-angle-bracket-type-assertion": true,
+        "prefer-type-cast": false,
+        "space-before-function-paren": false,
+        "missing-optional-annotation": false,
+        "no-duplicate-parameter-names": false,
+        "no-empty-interfaces": true,
+        "no-missing-visibility-modifiers": false,
+        "no-multiple-var-decl": false,
+        "no-switch-case-fall-through": true,
+        //As of 2017-08-21 'no-unused-variable' doesn't work well with generics, disabled for now
+        "no-unused-variable": false,
+        "typeof-compare": true,
+        "no-inferred-empty-object-type": true,
+        "await-promise": true,
+        "no-floating-promises": true,
+        "no-for-in-array": true,
+        "no-use-before-declare": true,
+        "promise-function-async": true,
+        "completed-docs": [
+            true,
+            {
+                "classes": {
+                    "visibilities": ["all"]
+                },
+                "enums": {
+                    "visibilities": ["all"]
+                },
+                "functions": {
+                    "visibilities": ["all"]
+                },
+                "interfaces": {
+                    "visibilities": ["all"]
+                },
+                "methods": {
+                    "locations": ["all"],
+                    "privacies": ["all"]
+                },
+                "namespaces": {
+                    "visibilities": ["all"]
+                },
+                "properties": {
+                    "locations": ["all"],
+                    "privacies": ["all"]
+                },
+                "types": {
+                    "visibilities": ["all"]
+                },
+                "variables": {
+                    "visibilities": ["all"]
+                }
+            }
+        ],
+        "no-unnecessary-qualifier": true,
+        "no-void-expression": true,
+        "strict-boolean-expressions": [true, "allow-null-union"],
+        // The following produce too much noise with untyped or not-sufficiently typed libraries
+        "restrict-plus-operands": false,
+        "no-unsafe-any": false
+    },
+    "rulesDirectory": ["./node_modules/tslint-microsoft-contrib/"]
+}