129 lines
3.3 KiB
JSON
129 lines
3.3 KiB
JSON
{
|
|
"rulesDirectory": [
|
|
"tools/tslint",
|
|
"dev-infra/tslint-rules",
|
|
"node_modules/vrsource-tslint-rules/rules",
|
|
"node_modules/tslint-eslint-rules/dist/rules",
|
|
"node_modules/tslint-no-toplevel-property-access/rules"
|
|
],
|
|
"rules": {
|
|
// The first rule needs to be `ts-node-loader` which sets up `ts-node` within TSLint so
|
|
// that rules written in TypeScript can be loaded without needing to be transpiled.
|
|
"ts-node-loader": true,
|
|
// Custom rules written in TypeScript.
|
|
"require-internal-with-underscore": true,
|
|
"no-implicit-override-abstract": true,
|
|
|
|
"eofline": true,
|
|
"file-header": [
|
|
true,
|
|
{
|
|
"match": "Copyright Google LLC",
|
|
"allow-single-line-comments": false
|
|
}
|
|
],
|
|
"no-console": [
|
|
true,
|
|
"log"
|
|
],
|
|
"no-construct": true,
|
|
"no-duplicate-imports": true,
|
|
"no-duplicate-variable": true,
|
|
"no-var-keyword": true,
|
|
"prefer-literal": [
|
|
true,
|
|
"object"
|
|
],
|
|
"no-toplevel-property-access": [
|
|
true,
|
|
"packages/animations/src/",
|
|
"packages/animations/browser/",
|
|
"packages/common/src/",
|
|
"packages/core/src/",
|
|
"packages/elements/src/",
|
|
"packages/forms/src/",
|
|
"packages/platform-browser/src/",
|
|
"packages/router/src/"
|
|
],
|
|
"semicolon": [
|
|
true
|
|
],
|
|
"variable-name": [
|
|
true,
|
|
"ban-keywords"
|
|
],
|
|
"no-inner-declarations": [
|
|
true,
|
|
"function"
|
|
],
|
|
"no-debugger": true,
|
|
"ban": [
|
|
true,
|
|
{"name": "fdescribe", "message": "Don't keep jasmine focus methods."},
|
|
{"name": "fit", "message": "Don't keep jasmine focus methods."}
|
|
]
|
|
},
|
|
"jsRules": {
|
|
// The first rule needs to be `ts-node-loader` which sets up `ts-node` within TSLint so
|
|
// that rules written in TypeScript can be loaded without needing to be transpiled.
|
|
"ts-node-loader": true,
|
|
// Custom rules written in TypeScript.
|
|
"require-internal-with-underscore": true,
|
|
|
|
"eofline": true,
|
|
"file-header": [
|
|
true,
|
|
{
|
|
"match": "Copyright Google LLC",
|
|
"allow-single-line-comments": false
|
|
}
|
|
],
|
|
"no-console": [
|
|
true,
|
|
"log"
|
|
],
|
|
"no-duplicate-imports": true,
|
|
"no-duplicate-variable": true,
|
|
"semicolon": [
|
|
true
|
|
],
|
|
"variable-name": [
|
|
true,
|
|
"ban-keywords"
|
|
],
|
|
"no-inner-declarations": [
|
|
true,
|
|
"function"
|
|
],
|
|
"ban": [
|
|
true,
|
|
{"name": "fdescribe", "message": "Don't keep jasmine focus methods."},
|
|
{"name": "fit", "message": "Don't keep jasmine focus methods."}
|
|
]
|
|
},
|
|
"linterOptions": {
|
|
"exclude": [
|
|
"**/node_modules/**/*",
|
|
// Ignore AIO and integration tests.
|
|
"./aio/**/*",
|
|
"./integration/**/*",
|
|
// Ignore output directories
|
|
"./built/**/*",
|
|
"./dist/**/*",
|
|
"./bazel-out/**/*",
|
|
// Ignore special files
|
|
"**/*.externs.js",
|
|
// Ignore test files
|
|
"./packages/compiler-cli/test/compliance/test_cases/**/*",
|
|
"./packages/localize/**/test_files/**/*",
|
|
"./tools/public_api_guard/**/*.d.ts",
|
|
"./modules/benchmarks_external/**/*",
|
|
// Ignore zone.js directory
|
|
// TODO(JiaLiPassion): add zone.js back later
|
|
"./packages/zone.js/**/*",
|
|
"./dev-infra/ng-dev.js",
|
|
"./dev-infra/build-worker.js"
|
|
]
|
|
}
|
|
}
|