Files
angular__angular/tslint.json
T
Paul Gschwendtner 1afddfb71e feat(schematics): support for ng-update. (#13303)
Introduces support for `ng update` of `@angular/cdk`. The Angular Material update schematic will share code with the CDK schematics code.
2018-09-25 12:46:03 -07:00

142 lines
3.8 KiB
JSON

{
"rulesDirectory": [
"./tools/tslint-rules/",
"node_modules/codelyzer"
],
"rules": {
"max-line-length": [true, 100],
// Disable this flag because of SHA tslint#48b0c597f9257712c7d1f04b55ed0aa60e333f6a
// TSLint now shows warnings if types for properties are inferred. This rule needs to be
// disabled because all properties need to have explicit types set to work for Dgeni.
"no-inferrable-types": false,
"class-name": true,
"comment-format": [
true,
"check-space"
],
"indent": [
true,
"spaces"
],
"eofline": true,
"no-duplicate-variable": true,
"no-eval": true,
"no-arg": true,
"no-internal-module": true,
"no-trailing-whitespace": true,
"no-bitwise": true,
"no-shadowed-variable": true,
"no-unused-expression": true,
"no-var-keyword": true,
"member-access": [true, "no-public"],
"no-debugger": true,
"no-unused-variable": true,
"one-line": [
true,
"check-catch",
"check-else",
"check-open-brace",
"check-whitespace"
],
"quotemark": [
true,
"single",
"avoid-escape"
],
"semicolon": true,
"typedef-whitespace": [
true,
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
}
],
"curly": true,
"variable-name": [
true,
"ban-keywords",
"check-format",
"allow-leading-underscore"
],
"whitespace": [
true,
"check-branch",
"check-decl",
"check-operator",
"check-separator",
"check-type",
"check-preblock"
],
// Bans jasmine helper functions that will prevent the CI from properly running tests.
"ban": [
true,
["fit"],
["fdescribe"],
["xit"],
["xdescribe"],
{"name": "Object.assign", "message": "Use the spread operator instead."}
],
// Avoids inconsistent linebreak styles in source files. Forces developers to use LF linebreaks.
"linebreak-style": [true, "LF"],
// Namespaces are no allowed, because of Closure compiler.
"no-namespace": true,
"jsdoc-format": [true, "check-multiline-start"],
"no-duplicate-imports": true,
// Codelyzer
"banana-in-box": true,
"contextual-life-cycle": true,
"decorator-not-allowed": true,
"no-output-on-prefix": true,
"templates-no-negated-async": true,
"use-life-cycle-interface": true,
// Custom Rules
"ts-loader": true,
"no-exposed-todo": true,
"no-import-spacing": true,
"no-private-getters": true,
"setters-after-getters": true,
"rxjs-imports": true,
"require-breaking-change-version": true,
"no-host-decorator-in-concrete": [
true,
"HostBinding",
"HostListener"
],
"validate-decorators": [true, {
"Component": {
"!host": "\\[class\\]",
"!preserveWhitespaces": ".*",
"!styles": ".*",
"changeDetection": "\\.OnPush$",
"encapsulation": "\\.None$",
"moduleId": "^module\\.id$"
},
"Directive": {
"!host": "\\[class\\]"
}
}, "src/+(lib|cdk|material-experimental|cdk-experimental)/**/!(*.spec).ts"],
"require-license-banner": [
true,
"src/+(lib|cdk|material-experimental|cdk-experimental|demo-app)/**/!(*.spec).ts"
],
"missing-rollup-globals": [
true,
"./tools/package-tools/rollup-globals.ts",
"src/+(lib|cdk|material-examples|material-experimental|cdk-experimental)/!(schematics)**/*.ts"
],
"no-unescaped-html-tag": true
},
"linterOptions": {
"exclude": [
// Exclude schematic template files and test cases that can't be linted.
"src/lib/schematics/**/files/**/*",
"src/lib/schematics/ng-update/test-cases/**/*"
]
}
}