TypeScript/tslint.json

142 lines
4.8 KiB
JSON
Raw Normal View History

2015-06-26 01:24:02 +02:00
{
"extends": "tslint:latest",
"rulesDirectory": "built/local/tslint/rules",
2019-04-24 19:41:17 +02:00
"linterOptions": {
"exclude": [
2019-04-24 20:35:37 +02:00
"tests/**/*"
2019-04-24 19:41:17 +02:00
]
},
2015-06-26 01:24:02 +02:00
"rules": {
Enable '--strictNullChecks' (#22088) * Enable '--strictNullChecks' * Fix API baselines * Make sys.getEnvironmentVariable non-nullable * make properties optional instead of using `| undefined` in thier type * reportDiagnostics should be required * Declare firstAccessor as non-nullable * Make `some` a type guard * Fix `getEnvironmentVariable` definition in tests * Pretend transformFlags are always defined * Fix one more use of sys.getEnvironmentVariable * `requiredResponse` accepts undefined, remove assertions * Mark optional properties as optional instead of using `| undefined` * Mark optional properties as optional instead of using ` | undefined` * Remove unnecessary null assertions * Put the bang on the declaration instead of every use * Make `createMapFromTemplate` require a parameter * Mark `EmitResult.emittedFiles` and `EmitResult.sourceMaps` as optional * Plumb through undefined in emitLsit and EmitExpressionList * `ElementAccessExpression.argumentExpression` can not be `undefined` * Add overloads for `writeTokenText` * Make `shouldWriteSeparatingLineTerminator` argument non-nullable * Make `synthesizedNodeStartsOnNewLine` argument required * `PropertyAssignment.initializer` cannot be undefined * Use one `!` at declaration site instead of on every use site * Capture host in a constant and avoid null assertions * Remove few more unused assertions * Update baselines * Use parameter defaults * Update baselines * Fix lint * Make Symbol#valueDeclaration and Symbol#declarations non-optional to reduce assertions * Make Node#symbol and Type#symbol non-optional to reduce assertions * Make `flags` non-nullable to reduce assertions * Convert some asserts to type guards * Make `isNonLocalAlias` a type guard * Add overload for `getSymbolOfNode` for `Declaration` * Some more `getSymbolOfNode` changes * Push undefined suppression into `typeToTypeNodeHelper` * `NodeBuilderContext.tracker` is never `undefined` * use `Debug.assertDefined` * Remove unnecessary tag * Mark `LiteralType.freshType` and `LiteralTupe.regularType` as required
2018-05-22 23:46:57 +02:00
"no-unnecessary-type-assertion": true,
2017-09-23 01:14:41 +02:00
"array-type": [true, "array"],
2019-02-11 20:26:19 +01:00
"ban": [
true,
"setInterval",
"setTimeout"
],
"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`, or use `ts.AnyFunction`."],
["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`?"]
]
},
2017-06-04 18:45:55 +02:00
"boolean-trivia": true,
2015-06-26 01:24:02 +02:00
"class-name": true,
"comment-format": [true,
"check-space"
],
2017-06-07 20:58:25 +02:00
"curly":[true, "ignore-same-line"],
"debug-assert": true,
"indent": [true,
"spaces"
],
"interface-name": [true, "never-prefix"],
"interface-over-type-literal": true,
2017-06-04 18:45:55 +02:00
"jsdoc-format": true,
"linebreak-style": [true, "CRLF"],
2017-06-04 18:45:55 +02:00
"next-line": [true,
"check-catch",
"check-else"
],
"no-bom": true,
"no-double-space": true,
2019-02-11 20:18:29 +01:00
"no-eval": true,
2017-06-04 18:45:55 +02:00
"no-in-operator": true,
"no-increment-decrement": true,
"no-inferrable-types": true,
"no-internal-module": true,
"no-null-keyword": true,
"no-switch-case-fall-through": true,
"no-trailing-whitespace": [true, "ignore-template-strings"],
"no-type-assertion-whitespace": true,
"no-unnecessary-qualifier": true,
2017-06-04 18:45:55 +02:00
"no-var-keyword": true,
"object-literal-shorthand": true,
2017-06-04 18:45:55 +02:00
"object-literal-surrounding-space": true,
2015-06-30 02:47:24 +02:00
"one-line": [true,
2015-08-26 03:09:32 +02:00
"check-open-brace",
"check-whitespace"
2015-06-30 02:47:24 +02:00
],
2017-06-04 18:45:55 +02:00
"prefer-const": true,
"quotemark": [true,
"double",
"avoid-escape"
],
"semicolon": [true, "always", "ignore-bound-class-methods"],
"space-within-parens": true,
2017-06-04 18:45:55 +02:00
"triple-equals": true,
"type-operator-spacing": true,
"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"
}
],
2017-06-04 18:45:55 +02:00
"whitespace": [true,
"check-branch",
"check-decl",
"check-operator",
"check-module",
"check-separator",
"check-type"
],
// Config different from tslint:latest
"no-implicit-dependencies": [true, "dev"],
"object-literal-key-quotes": [true, "consistent-as-needed"],
"variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore"],
// TODO
"arrow-parens": false, // [true, "ban-single-arg-parens"]
"arrow-return-shorthand": false,
"ban-types": false,
"forin": false,
"member-access": false, // [true, "no-public"]
"no-conditional-assignment": false,
"no-console": false,
"no-debugger": false,
"no-empty-interface": false,
"no-object-literal-type-assertion": false,
"no-shadowed-variable": false,
"no-submodule-imports": false,
"no-var-requires": false,
"ordered-imports": false,
"prefer-conditional-expression": false,
"radix": false,
"trailing-comma": false,
// These should be done automatically by a formatter. https://github.com/Microsoft/TypeScript/issues/18340
"align": false,
"eofline": false,
"max-line-length": false,
"no-consecutive-blank-lines": false,
"space-before-function-paren": false,
// Not doing
"ban-comma-operator": false,
"max-classes-per-file": false,
"member-ordering": false,
"no-angle-bracket-type-assertion": false,
"no-bitwise": false,
"no-namespace": false,
"no-reference": false,
"object-literal-sort-keys": false,
"one-variable-per-declaration": false
2017-06-04 18:45:55 +02:00
}
}