UNPKG

@nationalbankbelgium/code-style

Version:
195 lines (193 loc) 6.54 kB
{ "rules": { "member-access": [true, "check-accessor", "check-constructor", "check-parameter-property"], "member-ordering": [ false, { "order": "fields-first" } ], "no-any": false, "no-empty-interface": false, "no-inferrable-types": [true, "ignore-params"], "no-internal-module": true, "no-namespace": [true, "allow-declarations"], "no-reference": true, "no-var-requires": false, "typedef": [true, "call-signature", "parameter", "property-declaration"], "typedef-whitespace": [ false, { "call-signature": "nospace", "index-signature": "nospace", "parameter": "nospace", "property-declaration": "nospace", "variable-declaration": "nospace" }, { "call-signature": "nospace", "index-signature": "nospace", "parameter": "nospace", "property-declaration": "nospace", "variable-declaration": "nospace" } ], "unified-signatures": true, "ban": [true, "window", "eval"], "curly": true, "forin": true, "label-position": true, "no-arg": true, "no-bitwise": true, "no-conditional-assignment": true, "no-console": [false, "debug", "info", "time", "timeEnd", "trace"], "no-construct": true, "no-debugger": true, "no-duplicate-variable": true, "no-dynamic-delete": false, "no-empty": [true, "allow-empty-catch"], "no-eval": true, "no-implicit-dependencies": false, "no-invalid-template-strings": true, "no-invalid-this": true, "no-null-keyword": true, "no-object-literal-type-assertion": true, "no-return-await": true, "no-shadowed-variable": true, "no-sparse-arrays": true, "no-string-literal": false, "no-string-throw": true, "no-submodule-imports": [false, "@nationalbankbelgium", "rxjs", "lodash", "core-js", "valdr", "angular-material"], "no-switch-case-fall-through": true, "no-this-assignment": false, "no-unnecessary-class": ["allow-static-only"], "no-unsafe-finally": true, "no-unused-expression": true, "no-var-keyword": true, "prefer-conditional-expression": false, "prefer-object-spread": true, "prefer-template": false, "radix": true, "switch-default": true, "triple-equals": true, "use-isnan": true, "cyclomatic-complexity": [true, 20], "no-default-export": true, "no-duplicate-imports": true, "no-mergeable-namespace": true, "no-require-imports": false, "object-literal-sort-keys": false, "align": [false, "arguments", "statements", "parameters", "members", "elements"], "callable-types": true, "class-name": true, "comment-format": [true, "check-space"], "file-header": false, "encoding": false, "interface-name": [false, "never-prefix"], "interface-over-type-literal": true, "jsdoc-format": [true, "check-multiline-start"], "no-angle-bracket-type-assertion": false, "no-parameter-properties": false, "no-redundant-jsdoc": true, "no-reference-import": true, "no-unnecessary-callback-wrapper": false, "object-literal-shorthand": false, "one-variable-per-declaration": true, "switch-final-break": false, "variable-name": [ true, "check-format", "require-const-for-all-caps", "allow-leading-underscore", "allow-trailing-underscore", "ban-keywords" ], "whitespace": [ false, "check-branch", "check-decl", "check-operator", "check-module", "check-separator", "check-rest-spread", "check-type", "check-typecast", "check-type-operator", "check-preblock" ], "prefer-const": [ true, { "destructuring": "all" } ], "no-magic-numbers": false, "import-blacklist": [true, "@angular/material", "lodash", "rxjs/internal", "rxjs/index", "rxjs/Rx", "lodash-es"], "ordered-imports": false, "max-classes-per-file": false, // [true, 1], "prefer-for-of": true, "array-type": false, // [true, "array"] "arrow-return-shorthand": true, "binary-expression-operand-order": false, "no-unnecessary-initializer": true, "no-misused-new": true, "prefer-method-signature": false, "prefer-switch": [ true, { "min-cases": 3 } ], "prefer-function-over-method": false, "prefer-while": true, "no-import-side-effect": [ true, { "ignore-module": "(reflect-metadata|core-js|ngrx-store|angular|moment|polyfills|vendor|typings|\\.css|\\.pcss)" } ], "no-non-null-assertion": true, "no-parameter-reassignment": false, "adjacent-overload-signatures": true, "ban-comma-operator": false, "ban-types": false, "no-duplicate-super": true, "no-duplicate-switch-case": true, "newline-before-return": false, "newline-per-chained-call": false, "file-name-casing": [true, { "public_api.ts": "snake-case", ".*": "kebab-case" }], "ban-ts-ignore": true, "function-constructor": true, "unnecessary-constructor": true, "no-tautology-expression": true, "static-this": true, "unnecessary-else": [true, { "allow-else-if": true }], "no-null-undefined-union": true, "no-async-without-await": true, // TSlint rules that require type info "no-inferred-empty-object-type": true, "no-void-expression": [true, "ignore-arrow-function-shorthand"], "no-boolean-literal-compare": true, "no-unnecessary-qualifier": true, "no-floating-promises": true, "match-default-export-name": true, "return-undefined": true, "deprecation": true, "use-default-type-parameter": true, "await-promise": true, "no-for-in-array": true, "no-unbound-method": [true, { "ignore-static": true, "whitelist": ["expect"], "allow-typeof": true, "allow-delete": true }], "no-unnecessary-type-assertion": true, "restrict-plus-operands": true, "unnecessary-bind": true, "strict-comparisons": [true, { "allow-object-equal-comparison": true, "allow-string-order-comparison": true }] // "strict-boolean-expressions": true, // "promise-function-async": true, // "completed-docs": true, // "no-unsafe-any": true, // "strict-type-predicates": true, // "no-use-before-declare": true, // only useful when using the var keyword, deprecated for TypeScript > 2.9.0 // "no-unused-variable": true, // deprecated as from TSLint 5.11.0 // "prefer-readonly": true, } }