--- /dev/null
+{
+ "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/"]
+}