aboutsummaryrefslogtreecommitdiff
path: root/node_modules/tslint/lib/configs/all.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/tslint/lib/configs/all.js')
-rw-r--r--node_modules/tslint/lib/configs/all.js254
1 files changed, 254 insertions, 0 deletions
diff --git a/node_modules/tslint/lib/configs/all.js b/node_modules/tslint/lib/configs/all.js
new file mode 100644
index 000000000..526c3a30f
--- /dev/null
+++ b/node_modules/tslint/lib/configs/all.js
@@ -0,0 +1,254 @@
+"use strict";
+/**
+ * @license
+ * Copyright 2017 Palantir Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+var path_1 = require("path");
+var ruleLoader_1 = require("../ruleLoader");
+var utils_1 = require("../utils");
+// tslint:disable object-literal-sort-keys
+// tslint:disable object-literal-key-quotes
+exports.rules = {
+ // TypeScript Specific
+ "adjacent-overload-signatures": true,
+ "ban-types": {
+ options: [
+ ["Object", "Avoid using the `Object` type. Did you mean `object`?"],
+ ["Function", "Avoid using the `Function` type. Prefer a specific function type, like `() => void`."],
+ ["Boolean", "Avoid using the `Boolean` type. Did you mean `boolean`?"],
+ ["Number", "Avoid using the `Number` type. Did you mean `number`?"],
+ ["String", "Avoid using the `String` type. Did you mean `string`?"],
+ ["Symbol", "Avoid using the `Symbol` type. Did you mean `symbol`?"],
+ ],
+ },
+ "member-access": [true, "check-accessor", "check-constructor"],
+ "member-ordering": [true, {
+ "order": "statics-first",
+ "alphabetize": true,
+ }],
+ "no-any": true,
+ "no-empty-interface": true,
+ "no-import-side-effect": true,
+ // Technically this is not the strictest setting, but don't want to conflict with "typedef"
+ "no-inferrable-types": [true, "ignore-params"],
+ "no-internal-module": true,
+ "no-magic-numbers": true,
+ "no-namespace": true,
+ "no-non-null-assertion": true,
+ "no-reference": true,
+ "no-var-requires": true,
+ "only-arrow-functions": true,
+ "prefer-for-of": true,
+ "promise-function-async": true,
+ "typedef": [
+ true,
+ "call-signature",
+ "arrow-call-signature",
+ "parameter",
+ "arrow-parameter",
+ "property-declaration",
+ "variable-declaration",
+ "member-variable-declaration",
+ ],
+ "typedef-whitespace": [
+ true,
+ {
+ "call-signature": "nospace",
+ "index-signature": "nospace",
+ "parameter": "nospace",
+ "property-declaration": "nospace",
+ "variable-declaration": "nospace",
+ },
+ {
+ "call-signature": "onespace",
+ "index-signature": "onespace",
+ "parameter": "onespace",
+ "property-declaration": "onespace",
+ "variable-declaration": "onespace",
+ },
+ ],
+ "unified-signatures": true,
+ // Functionality
+ "await-promise": true,
+ // "ban": no sensible default
+ "curly": true,
+ "forin": true,
+ // "import-blacklist": no sensible default
+ "label-position": true,
+ "no-arg": true,
+ "no-bitwise": true,
+ "no-conditional-assignment": true,
+ "no-console": true,
+ "no-construct": true,
+ "no-debugger": true,
+ "no-duplicate-super": true,
+ "no-duplicate-variable": true,
+ "no-empty": true,
+ "no-eval": true,
+ "no-floating-promises": true,
+ "no-for-in-array": true,
+ "no-inferred-empty-object-type": true,
+ "no-invalid-template-strings": true,
+ // "no-invalid-this": Won't this be deprecated?
+ "no-misused-new": true,
+ "no-null-keyword": true,
+ "no-object-literal-type-assertion": true,
+ "no-shadowed-variable": true,
+ "no-string-literal": true,
+ "no-string-throw": true,
+ "no-sparse-arrays": true,
+ "no-unbound-method": true,
+ "no-unsafe-any": true,
+ "no-unsafe-finally": true,
+ "no-unused-expression": true,
+ "no-unused-variable": true,
+ "no-use-before-declare": true,
+ "no-var-keyword": true,
+ "no-void-expression": true,
+ "prefer-conditional-expression": true,
+ "radix": true,
+ "restrict-plus-operands": true,
+ "strict-boolean-expressions": true,
+ "strict-type-predicates": true,
+ "switch-default": true,
+ "triple-equals": true,
+ "use-isnan": true,
+ // Maintainability
+ "cyclomatic-complexity": true,
+ "eofline": true,
+ "indent": [true, "spaces"],
+ "linebreak-style": [true, "LF"],
+ "max-classes-per-file": [true, 1],
+ "max-file-line-count": [true, 1000],
+ "max-line-length": [true, 120],
+ "no-default-export": true,
+ "no-irregular-whitespace": true,
+ "no-mergeable-namespace": true,
+ "no-require-imports": true,
+ "no-trailing-whitespace": true,
+ "object-literal-sort-keys": true,
+ "prefer-const": true,
+ "trailing-comma": [true, {
+ "multiline": "always",
+ "singleline": "never",
+ }],
+ // Style
+ "align": [
+ true,
+ "parameters",
+ "arguments",
+ "statements",
+ "elements",
+ "members",
+ ],
+ "array-type": [true, "array-simple"],
+ "arrow-parens": true,
+ "arrow-return-shorthand": [true, "multiline"],
+ "callable-types": true,
+ "class-name": true,
+ "comment-format": [
+ true,
+ "check-space",
+ "check-uppercase",
+ ],
+ "completed-docs": true,
+ // "file-header": No sensible default
+ "deprecation": true,
+ "encoding": true,
+ "import-spacing": true,
+ "interface-name": true,
+ "interface-over-type-literal": true,
+ "jsdoc-format": true,
+ "match-default-export-name": true,
+ "new-parens": true,
+ "newline-before-return": true,
+ "no-angle-bracket-type-assertion": true,
+ "no-boolean-literal-compare": true,
+ "no-consecutive-blank-lines": true,
+ "no-parameter-properties": true,
+ "no-reference-import": true,
+ "no-unnecessary-callback-wrapper": true,
+ "no-unnecessary-initializer": true,
+ "no-unnecessary-qualifier": true,
+ "no-unnecessary-type-assertion": true,
+ "number-literal-format": true,
+ "object-literal-key-quotes": [true, "consistent-as-needed"],
+ "object-literal-shorthand": true,
+ "one-line": [
+ true,
+ "check-catch",
+ "check-else",
+ "check-finally",
+ "check-open-brace",
+ "check-whitespace",
+ ],
+ "one-variable-per-declaration": true,
+ "ordered-imports": [true, {
+ "import-sources-order": "case-insensitive",
+ "named-imports-order": "case-insensitive",
+ }],
+ "prefer-function-over-method": true,
+ "prefer-method-signature": true,
+ "prefer-object-spread": true,
+ "prefer-switch": true,
+ "prefer-template": true,
+ "quotemark": [
+ true,
+ "double",
+ "avoid-escape",
+ "avoid-template",
+ ],
+ "return-undefined": true,
+ "semicolon": [true, "always"],
+ "space-before-function-paren": [true, {
+ "anonymous": "never",
+ "asyncArrow": "always",
+ "constructor": "never",
+ "method": "never",
+ "named": "never",
+ }],
+ "variable-name": [
+ true,
+ "ban-keywords",
+ "check-format",
+ ],
+ "whitespace": [
+ true,
+ "check-branch",
+ "check-decl",
+ "check-operator",
+ "check-module",
+ "check-separator",
+ "check-type",
+ "check-typecast",
+ "check-preblock",
+ ],
+};
+exports.RULES_EXCLUDED_FROM_ALL_CONFIG = ["ban", "fileHeader", "importBlacklist", "noInvalidThis", "noSwitchCaseFallThrough", "typeofCompare"];
+// Exclude typescript-only rules from jsRules, otherwise it's identical.
+exports.jsRules = {};
+for (var key in exports.rules) {
+ if (!utils_1.hasOwnProperty(exports.rules, key)) {
+ continue;
+ }
+ var Rule = ruleLoader_1.findRule(key, path_1.join(__dirname, "..", "rules"));
+ if (Rule === undefined) {
+ throw new Error("Couldn't find rule '" + key + "'.");
+ }
+ if (!Rule.metadata.typescriptOnly) {
+ exports.jsRules[key] = exports.rules[key];
+ }
+}