diff options
Diffstat (limited to 'node_modules/tslint/lib/configs')
-rw-r--r-- | node_modules/tslint/lib/configs/all.d.ts | 148 | ||||
-rw-r--r-- | node_modules/tslint/lib/configs/all.js | 254 | ||||
-rw-r--r-- | node_modules/tslint/lib/configs/latest.d.ts | 28 | ||||
-rw-r--r-- | node_modules/tslint/lib/configs/latest.js | 41 | ||||
-rw-r--r-- | node_modules/tslint/lib/configs/recommended.d.ts | 236 | ||||
-rw-r--r-- | node_modules/tslint/lib/configs/recommended.js | 305 |
6 files changed, 1012 insertions, 0 deletions
diff --git a/node_modules/tslint/lib/configs/all.d.ts b/node_modules/tslint/lib/configs/all.d.ts new file mode 100644 index 000000000..583a2d296 --- /dev/null +++ b/node_modules/tslint/lib/configs/all.d.ts @@ -0,0 +1,148 @@ +export declare const rules: { + "adjacent-overload-signatures": boolean; + "ban-types": { + options: string[][]; + }; + "member-access": (string | boolean)[]; + "member-ordering": (boolean | { + "order": string; + "alphabetize": boolean; + })[]; + "no-any": boolean; + "no-empty-interface": boolean; + "no-import-side-effect": boolean; + "no-inferrable-types": (string | boolean)[]; + "no-internal-module": boolean; + "no-magic-numbers": boolean; + "no-namespace": boolean; + "no-non-null-assertion": boolean; + "no-reference": boolean; + "no-var-requires": boolean; + "only-arrow-functions": boolean; + "prefer-for-of": boolean; + "promise-function-async": boolean; + "typedef": (string | boolean)[]; + "typedef-whitespace": (boolean | { + "call-signature": string; + "index-signature": string; + "parameter": string; + "property-declaration": string; + "variable-declaration": string; + })[]; + "unified-signatures": boolean; + "await-promise": boolean; + "curly": boolean; + "forin": boolean; + "label-position": boolean; + "no-arg": boolean; + "no-bitwise": boolean; + "no-conditional-assignment": boolean; + "no-console": boolean; + "no-construct": boolean; + "no-debugger": boolean; + "no-duplicate-super": boolean; + "no-duplicate-variable": boolean; + "no-empty": boolean; + "no-eval": boolean; + "no-floating-promises": boolean; + "no-for-in-array": boolean; + "no-inferred-empty-object-type": boolean; + "no-invalid-template-strings": boolean; + "no-misused-new": boolean; + "no-null-keyword": boolean; + "no-object-literal-type-assertion": boolean; + "no-shadowed-variable": boolean; + "no-string-literal": boolean; + "no-string-throw": boolean; + "no-sparse-arrays": boolean; + "no-unbound-method": boolean; + "no-unsafe-any": boolean; + "no-unsafe-finally": boolean; + "no-unused-expression": boolean; + "no-unused-variable": boolean; + "no-use-before-declare": boolean; + "no-var-keyword": boolean; + "no-void-expression": boolean; + "prefer-conditional-expression": boolean; + "radix": boolean; + "restrict-plus-operands": boolean; + "strict-boolean-expressions": boolean; + "strict-type-predicates": boolean; + "switch-default": boolean; + "triple-equals": boolean; + "use-isnan": boolean; + "cyclomatic-complexity": boolean; + "eofline": boolean; + "indent": (string | boolean)[]; + "linebreak-style": (string | boolean)[]; + "max-classes-per-file": (number | boolean)[]; + "max-file-line-count": (number | boolean)[]; + "max-line-length": (number | boolean)[]; + "no-default-export": boolean; + "no-irregular-whitespace": boolean; + "no-mergeable-namespace": boolean; + "no-require-imports": boolean; + "no-trailing-whitespace": boolean; + "object-literal-sort-keys": boolean; + "prefer-const": boolean; + "trailing-comma": (boolean | { + "multiline": string; + "singleline": string; + })[]; + "align": (string | boolean)[]; + "array-type": (string | boolean)[]; + "arrow-parens": boolean; + "arrow-return-shorthand": (string | boolean)[]; + "callable-types": boolean; + "class-name": boolean; + "comment-format": (string | boolean)[]; + "completed-docs": boolean; + "deprecation": boolean; + "encoding": boolean; + "import-spacing": boolean; + "interface-name": boolean; + "interface-over-type-literal": boolean; + "jsdoc-format": boolean; + "match-default-export-name": boolean; + "new-parens": boolean; + "newline-before-return": boolean; + "no-angle-bracket-type-assertion": boolean; + "no-boolean-literal-compare": boolean; + "no-consecutive-blank-lines": boolean; + "no-parameter-properties": boolean; + "no-reference-import": boolean; + "no-unnecessary-callback-wrapper": boolean; + "no-unnecessary-initializer": boolean; + "no-unnecessary-qualifier": boolean; + "no-unnecessary-type-assertion": boolean; + "number-literal-format": boolean; + "object-literal-key-quotes": (string | boolean)[]; + "object-literal-shorthand": boolean; + "one-line": (string | boolean)[]; + "one-variable-per-declaration": boolean; + "ordered-imports": (boolean | { + "import-sources-order": string; + "named-imports-order": string; + })[]; + "prefer-function-over-method": boolean; + "prefer-method-signature": boolean; + "prefer-object-spread": boolean; + "prefer-switch": boolean; + "prefer-template": boolean; + "quotemark": (string | boolean)[]; + "return-undefined": boolean; + "semicolon": (string | boolean)[]; + "space-before-function-paren": (boolean | { + "anonymous": string; + "asyncArrow": string; + "constructor": string; + "method": string; + "named": string; + })[]; + "variable-name": (string | boolean)[]; + "whitespace": (string | boolean)[]; +}; +export declare const RULES_EXCLUDED_FROM_ALL_CONFIG: string[]; +export declare const jsRules: { + [key: string]: any; +}; 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]; + } +} diff --git a/node_modules/tslint/lib/configs/latest.d.ts b/node_modules/tslint/lib/configs/latest.d.ts new file mode 100644 index 000000000..02fc74e53 --- /dev/null +++ b/node_modules/tslint/lib/configs/latest.d.ts @@ -0,0 +1,28 @@ +/** + * @license + * Copyright 2016 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. + */ +export declare const rules: { + "align": { + options: string[]; + }; + "no-invalid-template-strings": boolean; + "no-sparse-arrays": boolean; + "no-object-literal-type-assertion": boolean; + "prefer-conditional-expression": boolean; + "prefer-object-spread": boolean; +}; +declare const xtends = "tslint:recommended"; +export { xtends as extends }; diff --git a/node_modules/tslint/lib/configs/latest.js b/node_modules/tslint/lib/configs/latest.js new file mode 100644 index 000000000..19eb18143 --- /dev/null +++ b/node_modules/tslint/lib/configs/latest.js @@ -0,0 +1,41 @@ +"use strict"; +/** + * @license + * Copyright 2016 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 }); +// tslint:disable object-literal-sort-keys +// tslint:disable:object-literal-key-quotes +exports.rules = { + // added in v5.1 + "align": { + options: [ + "parameters", + "statements", + "members", + ], + }, + "no-invalid-template-strings": true, + "no-sparse-arrays": true, + // added in v5.2 + "no-object-literal-type-assertion": true, + // added in v5.3 + "prefer-conditional-expression": true, + "prefer-object-spread": true, +}; +// tslint:enable object-literal-sort-keys +// work around "extends" being a keyword +var xtends = "tslint:recommended"; +exports.extends = xtends; diff --git a/node_modules/tslint/lib/configs/recommended.d.ts b/node_modules/tslint/lib/configs/recommended.d.ts new file mode 100644 index 000000000..75e3bba56 --- /dev/null +++ b/node_modules/tslint/lib/configs/recommended.d.ts @@ -0,0 +1,236 @@ +/** + * @license + * Copyright 2016 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. + */ +export declare const rules: { + "adjacent-overload-signatures": boolean; + "align": { + options: string[]; + }; + "array-type": { + options: string[]; + }; + "arrow-parens": boolean; + "arrow-return-shorthand": boolean; + "ban-types": { + options: string[][]; + }; + "callable-types": boolean; + "class-name": boolean; + "comment-format": { + options: string[]; + }; + "curly": boolean; + "cyclomatic-complexity": boolean; + "eofline": boolean; + "forin": boolean; + "import-spacing": boolean; + "indent": { + options: string[]; + }; + "interface-name": { + options: string[]; + }; + "interface-over-type-literal": boolean; + "jsdoc-format": boolean; + "label-position": boolean; + "max-classes-per-file": { + options: number[]; + }; + "max-line-length": { + options: number[]; + }; + "member-access": boolean; + "member-ordering": { + options: { + order: string; + }; + }; + "new-parens": boolean; + "no-angle-bracket-type-assertion": boolean; + "no-any": boolean; + "no-arg": boolean; + "no-bitwise": boolean; + "no-conditional-assignment": boolean; + "no-consecutive-blank-lines": boolean; + "no-console": boolean; + "no-construct": boolean; + "no-debugger": boolean; + "no-duplicate-super": boolean; + "no-empty": boolean; + "no-empty-interface": boolean; + "no-eval": boolean; + "no-internal-module": boolean; + "no-invalid-this": boolean; + "no-misused-new": boolean; + "no-namespace": boolean; + "no-parameter-properties": boolean; + "no-reference": boolean; + "no-reference-import": boolean; + "no-shadowed-variable": boolean; + "no-string-literal": boolean; + "no-string-throw": boolean; + "no-switch-case-fall-through": boolean; + "no-trailing-whitespace": boolean; + "no-unnecessary-initializer": boolean; + "no-unsafe-finally": boolean; + "no-unused-expression": boolean; + "no-use-before-declare": boolean; + "no-var-keyword": boolean; + "no-var-requires": boolean; + "object-literal-key-quotes": { + options: string[]; + }; + "object-literal-shorthand": boolean; + "object-literal-sort-keys": boolean; + "one-line": { + options: string[]; + }; + "one-variable-per-declaration": { + options: string[]; + }; + "only-arrow-functions": { + options: string[]; + }; + "ordered-imports": { + options: { + "import-sources-order": string; + "named-imports-order": string; + }; + }; + "prefer-const": boolean; + "prefer-for-of": boolean; + "quotemark": { + options: string[]; + }; + "radix": boolean; + "semicolon": { + options: string[]; + }; + "space-before-function-paren": { + options: { + anonymous: string; + asyncArrow: string; + constructor: string; + method: string; + named: string; + }; + }; + "trailing-comma": { + options: { + multiline: string; + singleline: string; + }; + }; + "triple-equals": { + options: string[]; + }; + "typedef": boolean; + "typedef-whitespace": { + options: { + "call-signature": string; + "index-signature": string; + "parameter": string; + "property-declaration": string; + "variable-declaration": string; + }[]; + }; + "typeof-compare": boolean; + "unified-signatures": boolean; + "use-isnan": boolean; + "variable-name": { + options: string[]; + }; + "whitespace": { + options: string[]; + }; +}; +export declare const jsRules: { + "align": { + options: string[]; + }; + "class-name": boolean; + "curly": boolean; + "eofline": boolean; + "forin": boolean; + "import-spacing": boolean; + "indent": { + options: string[]; + }; + "jsdoc-format": boolean; + "label-position": boolean; + "max-line-length": { + options: number[]; + }; + "new-parens": boolean; + "no-arg": boolean; + "no-bitwise": boolean; + "no-conditional-assignment": boolean; + "no-consecutive-blank-lines": boolean; + "no-console": boolean; + "no-construct": boolean; + "no-debugger": boolean; + "no-duplicate-super": boolean; + "no-duplicate-variable": boolean; + "no-empty": boolean; + "no-eval": boolean; + "no-reference": boolean; + "no-shadowed-variable": boolean; + "no-string-literal": boolean; + "no-string-throw": boolean; + "no-switch-case-fall-through": boolean; + "no-trailing-whitespace": boolean; + "no-unused-expression": boolean; + "no-use-before-declare": boolean; + "object-literal-sort-keys": boolean; + "one-line": { + options: string[]; + }; + "one-variable-per-declaration": { + options: string[]; + }; + "quotemark": { + options: string[]; + }; + "radix": boolean; + "semicolon": { + options: string[]; + }; + "space-before-function-paren": { + options: { + anonymous: string; + asyncArrow: string; + constructor: string; + method: string; + named: string; + }; + }; + "trailing-comma": { + options: { + multiline: string; + singleline: string; + }; + }; + "triple-equals": { + options: string[]; + }; + "use-isnan": boolean; + "variable-name": { + options: string[]; + }; + "whitespace": { + options: string[]; + }; +}; diff --git a/node_modules/tslint/lib/configs/recommended.js b/node_modules/tslint/lib/configs/recommended.js new file mode 100644 index 000000000..16f44613e --- /dev/null +++ b/node_modules/tslint/lib/configs/recommended.js @@ -0,0 +1,305 @@ +"use strict"; +/** + * @license + * Copyright 2016 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 }); +exports.rules = { + "adjacent-overload-signatures": true, + "align": { + options: [ + "parameters", + "statements", + ], + }, + "array-type": { + options: ["array-simple"], + }, + "arrow-parens": true, + "arrow-return-shorthand": 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`?"], + ], + }, + "callable-types": true, + "class-name": true, + "comment-format": { + options: ["check-space"], + }, + "curly": true, + "cyclomatic-complexity": false, + "eofline": true, + "forin": true, + "import-spacing": true, + "indent": { + options: ["spaces"], + }, + "interface-name": { + options: ["always-prefix"], + }, + "interface-over-type-literal": true, + "jsdoc-format": true, + "label-position": true, + "max-classes-per-file": { + options: [1], + }, + "max-line-length": { + options: [120], + }, + "member-access": true, + "member-ordering": { + options: { + order: "statics-first", + }, + }, + "new-parens": true, + "no-angle-bracket-type-assertion": true, + "no-any": false, + "no-arg": true, + "no-bitwise": true, + "no-conditional-assignment": true, + "no-consecutive-blank-lines": true, + "no-console": true, + "no-construct": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-empty": true, + "no-empty-interface": true, + "no-eval": true, + "no-internal-module": true, + "no-invalid-this": false, + "no-misused-new": true, + "no-namespace": true, + "no-parameter-properties": false, + "no-reference": true, + "no-reference-import": true, + "no-shadowed-variable": true, + "no-string-literal": true, + "no-string-throw": true, + "no-switch-case-fall-through": false, + "no-trailing-whitespace": true, + "no-unnecessary-initializer": true, + "no-unsafe-finally": true, + "no-unused-expression": true, + // disable this rule as it is very heavy performance-wise and not that useful + "no-use-before-declare": false, + "no-var-keyword": true, + "no-var-requires": true, + "object-literal-key-quotes": { + options: ["consistent-as-needed"], + }, + "object-literal-shorthand": true, + "object-literal-sort-keys": true, + "one-line": { + options: [ + "check-catch", + "check-else", + "check-finally", + "check-open-brace", + "check-whitespace", + ], + }, + "one-variable-per-declaration": { + options: ["ignore-for-loop"], + }, + "only-arrow-functions": { + options: [ + "allow-declarations", + "allow-named-functions", + ], + }, + "ordered-imports": { + options: { + "import-sources-order": "case-insensitive", + "named-imports-order": "case-insensitive", + }, + }, + "prefer-const": true, + "prefer-for-of": true, + "quotemark": { + options: [ + "double", + "avoid-escape", + ], + }, + "radix": true, + "semicolon": { + options: ["always"], + }, + "space-before-function-paren": { + options: { + anonymous: "never", + asyncArrow: "always", + constructor: "never", + method: "never", + named: "never", + }, + }, + "trailing-comma": { + options: { + multiline: "always", + singleline: "never", + }, + }, + "triple-equals": { + options: ["allow-null-check"], + }, + "typedef": false, + "typedef-whitespace": { + options: [ + { + "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", + }, + ], + }, + "typeof-compare": true, + "unified-signatures": true, + "use-isnan": true, + "variable-name": { + options: [ + "ban-keywords", + "check-format", + "allow-pascal-case", + ], + }, + "whitespace": { + options: [ + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type", + "check-typecast", + ], + }, +}; +exports.jsRules = { + "align": { + options: [ + "parameters", + "statements", + ], + }, + "class-name": true, + "curly": true, + "eofline": true, + "forin": true, + "import-spacing": true, + "indent": { + options: ["spaces"], + }, + "jsdoc-format": true, + "label-position": true, + "max-line-length": { + options: [120], + }, + "new-parens": true, + "no-arg": true, + "no-bitwise": true, + "no-conditional-assignment": true, + "no-consecutive-blank-lines": 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-reference": true, + "no-shadowed-variable": true, + "no-string-literal": true, + "no-string-throw": true, + "no-switch-case-fall-through": false, + "no-trailing-whitespace": true, + "no-unused-expression": true, + // disable this rule as it is very heavy performance-wise and not that useful + "no-use-before-declare": false, + "object-literal-sort-keys": true, + "one-line": { + options: [ + "check-catch", + "check-else", + "check-finally", + "check-open-brace", + "check-whitespace", + ], + }, + "one-variable-per-declaration": { + options: ["ignore-for-loop"], + }, + "quotemark": { + options: [ + "double", + "avoid-escape", + ], + }, + "radix": true, + "semicolon": { + options: ["always"], + }, + "space-before-function-paren": { + options: { + anonymous: "never", + asyncArrow: "always", + constructor: "never", + method: "never", + named: "never", + }, + }, + "trailing-comma": { + options: { + multiline: "always", + singleline: "never", + }, + }, + "triple-equals": { + options: ["allow-null-check"], + }, + "use-isnan": true, + "variable-name": { + options: [ + "ban-keywords", + "check-format", + "allow-pascal-case", + ], + }, + "whitespace": { + options: [ + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type", + "check-typecast", + ], + }, +}; |