mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-03-21 17:25:10 -05:00
78 lines
2.8 KiB
JSON
78 lines
2.8 KiB
JSON
{
|
|
"extends": "tslint:latest",
|
|
"defaultSeverity": "error",
|
|
"rules": {
|
|
"array-type": [true, "array"],
|
|
"arrow-parens": [true, "ban-single-arg-parens"],
|
|
"curly": [true, "ignore-same-line"],
|
|
"indent": [true, "tabs", 2],
|
|
"quotemark": false,
|
|
"member-access": [true, "no-public"],
|
|
"no-empty": [true, "allow-empty-catch", "allow-empty-functions"],
|
|
"no-string-literal": false,
|
|
"no-unnecessary-initializer": false,
|
|
"interface-over-type-literal": true,
|
|
"arrow-return-shorthand": true,
|
|
"no-angle-bracket-type-assertion": true,
|
|
"no-redundant-jsdoc": true,
|
|
"no-unsafe-finally": true,
|
|
"object-literal-shorthand": true,
|
|
"prefer-for-of": true,
|
|
"static-this": true,
|
|
"triple-equals": true,
|
|
"unnecessary-bind": true,
|
|
"prefer-const": {
|
|
"severity": "warning",
|
|
"options": {
|
|
"destructuring": "all"
|
|
}
|
|
},
|
|
"max-line-length": {
|
|
"severity": "warning",
|
|
"options": {
|
|
"limit": 120,
|
|
"ignore-pattern": "^\\s*(// \\s*)?((let |const )?[a-zA-Z0-9$.]+ \\+?= (\\$\\()?|(return |throw )?(new )?([a-zA-Z0-9$.]+\\()?|Chat.html)?['\"`/]"
|
|
}
|
|
},
|
|
"no-floating-promises": true,
|
|
"interface-name": false,
|
|
"no-for-in-array": true,
|
|
"forin": false,
|
|
// maybe one day
|
|
"member-ordering": false,
|
|
"max-classes-per-file": false,
|
|
// they look weird in `new class {...}`
|
|
"new-parens": false,
|
|
"no-bitwise": false,
|
|
"no-console": false,
|
|
"prefer-conditional-expression": false,
|
|
"prefer-object-spread": false,
|
|
"no-shadowed-variable": [true, {"temporalDeadZone": false}],
|
|
// I don't understand why people care about this considering how aggressively they drop support for old IE versions
|
|
"radix": false,
|
|
"object-literal-sort-keys": false,
|
|
"object-literal-key-quotes": [true, "as-needed"],
|
|
"trailing-comma": [
|
|
true,
|
|
{
|
|
"multiline": {
|
|
"objects": "always",
|
|
"arrays": "always",
|
|
"functions": "never",
|
|
"typeLiterals": "always"
|
|
},
|
|
"singleline": "never",
|
|
"esSpecCompliant": true
|
|
}
|
|
],
|
|
"semicolon": [true, "always", "strict-bound-class-methods"],
|
|
"space-before-function-paren": [true, {"anonymous": "always", "named": "never", "asyncArrow": "always"}]
|
|
},
|
|
"jsEnable": false,
|
|
"rulesDirectory": [],
|
|
"linterOptions": {
|
|
// TODO: why is tslint looking at .js files anyway?
|
|
"exclude": ["node_modules/", "**/*.js", "*/global-types.ts"]
|
|
}
|
|
}
|