@jbpionnier/eslint-config-node
Version:
ESLint/TSLint Sharable Config
117 lines (113 loc) • 3.43 kB
JSON
{
"extends": "tslint:all",
"rules": {
// TypeScript Specific
"ban-ts-ignore": false,
"member-access": [true, "no-public"],
"member-ordering": [
true,
{
"order": [
"public-static-field",
"protected-static-field",
"private-static-field",
"public-instance-field",
"protected-instance-field",
"private-instance-field",
"public-constructor",
"protected-constructor",
"private-constructor",
"public-instance-method",
"protected-instance-method",
"private-instance-method"
]
}
],
"no-empty-interface": false,
"no-import-side-effect": false, // ?
"no-inferrable-types": [true, "ignore-params", "ignore-properties"],
"no-magic-numbers": false, // ?
"no-var-requires": false,
"only-arrow-functions": false,
"promise-function-async": false,
"typedef": [
true,
"call-signature",
"arrow-call-signature",
"parameter",
"arrow-parameter",
"property-declaration",
"member-variable-declaration"
],
// Functionality
"await-promise": [true, "Bluebird"],
"no-floating-promises": [true, "Bluebird"],
"no-console": false,
"no-inferred-empty-object-type": false,
"no-implicit-dependencies": [true, "dev"],
"no-null-keyword": false,
"no-object-literal-type-assertion": false,
"no-submodule-imports": false,
"no-unbound-method": false,
"no-unsafe-any": false,
"no-unused-expression": false,
"no-unused-variable": false,
"no-void-expression": [true, "ignore-arrow-function-shorthand"],
"strict-boolean-expressions": false, // ?
"strict-type-predicates": false,
"triple-equals": [true, "allow-null-check", "allow-undefined-check"],
// Maintainability
"cyclomatic-complexity": [true, 9],
"max-classes-per-file": false,
"max-file-line-count": [true, 300],
"max-line-length": false,
"no-default-export": false,
"no-require-imports": false,
"object-literal-sort-keys": false,
"trailing-comma": [
true,
{
"multiline": {
"objects": "always",
"arrays": "always",
"functions": "always",
"typeLiterals": "never"
},
"singleline": {
"objects": "never",
"arrays": "never",
"functions": "never",
"typeLiterals": "never"
},
"esSpecCompliant": true
}
],
// Style
"align": [
true,
"parameters",
"statements",
"elements",
"members"
],
"arrow-return-shorthand": false,
"comment-format": false,
"completed-docs": false,
"file-name-casing": false,
"interface-name": false,
"interface-over-type-literal": false,
"newline-before-return": false, // ?
"newline-per-chained-call": false, // ?
"no-boolean-literal-compare": false,
"no-parameter-properties": false,
"object-literal-key-quotes": [true, "as-needed"], // ?
"ordered-imports": false,
"prefer-function-over-method": false, // ?
"quotemark": [true, "single", "avoid-escape"],
"return-undefined": false,
"semicolon": [true, "never"],
"space-before-function-paren": [true, {"anonymous": "never", "named": "never", "asyncArrow": "always"}],
"type-literal-delimiter": false,
"variable-name": false
}
}