Last active
July 28, 2018 22:03
-
-
Save anthonynichols/54f4f1521148c3f6b71130d3882d7996 to your computer and use it in GitHub Desktop.
TSLint config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "defaultSeverity": "error", | |
| "rules": { | |
| // ------------------------------------------------------------------------- | |
| // TypeScript specific | |
| // ------------------------------------------------------------------------- | |
| // https://palantir.github.io/tslint/rules/adjacent-overload-signatures/ | |
| "adjacent-overload-signatures": true, | |
| // https://palantir.github.io/tslint/rules/ban-types/ | |
| "ban-types": false, | |
| // https://palantir.github.io/tslint/rules/member-access/ | |
| "member-access": [ | |
| true, | |
| "no-public" | |
| ], | |
| // https://palantir.github.io/tslint/rules/member-ordering/ | |
| "member-ordering": [ | |
| true, | |
| { | |
| "alphabetize": true, | |
| "order": [ | |
| "public-static-field", | |
| "protected-static-field", | |
| "private-static-field", | |
| "public-instance-field", | |
| "protected-instance-field", | |
| "private-instance-field", | |
| "constructor", | |
| "public-static-method", | |
| "protected-static-method", | |
| "private-static-method", | |
| "public-instance-method", | |
| "private-instance-method", | |
| "protected-instance-method" | |
| ] | |
| } | |
| ], | |
| // https://palantir.github.io/tslint/rules/no-any/ | |
| "no-any": true, | |
| // https://palantir.github.io/tslint/rules/no-empty-interface/ | |
| "no-empty-interface": false, | |
| // https://palantir.github.io/tslint/rules/no-import-side-effect/ | |
| "no-import-side-effect": false, | |
| // https://palantir.github.io/tslint/rules/no-inferrable-types/ | |
| "no-inferrable-types": [ | |
| true | |
| ], | |
| // https://palantir.github.io/tslint/rules/no-internal-module/ | |
| "no-internal-module": true, | |
| // https://palantir.github.io/tslint/rules/no-magic-numbers/ | |
| "no-magic-numbers": true, | |
| // https://palantir.github.io/tslint/rules/no-namespace/ | |
| "no-namespace": true, | |
| // https://palantir.github.io/tslint/rules/no-non-null-assertion/ | |
| "no-non-null-assertion": true, | |
| // https://palantir.github.io/tslint/rules/no-parameter-reassignment/ | |
| "no-parameter-reassignment": false, | |
| // https://palantir.github.io/tslint/rules/no-reference/ | |
| "no-reference": true, | |
| // https://palantir.github.io/tslint/rules/no-unnecessary-type-assertion/ | |
| "no-unnecessary-type-assertion": true, | |
| // https://palantir.github.io/tslint/rules/no-var-requires/ | |
| "no-var-requires": true, | |
| // https://palantir.github.io/tslint/rules/only-arrow-functions/ | |
| "only-arrow-functions": [ | |
| true, | |
| "allow-named-functions" | |
| ], | |
| // https://palantir.github.io/tslint/rules/prefer-for-of/ | |
| "prefer-for-of": true, | |
| // https://palantir.github.io/tslint/rules/promise-function-async/ | |
| "promise-function-async": [ | |
| true, | |
| "check-function-declaration", | |
| "check-function-expression", | |
| "check-arrow-function", | |
| "check-method-declaration" | |
| ], | |
| // https://palantir.github.io/tslint/rules/typedef/ | |
| "typedef": [ | |
| // true, | |
| // "call-signature", | |
| // "arrow-call-signature", | |
| // "parameter", | |
| // "arrow-parameter", | |
| // "property-declaration", | |
| // "variable-declaration", | |
| // "member-variable-declaration", | |
| // "object-destructuring", | |
| // "array-destructuring" | |
| false | |
| ], | |
| // https://palantir.github.io/tslint/rules/typedef-whitespace/ | |
| "typedef-whitespace": [ | |
| true, | |
| { | |
| "call-signature": "nospace", | |
| "index-signature": "nospace", | |
| "parameter": "nospace", | |
| "property-declaration": "nospace", | |
| "variable-declaration": "nospace" | |
| }, | |
| { | |
| "call-signature": "space", | |
| "index-signature": "space", | |
| "parameter": "space", | |
| "property-declaration": "space", | |
| "variable-declaration": "space" | |
| } | |
| ], | |
| // https://palantir.github.io/tslint/rules/unified-signatures/ | |
| "unified-signatures": true, | |
| // ------------------------------------------------------------------------- | |
| // Functionality | |
| // ------------------------------------------------------------------------- | |
| // https://palantir.github.io/tslint/rules/await-promise/ | |
| "await-promise": true, | |
| // https://palantir.github.io/tslint/rules/ban-comma-operator/ | |
| "ban-comma-operator": true, | |
| "curly": [ | |
| true, | |
| "ignore-same-line" | |
| ], | |
| "forin": true, | |
| // https://palantir.github.io/tslint/rules/no-arg/ | |
| "no-arg": true, | |
| // https://palantir.github.io/tslint/rules/no-bitwise/ | |
| "no-bitwise": true, | |
| // https://palantir.github.io/tslint/rules/no-conditional-assignment/ | |
| "no-conditional-assignment": true, | |
| // https://palantir.github.io/tslint/rules/no-console/ | |
| "no-console": false, | |
| // https://palantir.github.io/tslint/rules/no-construct/ | |
| "no-construct": true, | |
| // https://palantir.github.io/tslint/rules/no-debugger/ | |
| "no-debugger": false, | |
| // https://palantir.github.io/tslint/rules/no-duplicate-super/ | |
| "no-duplicate-super": true, | |
| // https://palantir.github.io/tslint/rules/no-duplicate-switch-case/ | |
| "no-duplicate-switch-case": true, | |
| // https://palantir.github.io/tslint/rules/no-dynamic-delete/ | |
| "no-dynamic-delete": true, | |
| // https://palantir.github.io/tslint/rules/no-empty/ | |
| "no-empty": [ | |
| true, | |
| "allow-empty-catch", | |
| "allow-empty-functions" | |
| ], | |
| // https://palantir.github.io/tslint/rules/no-eval/ | |
| "no-eval": true, | |
| // https://palantir.github.io/tslint/rules/no-floating-promises/ | |
| "no-floating-promises": true, | |
| // https://palantir.github.io/tslint/rules/no-for-in-array/ | |
| "no-for-in-array": true, | |
| // https://palantir.github.io/tslint/rules/no-implicit-dependencies/ | |
| "no-implicit-dependencies": [ | |
| true, | |
| "dev" | |
| ], | |
| // https://palantir.github.io/tslint/rules/no-inferred-empty-object-type/ | |
| "no-inferred-empty-object-type": true, | |
| // https://palantir.github.io/tslint/rules/no-invalid-template-strings/ | |
| "no-invalid-template-strings": true, | |
| // https://palantir.github.io/tslint/rules/no-invalid-this/ | |
| // "no-invalid-this": [ | |
| // true, | |
| // "check-function-in-method" | |
| // ], | |
| // https://palantir.github.io/tslint/rules/no-invalid-this/ | |
| "no-invalid-this": true, | |
| // https://palantir.github.io/tslint/rules/no-misused-new/ | |
| "no-misused-new": true, | |
| // https://palantir.github.io/tslint/rules/no-null-keyword/ | |
| "no-null-keyword": true, | |
| // https://palantir.github.io/tslint/rules/no-object-literal-type-assertion/ | |
| "no-object-literal-type-assertion": true, | |
| // https://palantir.github.io/tslint/rules/no-return-await/ | |
| "no-return-await": true, | |
| // https://palantir.github.io/tslint/rules/no-shadowed-variable/ | |
| // "no-shadowed-variable": true, | |
| "no-sparse-arrays": true, | |
| // https://palantir.github.io/tslint/rules/no-string-literal/ | |
| "no-string-literal": true, | |
| // https://palantir.github.io/tslint/rules/no-string-throw/ | |
| "no-string-throw": true, | |
| // https://palantir.github.io/tslint/rules/no-submodule-imports/ | |
| "no-submodule-imports": true, | |
| // https://palantir.github.io/tslint/rules/no-switch-case-fall-through/ | |
| "no-switch-case-fall-through": true, | |
| // https://palantir.github.io/tslint/rules/no-this-assignment/ | |
| "no-this-assignment": [ | |
| true, | |
| { | |
| "allow-destructuring": true | |
| } | |
| ], | |
| // https://palantir.github.io/tslint/rules/no-unbound-method/ | |
| "no-unbound-method": true, | |
| // https://palantir.github.io/tslint/rules/no-unnecessary-class/ | |
| "no-unnecessary-class": true, | |
| // https://palantir.github.io/tslint/rules/no-unsafe-any/ | |
| "no-unsafe-any": true, | |
| // https://palantir.github.io/tslint/rules/no-unsafe-finally/ | |
| "no-unsafe-finally": true, | |
| // https://palantir.github.io/tslint/rules/no-unused-expression/ | |
| "no-unused-expression": [ | |
| true, | |
| "allow-fast-null-checks", | |
| "allow-tagged-template" | |
| ], | |
| // https://palantir.github.io/tslint/rules/no-unused-variable/ | |
| "no-unused-variable": [ | |
| true, | |
| { | |
| "ignore-pattern": "^_" | |
| } | |
| ], | |
| // https://palantir.github.io/tslint/rules/no-use-before-declare/ | |
| // "no-use-before-declare": false, | |
| // https://palantir.github.io/tslint/rules/no-var-keyword/ | |
| "no-var-keyword": true, | |
| // https://palantir.github.io/tslint/rules/no-void-expression/ | |
| "no-void-expression": [ | |
| true, | |
| "ignore-arrow-function-shorthand" | |
| ], | |
| // https://palantir.github.io/tslint/rules/prefer-conditional-expression/ | |
| "prefer-conditional-expression": [ | |
| true, | |
| "check-else-if" | |
| ], | |
| // https://palantir.github.io/tslint/rules/prefer-object-spread/ | |
| "prefer-object-spread": true, | |
| // https://palantir.github.io/tslint/rules/radix/ | |
| "radix": false, | |
| // https://palantir.github.io/tslint/rules/restrict-plus-operands/ | |
| "restrict-plus-operands": true, | |
| // https://palantir.github.io/tslint/rules/strict-boolean-expressions/ | |
| "strict-boolean-expressions": [ | |
| true, | |
| "allow-boolean-or-undefined" | |
| ], | |
| // https://palantir.github.io/tslint/rules/strict-type-predicates/ | |
| // "strict-type-predicates": true, | |
| // https://palantir.github.io/tslint/rules/switch-default/ | |
| "switch-default": false, | |
| // https://palantir.github.io/tslint/rules/triple-equals/ | |
| "triple-equals": [ | |
| true, | |
| "allow-undefined-check" | |
| ], | |
| // https://palantir.github.io/tslint/rules/use-default-type-parameter/ | |
| "use-default-type-parameter": true, | |
| // ------------------------------------------------------------------------- | |
| // Maintainability | |
| // ------------------------------------------------------------------------- | |
| // https://palantir.github.io/tslint/rules/cyclomatic-complexity/ | |
| "cyclomatic-complexity": [ | |
| true, | |
| 10 | |
| ], | |
| // https://palantir.github.io/tslint/rules/deprecation/ | |
| "deprecation": true, | |
| // https://palantir.github.io/tslint/rules/eofline/ | |
| "eofline": true, | |
| // https://palantir.github.io/tslint/rules/indent/ | |
| "indent": [ | |
| true, | |
| "spaces", | |
| 2 | |
| ], | |
| // https://palantir.github.io/tslint/rules/linebreak-style/ | |
| "linebreak-style": [ | |
| true, | |
| "LF" | |
| ], | |
| // https://palantir.github.io/tslint/rules/max-classes-per-file/ | |
| "max-classes-per-file": false, | |
| // https://palantir.github.io/tslint/rules/no-default-export/ | |
| "no-default-export": true, | |
| // https://palantir.github.io/tslint/rules/no-duplicate-imports/ | |
| "no-duplicate-imports": true, | |
| // https://palantir.github.io/tslint/rules/no-mergable-namespace/ | |
| "no-mergeable-namespace": true, | |
| // https://palantir.github.io/tslint/rules/object-literal-sort-keys/ | |
| "object-literal-sort-keys": [ | |
| true, | |
| "ignore-case", | |
| "match-declaration-order", | |
| "shorthand-first" | |
| ], | |
| // https://palantir.github.io/tslint/rules/prefer-const/ | |
| "prefer-const": true, | |
| // https://palantir.github.io/tslint/rules/prefer-readonly/ | |
| "prefer-readonly": true, | |
| // https://palantir.github.io/tslint/rules/trailing-comma/ | |
| "trailing-comma": [ | |
| true, | |
| { | |
| "singleline": "never", | |
| "multiline": { | |
| "arrays": "always", | |
| "exports": "always", | |
| "functions": "never", | |
| "imports": "always", | |
| "objects": "always", | |
| "typeLiterals": "always" | |
| }, | |
| "esSpecCompliant": true | |
| } | |
| ], | |
| // ------------------------------------------------------------------------- | |
| // Style | |
| // ------------------------------------------------------------------------- | |
| // https://palantir.github.io/tslint/rules/align/ | |
| "align": [ | |
| true, | |
| "arguments", | |
| "elements", | |
| "members", | |
| "parameters", | |
| "statements" | |
| ], | |
| // https://palantir.github.io/tslint/rules/array-type/ | |
| "array-type": [ | |
| true, | |
| "array" | |
| ], | |
| // https://palantir.github.io/tslint/rules/arrow-parens/ | |
| "arrow-parens": true, | |
| // https://palantir.github.io/tslint/rules/arrow-return-shorthand/ | |
| "arrow-return-shorthand": true, | |
| // https://palantir.github.io/tslint/rules/binary-expression-operand-order/ | |
| "binary-expression-operand-order": true, | |
| // https://palantir.github.io/tslint/rules/callable-types/ | |
| "callable-types": true, | |
| // https://palantir.github.io/tslint/rules/class-name/ | |
| "class-name": true, | |
| // https://palantir.github.io/tslint/rules/comment-format/ | |
| "comment-format": [ | |
| true, | |
| "check-space" | |
| ], | |
| // TODO: Check into this one | |
| // https://palantir.github.io/tslint/rules/completed-docs/ | |
| // "completed-docs": true, | |
| // https://palantir.github.io/tslint/rules/encoding/ | |
| "encoding": true, | |
| // TODO: Check into this one | |
| // https://palantir.github.io/tslint/rules/import-spacing/ | |
| // "import-spacing": true, | |
| // https://palantir.github.io/tslint/rules/interface-name/ | |
| "interface-name": [ | |
| true, | |
| "never-prefix" | |
| ], | |
| // https://palantir.github.io/tslint/rules/interface-over-type-literal/ | |
| "interface-over-type-literal": true, | |
| // TODO: Check into this one | |
| // https://palantir.github.io/tslint/rules/jsdoc-format/ | |
| // "jsdoc-format": true, | |
| // https://palantir.github.io/tslint/rules/newline-before-return/ | |
| "newline-before-return": true, | |
| // https://palantir.github.io/tslint/rules/newline-per-chained-call/ | |
| "newline-per-chained-call": true, | |
| // https://palantir.github.io/tslint/rules/new-parens/ | |
| "new-parens": true, | |
| // https://palantir.github.io/tslint/rules/no-angle-bracket-type-assertion/ | |
| "no-angle-bracket-type-assertion": false, | |
| // https://palantir.github.io/tslint/rules/no-boolean-literal-compare/ | |
| "no-boolean-literal-compare": true, | |
| // https://palantir.github.io/tslint/rules/no-consecutive-blank-lines/ | |
| "no-consecutive-blank-lines": [ | |
| true, | |
| 2 | |
| ], | |
| // https://palantir.github.io/tslint/rules/no-irregular-whitespace/ | |
| "no-irregular-whitespace": false, | |
| // https://palantir.github.io/tslint/rules/no-parameter-properties/ | |
| "no-parameter-properties": true, | |
| // https://palantir.github.io/tslint/rules/no-reference-import/ | |
| "no-reference-import": true, | |
| // https://palantir.github.io/tslint/rules/no-trailing-whitespace/ | |
| "no-trailing-whitespace": [ | |
| true, | |
| "ignore-comments", | |
| "ignore-template-strings" | |
| ], | |
| // https://palantir.github.io/tslint/rules/no-unnecessary-callback-wrapper/ | |
| "no-unnecessary-callback-wrapper": true, | |
| // https://palantir.github.io/tslint/rules/no-unnecessary-initializer/ | |
| "no-unnecessary-initializer": true, | |
| // TODO: Check into this one | |
| // https://palantir.github.io/tslint/rules/no-unnecessary-qualifier/ | |
| "no-unnecessary-qualifier": true, | |
| // https://palantir.github.io/tslint/rules/number-literal-format/ | |
| "number-literal-format": true, | |
| // https://palantir.github.io/tslint/rules/object-literal-key-quotes/ | |
| "object-literal-key-quotes": [ | |
| true, | |
| "as-needed" | |
| ], | |
| // https://palantir.github.io/tslint/rules/object-literal-shorthand/ | |
| "object-literal-shorthand": true, | |
| // https://palantir.github.io/tslint/rules/one-line/ | |
| "one-line": [ | |
| true, | |
| "check-catch", | |
| "check-else", | |
| "check-finally", | |
| "check-open-brace", | |
| "check-whitespace" | |
| ], | |
| // https://palantir.github.io/tslint/rules/one-variable-per-declaration/ | |
| "one-variable-per-declaration": [ | |
| true, | |
| "ignore-for-loop" | |
| ], | |
| // TODO: Check into this one to see if it is compatible with import-sort-style-alexandria | |
| // https://palantir.github.io/tslint/rules/ordered-imports/ | |
| "ordered-imports": [ | |
| true, | |
| { | |
| "import-sources-order": "case-insensitive", | |
| "grouped-imports": true, | |
| "named-imports-order": "case-insensitive", | |
| "module-source-path": "full" | |
| } | |
| ], | |
| // https://palantir.github.io/tslint/rules/prefer-function-over-method/ | |
| "prefer-function-over-method": true, | |
| // https://palantir.github.io/tslint/rules/prefer-method-signature/ | |
| "prefer-method-signature": true, | |
| // https://palantir.github.io/tslint/rules/prefer-switch/ | |
| "prefer-switch": true, | |
| // https://palantir.github.io/tslint/rules/prefer-template/ | |
| "prefer-template": true, | |
| // https://palantir.github.io/tslint/rules/prefer-while/ | |
| "prefer-while": true, | |
| // https://palantir.github.io/tslint/rules/quotemark/ | |
| "quotemark": [ | |
| true, | |
| "single", | |
| "jsx-double", | |
| "avoid-escape", | |
| "avoid-template" | |
| ], | |
| // https://palantir.github.io/tslint/rules/return-undefined/ | |
| "return-undefined": true, | |
| // https://palantir.github.io/tslint/rules/semicolon/ | |
| "semicolon": [ | |
| true, | |
| "always", | |
| "ignore-bound-class-methods", | |
| "ignore-interfaces" | |
| ], | |
| // https://palantir.github.io/tslint/rules/space-before-function-paren/ | |
| "space-before-function-paren": [ | |
| true, | |
| { | |
| "anonymous": "always", | |
| "named": "never", | |
| "asyncArrow": "always", | |
| "method": "never", | |
| "constructor": "never" | |
| } | |
| ], | |
| // https://palantir.github.io/tslint/rules/space-within-parens/ | |
| "space-within-parens": false, | |
| // https://palantir.github.io/tslint/rules/switch-final-break/ | |
| "switch-final-break": [ | |
| true, | |
| "always" | |
| ], | |
| // https://palantir.github.io/tslint/rules/type-literal-delimiter/ | |
| "type-literal-delimiter": true, | |
| // https://palantir.github.io/tslint/rules/variable-name/ | |
| "variable-name": [ | |
| true, | |
| "allow-leading-underscore", | |
| "allow-pascal-case", | |
| "allow-trailing-underscore", | |
| "ban-keywords", | |
| "check-format" | |
| ], | |
| // https://palantir.github.io/tslint/rules/whitespace/ | |
| "whitespace": [ | |
| true, | |
| "check-branch", | |
| "check-decl", | |
| "check-operator", | |
| "check-module", | |
| "check-separator", | |
| "check-rest-spread", | |
| "check-type", | |
| "check-typecase", | |
| "check-type-operator", | |
| "check-preblock" | |
| ] | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment